ייצור ערכת השילוב
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 auth0import { 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