@evelan/jexity-widget 0.29.0 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/README.md +6 -0
  2. package/dist/index.mjs +4614 -3345
  3. package/dist/index.mjs.map +1 -1
  4. package/dist/loader.js +6 -6
  5. package/dist/loader.js.map +1 -1
  6. package/dist/react.mjs +5007 -3696
  7. package/dist/react.mjs.map +1 -1
  8. package/dist/types/entries/esm.d.ts +6 -0
  9. package/dist/types/entries/esm.d.ts.map +1 -1
  10. package/dist/types/entries/react.d.ts +8 -0
  11. package/dist/types/entries/react.d.ts.map +1 -1
  12. package/dist/types/features/chat/components/EscalationFormScreen.d.ts.map +1 -1
  13. package/dist/types/features/chat/components/FormMessage.d.ts.map +1 -1
  14. package/dist/types/features/chat/components/MessageList.d.ts.map +1 -1
  15. package/dist/types/features/chat/components/SourcesRow.d.ts +4 -3
  16. package/dist/types/features/chat/components/SourcesRow.d.ts.map +1 -1
  17. package/dist/types/features/chat/composer/components/SessionErrorNotice.d.ts.map +1 -1
  18. package/dist/types/features/chat/composer/hooks/useAttachmentUpload.d.ts.map +1 -1
  19. package/dist/types/features/chat/composer/hooks/useSendMessage.d.ts.map +1 -1
  20. package/dist/types/features/chat/hooks/useConversation.d.ts.map +1 -1
  21. package/dist/types/features/chat/hooks/useConvexSession.d.ts.map +1 -1
  22. package/dist/types/features/chat/hooks/useEscalation.d.ts +8 -10
  23. package/dist/types/features/chat/hooks/useEscalation.d.ts.map +1 -1
  24. package/dist/types/features/chat/hooks/useSignedInContact.d.ts +12 -0
  25. package/dist/types/features/chat/hooks/useSignedInContact.d.ts.map +1 -0
  26. package/dist/types/features/chat/lib/chatOfAnotherUser.d.ts +14 -0
  27. package/dist/types/features/chat/lib/chatOfAnotherUser.d.ts.map +1 -0
  28. package/dist/types/features/chat/state/session-error.d.ts +5 -1
  29. package/dist/types/features/chat/state/session-error.d.ts.map +1 -1
  30. package/dist/types/features/home/components/ChatList.d.ts +18 -0
  31. package/dist/types/features/home/components/ChatList.d.ts.map +1 -0
  32. package/dist/types/features/home/components/DeleteChatsSheet.d.ts +20 -0
  33. package/dist/types/features/home/components/DeleteChatsSheet.d.ts.map +1 -0
  34. package/dist/types/features/home/components/HomeScreen.d.ts +7 -1
  35. package/dist/types/features/home/components/HomeScreen.d.ts.map +1 -1
  36. package/dist/types/i18n/index.d.ts +6 -0
  37. package/dist/types/i18n/index.d.ts.map +1 -1
  38. package/dist/types/i18n/locales/de-formal.d.ts +293 -0
  39. package/dist/types/i18n/locales/de-formal.d.ts.map +1 -0
  40. package/dist/types/i18n/locales/de.d.ts +30 -1
  41. package/dist/types/i18n/locales/de.d.ts.map +1 -1
  42. package/dist/types/i18n/locales/en.d.ts +62 -1
  43. package/dist/types/i18n/locales/en.d.ts.map +1 -1
  44. package/dist/types/lib/refreshBootstrap.d.ts +1 -1
  45. package/dist/types/lib/refreshBootstrap.d.ts.map +1 -1
  46. package/dist/types/lib/userToken.d.ts +49 -0
  47. package/dist/types/lib/userToken.d.ts.map +1 -0
  48. package/dist/types/lib/widget-config.d.ts +19 -1
  49. package/dist/types/lib/widget-config.d.ts.map +1 -1
  50. package/dist/types/lib/widgetBootstrap.d.ts +19 -2
  51. package/dist/types/lib/widgetBootstrap.d.ts.map +1 -1
  52. package/dist/types/module/screens/ScreenRouter.d.ts +5 -1
  53. package/dist/types/module/screens/ScreenRouter.d.ts.map +1 -1
  54. package/dist/types/module/screens/screens.state.d.ts +5 -1
  55. package/dist/types/module/screens/screens.state.d.ts.map +1 -1
  56. package/dist/types/module/shell/WidgetShell.d.ts.map +1 -1
  57. package/dist/types/module/shell/hooks/useBootstrap.d.ts +3 -1
  58. package/dist/types/module/shell/hooks/useBootstrap.d.ts.map +1 -1
  59. package/dist/types/module/shell/mount.d.ts.map +1 -1
  60. package/dist/types/module/shell/shell.state.d.ts +16 -1
  61. package/dist/types/module/shell/shell.state.d.ts.map +1 -1
  62. package/dist/types/module/shell/widget-instance.d.ts.map +1 -1
  63. package/dist/types/module/visitor/idle-lock.d.ts +6 -0
  64. package/dist/types/module/visitor/idle-lock.d.ts.map +1 -1
  65. package/dist/types/module/visitor/visitor.state.d.ts +17 -0
  66. package/dist/types/module/visitor/visitor.state.d.ts.map +1 -1
  67. package/dist/types/types.d.ts +23 -0
  68. package/dist/types/types.d.ts.map +1 -1
  69. package/dist/widget.js +38 -38
  70. package/dist/widget.js.map +1 -1
  71. package/package.json +3 -3
@@ -15,9 +15,13 @@ export interface ResolvedWidgetConfig {
15
15
  greeting: string;
16
16
  starterQuestions: string[];
17
17
  locale: string | undefined;
18
+ /** Du or Sie for the fixed German texts; English ignores it. */
19
+ addressForm: 'informal' | 'formal';
18
20
  position: JexityChatOptions['position'];
19
21
  colorScheme: JexityChatOptions['colorScheme'];
20
22
  hideBranding: boolean;
23
+ hidePersonButton: boolean;
24
+ visitorChatDeletionOff: boolean;
21
25
  /** Remote-only — no embed-script override. See RemoteConfig. */
22
26
  allowVisitorLocale: boolean;
23
27
  /** Remote-only — server already ANDs the Pro entitlement. */
@@ -28,7 +32,8 @@ export interface ResolvedWidgetConfig {
28
32
  sessionTimeoutMs: number | null;
29
33
  triggerIcon: NonNullable<JexityChatOptions['triggerIcon']>;
30
34
  triggerRadius: NonNullable<JexityChatOptions['triggerRadius']>;
31
- triggerLabel: string;
35
+ /** undefined = use the catalogue's label for the locale and address form (`FAB`). */
36
+ triggerLabel: string | undefined;
32
37
  triggerOffsetX: number;
33
38
  triggerOffsetY: number;
34
39
  mode: NonNullable<JexityChatOptions['mode']>;
@@ -42,6 +47,16 @@ export interface ResolvedWidgetConfig {
42
47
  windowWidth: number | undefined;
43
48
  windowHeight: number | undefined;
44
49
  }
50
+ /** The label every seeded widget stores (`lib/config.ts`); it stands for "no label of our own". */
51
+ export declare const PLATFORM_TRIGGER_LABEL = "Chatte mit uns";
52
+ /**
53
+ * A customer's own trigger label, or undefined for the platform default, so
54
+ * the default follows the locale and the address form instead of staying
55
+ * informal German forever.
56
+ */
57
+ export declare function customTriggerLabel(label: string | undefined): string | undefined;
58
+ /** The catalogue's button label, for the lazy loader that renders before the catalogue loads. */
59
+ export declare function defaultTriggerLabel(locale: string | undefined, form: 'informal' | 'formal'): string;
45
60
  /**
46
61
  * Merges embed-script options with the remote Convex config.
47
62
  * Embed-script values always take precedence; remote config fills the gaps.
@@ -66,9 +81,12 @@ export type RemoteConfig = Pick<JexityChatOptions, 'position' | 'colorScheme' |
66
81
  welcomeMessage: string;
67
82
  /** Entitlement-gated server-side; remote-only, no embed-script override. */
68
83
  allowVisitorLocale?: boolean;
84
+ hidePersonButton?: boolean;
85
+ visitorChatDeletionOff?: boolean;
69
86
  visitorAttachmentsEnabled?: boolean;
70
87
  starterQuestions?: string[];
71
88
  locale?: WidgetLocale;
89
+ addressForm?: 'informal' | 'formal';
72
90
  proactiveMode?: 'off' | 'teaser' | 'auto-open';
73
91
  proactiveDelaySeconds?: number;
74
92
  botName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"widget-config.d.ts","sourceRoot":"","sources":["../../../src/lib/widget-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"widget-config.d.ts","sourceRoot":"","sources":["../../../src/lib/widget-config.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,12 @@
3
3
  * The browser automatically sends the real `Origin` header — JS cannot forge it.
4
4
  * Returns the bootstrap token (a Convex document ID) on success, or an error code.
5
5
  */
6
+ import { type UserTokenSource } from './userToken';
6
7
  type BootstrapOk = {
7
8
  ok: true;
8
9
  token: string;
10
+ /** `sub` of the pass sent (undefined when anonymous): who the token is for. */
11
+ subject?: string;
9
12
  excludePaths: string[];
10
13
  allowedUrls: string[];
11
14
  /** Rollback lever for loader.js. Absent on older cached responses → treat as 'live'. */
@@ -20,11 +23,25 @@ type BootstrapOk = {
20
23
  };
21
24
  type BootstrapErr = {
22
25
  ok: false;
23
- error: 'unauthorized' | 'not_found' | 'network' | 'rate_limited';
26
+ /** `signed_in_user`: the signed-in user's pass was refused (or the host's userToken() failed). */
27
+ error: 'unauthorized' | 'not_found' | 'network' | 'rate_limited' | 'signed_in_user';
24
28
  retryAfterSec?: number;
29
+ /** For `signed_in_user`: the server's reason (`expired`, `bad_signature`, …) and a sentence for the console. */
30
+ reason?: string;
31
+ detail?: string;
25
32
  };
26
33
  type BootstrapResult = BootstrapOk | BootstrapErr;
27
- export declare function bootstrapWidget(orgSlug: string, convexSiteUrl: string, projSlug?: string): Promise<BootstrapResult>;
34
+ export declare function bootstrapWidget({ orgSlug, siteUrl, projSlug, userToken, }: {
35
+ orgSlug: string;
36
+ siteUrl: string;
37
+ projSlug?: string;
38
+ userToken?: UserTokenSource;
39
+ }): Promise<BootstrapResult>;
40
+ /** One console line for a refused signed-in user, the same in every entry point. */
41
+ export declare function signedInUserRefusal(result: {
42
+ reason?: string;
43
+ detail?: string;
44
+ }): string;
28
45
  export declare function isPathExcluded(pathname: string, excludePaths: string[]): boolean;
29
46
  export declare function isUrlMatched(currentUrl: string, allowedUrl: string): boolean;
30
47
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"widgetBootstrap.d.ts","sourceRoot":"","sources":["../../../src/lib/widgetBootstrap.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,IAAI,CAAA;IACR,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,wFAAwF;IACxF,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAA;IAClD;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA;AACD,KAAK,YAAY,GAAG;IAClB,EAAE,EAAE,KAAK,CAAA;IACT,KAAK,EAAE,cAAc,GAAG,WAAW,GAAG,SAAS,GAAG,cAAc,CAAA;IAChE,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AACD,KAAK,eAAe,GAAG,WAAW,GAAG,YAAY,CAAA;AAEjD,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAiD1B;AAGD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAKhF;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAY5E"}
1
+ {"version":3,"file":"widgetBootstrap.d.ts","sourceRoot":"","sources":["../../../src/lib/widgetBootstrap.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAiC,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AAEjF,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,IAAI,CAAA;IACR,KAAK,EAAE,MAAM,CAAA;IACb,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,wFAAwF;IACxF,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAA;IAClD;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA;AACD,KAAK,YAAY,GAAG;IAClB,EAAE,EAAE,KAAK,CAAA;IACT,kGAAkG;IAClG,KAAK,EAAE,cAAc,GAAG,WAAW,GAAG,SAAS,GAAG,cAAc,GAAG,gBAAgB,CAAA;IACnF,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gHAAgH;IAChH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AACD,KAAK,eAAe,GAAG,WAAW,GAAG,YAAY,CAAA;AAEjD,wBAAsB,eAAe,CAAC,EACpC,OAAO,EACP,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE;IACD,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,eAAe,CAAA;CAC5B,GAAG,OAAO,CAAC,eAAe,CAAC,CA8D3B;AAED,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAGxF;AAGD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAKhF;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAY5E"}
@@ -8,6 +8,10 @@ interface ScreenRouterProps {
8
8
  orgSlug: string;
9
9
  projSlug?: string;
10
10
  availability?: Availability;
11
+ /** Widget Studio hid the "Talk to a person" button. */
12
+ hidePersonButton: boolean;
13
+ /** Widget Studio switched off deleting chats: Home shows no delete controls. */
14
+ visitorChatDeletionOff: boolean;
11
15
  sessionId: Id<'contactSessions'> | null;
12
16
  visitorId: string | null;
13
17
  isLoading: boolean;
@@ -21,6 +25,6 @@ interface ScreenRouterProps {
21
25
  maintenance: boolean;
22
26
  }
23
27
  /** Renders only the active screen. No animation — add transitions later once routing is stable. */
24
- export declare function ScreenRouter({ greeting, starterQuestions, title, botName, availability, sessionId, visitorId, isLoading, sessionNotFound, resumeFailed, isOrgDeleted, ensureSession, startFresh, resetSession, maintenance }: ScreenRouterProps): import("preact").JSX.Element;
28
+ export declare function ScreenRouter({ greeting, starterQuestions, title, botName, availability, hidePersonButton, visitorChatDeletionOff, sessionId, visitorId, isLoading, sessionNotFound, resumeFailed, isOrgDeleted, ensureSession, startFresh, resetSession, maintenance }: ScreenRouterProps): import("preact").JSX.Element;
25
29
  export {};
26
30
  //# sourceMappingURL=ScreenRouter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScreenRouter.d.ts","sourceRoot":"","sources":["../../../../src/module/screens/ScreenRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2CAA2C,CAAA;AAMnE,OAAO,EAAoC,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAM7G,UAAU,iBAAiB;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IAGjB,YAAY,CAAC,EAAE,YAAY,CAAA;IAE3B,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAA;IACvC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,OAAO,CAAA;IACxB,YAAY,EAAE,OAAO,CAAA;IACrB,YAAY,EAAE,OAAO,CAAA;IACrB,aAAa,EAAE,MAAM,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;IAClD,UAAU,EAAE,MAAM,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;IAC/C,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,kFAAkF;IAClF,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,mGAAmG;AACnG,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,iBAAiB,gCA2D/O"}
1
+ {"version":3,"file":"ScreenRouter.d.ts","sourceRoot":"","sources":["../../../../src/module/screens/ScreenRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2CAA2C,CAAA;AAMnE,OAAO,EAAoC,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAM7G,UAAU,iBAAiB;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IAGjB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,uDAAuD;IACvD,gBAAgB,EAAE,OAAO,CAAA;IACzB,gFAAgF;IAChF,sBAAsB,EAAE,OAAO,CAAA;IAE/B,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAA;IACvC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,OAAO,CAAA;IACxB,YAAY,EAAE,OAAO,CAAA;IACrB,YAAY,EAAE,OAAO,CAAA;IACrB,aAAa,EAAE,MAAM,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;IAClD,UAAU,EAAE,MAAM,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;IAC/C,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,kFAAkF;IAClF,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,mGAAmG;AACnG,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,iBAAiB,gCA2DzR"}
@@ -25,7 +25,11 @@ export type ScreenState = {
25
25
  };
26
26
  export declare const screenStack: import("@preact/signals").Signal<ScreenState[]>;
27
27
  export declare function computeInitialStack(): ScreenState[];
28
- /** Re-seed the stack after initVisitor() has populated history. */
28
+ /**
29
+ * Re-seed the stack after initVisitor() has populated history. Mount leaves only home on the
30
+ * stack, so a chat on top means ask() ran right after mount: keep it, or a returning visitor's
31
+ * question would wait unsent behind the home screen.
32
+ */
29
33
  export declare function resetInitialStack(): void;
30
34
  /**
31
35
  * Escalation form style:
@@ -1 +1 @@
1
- {"version":3,"file":"screens.state.d.ts","sourceRoot":"","sources":["../../../../src/module/screens/screens.state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2CAA2C,CAAA;AAGnE,MAAM,MAAM,WAAW,GACnB;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GACd;IAAE,EAAE,EAAE,WAAW,CAAA;CAAE,GACnB;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GACd;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GACd;IAAE,EAAE,EAAE,iBAAiB,CAAC;IAAC,aAAa,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC;IAAC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACxI;IAAE,EAAE,EAAE,cAAc,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,EAAE,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAKpC,eAAO,MAAM,WAAW,iDAA+C,CAAA;AAEvE,wBAAgB,mBAAmB,IAAI,WAAW,EAAE,CAQnD;AAED,mEAAmE;AACnE,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,uDAAwC,CAAA;AAExE,wCAAwC;AACxC,wBAAgB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAElD;AAED,oDAAoD;AACpD,wBAAgB,IAAI,IAAI,IAAI,CAI3B;AAED,sEAAsE;AACtE,wBAAgB,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAEjD"}
1
+ {"version":3,"file":"screens.state.d.ts","sourceRoot":"","sources":["../../../../src/module/screens/screens.state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2CAA2C,CAAA;AAGnE,MAAM,MAAM,WAAW,GACnB;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GACd;IAAE,EAAE,EAAE,WAAW,CAAA;CAAE,GACnB;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GACd;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GACd;IAAE,EAAE,EAAE,iBAAiB,CAAC;IAAC,aAAa,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC;IAAC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACxI;IAAE,EAAE,EAAE,cAAc,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,EAAE,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAKpC,eAAO,MAAM,WAAW,iDAA+C,CAAA;AAEvE,wBAAgB,mBAAmB,IAAI,WAAW,EAAE,CAQnD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAGxC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,uDAAwC,CAAA;AAExE,wCAAwC;AACxC,wBAAgB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAElD;AAED,oDAAoD;AACpD,wBAAgB,IAAI,IAAI,IAAI,CAI3B;AAED,sEAAsE;AACtE,wBAAgB,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAEjD"}
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetShell.d.ts","sourceRoot":"","sources":["../../../../src/module/shell/WidgetShell.tsx"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEpD,UAAU,gBAAgB;IACxB,OAAO,EAAE,iBAAiB,CAAA;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,EAAE,gBAAgB,uCAcxD"}
1
+ {"version":3,"file":"WidgetShell.d.ts","sourceRoot":"","sources":["../../../../src/module/shell/WidgetShell.tsx"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEpD,UAAU,gBAAgB;IACxB,OAAO,EAAE,iBAAiB,CAAA;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,EAAE,gBAAgB,uCAexD"}
@@ -1,6 +1,8 @@
1
+ import type { UserTokenSource } from '../../../lib/userToken';
1
2
  interface UseBootstrapOptions {
2
3
  orgSlug: string;
3
4
  projSlug?: string;
5
+ userToken?: UserTokenSource;
4
6
  preToken?: string;
5
7
  convexUrl?: string;
6
8
  preAllowedUrls?: string[];
@@ -17,6 +19,6 @@ interface UseBootstrapOptions {
17
19
  * the initial fetch but still records the inputs so refreshBootstrapToken()
18
20
  * can re-POST when the 1-hour token TTL elapses mid-session.
19
21
  */
20
- export declare function useBootstrap({ orgSlug, projSlug, preToken, convexUrl, preAllowedUrls, preExcludedPaths, preMaintenance, }: UseBootstrapOptions): void;
22
+ export declare function useBootstrap({ orgSlug, projSlug, userToken, preToken, convexUrl, preAllowedUrls, preExcludedPaths, preMaintenance, }: UseBootstrapOptions): void;
21
23
  export {};
22
24
  //# sourceMappingURL=useBootstrap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useBootstrap.d.ts","sourceRoot":"","sources":["../../../../../src/module/shell/hooks/useBootstrap.ts"],"names":[],"mappings":"AAMA,UAAU,mBAAmB;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,cAAc,GACf,EAAE,mBAAmB,GAAG,IAAI,CA6D5B"}
1
+ {"version":3,"file":"useBootstrap.d.ts","sourceRoot":"","sources":["../../../../../src/module/shell/hooks/useBootstrap.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAG7D,UAAU,mBAAmB;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,cAAc,GACf,EAAE,mBAAmB,GAAG,IAAI,CAsE5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../../../src/module/shell/mount.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAmBpD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,iBAAiB,GACzB,MAAM,IAAI,CAiDZ"}
1
+ {"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../../../src/module/shell/mount.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAmBpD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,iBAAiB,GACzB,MAAM,IAAI,CAkDZ"}
@@ -1,4 +1,5 @@
1
1
  import type { Id } from '@repo/backend/convex/_generated/dataModel';
2
+ import type { UserTokenSource } from '../../lib/userToken';
2
3
  /**
3
4
  * Whether the chat window is currently open.
4
5
  *
@@ -16,13 +17,21 @@ export declare const isOpen: import("@preact/signals").Signal<boolean>;
16
17
  export declare const pendingQuestion: import("@preact/signals").Signal<string | null>;
17
18
  /** Session source tag, e.g. "dashboard-test". Set once during mount. */
18
19
  export declare const widgetSource: import("@preact/signals").Signal<string | undefined>;
19
- export declare const PLATFORM_PRIVACY_POLICY_URL = "https://jexitychat.de/privacy";
20
+ export declare const PLATFORM_PRIVACY_POLICY_URL = "https://jexitychat.de/datenschutz";
20
21
  export declare const resolvedPrivacyPolicyUrl: import("@preact/signals").Signal<string>;
21
22
  export declare const privacyNoticeStyle: import("@preact/signals").Signal<"chip" | "explicit">;
22
23
  /** Visitor files allowed on this widget (still gated by session status). Set by WidgetShell. */
23
24
  export declare const visitorAttachmentsEnabled: import("@preact/signals").Signal<boolean>;
24
25
  /** Bootstrap token issued by POST /widget/bootstrap. Read by useConvexSession. */
25
26
  export declare const bootstrapToken: import("@preact/signals").Signal<Id<"widgetBootstrapTokens"> | undefined>;
27
+ /**
28
+ * The signed-in user (the pass's `sub`, undefined when anonymous) the bootstrap token was
29
+ * issued for. `null` while not known: a token handed in by the IIFE, whose own watcher
30
+ * follows `data-user-token`.
31
+ */
32
+ export declare const tokenSubject: import("@preact/signals").Signal<{
33
+ sub: string | undefined;
34
+ } | null>;
26
35
  /**
27
36
  * Path-scoped allow URLs from the bootstrap response (e.g. ["https://example.com/en", "https://example.com/ru"]).
28
37
  * Multiple entries arise when a project has several path rules for the same origin.
@@ -45,6 +54,12 @@ export declare const bootstrapInputs: import("@preact/signals").Signal<{
45
54
  projSlug: string | undefined;
46
55
  siteUrl: string;
47
56
  } | null>;
57
+ /**
58
+ * The host's signed-in user pass (`options.userToken`), read again on every
59
+ * bootstrap including refreshBootstrapToken(), so a function source hands
60
+ * over a fresh pass each hour. Set by useBootstrap.
61
+ */
62
+ export declare const userTokenSource: import("@preact/signals").Signal<UserTokenSource | undefined>;
48
63
  /**
49
64
  * True while the deployment's write-freeze is active, from the bootstrap
50
65
  * response. The widget still mounts and the visitor can still read — only
@@ -1 +1 @@
1
- {"version":3,"file":"shell.state.d.ts","sourceRoot":"","sources":["../../../../src/module/shell/shell.state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2CAA2C,CAAA;AAEnE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,MAAM,2CAAgB,CAAA;AAEnC,kHAAkH;AAClH,eAAO,MAAM,eAAe,iDAA8B,CAAA;AAE1D,wEAAwE;AACxE,eAAO,MAAM,YAAY,sDAAwC,CAAA;AAEjE,eAAO,MAAM,2BAA2B,kCAAkC,CAAA;AAE1E,eAAO,MAAM,wBAAwB,0CAAsC,CAAA;AAE3E,eAAO,MAAM,kBAAkB,uDAAsC,CAAA;AAErE,gGAAgG;AAChG,eAAO,MAAM,yBAAyB,2CAAgB,CAAA;AAEtD,kFAAkF;AAClF,eAAO,MAAM,cAAc,2EAA6D,CAAA;AAExF;;;;GAIG;AACH,eAAO,MAAM,WAAW,4CAAuB,CAAA;AAE/C;;;;GAIG;AACH,eAAO,MAAM,aAAa,4CAAuB,CAAA;AAEjD;;;;GAIG;AACH,eAAO,MAAM,eAAe;aACjB,MAAM;cACL,MAAM,GAAG,SAAS;aACnB,MAAM;SACF,CAAA;AAEf;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,2CAAgB,CAAA"}
1
+ {"version":3,"file":"shell.state.d.ts","sourceRoot":"","sources":["../../../../src/module/shell/shell.state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2CAA2C,CAAA;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE1D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,MAAM,2CAAgB,CAAA;AAEnC,kHAAkH;AAClH,eAAO,MAAM,eAAe,iDAA8B,CAAA;AAE1D,wEAAwE;AACxE,eAAO,MAAM,YAAY,sDAAwC,CAAA;AAEjE,eAAO,MAAM,2BAA2B,sCAAsC,CAAA;AAE9E,eAAO,MAAM,wBAAwB,0CAAsC,CAAA;AAE3E,eAAO,MAAM,kBAAkB,uDAAsC,CAAA;AAErE,gGAAgG;AAChG,eAAO,MAAM,yBAAyB,2CAAgB,CAAA;AAEtD,kFAAkF;AAClF,eAAO,MAAM,cAAc,2EAA6D,CAAA;AAExF;;;;GAIG;AACH,eAAO,MAAM,YAAY;SAAiB,MAAM,GAAG,SAAS;SAAgB,CAAA;AAE5E;;;;GAIG;AACH,eAAO,MAAM,WAAW,4CAAuB,CAAA;AAE/C;;;;GAIG;AACH,eAAO,MAAM,aAAa,4CAAuB,CAAA;AAEjD;;;;GAIG;AACH,eAAO,MAAM,eAAe;aACjB,MAAM;cACL,MAAM,GAAG,SAAS;aACnB,MAAM;SACF,CAAA;AAEf;;;;GAIG;AACH,eAAO,MAAM,eAAe,+DAAiD,CAAA;AAE7E;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,2CAAgB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"widget-instance.d.ts","sourceRoot":"","sources":["../../../../src/module/shell/widget-instance.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAExE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,CAAC,EAAE,MAAM,IAAI,GACpB,kBAAkB,CAwCpB"}
1
+ {"version":3,"file":"widget-instance.d.ts","sourceRoot":"","sources":["../../../../src/module/shell/widget-instance.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAExE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,CAAC,EAAE,MAAM,IAAI,GACpB,kBAAkB,CAsDpB"}
@@ -15,6 +15,12 @@ export declare function registerLockResetCallback(fn: ResetCallback): () => void
15
15
  * Idempotent — safe to call from both triggers.
16
16
  */
17
17
  export declare function lockSession(): void;
18
+ /**
19
+ * The lock's wipe without the privacy notice: forget this tab's chats, clear
20
+ * every hook's cached session, back to Home. Also what `logout()` runs, so the
21
+ * next person on the page starts clean.
22
+ */
23
+ export declare function clearVisitorChats(): void;
18
24
  /** Called by HomeScreen actions — visitor explicitly engaged again. */
19
25
  export declare function unlockSession(): void;
20
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"idle-lock.d.ts","sourceRoot":"","sources":["../../../../src/module/visitor/idle-lock.ts"],"names":[],"mappings":"AA0CA,gEAAgE;AAChE,eAAO,MAAM,QAAQ,2CAAgB,CAAA;AAErC;;;GAGG;AACH,eAAO,MAAM,aAAa,2CAAgB,CAAA;AAE1C,mFAAmF;AACnF,KAAK,aAAa,GAAG,MAAM,IAAI,CAAA;AAG/B,wFAAwF;AACxF,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,IAAI,CAKvE;AAeD;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAoBlC;AAED,uEAAuE;AACvE,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,GAAE,MAAmC,GAAG,MAAM,IAAI,CA8B/F"}
1
+ {"version":3,"file":"idle-lock.d.ts","sourceRoot":"","sources":["../../../../src/module/visitor/idle-lock.ts"],"names":[],"mappings":"AA0CA,gEAAgE;AAChE,eAAO,MAAM,QAAQ,2CAAgB,CAAA;AAErC;;;GAGG;AACH,eAAO,MAAM,aAAa,2CAAgB,CAAA;AAE1C,mFAAmF;AACnF,KAAK,aAAa,GAAG,MAAM,IAAI,CAAA;AAG/B,wFAAwF;AACxF,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,IAAI,CAKvE;AAeD;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAIlC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAkBxC;AAED,uEAAuE;AACvE,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,GAAE,MAAmC,GAAG,MAAM,IAAI,CA8B/F"}
@@ -5,6 +5,8 @@ export type SessionHistoryEntry = {
5
5
  ref: string;
6
6
  startedAt: number;
7
7
  lastActivityAt: number;
8
+ /** One line of the visitor's first message: the chat's title on Home. Tab storage only. */
9
+ firstMessage?: string;
8
10
  };
9
11
  export declare const sessionHistory: import("@preact/signals").Signal<SessionHistoryEntry[]>;
10
12
  export declare const currentSessionRef: import("@preact/signals").Signal<string | null>;
@@ -31,6 +33,11 @@ export declare function applySessionTimeout(ms: number | null): {
31
33
  };
32
34
  /** Generate a fresh ref, push to history, set as current. */
33
35
  export declare function startNewSession(): string;
36
+ /**
37
+ * Forget every chat of this tab: the signed-in user signed out (`logout()`),
38
+ * or the server said the stored chat belongs to another signed-in user.
39
+ */
40
+ export declare function forgetVisitorHistory(): void;
34
41
  /** Clear the active ref WITHOUT touching history — "Start new conversation" uses
35
42
  * this so the next first-send mints a fresh ref + session. No empty session row
36
43
  * is created on click; creation is deferred to the visitor's first message. */
@@ -39,4 +46,14 @@ export declare function clearCurrentSession(): void;
39
46
  export declare function resumeSession(ref: string): void;
40
47
  /** Mark activity on the current session (visitor send or bot final reply). */
41
48
  export declare function markActivity(ref: string): void;
49
+ /** The visitor's first message as one trimmed line, cut by characters so an emoji is never split. */
50
+ export declare function firstMessageTitle(text: string): string;
51
+ /** Store a chat's first message once, on an entry that is still in the list. */
52
+ export declare function rememberFirstMessage(ref: string, text: string): void;
53
+ /** The list after a delete: every requested chat goes except the ones the server kept. */
54
+ export declare function withoutDeletedChats(entries: SessionHistoryEntry[], requested: string[], kept: string[]): SessionHistoryEntry[];
55
+ /** Drop deleted chats from this tab; says whether the open chat was one of them. */
56
+ export declare function forgetDeletedChats(requested: string[], kept: string[]): {
57
+ currentDeleted: boolean;
58
+ };
42
59
  //# sourceMappingURL=visitor.state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"visitor.state.d.ts","sourceRoot":"","sources":["../../../../src/module/visitor/visitor.state.ts"],"names":[],"mappings":"AAEA,0EAA0E;AAC1E,eAAO,MAAM,2BAA2B,wBAAwB,CAAA;AAEhE,eAAO,MAAM,0BAA0B,QAAsB,CAAA;AAE7D,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAQD,eAAO,MAAM,cAAc,yDAAoC,CAAA;AAC/D,eAAO,MAAM,iBAAiB,iDAA8B,CAAA;AAC5D,eAAO,MAAM,kBAAkB,6DAA+C,CAAA;AAC9E,eAAO,MAAM,kBAAkB,2CAAgB,CAAA;AAG/C,eAAO,MAAM,aAAa,mDAAkD,CAAA;AAE5E;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,0EAAuD,CAAA;AA8BnF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAInF;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,mBAAmB,EAAE,EAC9B,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACnC,mBAAmB,EAAE,CAIvB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,mBAAmB,EAAE,EAC9B,GAAG,EAAE,MAAM,EACX,kBAAkB,EAAE,OAAO,EAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACnC,mBAAmB,EAAE,CAGvB;AAoCD,iEAAiE;AACjE,wBAAgB,WAAW,IAAI,IAAI,CAUlC;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG;IAAE,eAAe,EAAE,OAAO,CAAA;CAAE,CAUnF;AAED,6DAA6D;AAC7D,wBAAgB,eAAe,IAAI,MAAM,CAQxC;AAED;;gFAEgF;AAChF,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAS/C;AAED,8EAA8E;AAC9E,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAQ9C"}
1
+ {"version":3,"file":"visitor.state.d.ts","sourceRoot":"","sources":["../../../../src/module/visitor/visitor.state.ts"],"names":[],"mappings":"AAGA,0EAA0E;AAC1E,eAAO,MAAM,2BAA2B,wBAAwB,CAAA;AAEhE,eAAO,MAAM,0BAA0B,QAAsB,CAAA;AAE7D,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,2FAA2F;IAC3F,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAQD,eAAO,MAAM,cAAc,yDAAoC,CAAA;AAC/D,eAAO,MAAM,iBAAiB,iDAA8B,CAAA;AAC5D,eAAO,MAAM,kBAAkB,6DAA+C,CAAA;AAC9E,eAAO,MAAM,kBAAkB,2CAAgB,CAAA;AAG/C,eAAO,MAAM,aAAa,mDAAkD,CAAA;AAE5E;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,0EAAuD,CAAA;AA2BnF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAInF;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,mBAAmB,EAAE,EAC9B,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACnC,mBAAmB,EAAE,CAIvB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,mBAAmB,EAAE,EAC9B,GAAG,EAAE,MAAM,EACX,kBAAkB,EAAE,OAAO,EAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACnC,mBAAmB,EAAE,CAGvB;AAoCD,iEAAiE;AACjE,wBAAgB,WAAW,IAAI,IAAI,CAUlC;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG;IAAE,eAAe,EAAE,OAAO,CAAA;CAAE,CAUnF;AAED,6DAA6D;AAC7D,wBAAgB,eAAe,IAAI,MAAM,CAQxC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAM3C;AAED;;gFAEgF;AAChF,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAS/C;AAED,8EAA8E;AAC9E,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAQ9C;AAKD,qGAAqG;AACrG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAOpE;AAED,0FAA0F;AAC1F,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,mBAAmB,EAAE,EAC9B,SAAS,EAAE,MAAM,EAAE,EACnB,IAAI,EAAE,MAAM,EAAE,GACb,mBAAmB,EAAE,CAEvB;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,cAAc,EAAE,OAAO,CAAA;CAAE,CAQnG"}
@@ -61,6 +61,8 @@ export interface JexityChatOptions {
61
61
  */
62
62
  primaryColor?: string;
63
63
  locale?: string;
64
+ /** Du or Sie for the fixed German texts. The dashboard passes the live form value; embeds take the saved config. */
65
+ addressForm?: 'informal' | 'formal';
64
66
  /**
65
67
  * Trusted origin for postMessage-based dashboard preview updates.
66
68
  * Defaults to `window.location.origin` (same-origin only).
@@ -81,6 +83,10 @@ export interface JexityChatOptions {
81
83
  triggerOffsetX?: number;
82
84
  triggerOffsetY?: number;
83
85
  hideBranding?: boolean;
86
+ /** Hides the "Talk to a person" button (chat header + Home screen). Overrides the Widget Studio setting. */
87
+ hidePersonButton?: boolean;
88
+ /** Hides "Delete chat" in the widget. The server refuses a delete only when the Widget Studio switched it off. */
89
+ visitorChatDeletionOff?: boolean;
84
90
  privacyPolicyMode?: 'platform' | 'custom';
85
91
  privacyPolicyUrl?: string;
86
92
  privacyNoticeStyle?: 'chip' | 'explicit' | 'sheet';
@@ -98,6 +104,12 @@ export interface JexityChatOptions {
98
104
  * Designed for dashboard test panels and in-app integrations.
99
105
  */
100
106
  mode?: 'floating' | 'embedded';
107
+ /**
108
+ * Embedded mode only: show the header's close button (floating mode always
109
+ * has one). It calls `close()`, so the host hears it through `subscribe` —
110
+ * in React, `isOpen` turns false — and removes the chat itself.
111
+ */
112
+ closeButton?: boolean;
101
113
  /**
102
114
  * Trigger mode for floating widgets.
103
115
  * - unset (default): Jexity renders its own FAB.
@@ -115,6 +127,15 @@ export interface JexityChatOptions {
115
127
  windowPosition?: 'bottom-right' | 'middle-center';
116
128
  /** Tags the session origin, e.g. "dashboard-test". Stored on `contactSessions`. */
117
129
  source?: string;
130
+ /**
131
+ * The signed-in user's pass: a JWT your server signs with the project's
132
+ * sign-in key (HS256; `sub`, optional `name`, `email`, `account_id`, `iat`,
133
+ * `exp` ≤ 24 h). Pass a function to hand over a fresh one on every
134
+ * bootstrap, including the hourly refresh — recommended in a single-page
135
+ * app. Script tag: `data-user-token`. A refused pass stops the widget; it is
136
+ * never treated as anonymous.
137
+ */
138
+ userToken?: import('./lib/userToken').UserTokenSource;
118
139
  /** Bootstrap token from /widget/bootstrap — required for origin-gated sessions. */
119
140
  bootstrapToken?: string;
120
141
  /**
@@ -157,6 +178,8 @@ export interface JexityChatInstance {
157
178
  /** Opens the chat and sends `text` as the visitor's message (e.g. a host's "Ask AI" search row). */
158
179
  ask: (text: string) => void;
159
180
  shutdown: () => void;
181
+ /** Call when the signed-in user signs out: forgets this tab's chats and starts over with the current pass. The chat stays available. */
182
+ logout: () => void;
160
183
  readonly isOpen: boolean;
161
184
  subscribe: (cb: (isOpen: boolean) => void) => () => void;
162
185
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}