דלג לתוכן הראשי
עיון בתיעוד

ייצור ערכת השילוב

syncanix generate כותב תיקיית ‎syncanix/‎ אל הפרויקט שלכם — מתקין הרכיב, הטיפוסים שלכם, קובצי הרישום ודרישת ה-CSP — ולעולם אינו עורך קובץ שכתבתם.

syncanix generate כותב את כל מה ש-Syncanix צריך כקוד, בתיקייה אחת בפרויקט שלכם. הוא יוצר קבצים חדשים ורק קבצים חדשים: שום דבר שהוא עושה אינו יכול לשנות משהו שכתבתם, ולכן אין diff משלכם לסקור ואין מה לבטל.

npx syncanix generate --key pk_live_…

מה אתם מקבלים

תיקייה אחת, קובץ אחד לכל עניין, וכולו קוד קריא שבבעלותכם:

syncanix/
  index.ts         the one file you import — installs the widget, applies everything below
  widget.ts        installs the widget from code (idempotent, with a teardown)
  types.d.ts       types for window.syncanix, so your editor knows the API
  actions.ts       functions the agent may run on the page
  components.ts    UI the agent may render in the chat
  data-sources.ts  live data the agent may read
  page-actions.ts  the routes and controls from your last scan
  csp.ts           the CSP sources the widget needs, as a value to spread
  identity.ts      your token provider (written only with --idp)

ה-barrel הוא כל העניין: הוא מתקין את תור הפקודות, אחר כך את הרכיב, ואז מחיל כל רישום בתיקייה, בסדר שגורם להם לעבוד. כך שהאפליקציה שלכם מייבאת נתיב אחד ותו לא.

import './syncanix';

הקבצים האלה שלכם לעריכה

המחולל רושם גיבוב (hash) של מה שכתב. הרצה חוזרת מעדכנת את הקבצים שלא נגעתם בהם ומשאירה את אלה שכן, ומדווחת עליהם במקום לדרוס אותם — כך שהוספת פעולות משלכם ל-‎actions.ts‎ אינה מעמידה אתכם בצד הלא נכון של השדרוג הבא.

לומר ל-Syncanix מיהו הגולש

נקבו בספק הזהויות שלכם והמחולל יכתוב עבורו את ‎identity.ts‎. הוא מקבל את פונקציית קבלת האסימון שלכם כארגומנט במקום לפנות למשתנה גלובלי, משום שלקוח האימות שלכם הוא דבר שרק הקוד שלכם יכול להגיע אליו — ולכן ה-barrel במכוון אינו קורא לו, ואתם מחווטים אותו מהמקום שבו אותו לקוח נמצא.

npx syncanix generate --key pk_live_… --idp auth0
import { connectSyncanixIdentity } from './syncanix/identity';

connectSyncanixIdentity(() => auth0.getAccessTokenSilently());

הנתיבים והפקדים מגיעים מהסריקה שלכם

‎page-actions.ts‎ אומר לעוזר לאילו עמודים הוא יכול להגיע ובאילו פקדים מותר לו לפעול. הריצו סריקה תחילה והמחולל ימלא אותו עבורכם; בלעדיה הוא כותב דוגמה מוערת שתמלאו ידנית.

npx syncanix init
npx syncanix generate

או תנו ל-CLI לעשות זאת עבורכם

יש שתי דרכים להתקין את הרכיב, ואיזו מהן מתאימה לכם היא עובדה על המאגר שלכם ולא המלצה שאנחנו יכולים לתת לכם.

syncanix integrate
מוצא את ה-framework שלכם ומבצע את העריכות: ההטמעה ב-HTML שלכם, ה-Content-Security-Policy שלכם, ומשתנים אל ‎.env‎. אתם מאשרים כל קובץ מתוך ה-diff שלו, כל דריסה מגובה, כל הסט מוחל או שאף חלק ממנו לא, ו-‎--uninstall‎ מחזיר את המצב לקדמותו.
syncanix generate
כותב את הערכה ותו לא. פנו לכאן כשכלי שעורך את המאגר שלכם אינו משהו שאתם רוצים לאשר.
syncanix integrate --kit
שניהם: הזיהוי, האישור, עריכות ה-CSP וה-‎.env‎ וההסרה — אבל הקוד נוחת בערכה, וה-HTML שלכם נשאר ללא נגיעה משום שהערכה מתקינה את הרכיב מתוך הקוד. אתם מוסיפים ייבוא אחד.
npx syncanix integrate --kit

השלבים הבאים