@evelan/jexity-widget 0.16.0 → 0.18.9
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/dist/index.mjs +2519 -2351
- package/dist/index.mjs.map +1 -1
- package/dist/react.mjs +2736 -2565
- package/dist/react.mjs.map +1 -1
- package/dist/types/features/chat/components/BotMessage.d.ts +3 -1
- package/dist/types/features/chat/components/BotMessage.d.ts.map +1 -1
- package/dist/types/features/chat/components/ChatScreen.d.ts +5 -1
- package/dist/types/features/chat/components/ChatScreen.d.ts.map +1 -1
- package/dist/types/features/chat/components/HumanHandoffAction.d.ts +5 -1
- package/dist/types/features/chat/components/HumanHandoffAction.d.ts.map +1 -1
- package/dist/types/features/chat/components/MessageList.d.ts +7 -1
- package/dist/types/features/chat/components/MessageList.d.ts.map +1 -1
- package/dist/types/features/chat/components/StarterChips.d.ts +16 -0
- package/dist/types/features/chat/components/StarterChips.d.ts.map +1 -0
- package/dist/types/features/chat/composer/components/ChatInput.d.ts.map +1 -1
- package/dist/types/features/chat/composer/components/ComposerRow.d.ts.map +1 -1
- package/dist/types/features/chat/composer/hooks/useSendMessage.d.ts.map +1 -1
- package/dist/types/features/chat/composer/index.d.ts +2 -0
- package/dist/types/features/chat/composer/index.d.ts.map +1 -1
- package/dist/types/features/chat/composer/state/index.d.ts +4 -0
- package/dist/types/features/chat/composer/state/index.d.ts.map +1 -1
- package/dist/types/features/chat/composer/state/privacy.d.ts +24 -0
- package/dist/types/features/chat/composer/state/privacy.d.ts.map +1 -0
- package/dist/types/features/chat/composer/state/sending.d.ts +9 -0
- package/dist/types/features/chat/composer/state/sending.d.ts.map +1 -0
- package/dist/types/features/chat/hooks/useConvexSession.d.ts.map +1 -1
- package/dist/types/features/home/components/HomeScreen.d.ts +3 -3
- package/dist/types/features/home/components/HomeScreen.d.ts.map +1 -1
- package/dist/types/i18n/locales/de.d.ts.map +1 -1
- package/dist/types/i18n/locales/en.d.ts +5 -0
- package/dist/types/i18n/locales/en.d.ts.map +1 -1
- package/dist/types/lib/widget-config.d.ts +9 -0
- package/dist/types/lib/widget-config.d.ts.map +1 -1
- package/dist/types/module/screens/ScreenRouter.d.ts +3 -1
- package/dist/types/module/screens/ScreenRouter.d.ts.map +1 -1
- package/dist/types/module/shell/WidgetShell.d.ts.map +1 -1
- package/dist/types/module/shell/proactive.d.ts +39 -0
- package/dist/types/module/shell/proactive.d.ts.map +1 -0
- package/dist/types/module/visitor/visitor.state.d.ts +4 -0
- package/dist/types/module/visitor/visitor.state.d.ts.map +1 -1
- package/dist/types/shared/ui/HeaderTitle.d.ts +1 -1
- package/dist/types/shared/ui/HeaderTitle.d.ts.map +1 -1
- package/dist/types/shared/ui/ProactiveTeaser.d.ts +13 -0
- package/dist/types/shared/ui/ProactiveTeaser.d.ts.map +1 -0
- package/dist/types/types.d.ts +8 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/widget.js +28 -28
- package/dist/widget.js.map +1 -1
- package/package.json +1 -1
|
@@ -10,7 +10,9 @@ interface BotMessageProps {
|
|
|
10
10
|
authorImage?: string;
|
|
11
11
|
/** Custom bot avatar URL from widgetConfigs (future — falls back to BotIcon) */
|
|
12
12
|
botAvatarUrl?: string;
|
|
13
|
+
/** The widget title / bot display name (shown in the header for bot replies). */
|
|
14
|
+
botName?: string;
|
|
13
15
|
}
|
|
14
|
-
export declare function BotMessage({ text, streaming, error, authorId, authorName, authorImage, botAvatarUrl }: BotMessageProps): import("preact").JSX.Element;
|
|
16
|
+
export declare function BotMessage({ text, streaming, error, authorId, authorName, authorImage, botAvatarUrl, botName }: BotMessageProps): import("preact").JSX.Element;
|
|
15
17
|
export {};
|
|
16
18
|
//# sourceMappingURL=BotMessage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BotMessage.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/components/BotMessage.tsx"],"names":[],"mappings":"AAOA,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"BotMessage.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/components/BotMessage.tsx"],"names":[],"mappings":"AAOA,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AASD,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,eAAe,gCAoD/H"}
|
|
@@ -2,6 +2,10 @@ import type { Id } from '@repo/backend/convex/_generated/dataModel';
|
|
|
2
2
|
import type { SessionResult } from '../hooks/useConvexSession';
|
|
3
3
|
interface ChatScreenProps {
|
|
4
4
|
greeting: string;
|
|
5
|
+
/** Bot display name shown in each bot message header (falls back to widget name). */
|
|
6
|
+
botName: string;
|
|
7
|
+
/** Admin-configured starter chips (already sanitized; may be empty). */
|
|
8
|
+
starterQuestions: string[];
|
|
5
9
|
sessionId: Id<'contactSessions'> | null;
|
|
6
10
|
visitorId: string | null;
|
|
7
11
|
isLoading: boolean;
|
|
@@ -21,6 +25,6 @@ interface ChatScreenProps {
|
|
|
21
25
|
* Note: session state is hoisted into WidgetShell so the Header can show
|
|
22
26
|
* HumanHandoffAction with the same sessionId/visitorId — no duplicate subscriptions.
|
|
23
27
|
*/
|
|
24
|
-
export declare function ChatScreen({ greeting, sessionId, visitorId, isLoading, sessionNotFound, resumeFailed, isOrgDeleted, ensureSession, startFresh }: ChatScreenProps): import("preact").JSX.Element;
|
|
28
|
+
export declare function ChatScreen({ greeting, botName, starterQuestions, sessionId, visitorId, isLoading, sessionNotFound, resumeFailed, isOrgDeleted, ensureSession, startFresh }: ChatScreenProps): import("preact").JSX.Element;
|
|
25
29
|
export {};
|
|
26
30
|
//# sourceMappingURL=ChatScreen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatScreen.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/components/ChatScreen.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2CAA2C,CAAA;AAOnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAE9D,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"ChatScreen.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/components/ChatScreen.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2CAA2C,CAAA;AAOnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAE9D,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,qFAAqF;IACrF,OAAO,EAAE,MAAM,CAAA;IACf,wEAAwE;IACxE,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAE1B,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;CAChD;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,eAAe,gCA0F3L"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
+
import type { SessionResult } from '../hooks/useConvexSession';
|
|
1
2
|
import type { Id } from '@repo/backend/convex/_generated/dataModel';
|
|
2
3
|
interface HumanHandoffActionProps {
|
|
3
4
|
sessionId: Id<'contactSessions'> | null;
|
|
4
5
|
visitorId: string | null;
|
|
6
|
+
/** Lazily mints/resumes the session so a fresh chat can request a human
|
|
7
|
+
* BEFORE sending any message. Same idempotent seam the composer uses. */
|
|
8
|
+
ensureSession: () => Promise<SessionResult | null>;
|
|
5
9
|
}
|
|
6
10
|
/**
|
|
7
11
|
* Header button — "Talk to human".
|
|
@@ -14,6 +18,6 @@ interface HumanHandoffActionProps {
|
|
|
14
18
|
*
|
|
15
19
|
* Zero LLM tokens consumed on this path.
|
|
16
20
|
*/
|
|
17
|
-
export declare function HumanHandoffAction({ sessionId, visitorId }: HumanHandoffActionProps): import("preact").JSX.Element;
|
|
21
|
+
export declare function HumanHandoffAction({ sessionId, visitorId, ensureSession }: HumanHandoffActionProps): import("preact").JSX.Element;
|
|
18
22
|
export {};
|
|
19
23
|
//# sourceMappingURL=HumanHandoffAction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HumanHandoffAction.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/components/HumanHandoffAction.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2CAA2C,CAAA;AAEnE,UAAU,uBAAuB;IAC/B,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAA;IACvC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"HumanHandoffAction.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/components/HumanHandoffAction.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2CAA2C,CAAA;AAEnE,UAAU,uBAAuB;IAC/B,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAA;IACvC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB;8EAC0E;IAC1E,aAAa,EAAE,MAAM,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;CACnD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,uBAAuB,gCA8ElG"}
|
|
@@ -2,6 +2,12 @@ import type { Doc, Id } from '@repo/backend/convex/_generated/dataModel';
|
|
|
2
2
|
interface MessageListProps {
|
|
3
3
|
conversations: Doc<'conversations'>[] | undefined;
|
|
4
4
|
greeting: string;
|
|
5
|
+
/** The widget title / bot display name (shown in each bot message header). */
|
|
6
|
+
botName: string;
|
|
7
|
+
/** Admin-configured starter chips (already sanitized; may be empty). */
|
|
8
|
+
starterQuestions: string[];
|
|
9
|
+
/** Sends a starter chip's text as the visitor's first message. */
|
|
10
|
+
onPickStarter: (text: string) => void;
|
|
5
11
|
/** True when a resume attempt didn't find the old session. */
|
|
6
12
|
sessionNotFound?: boolean;
|
|
7
13
|
/** True when resume failed and visitor hasn't started fresh yet. */
|
|
@@ -14,6 +20,6 @@ interface MessageListProps {
|
|
|
14
20
|
visitorId: string | null;
|
|
15
21
|
}
|
|
16
22
|
/** Scrollable message area — renders messages with streaming status support. */
|
|
17
|
-
export declare function MessageList({ conversations, greeting, sessionNotFound, resumeFailed, onStartFresh, sessionId, visitorId }: MessageListProps): import("preact").JSX.Element;
|
|
23
|
+
export declare function MessageList({ conversations, greeting, botName, starterQuestions, onPickStarter, sessionNotFound, resumeFailed, onStartFresh, sessionId, visitorId }: MessageListProps): import("preact").JSX.Element;
|
|
18
24
|
export {};
|
|
19
25
|
//# sourceMappingURL=MessageList.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/components/MessageList.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/components/MessageList.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,2CAA2C,CAAA;AAgBxE,UAAU,gBAAgB;IACxB,aAAa,EAAE,GAAG,CAAC,eAAe,CAAC,EAAE,GAAG,SAAS,CAAA;IACjD,QAAQ,EAAE,MAAM,CAAA;IAChB,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAA;IACf,wEAAwE;IACxE,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,kEAAkE;IAClE,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,8DAA8D;IAC9D,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,oEAAoE;IACpE,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,iDAAiD;IACjD,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAA;IACvC,iDAAiD;IACjD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,gBAAgB,gCAsLrL"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
interface StarterChipsProps {
|
|
2
|
+
/** Already-sanitized list from the resolved config (may be empty). */
|
|
3
|
+
questions: string[];
|
|
4
|
+
/** Disabled while a send is in flight so a chip can't double-fire. */
|
|
5
|
+
disabled: boolean;
|
|
6
|
+
/** Sends the chip text as the visitor's message. */
|
|
7
|
+
onPick: (text: string) => void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Conversation-starter chips rendered under the greeting for a fresh/empty
|
|
11
|
+
* chat. Plain text labels (never markdown) — each is the message that gets
|
|
12
|
+
* sent on click. `type="button"` so it never submits an enclosing form.
|
|
13
|
+
*/
|
|
14
|
+
export declare function StarterChips({ questions, disabled, onPick }: StarterChipsProps): import("preact").JSX.Element | null;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=StarterChips.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StarterChips.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/components/StarterChips.tsx"],"names":[],"mappings":"AAAA,UAAU,iBAAiB;IACzB,sEAAsE;IACtE,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,sEAAsE;IACtE,QAAQ,EAAE,OAAO,CAAA;IACjB,oDAAoD;IACpD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,iBAAiB,uCAoB9E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatInput.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chat/composer/components/ChatInput.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChatInput.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chat/composer/components/ChatInput.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2CAA2C,CAAA;AAEnE,UAAU,cAAc;IACtB,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAA;IACvC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,OAAO,CAAA;IACpB,aAAa,EAAE,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,IAAI,CAAA;IACtE,aAAa,EAAE,MAAM,OAAO,CAAC;QAAE,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAA;IAC5F,YAAY,EAAE,MAAM,IAAI,CAAA;CACzB;AAED,kFAAkF;AAClF,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,SAAS,EACT,SAAS,EACT,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,GACb,EAAE,cAAc,gCAwEhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComposerRow.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chat/composer/components/ComposerRow.tsx"],"names":[],"mappings":"AAKA,UAAU,gBAAgB;IACxB,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,aAAa,EAAE,OAAO,CAAA;IACtB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"ComposerRow.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chat/composer/components/ComposerRow.tsx"],"names":[],"mappings":"AAKA,UAAU,gBAAgB;IACxB,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,aAAa,EAAE,OAAO,CAAA;IACtB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,gBAAgB,gCAiHtG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSendMessage.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chat/composer/hooks/useSendMessage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2CAA2C,CAAA;
|
|
1
|
+
{"version":3,"file":"useSendMessage.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chat/composer/hooks/useSendMessage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2CAA2C,CAAA;AAYnE,UAAU,kBAAkB;IAC1B,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAA;IACvC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,aAAa,EAAE,MAAM,OAAO,CAAC;QAAE,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAA;CAC7F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,kBAAkB,IAKtD,SAAS,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAyElE"}
|
|
@@ -12,5 +12,7 @@
|
|
|
12
12
|
* draft signal, tag-agent helper) out of the build.
|
|
13
13
|
*/
|
|
14
14
|
export { ChatInput } from './components/ChatInput';
|
|
15
|
+
export { useSendMessage } from './hooks/useSendMessage';
|
|
15
16
|
export { tagAgent } from './state/draft';
|
|
17
|
+
export { sendPending } from './state/sending';
|
|
16
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/composer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/composer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* - draft.ts → draftMessage signal + tagAgent helper
|
|
5
5
|
* - rate-limit.ts → rateLimitedUntilMs + nowMs ticker
|
|
6
|
+
* - sending.ts → sendPending flag (in-flight guard, shared by all sends)
|
|
7
|
+
* - privacy.ts → explicit-consent gate (shared by all send origins)
|
|
6
8
|
* - attachments.ts → staged image attachments + blob-URL hygiene
|
|
7
9
|
*
|
|
8
10
|
* Consumers inside `composer/` should import from `../state`. The
|
|
@@ -13,5 +15,7 @@
|
|
|
13
15
|
*/
|
|
14
16
|
export { draftMessage, tagAgent } from './draft';
|
|
15
17
|
export { rateLimitedUntilMs, nowMs } from './rate-limit';
|
|
18
|
+
export { sendPending } from './sending';
|
|
19
|
+
export { privacyAcknowledged, privacyGateOpen, pendingSendContent, requiresPrivacyAck, openPrivacyGate, acknowledgePrivacy, resetPrivacyGate, } from './privacy';
|
|
16
20
|
export { attachedImages, addAttachedImages, removeAttachedImage, clearAttachedImages, type AttachedImage, } from './attachments';
|
|
17
21
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chat/composer/state/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chat/composer/state/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,aAAa,GACnB,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Explicit-privacy consent gate — shared across EVERY send origin (the
|
|
3
|
+
* composer AND starter chips) so no path can send before acknowledgement.
|
|
4
|
+
*
|
|
5
|
+
* Lives in composer/state (not ChatInput-local) because the gate is enforced
|
|
6
|
+
* inside `useSendMessage`, and both the composer send and the starter-chip
|
|
7
|
+
* send go through that one seam. Module-scoped signals = one source of truth;
|
|
8
|
+
* a component-local `useState` (the old home) left starter chips ungated.
|
|
9
|
+
*/
|
|
10
|
+
/** Visitor acknowledged the explicit notice for the current conversation. */
|
|
11
|
+
export declare const privacyAcknowledged: import("@preact/signals").Signal<boolean>;
|
|
12
|
+
/** Explicit privacy card is showing (blocks the composer while open). */
|
|
13
|
+
export declare const privacyGateOpen: import("@preact/signals").Signal<boolean>;
|
|
14
|
+
/** Message stashed while the card is open; flushed by the acknowledge handler. */
|
|
15
|
+
export declare const pendingSendContent: import("@preact/signals").Signal<string | null>;
|
|
16
|
+
/** True when an explicit notice is configured and not yet acknowledged. */
|
|
17
|
+
export declare function requiresPrivacyAck(): boolean;
|
|
18
|
+
/** Open the explicit card — no-op unless acknowledgement is still required. */
|
|
19
|
+
export declare function openPrivacyGate(): void;
|
|
20
|
+
/** Visitor pressed "I understand" — unblock every send path for this conversation. */
|
|
21
|
+
export declare function acknowledgePrivacy(): void;
|
|
22
|
+
/** New / switched conversation — re-require acknowledgement and drop any stash. */
|
|
23
|
+
export declare function resetPrivacyGate(): void;
|
|
24
|
+
//# sourceMappingURL=privacy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privacy.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chat/composer/state/privacy.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AAEH,6EAA6E;AAC7E,eAAO,MAAM,mBAAmB,2CAAgB,CAAA;AAEhD,yEAAyE;AACzE,eAAO,MAAM,eAAe,2CAAgB,CAAA;AAE5C,kFAAkF;AAClF,eAAO,MAAM,kBAAkB,iDAA8B,CAAA;AAE7D,2EAA2E;AAC3E,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,IAAI,IAAI,CAItC;AAED,sFAAsF;AACtF,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC;AAED,mFAAmF;AACnF,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* True while a send is in flight (composer OR starter chip), including the lazy
|
|
3
|
+
* session-create step. Toggled inside `useSendMessage`. Module-scoped so every
|
|
4
|
+
* send origin shares one source of truth:
|
|
5
|
+
* - `useSendMessage` reads it as a hard reentrancy guard (drops overlapping sends)
|
|
6
|
+
* - the starter chips read it to disable themselves mid-send
|
|
7
|
+
*/
|
|
8
|
+
export declare const sendPending: import("@preact/signals").Signal<boolean>;
|
|
9
|
+
//# sourceMappingURL=sending.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sending.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chat/composer/state/sending.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,2CAAgB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConvexSession.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/hooks/useConvexSession.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2CAA2C,CAAA;
|
|
1
|
+
{"version":3,"file":"useConvexSession.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/hooks/useConvexSession.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2CAA2C,CAAA;AAqDnE,KAAK,aAAa,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,GAAG,IAAI,CAAA;AAE5F,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAA;IAChC,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,aAAa;IACrB,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAA;IACvC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,kFAAkF;IAClF,eAAe,EAAE,OAAO,CAAA;IACxB,0EAA0E;IAC1E,YAAY,EAAE,OAAO,CAAA;IACrB,8CAA8C;IAC9C,aAAa,EAAE,aAAa,CAAA;IAC5B,wFAAwF;IACxF,YAAY,EAAE,OAAO,CAAA;IACrB,4EAA4E;IAC5E,aAAa,EAAE,MAAM,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;IAClD,iEAAiE;IACjE,UAAU,EAAE,MAAM,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;IAC/C;8EAC0E;IAC1E,YAAY,EAAE,MAAM,IAAI,CAAA;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,CAsJlF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { SessionResult } from '../../chat/hooks/useConvexSession';
|
|
2
1
|
interface HomeScreenProps {
|
|
3
2
|
greeting: string;
|
|
4
3
|
title: string;
|
|
5
|
-
|
|
4
|
+
/** Bot display name shown as the hero subtitle (distinct from the widget `title`). */
|
|
5
|
+
botName: string;
|
|
6
6
|
onResetSession: () => void;
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
@@ -12,6 +12,6 @@ interface HomeScreenProps {
|
|
|
12
12
|
* - sessionHistory has entries → show multi-entry history list
|
|
13
13
|
* - No history (new tab / after close) → show start chat + optional reference lookup
|
|
14
14
|
*/
|
|
15
|
-
export declare function HomeScreen({ title,
|
|
15
|
+
export declare function HomeScreen({ title, botName, onResetSession }: HomeScreenProps): import("preact").JSX.Element;
|
|
16
16
|
export {};
|
|
17
17
|
//# sourceMappingURL=HomeScreen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HomeScreen.d.ts","sourceRoot":"","sources":["../../../../../src/features/home/components/HomeScreen.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HomeScreen.d.ts","sourceRoot":"","sources":["../../../../../src/features/home/components/HomeScreen.tsx"],"names":[],"mappings":"AAOA,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,sFAAsF;IACtF,OAAO,EAAE,MAAM,CAAA;IAEf,cAAc,EAAE,MAAM,IAAI,CAAA;CAC3B;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,eAAe,gCAsH7E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"de.d.ts","sourceRoot":"","sources":["../../../../src/i18n/locales/de.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAA;AAEzC,eAAO,MAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"de.d.ts","sourceRoot":"","sources":["../../../../src/i18n/locales/de.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAA;AAEzC,eAAO,MAAM,EAAE,EAAE,aAuOhB,CAAA"}
|
|
@@ -6,9 +6,13 @@ export interface WidgetStrings {
|
|
|
6
6
|
sendAriaLabel: string;
|
|
7
7
|
attachImagesAriaLabel: string;
|
|
8
8
|
attachComingSoon: string;
|
|
9
|
+
voiceAriaLabel: string;
|
|
10
|
+
voiceComingSoon: string;
|
|
9
11
|
removeAttachmentAriaLabel: string;
|
|
10
12
|
openChatAriaLabel: string;
|
|
11
13
|
closeChatAriaLabel: string;
|
|
14
|
+
proactiveDismiss: string;
|
|
15
|
+
proactiveOpenAria: string;
|
|
12
16
|
errorNetwork: string;
|
|
13
17
|
errorQuota: string;
|
|
14
18
|
errorRateLimited: string;
|
|
@@ -70,6 +74,7 @@ export interface WidgetStrings {
|
|
|
70
74
|
handoffRateLimited: string;
|
|
71
75
|
resumeListLabel: string;
|
|
72
76
|
resumeListTimestamp: string;
|
|
77
|
+
pickUpWhereLeftOff: string;
|
|
73
78
|
noticeAgentJoined: string;
|
|
74
79
|
noticeHumanRequested: string;
|
|
75
80
|
noticeHumanRequestedForm: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../src/i18n/locales/en.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,gBAAgB,EAAE,MAAM,CAAA;IACxB,yBAAyB,EAAE,MAAM,CAAA;IACjC,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,kHAAkH;IAClH,mBAAmB,EAAE,MAAM,CAAA;IAC3B,6EAA6E;IAC7E,wBAAwB,EAAE,MAAM,CAAA;IAChC,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,eAAe,EAAE,MAAM,CAAA;IACvB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,eAAe,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,gBAAgB,EAAE,MAAM,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IAEZ,mBAAmB,EAAE,MAAM,CAAA;IAC3B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,gBAAgB,EAAE,MAAM,CAAA;IACxB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,iBAAiB,EAAE,MAAM,CAAA;IACzB,yBAAyB,EAAE,MAAM,CAAA;IACjC,cAAc,EAAE,MAAM,CAAA;IACtB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,wBAAwB,EAAE,MAAM,CAAA;IAChC,sBAAsB,EAAE,MAAM,CAAA;IAC9B,sBAAsB,EAAE,MAAM,CAAA;IAE9B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,kFAAkF;IAClF,aAAa,EAAE,MAAM,CAAA;IAErB,eAAe,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,kBAAkB,EAAE,MAAM,CAAA;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,oEAAoE;IACpE,qBAAqB,EAAE,MAAM,CAAA;IAE7B,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,eAAe,EAAE,MAAM,CAAA;IACvB,mBAAmB,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../src/i18n/locales/en.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,10 @@ import type { WidgetLocale } from '../i18n/index';
|
|
|
9
9
|
*/
|
|
10
10
|
export interface ResolvedWidgetConfig {
|
|
11
11
|
title: string;
|
|
12
|
+
/** Bot display name for chat bubbles; falls back to title. */
|
|
13
|
+
botName: string;
|
|
12
14
|
greeting: string;
|
|
15
|
+
starterQuestions: string[];
|
|
13
16
|
locale: string | undefined;
|
|
14
17
|
position: JexityChatOptions['position'];
|
|
15
18
|
colorScheme: JexityChatOptions['colorScheme'];
|
|
@@ -21,6 +24,8 @@ export interface ResolvedWidgetConfig {
|
|
|
21
24
|
triggerRadius: NonNullable<JexityChatOptions['triggerRadius']>;
|
|
22
25
|
triggerLabel: string;
|
|
23
26
|
mode: NonNullable<JexityChatOptions['mode']>;
|
|
27
|
+
proactiveMode: 'off' | 'teaser' | 'auto-open';
|
|
28
|
+
proactiveDelaySeconds: number;
|
|
24
29
|
primaryColor: string | undefined;
|
|
25
30
|
accentColor: string | undefined;
|
|
26
31
|
fontFamily: string | undefined;
|
|
@@ -50,7 +55,11 @@ export type RemoteConfig = Pick<JexityChatOptions, 'position' | 'colorScheme' |
|
|
|
50
55
|
primaryColor: string;
|
|
51
56
|
title: string;
|
|
52
57
|
welcomeMessage: string;
|
|
58
|
+
starterQuestions?: string[];
|
|
53
59
|
locale?: WidgetLocale;
|
|
60
|
+
proactiveMode?: 'off' | 'teaser' | 'auto-open';
|
|
61
|
+
proactiveDelaySeconds?: number;
|
|
62
|
+
botName?: string;
|
|
54
63
|
};
|
|
55
64
|
/**
|
|
56
65
|
* Fetches the widget's remote configuration from the Convex HTTP endpoint.
|
|
@@ -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;AAEjD,KAAK,kBAAkB,GAAG,MAAM,GAAG,UAAU,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IAEnC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAE1B,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAA;IACvC,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAA;IAC7C,YAAY,EAAE,OAAO,CAAA;IACrB,iBAAiB,EAAE,WAAW,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACtE,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,kBAAkB,EAAE,kBAAkB,CAAA;IAEtC,WAAW,EAAE,WAAW,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAA;IAC1D,aAAa,EAAE,WAAW,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAA;IAC9D,YAAY,EAAE,MAAM,CAAA;IAEpB,IAAI,EAAE,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAA;IAE5C,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;CACjC;AAcD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,YAAY,GAAG,IAAI,GAC1B,oBAAoB,
|
|
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;AAEjD,KAAK,kBAAkB,GAAG,MAAM,GAAG,UAAU,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD;;;;;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;IAE1B,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAA;IACvC,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAA;IAC7C,YAAY,EAAE,OAAO,CAAA;IACrB,iBAAiB,EAAE,WAAW,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACtE,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,kBAAkB,EAAE,kBAAkB,CAAA;IAEtC,WAAW,EAAE,WAAW,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAA;IAC1D,aAAa,EAAE,WAAW,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAA;IAC9D,YAAY,EAAE,MAAM,CAAA;IAEpB,IAAI,EAAE,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAA;IAE5C,aAAa,EAAE,KAAK,GAAG,QAAQ,GAAG,WAAW,CAAA;IAC7C,qBAAqB,EAAE,MAAM,CAAA;IAE7B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;CACjC;AAcD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,YAAY,GAAG,IAAI,GAC1B,oBAAoB,CAwCtB;AAMD;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAC7C,UAAU,GAAG,aAAa,GAAG,cAAc,GAC3C,aAAa,GAAG,YAAY,GAAG,UAAU,GACzC,cAAc,GAAG,aAAa,GAAG,cAAc,GAC/C,aAAa,GAAG,eAAe,GAAG,cAAc,GAChD,mBAAmB,GAAG,kBAAkB,GAAG,oBAAoB,CAClE,GAAG;IACF,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,WAAW,CAAA;IAC9C,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAa9B"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { type SessionResult } from '../../features/chat';
|
|
2
2
|
interface ScreenRouterProps {
|
|
3
3
|
greeting: string;
|
|
4
|
+
starterQuestions: string[];
|
|
4
5
|
title: string;
|
|
6
|
+
botName: string;
|
|
5
7
|
orgSlug: string;
|
|
6
8
|
projSlug?: string;
|
|
7
9
|
sessionId: Id<'contactSessions'> | null;
|
|
@@ -15,6 +17,6 @@ interface ScreenRouterProps {
|
|
|
15
17
|
resetSession: () => void;
|
|
16
18
|
}
|
|
17
19
|
/** Renders only the active screen. No animation — add transitions later once routing is stable. */
|
|
18
|
-
export declare function ScreenRouter({ greeting, title, sessionId, visitorId, isLoading, sessionNotFound, resumeFailed, isOrgDeleted, ensureSession, startFresh, resetSession }: ScreenRouterProps): import("preact").JSX.Element;
|
|
20
|
+
export declare function ScreenRouter({ greeting, starterQuestions, title, botName, sessionId, visitorId, isLoading, sessionNotFound, resumeFailed, isOrgDeleted, ensureSession, startFresh, resetSession }: ScreenRouterProps): import("preact").JSX.Element;
|
|
19
21
|
export {};
|
|
20
22
|
//# sourceMappingURL=ScreenRouter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScreenRouter.d.ts","sourceRoot":"","sources":["../../../../src/module/screens/ScreenRouter.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAoC,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAM1F,UAAU,iBAAiB;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,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;CACzB;AAED,mGAAmG;AACnG,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"ScreenRouter.d.ts","sourceRoot":"","sources":["../../../../src/module/screens/ScreenRouter.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAoC,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAM1F,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;IAEjB,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;CACzB;AAED,mGAAmG;AACnG,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,iBAAiB,gCAwDpN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetShell.d.ts","sourceRoot":"","sources":["../../../../src/module/shell/WidgetShell.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WidgetShell.d.ts","sourceRoot":"","sources":["../../../../src/module/shell/WidgetShell.tsx"],"names":[],"mappings":"AA8BA,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,uCAaxD"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Proactive greeting — teaser card visibility + per-tab dismiss guard + the
|
|
3
|
+
* pure decision branch. Module-scope signal is fine: one widget instance per page.
|
|
4
|
+
*
|
|
5
|
+
* Recurrence model: the teaser / auto-open re-fires on every page load (the
|
|
6
|
+
* widget remounts per navigation) until the visitor either sends a message
|
|
7
|
+
* (hasAnyHistory — persists per tab) OR dismisses the teaser with ✕ (the dismiss
|
|
8
|
+
* guard below). Merely ignoring it keeps nudging on each subsequent page.
|
|
9
|
+
*
|
|
10
|
+
* Deletable: remove this file + the timer effect/render in WidgetShell + the
|
|
11
|
+
* two config fields, and the feature is gone.
|
|
12
|
+
*/
|
|
13
|
+
export declare const teaserVisible: import("@preact/signals").Signal<boolean>;
|
|
14
|
+
/** Per-tab dismiss key, project-scoped to match the other widget storage keys. */
|
|
15
|
+
export declare function buildProactiveGuardKey(orgSlug: string, projSlug?: string): string;
|
|
16
|
+
/** True if the visitor dismissed the teaser (✕) earlier in this tab. */
|
|
17
|
+
export declare function isProactiveDismissed(key: string): boolean;
|
|
18
|
+
/** Suppress the teaser for the rest of this tab. Called only on ✕ dismiss. */
|
|
19
|
+
export declare function markProactiveDismissed(key: string): void;
|
|
20
|
+
export interface DecideProactiveInput {
|
|
21
|
+
mode: 'off' | 'teaser' | 'auto-open';
|
|
22
|
+
embedded: boolean;
|
|
23
|
+
isOpen: boolean;
|
|
24
|
+
hasHistory: boolean;
|
|
25
|
+
dismissed: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The money path. Evaluated AFTER the delay with current values.
|
|
29
|
+
* Order matters — first matching guard wins.
|
|
30
|
+
* embedded → skip (host owns the chat)
|
|
31
|
+
* chat already open → skip (visitor opened during the wait)
|
|
32
|
+
* off → skip
|
|
33
|
+
* sent a message → skip (engaged — stop nudging, BOTH modes)
|
|
34
|
+
* dismissed (✕) → skip (teaser only ever sets this; auto-open has no ✕)
|
|
35
|
+
* teaser → 'teaser'
|
|
36
|
+
* auto-open → 'open'
|
|
37
|
+
*/
|
|
38
|
+
export declare function decideProactive(input: DecideProactiveInput): 'teaser' | 'open' | 'skip';
|
|
39
|
+
//# sourceMappingURL=proactive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proactive.d.ts","sourceRoot":"","sources":["../../../../src/module/shell/proactive.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,2CAAgB,CAAA;AAE1C,kFAAkF;AAClF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAIjF;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOzD;AAED,8EAA8E;AAC9E,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAMxD;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,WAAW,CAAA;IACpC,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;IACf,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAOvF"}
|
|
@@ -23,6 +23,10 @@ export declare const chatMountIntent: import("@preact/signals").Signal<"fresh" |
|
|
|
23
23
|
export declare function initVisitor(): void;
|
|
24
24
|
/** Generate a fresh ref, push to history, set as current. */
|
|
25
25
|
export declare function startNewSession(): string;
|
|
26
|
+
/** Clear the active ref WITHOUT touching history — "Start new conversation" uses
|
|
27
|
+
* this so the next first-send mints a fresh ref + session. No empty session row
|
|
28
|
+
* is created on click; creation is deferred to the visitor's first message. */
|
|
29
|
+
export declare function clearCurrentSession(): void;
|
|
26
30
|
/** Resume an existing entry — bumps lastActivityAt + sets current. */
|
|
27
31
|
export declare function resumeSession(ref: string): void;
|
|
28
32
|
/** Mark activity on the current session (visitor send or bot final reply). */
|
|
@@ -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,sBAAsB,QAAiB,CAAA;AAEpD,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAID,eAAO,MAAM,cAAc,yDAAoC,CAAA;AAC/D,eAAO,MAAM,iBAAiB,iDAA8B,CAAA;AAG5D,eAAO,MAAM,aAAa,mDAAkD,CAAA;AAE5E;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,6DAA0C,CAAA;AA2BtE,iEAAiE;AACjE,wBAAgB,WAAW,IAAI,IAAI,CASlC;AAED,6DAA6D;AAC7D,wBAAgB,eAAe,IAAI,MAAM,CAQxC;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":"AAEA,0EAA0E;AAC1E,eAAO,MAAM,2BAA2B,wBAAwB,CAAA;AAEhE,eAAO,MAAM,sBAAsB,QAAiB,CAAA;AAEpD,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAID,eAAO,MAAM,cAAc,yDAAoC,CAAA;AAC/D,eAAO,MAAM,iBAAiB,iDAA8B,CAAA;AAG5D,eAAO,MAAM,aAAa,mDAAkD,CAAA;AAE5E;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,6DAA0C,CAAA;AA2BtE,iEAAiE;AACjE,wBAAgB,WAAW,IAAI,IAAI,CASlC;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,7 +1,7 @@
|
|
|
1
1
|
interface HeaderTitleProps {
|
|
2
2
|
title: string;
|
|
3
3
|
}
|
|
4
|
-
/** Header text cluster — title
|
|
4
|
+
/** Header text cluster — title only (status line intentionally omitted). */
|
|
5
5
|
export declare function HeaderTitle({ title }: HeaderTitleProps): import("preact").JSX.Element;
|
|
6
6
|
export {};
|
|
7
7
|
//# sourceMappingURL=HeaderTitle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderTitle.d.ts","sourceRoot":"","sources":["../../../../src/shared/ui/HeaderTitle.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HeaderTitle.d.ts","sourceRoot":"","sources":["../../../../src/shared/ui/HeaderTitle.tsx"],"names":[],"mappings":"AAAA,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,4EAA4E;AAC5E,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,gBAAgB,gCAMtD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
interface ProactiveTeaserProps {
|
|
2
|
+
title: string;
|
|
3
|
+
message: string;
|
|
4
|
+
guardKey: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Intercom-style nudge above the FAB. The whole card opens the chat; the ✕
|
|
8
|
+
* dismisses it for this view (the once-per-tab guard was already consumed at
|
|
9
|
+
* fire time, so dismiss never needs to touch sessionStorage).
|
|
10
|
+
*/
|
|
11
|
+
export declare function ProactiveTeaser({ title, message, guardKey }: ProactiveTeaserProps): import("preact").JSX.Element;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=ProactiveTeaser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProactiveTeaser.d.ts","sourceRoot":"","sources":["../../../../src/shared/ui/ProactiveTeaser.tsx"],"names":[],"mappings":"AAKA,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,oBAAoB,gCA0CjF"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -51,6 +51,10 @@ export interface JexityChatOptions {
|
|
|
51
51
|
theme?: JexityTheme;
|
|
52
52
|
greeting?: string;
|
|
53
53
|
title?: string;
|
|
54
|
+
/** Bot display name shown in chat bubbles; falls back to `title`/widget name.
|
|
55
|
+
* Dashboard passes the live form value so the embedded test panel mirrors
|
|
56
|
+
* bot-name edits before the config is saved (parity with title/greeting). */
|
|
57
|
+
botName?: string;
|
|
54
58
|
/**
|
|
55
59
|
* Shorthand: sets the primary brand color for FAB, header, user bubbles,
|
|
56
60
|
* and send button simultaneously. Granular `theme` keys take precedence.
|
|
@@ -76,6 +80,10 @@ export interface JexityChatOptions {
|
|
|
76
80
|
privacyPolicyMode?: 'platform' | 'custom';
|
|
77
81
|
privacyPolicyUrl?: string;
|
|
78
82
|
privacyNoticeStyle?: 'chip' | 'explicit' | 'sheet';
|
|
83
|
+
/** Conversation-starter chips shown under the greeting on a fresh chat.
|
|
84
|
+
* Dashboard passes the live form value; production embeds omit it and fall
|
|
85
|
+
* back to the remote (saved) config. */
|
|
86
|
+
starterQuestions?: string[];
|
|
79
87
|
/** Runtime override for the Convex deployment URL. Useful when the build-time
|
|
80
88
|
* VITE_CONVEX_URL doesn't match the target deployment. Set via `data-convex-url`
|
|
81
89
|
* on the script tag, or pass directly when using the JS API. */
|
|
@@ -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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"}
|