@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.
- package/README.md +6 -0
- package/dist/index.mjs +4614 -3345
- package/dist/index.mjs.map +1 -1
- package/dist/loader.js +6 -6
- package/dist/loader.js.map +1 -1
- package/dist/react.mjs +5007 -3696
- package/dist/react.mjs.map +1 -1
- package/dist/types/entries/esm.d.ts +6 -0
- package/dist/types/entries/esm.d.ts.map +1 -1
- package/dist/types/entries/react.d.ts +8 -0
- package/dist/types/entries/react.d.ts.map +1 -1
- package/dist/types/features/chat/components/EscalationFormScreen.d.ts.map +1 -1
- package/dist/types/features/chat/components/FormMessage.d.ts.map +1 -1
- package/dist/types/features/chat/components/MessageList.d.ts.map +1 -1
- package/dist/types/features/chat/components/SourcesRow.d.ts +4 -3
- package/dist/types/features/chat/components/SourcesRow.d.ts.map +1 -1
- package/dist/types/features/chat/composer/components/SessionErrorNotice.d.ts.map +1 -1
- package/dist/types/features/chat/composer/hooks/useAttachmentUpload.d.ts.map +1 -1
- package/dist/types/features/chat/composer/hooks/useSendMessage.d.ts.map +1 -1
- package/dist/types/features/chat/hooks/useConversation.d.ts.map +1 -1
- package/dist/types/features/chat/hooks/useConvexSession.d.ts.map +1 -1
- package/dist/types/features/chat/hooks/useEscalation.d.ts +8 -10
- package/dist/types/features/chat/hooks/useEscalation.d.ts.map +1 -1
- package/dist/types/features/chat/hooks/useSignedInContact.d.ts +12 -0
- package/dist/types/features/chat/hooks/useSignedInContact.d.ts.map +1 -0
- package/dist/types/features/chat/lib/chatOfAnotherUser.d.ts +14 -0
- package/dist/types/features/chat/lib/chatOfAnotherUser.d.ts.map +1 -0
- package/dist/types/features/chat/state/session-error.d.ts +5 -1
- package/dist/types/features/chat/state/session-error.d.ts.map +1 -1
- package/dist/types/features/home/components/ChatList.d.ts +18 -0
- package/dist/types/features/home/components/ChatList.d.ts.map +1 -0
- package/dist/types/features/home/components/DeleteChatsSheet.d.ts +20 -0
- package/dist/types/features/home/components/DeleteChatsSheet.d.ts.map +1 -0
- package/dist/types/features/home/components/HomeScreen.d.ts +7 -1
- package/dist/types/features/home/components/HomeScreen.d.ts.map +1 -1
- package/dist/types/i18n/index.d.ts +6 -0
- package/dist/types/i18n/index.d.ts.map +1 -1
- package/dist/types/i18n/locales/de-formal.d.ts +293 -0
- package/dist/types/i18n/locales/de-formal.d.ts.map +1 -0
- package/dist/types/i18n/locales/de.d.ts +30 -1
- package/dist/types/i18n/locales/de.d.ts.map +1 -1
- package/dist/types/i18n/locales/en.d.ts +62 -1
- package/dist/types/i18n/locales/en.d.ts.map +1 -1
- package/dist/types/lib/refreshBootstrap.d.ts +1 -1
- package/dist/types/lib/refreshBootstrap.d.ts.map +1 -1
- package/dist/types/lib/userToken.d.ts +49 -0
- package/dist/types/lib/userToken.d.ts.map +1 -0
- package/dist/types/lib/widget-config.d.ts +19 -1
- package/dist/types/lib/widget-config.d.ts.map +1 -1
- package/dist/types/lib/widgetBootstrap.d.ts +19 -2
- package/dist/types/lib/widgetBootstrap.d.ts.map +1 -1
- package/dist/types/module/screens/ScreenRouter.d.ts +5 -1
- package/dist/types/module/screens/ScreenRouter.d.ts.map +1 -1
- package/dist/types/module/screens/screens.state.d.ts +5 -1
- package/dist/types/module/screens/screens.state.d.ts.map +1 -1
- package/dist/types/module/shell/WidgetShell.d.ts.map +1 -1
- package/dist/types/module/shell/hooks/useBootstrap.d.ts +3 -1
- package/dist/types/module/shell/hooks/useBootstrap.d.ts.map +1 -1
- package/dist/types/module/shell/mount.d.ts.map +1 -1
- package/dist/types/module/shell/shell.state.d.ts +16 -1
- package/dist/types/module/shell/shell.state.d.ts.map +1 -1
- package/dist/types/module/shell/widget-instance.d.ts.map +1 -1
- package/dist/types/module/visitor/idle-lock.d.ts +6 -0
- package/dist/types/module/visitor/idle-lock.d.ts.map +1 -1
- package/dist/types/module/visitor/visitor.state.d.ts +17 -0
- package/dist/types/module/visitor/visitor.state.d.ts.map +1 -1
- package/dist/types/types.d.ts +23 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/widget.js +38 -38
- package/dist/widget.js.map +1 -1
- 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
|
-
|
|
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":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,KAAK,kBAAkB,GAAG,MAAM,GAAG,UAAU,CAAA;AAC7C,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,CAAA;AAEvE;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IAEnC,KAAK,EAAE,MAAM,CAAA;IACb,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;
|
|
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
|
-
|
|
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
|
|
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;
|
|
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;
|
|
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
|
-
/**
|
|
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
|
|
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,
|
|
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":"
|
|
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,
|
|
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/
|
|
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;
|
|
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":"
|
|
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,
|
|
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":"
|
|
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"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -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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"}
|