@evelan/jexity-widget 0.18.10 → 0.19.0-canary.49
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 +2657 -2399
- package/dist/index.mjs.map +1 -1
- package/dist/react.mjs +3824 -3566
- package/dist/react.mjs.map +1 -1
- package/dist/types/features/chat/components/ChatScreen.d.ts.map +1 -1
- package/dist/types/features/chat/components/EscalationFormScreen.d.ts +2 -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/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.map +1 -1
- package/dist/types/features/chat/components/WaitingCard.d.ts +13 -0
- package/dist/types/features/chat/components/WaitingCard.d.ts.map +1 -0
- package/dist/types/features/chat/hooks/useAvailability.d.ts +10 -0
- package/dist/types/features/chat/hooks/useAvailability.d.ts.map +1 -0
- package/dist/types/features/chat/hooks/useUnreadTitleFlash.d.ts +21 -0
- package/dist/types/features/chat/hooks/useUnreadTitleFlash.d.ts.map +1 -0
- package/dist/types/features/chat/hooks/useVisitorHeartbeat.d.ts +24 -0
- package/dist/types/features/chat/hooks/useVisitorHeartbeat.d.ts.map +1 -0
- package/dist/types/features/chat/index.d.ts +2 -0
- package/dist/types/features/chat/index.d.ts.map +1 -1
- package/dist/types/features/chat/state/index.d.ts +4 -0
- package/dist/types/features/chat/state/index.d.ts.map +1 -1
- package/dist/types/features/chat/state/waiting.d.ts +24 -0
- package/dist/types/features/chat/state/waiting.d.ts.map +1 -0
- package/dist/types/features/home/components/HomeScreen.d.ts +4 -1
- package/dist/types/features/home/components/HomeScreen.d.ts.map +1 -1
- package/dist/types/i18n/locales/de.d.ts +8 -0
- package/dist/types/i18n/locales/de.d.ts.map +1 -1
- package/dist/types/i18n/locales/en.d.ts +21 -0
- package/dist/types/i18n/locales/en.d.ts.map +1 -1
- package/dist/types/lib/widget-config.d.ts +5 -1
- package/dist/types/lib/widget-config.d.ts.map +1 -1
- package/dist/types/module/screens/ScreenRouter.d.ts +3 -2
- package/dist/types/module/screens/ScreenRouter.d.ts.map +1 -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/useRemoteConfig.d.ts +8 -2
- package/dist/types/module/shell/hooks/useRemoteConfig.d.ts.map +1 -1
- package/dist/types/module/visitor/idle-lock.d.ts.map +1 -1
- package/dist/types/module/visitor/visitor.state.d.ts +9 -1
- package/dist/types/module/visitor/visitor.state.d.ts.map +1 -1
- package/dist/widget.js +27 -27
- package/dist/widget.js.map +1 -1
- package/package.json +6 -4
|
@@ -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;
|
|
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;AAWnE,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,gCA6H3L"}
|
|
@@ -3,6 +3,7 @@ interface EscalationFormScreenProps {
|
|
|
3
3
|
formMessageId: Id<'conversations'>;
|
|
4
4
|
sessionId: Id<'contactSessions'>;
|
|
5
5
|
visitorId: string;
|
|
6
|
+
orgSlug: string;
|
|
6
7
|
}
|
|
7
8
|
/**
|
|
8
9
|
* Full-screen escalation form — alternative to the inline FormMessage.
|
|
@@ -12,6 +13,6 @@ interface EscalationFormScreenProps {
|
|
|
12
13
|
* Navigated to from MessageList when escalationFormStyle === 'screen'.
|
|
13
14
|
* On submit: patches the form message, shows confirmation, then goes back to chat.
|
|
14
15
|
*/
|
|
15
|
-
export declare function EscalationFormScreen({ formMessageId, sessionId, visitorId }: EscalationFormScreenProps): import("preact").JSX.Element;
|
|
16
|
+
export declare function EscalationFormScreen({ formMessageId, sessionId, visitorId, orgSlug }: EscalationFormScreenProps): import("preact").JSX.Element;
|
|
16
17
|
export {};
|
|
17
18
|
//# sourceMappingURL=EscalationFormScreen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EscalationFormScreen.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/components/EscalationFormScreen.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EscalationFormScreen.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/components/EscalationFormScreen.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2CAA2C,CAAA;AAEnE,UAAU,yBAAyB;IACjC,aAAa,EAAE,EAAE,CAAC,eAAe,CAAC,CAAA;IAClC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAA;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,yBAAyB,gCAwF/G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormMessage.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/components/FormMessage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FormMessage.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/components/FormMessage.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,2CAA2C,CAAA;AAExE,UAAU,gBAAgB;IACxB,OAAO,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;IAC7B,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAA;IAChC,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,gBAAgB,gCA4B9E"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type Availability } from '../hooks/useAvailability';
|
|
1
2
|
import type { SessionResult } from '../hooks/useConvexSession';
|
|
2
3
|
import type { Id } from '@repo/backend/convex/_generated/dataModel';
|
|
3
4
|
interface HumanHandoffActionProps {
|
|
@@ -6,6 +7,9 @@ interface HumanHandoffActionProps {
|
|
|
6
7
|
/** Lazily mints/resumes the session so a fresh chat can request a human
|
|
7
8
|
* BEFORE sending any message. Same idempotent seam the composer uses. */
|
|
8
9
|
ensureSession: () => Promise<SessionResult | null>;
|
|
10
|
+
/** Live org availability from getOrgAvailability. When provided, shows a
|
|
11
|
+
* color-coded dot on the headset icon and updates the button title. */
|
|
12
|
+
availability?: Availability;
|
|
9
13
|
}
|
|
10
14
|
/**
|
|
11
15
|
* Header button — "Talk to human".
|
|
@@ -18,6 +22,6 @@ interface HumanHandoffActionProps {
|
|
|
18
22
|
*
|
|
19
23
|
* Zero LLM tokens consumed on this path.
|
|
20
24
|
*/
|
|
21
|
-
export declare function HumanHandoffAction({ sessionId, visitorId, ensureSession }: HumanHandoffActionProps): import("preact").JSX.Element;
|
|
25
|
+
export declare function HumanHandoffAction({ sessionId, visitorId, ensureSession, availability }: HumanHandoffActionProps): import("preact").JSX.Element;
|
|
22
26
|
export {};
|
|
23
27
|
//# 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,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;
|
|
1
|
+
{"version":3,"file":"HumanHandoffAction.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/components/HumanHandoffAction.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC9E,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;IAClD;4EACwE;IACxE,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,uBAAuB,gCAyFhH"}
|
|
@@ -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":"AAaA,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,gCA2LrL"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inline "waiting for agent" card shown at the bottom of the chat thread
|
|
3
|
+
* (above the composer) after a visitor presses "Skip, I'll wait here" on
|
|
4
|
+
* the escalation form screen.
|
|
5
|
+
*
|
|
6
|
+
* Shows a CSS-only pulsing ripple indicator, a headline, a subtitle, and a
|
|
7
|
+
* quiet secondary link to reopen the escalation form (leave email path).
|
|
8
|
+
*
|
|
9
|
+
* Cleared automatically when a human agent joins — see ChatScreen's
|
|
10
|
+
* conversation effect (noticeKind === 'agent-joined' or authorId truthy).
|
|
11
|
+
*/
|
|
12
|
+
export declare function WaitingCard(): import("preact").JSX.Element;
|
|
13
|
+
//# sourceMappingURL=WaitingCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WaitingCard.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/components/WaitingCard.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,iCA+B1B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type Availability = {
|
|
2
|
+
anyOnline: boolean;
|
|
3
|
+
anyAway: boolean;
|
|
4
|
+
};
|
|
5
|
+
export declare function useAvailability(orgSlug: string | null): {
|
|
6
|
+
anyOnline: boolean;
|
|
7
|
+
anyAway: boolean;
|
|
8
|
+
} | undefined;
|
|
9
|
+
export declare function getPresenceState(availability?: Availability): 'online' | 'away' | 'offline';
|
|
10
|
+
//# sourceMappingURL=useAvailability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAvailability.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/hooks/useAvailability.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAA;AAGnE,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;;;cAKrD;AAID,wBAAgB,gBAAgB,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAI3F"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Doc } from '@repo/backend/convex/_generated/dataModel';
|
|
2
|
+
/**
|
|
3
|
+
* Flashes the browser tab title when a new inbound message (bot/agent reply
|
|
4
|
+
* or a system notice) arrives while the visitor's tab is hidden.
|
|
5
|
+
*
|
|
6
|
+
* Discriminator: a message is INBOUND (non-visitor) when its `role` is NOT
|
|
7
|
+
* `'user'`. Visitor-authored messages have `role === 'user'`; bot/AI replies,
|
|
8
|
+
* human-agent replies, and system notices (`contentType === 'human-notice'`
|
|
9
|
+
* etc.) all have `role === 'assistant'` or no `role` — none of them are
|
|
10
|
+
* `'user'`.
|
|
11
|
+
*
|
|
12
|
+
* Three effects, three concerns — streaming pushes never restart the interval:
|
|
13
|
+
* 1. DETECTION (deps: messages) — sets `unread` state, guards by last-seen id
|
|
14
|
+
* 2. FLASH (deps: unread, s.newReplyTitle) — owns the interval lifecycle
|
|
15
|
+
* 3. LISTENER (deps: []) — single visibilitychange attach on mount
|
|
16
|
+
*
|
|
17
|
+
* try/catch: a sandboxed embed or strict CSP may throw on document access —
|
|
18
|
+
* mirrors the pattern in WidgetShell.tsx:115.
|
|
19
|
+
*/
|
|
20
|
+
export declare function useUnreadTitleFlash(messages: Doc<'conversations'>[] | undefined): void;
|
|
21
|
+
//# sourceMappingURL=useUnreadTitleFlash.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUnreadTitleFlash.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/hooks/useUnreadTitleFlash.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,2CAA2C,CAAA;AAGpE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,EAAE,GAAG,SAAS,GAAG,IAAI,CAkItF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Id } from '@repo/backend/convex/_generated/dataModel';
|
|
2
|
+
interface UseVisitorHeartbeatOptions {
|
|
3
|
+
sessionId: Id<'contactSessions'> | null;
|
|
4
|
+
visitorId: string | null;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Sends a presence heartbeat to `visitorPresence.heartbeat` while the visitor
|
|
8
|
+
* has an active session AND the browser tab is visible.
|
|
9
|
+
*
|
|
10
|
+
* Strategy (mirrors idle-lock.ts interval + visibilitychange pattern):
|
|
11
|
+
* - Ping immediately when the tab is visible and a session is resolved.
|
|
12
|
+
* - Poll every ~60 s WHILE the tab is visible; clear the interval on hide.
|
|
13
|
+
* - Re-ping (and restart interval) when the tab regains focus — ensures a
|
|
14
|
+
* quick `visitorLastSeenAt` refresh even after a long hidden stretch.
|
|
15
|
+
* - Do nothing while tab is hidden — a hidden/closed tab going stale is the
|
|
16
|
+
* whole signal that tells operators the visitor left.
|
|
17
|
+
*
|
|
18
|
+
* ponytail: at ~60 s the write ceiling is ~1.44 writes/min/session.
|
|
19
|
+
* Future upgrade path: swap for @convex-dev/presence when cadence matters
|
|
20
|
+
* sub-minute (no API change needed — just replace the mutation call here).
|
|
21
|
+
*/
|
|
22
|
+
export declare function useVisitorHeartbeat({ sessionId, visitorId }: UseVisitorHeartbeatOptions): void;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=useVisitorHeartbeat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useVisitorHeartbeat.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/hooks/useVisitorHeartbeat.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2CAA2C,CAAA;AAEnE,UAAU,0BAA0B;IAClC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAA;IACvC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,0BAA0B,GAAG,IAAI,CAmD9F"}
|
|
@@ -14,5 +14,7 @@ export { ChatScreen } from './components/ChatScreen';
|
|
|
14
14
|
export { EscalationFormScreen } from './components/EscalationFormScreen';
|
|
15
15
|
export { HumanHandoffAction } from './components/HumanHandoffAction';
|
|
16
16
|
export { useConvexSession } from './hooks/useConvexSession';
|
|
17
|
+
export { useAvailability, getPresenceState } from './hooks/useAvailability';
|
|
18
|
+
export type { Availability } from './hooks/useAvailability';
|
|
17
19
|
export type { SessionErrorReason, SessionResult } from './types';
|
|
18
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/chat/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/chat/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC3E,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC3D,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -8,6 +8,10 @@
|
|
|
8
8
|
* - session-error.ts → sessionError + SessionErrorReason
|
|
9
9
|
* (written by hooks/useConvexSession, read by
|
|
10
10
|
* composer/components/SessionErrorNotice)
|
|
11
|
+
* - waiting.ts → waitingForAgent + clearWaiting + WaitingState
|
|
12
|
+
* (written by EscalationFormScreen on skip, read by
|
|
13
|
+
* ChatScreen + WaitingCard)
|
|
11
14
|
*/
|
|
12
15
|
export { sessionError, type SessionErrorReason } from './session-error';
|
|
16
|
+
export { waitingForAgent, clearWaiting, type WaitingState } from './waiting';
|
|
13
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/state/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/state/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Id } from '@repo/backend/convex/_generated/dataModel';
|
|
2
|
+
/**
|
|
3
|
+
* Set when a visitor presses "Skip, I'll wait here" on the escalation form
|
|
4
|
+
* screen. Stores the ids needed to reopen the form on demand.
|
|
5
|
+
*
|
|
6
|
+
* Cleared when:
|
|
7
|
+
* - A human agent joins (noticeKind === 'agent-joined') or sends a message
|
|
8
|
+
* (authorId truthy) — detected by ChatScreen's conversation effect.
|
|
9
|
+
* - The visitor clicks "Rather get an email? Leave your details" in WaitingCard
|
|
10
|
+
* (navigates back to escalation form and clears the signal).
|
|
11
|
+
*/
|
|
12
|
+
export interface WaitingState {
|
|
13
|
+
formMessageId: Id<'conversations'>;
|
|
14
|
+
sessionId: Id<'contactSessions'>;
|
|
15
|
+
visitorId: string;
|
|
16
|
+
/** Browser timestamp (Date.now()) captured when the visitor pressed "Skip". Used to
|
|
17
|
+
* filter the auto-dismiss check to only messages that arrived AFTER the skip,
|
|
18
|
+
* so a resumed session with old human replies does not dismiss the card on mount. */
|
|
19
|
+
waitingSetAt: number;
|
|
20
|
+
}
|
|
21
|
+
export declare const waitingForAgent: import("@preact/signals").Signal<WaitingState | null>;
|
|
22
|
+
/** Convenience helper — clears the waiting card. */
|
|
23
|
+
export declare function clearWaiting(): void;
|
|
24
|
+
//# sourceMappingURL=waiting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waiting.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/state/waiting.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2CAA2C,CAAA;AAEnE;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,EAAE,CAAC,eAAe,CAAC,CAAA;IAClC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAA;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB;;0FAEsF;IACtF,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,eAAO,MAAM,eAAe,uDAAoC,CAAA;AAEhE,oDAAoD;AACpD,wBAAgB,YAAY,IAAI,IAAI,CAEnC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import { type Availability } from '../../chat';
|
|
1
2
|
interface HomeScreenProps {
|
|
2
3
|
greeting: string;
|
|
3
4
|
title: string;
|
|
4
5
|
/** Bot display name shown as the hero subtitle (distinct from the widget `title`). */
|
|
5
6
|
botName: string;
|
|
7
|
+
/** Live org availability — same source as the chat header's presence dot. */
|
|
8
|
+
availability?: Availability;
|
|
6
9
|
onResetSession: () => void;
|
|
7
10
|
}
|
|
8
11
|
/**
|
|
@@ -12,6 +15,6 @@ interface HomeScreenProps {
|
|
|
12
15
|
* - sessionHistory has entries → show multi-entry history list
|
|
13
16
|
* - No history (new tab / after close) → show start chat + optional reference lookup
|
|
14
17
|
*/
|
|
15
|
-
export declare function HomeScreen({ title, botName, onResetSession }: HomeScreenProps): import("preact").JSX.Element;
|
|
18
|
+
export declare function HomeScreen({ title, botName, availability, onResetSession }: HomeScreenProps): import("preact").JSX.Element;
|
|
16
19
|
export {};
|
|
17
20
|
//# 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":"AAMA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAA;AAEhE,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,sFAAsF;IACtF,OAAO,EAAE,MAAM,CAAA;IACf,6EAA6E;IAC7E,YAAY,CAAC,EAAE,YAAY,CAAA;IAE3B,cAAc,EAAE,MAAM,IAAI,CAAA;CAC3B;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,eAAe,gCAyH3F"}
|
|
@@ -43,6 +43,7 @@ export declare const de: {
|
|
|
43
43
|
readonly back: "Zurück";
|
|
44
44
|
readonly escalationFormTitle: "Hinterlassen Sie Ihre Daten";
|
|
45
45
|
readonly escalationSubtitle: "Unser Team meldet sich per E-Mail bei Ihnen — Sie müssen nicht hier warten.";
|
|
46
|
+
readonly escalationOfflineSubtitle: "Unser Team ist gerade offline — hinterlasse deine E-Mail und wir melden uns bei dir.";
|
|
46
47
|
readonly escalationNameLabel: "Ihr Name";
|
|
47
48
|
readonly escalationEmailLabel: "Ihre E-Mail";
|
|
48
49
|
readonly escalationSubmit: "An Team senden";
|
|
@@ -68,6 +69,8 @@ export declare const de: {
|
|
|
68
69
|
readonly handoffPending: "Sie werden mit einem Mitarbeiter verbunden…";
|
|
69
70
|
readonly handoffFailed: "Anfrage konnte nicht gesendet werden. Erneut versuchen.";
|
|
70
71
|
readonly handoffRateLimited: "Sie haben kürzlich einen Mitarbeiter angefragt. Bitte warten Sie.";
|
|
72
|
+
readonly handoffAvailable: "Ein Mitarbeiter ist verfügbar";
|
|
73
|
+
readonly handoffOffline: "Kein Mitarbeiter online — hinterlasse deine Daten";
|
|
71
74
|
readonly resumeListLabel: "Unterhaltung fortsetzen";
|
|
72
75
|
readonly resumeListTimestamp: "vor {minutes} Min.";
|
|
73
76
|
readonly pickUpWhereLeftOff: "Da weitermachen, wo Sie aufgehört haben";
|
|
@@ -77,6 +80,7 @@ export declare const de: {
|
|
|
77
80
|
readonly noticeEscalationConfirmed: "Vielen Dank, {name}! Ein Mitarbeiter wird in Kürze verfügbar sein.\nWir kontaktieren Sie unter {email}, sobald ein Mitarbeiter bereit ist.\n\nIhre Referenz: **{ref}**\nVerwenden Sie sie, um diese Unterhaltung auf jedem Gerät fortzusetzen.";
|
|
78
81
|
readonly noticeMessageReceived: "Ihre Nachricht ist eingegangen. Ein Mitarbeiter wird in Kürze antworten.";
|
|
79
82
|
readonly noticeAgentHandling: "Ihre Unterhaltung wird von einem menschlichen Mitarbeiter betreut, der in Kürze antwortet.";
|
|
83
|
+
readonly noticeAiResumed: "Der Assistent ist wieder da und kann Ihre Fragen beantworten.";
|
|
80
84
|
readonly replyTo: "Antworten an {name}";
|
|
81
85
|
readonly sourcesCountOne: "{count} Quelle";
|
|
82
86
|
readonly sourcesCountOther: "{count} Quellen";
|
|
@@ -224,5 +228,9 @@ export declare const de: {
|
|
|
224
228
|
readonly magiclineVoucherInvalid: "Gutscheincode „{code}\" ist nicht gültig. Bitte überprüfen Sie den Code und versuchen Sie es erneut.";
|
|
225
229
|
readonly magiclineVoucherDisabled: "Gutscheincodes sind für diese Mitgliedschaft nicht verfügbar.";
|
|
226
230
|
readonly magiclineGesamtpreisBeforeDiscount: "Gesamtes Vertragsvolumen (vor Gutscheinrabatt)";
|
|
231
|
+
readonly newReplyTitle: "Neue Antwort";
|
|
232
|
+
readonly waitingTitle: "Du bist in der Warteschlange";
|
|
233
|
+
readonly waitingSubtitle: "Lass diesen Tab offen — wir benachrichtigen dich hier, sobald jemand antwortet.";
|
|
234
|
+
readonly waitingLeaveEmail: "Lieber per E-Mail? Hinterlasse deine Daten";
|
|
227
235
|
};
|
|
228
236
|
//# sourceMappingURL=de.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"de.d.ts","sourceRoot":"","sources":["../../../../src/i18n/locales/de.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"de.d.ts","sourceRoot":"","sources":["../../../../src/i18n/locales/de.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsPmB,CAAA"}
|
|
@@ -47,6 +47,7 @@ export interface WidgetStrings {
|
|
|
47
47
|
escalationNameLabel: string;
|
|
48
48
|
escalationEmailLabel: string;
|
|
49
49
|
escalationSubtitle: string;
|
|
50
|
+
escalationOfflineSubtitle: string;
|
|
50
51
|
escalationSubmit: string;
|
|
51
52
|
escalationSubmitting: string;
|
|
52
53
|
escalationSubmitted: string;
|
|
@@ -72,6 +73,8 @@ export interface WidgetStrings {
|
|
|
72
73
|
handoffPending: string;
|
|
73
74
|
handoffFailed: string;
|
|
74
75
|
handoffRateLimited: string;
|
|
76
|
+
handoffAvailable: string;
|
|
77
|
+
handoffOffline: string;
|
|
75
78
|
resumeListLabel: string;
|
|
76
79
|
resumeListTimestamp: string;
|
|
77
80
|
pickUpWhereLeftOff: string;
|
|
@@ -84,6 +87,8 @@ export interface WidgetStrings {
|
|
|
84
87
|
noticeMessageReceived: string;
|
|
85
88
|
/** Shown when a human agent owns the session and the AI is suppressed. */
|
|
86
89
|
noticeAgentHandling: string;
|
|
90
|
+
/** Shown when an operator resumes AI replies after a human handoff. */
|
|
91
|
+
noticeAiResumed: string;
|
|
87
92
|
/** Reply-to-agent button aria-label/title. `{name}` is interpolated. */
|
|
88
93
|
replyTo: string;
|
|
89
94
|
/** Sources pill count. `{count}` is interpolated. */
|
|
@@ -267,6 +272,14 @@ export interface WidgetStrings {
|
|
|
267
272
|
magiclineVoucherDisabled: string;
|
|
268
273
|
/** Total contract volume label when a DISCOUNT voucher is active (clarifies the total is pre-discount). */
|
|
269
274
|
magiclineGesamtpreisBeforeDiscount: string;
|
|
275
|
+
/** Browser-tab flash label shown when a new inbound message arrives while the tab is hidden. */
|
|
276
|
+
newReplyTitle: string;
|
|
277
|
+
/** Headline in the waiting card. */
|
|
278
|
+
waitingTitle: string;
|
|
279
|
+
/** Subtitle in the waiting card — asks visitor to keep tab open. */
|
|
280
|
+
waitingSubtitle: string;
|
|
281
|
+
/** Secondary link/button that reopens the escalation form. */
|
|
282
|
+
waitingLeaveEmail: string;
|
|
270
283
|
}
|
|
271
284
|
export declare const en: {
|
|
272
285
|
readonly title: "Assistant";
|
|
@@ -313,6 +326,7 @@ export declare const en: {
|
|
|
313
326
|
readonly back: "Go back";
|
|
314
327
|
readonly escalationFormTitle: "Leave your details";
|
|
315
328
|
readonly escalationSubtitle: "Our team will get back to you by email so you don’t have to wait here.";
|
|
329
|
+
readonly escalationOfflineSubtitle: "Our team is offline right now — leave your email and we’ll get back to you.";
|
|
316
330
|
readonly escalationNameLabel: "Your name";
|
|
317
331
|
readonly escalationEmailLabel: "Your email";
|
|
318
332
|
readonly escalationSubmit: "Send to team";
|
|
@@ -338,6 +352,8 @@ export declare const en: {
|
|
|
338
352
|
readonly handoffPending: "Connecting you to a human agent…";
|
|
339
353
|
readonly handoffFailed: "Could not request a human agent. Try again.";
|
|
340
354
|
readonly handoffRateLimited: "You requested an agent recently. Please wait before trying again.";
|
|
355
|
+
readonly handoffAvailable: "An agent is available";
|
|
356
|
+
readonly handoffOffline: "No agent online — leave your details";
|
|
341
357
|
readonly resumeListLabel: "Continue conversation";
|
|
342
358
|
readonly resumeListTimestamp: "{minutes}m ago";
|
|
343
359
|
readonly pickUpWhereLeftOff: "Pick up where you left off";
|
|
@@ -347,6 +363,7 @@ export declare const en: {
|
|
|
347
363
|
readonly noticeEscalationConfirmed: "Thank you {name}! A human agent will be available soon.\nWe will contact you at {email} when an agent is ready.\n\nYour reference: **{ref}**\nUse it to resume this conversation from any device.";
|
|
348
364
|
readonly noticeMessageReceived: "Your message has been received. A team member will respond shortly.";
|
|
349
365
|
readonly noticeAgentHandling: "Your conversation is with a human agent who will respond shortly.";
|
|
366
|
+
readonly noticeAiResumed: "The assistant is back and can answer your questions again.";
|
|
350
367
|
readonly replyTo: "Reply to {name}";
|
|
351
368
|
readonly sourcesCountOne: "{count} source";
|
|
352
369
|
readonly sourcesCountOther: "{count} sources";
|
|
@@ -494,5 +511,9 @@ export declare const en: {
|
|
|
494
511
|
readonly magiclineVoucherInvalid: "Voucher \"{code}\" is not valid. Please check the code and try again.";
|
|
495
512
|
readonly magiclineVoucherDisabled: "Voucher codes are not available for this membership.";
|
|
496
513
|
readonly magiclineGesamtpreisBeforeDiscount: "Total contract volume (before voucher discount)";
|
|
514
|
+
readonly newReplyTitle: "New reply";
|
|
515
|
+
readonly waitingTitle: "You’re in the queue";
|
|
516
|
+
readonly waitingSubtitle: "Keep this tab open — we’ll alert you right here the moment someone replies.";
|
|
517
|
+
readonly waitingLeaveEmail: "Rather get an email? Leave your details";
|
|
497
518
|
};
|
|
498
519
|
//# sourceMappingURL=en.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../src/i18n/locales/en.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../src/i18n/locales/en.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { JexityChatOptions } from '../types';
|
|
2
|
-
type PrivacyNoticeStyle = 'chip' | 'explicit';
|
|
3
2
|
import type { WidgetLocale } from '../i18n/index';
|
|
3
|
+
type PrivacyNoticeStyle = 'chip' | 'explicit';
|
|
4
|
+
export type SessionTimeoutOption = 'never' | '1h' | '6h' | '24h' | '7d';
|
|
4
5
|
/**
|
|
5
6
|
* Fully-resolved widget configuration — produced by merging embed-script
|
|
6
7
|
* options with the Convex remote config (embed options take precedence).
|
|
@@ -20,6 +21,7 @@ export interface ResolvedWidgetConfig {
|
|
|
20
21
|
privacyPolicyMode: NonNullable<JexityChatOptions['privacyPolicyMode']>;
|
|
21
22
|
privacyPolicyUrl: string | undefined;
|
|
22
23
|
privacyNoticeStyle: PrivacyNoticeStyle;
|
|
24
|
+
sessionTimeoutMs: number | null;
|
|
23
25
|
triggerIcon: NonNullable<JexityChatOptions['triggerIcon']>;
|
|
24
26
|
triggerRadius: NonNullable<JexityChatOptions['triggerRadius']>;
|
|
25
27
|
triggerLabel: string;
|
|
@@ -42,6 +44,7 @@ export interface ResolvedWidgetConfig {
|
|
|
42
44
|
* and any new remote config field has exactly one place to wire it in.
|
|
43
45
|
*/
|
|
44
46
|
export declare function mergeWidgetConfig(options: JexityChatOptions, remote: RemoteConfig | null): ResolvedWidgetConfig;
|
|
47
|
+
export declare function sessionTimeoutToMs(value: SessionTimeoutOption | undefined): number | null;
|
|
45
48
|
/**
|
|
46
49
|
* Shape of the response from the public GET /widget/config endpoint.
|
|
47
50
|
*
|
|
@@ -60,6 +63,7 @@ export type RemoteConfig = Pick<JexityChatOptions, 'position' | 'colorScheme' |
|
|
|
60
63
|
proactiveMode?: 'off' | 'teaser' | 'auto-open';
|
|
61
64
|
proactiveDelaySeconds?: number;
|
|
62
65
|
botName?: string;
|
|
66
|
+
sessionTimeout?: SessionTimeoutOption;
|
|
63
67
|
};
|
|
64
68
|
/**
|
|
65
69
|
* 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,
|
|
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;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;IACtC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAE/B,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,CAyCtB;AAMD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAczF;AAED;;;;;;;;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;IAChB,cAAc,CAAC,EAAE,oBAAoB,CAAA;CACtC,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,4 +1,4 @@
|
|
|
1
|
-
import { type SessionResult } from '../../features/chat';
|
|
1
|
+
import { type SessionResult, type Availability } from '../../features/chat';
|
|
2
2
|
interface ScreenRouterProps {
|
|
3
3
|
greeting: string;
|
|
4
4
|
starterQuestions: string[];
|
|
@@ -6,6 +6,7 @@ interface ScreenRouterProps {
|
|
|
6
6
|
botName: string;
|
|
7
7
|
orgSlug: string;
|
|
8
8
|
projSlug?: string;
|
|
9
|
+
availability?: Availability;
|
|
9
10
|
sessionId: Id<'contactSessions'> | null;
|
|
10
11
|
visitorId: string | null;
|
|
11
12
|
isLoading: boolean;
|
|
@@ -17,6 +18,6 @@ interface ScreenRouterProps {
|
|
|
17
18
|
resetSession: () => void;
|
|
18
19
|
}
|
|
19
20
|
/** Renders only the active screen. No animation — add transitions later once routing is stable. */
|
|
20
|
-
export declare function ScreenRouter({ greeting, starterQuestions, title, botName, sessionId, visitorId, isLoading, sessionNotFound, resumeFailed, isOrgDeleted, ensureSession, startFresh, resetSession }: ScreenRouterProps): import("preact").JSX.Element;
|
|
21
|
+
export declare function ScreenRouter({ greeting, starterQuestions, title, botName, orgSlug, availability, sessionId, visitorId, isLoading, sessionNotFound, resumeFailed, isOrgDeleted, ensureSession, startFresh, resetSession }: ScreenRouterProps): import("preact").JSX.Element;
|
|
21
22
|
export {};
|
|
22
23
|
//# 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;
|
|
1
|
+
{"version":3,"file":"ScreenRouter.d.ts","sourceRoot":"","sources":["../../../../src/module/screens/ScreenRouter.tsx"],"names":[],"mappings":"AAKA,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;CACzB;AAED,mGAAmG;AACnG,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,iBAAiB,gCAyD3O"}
|
|
@@ -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,CAAA;CAAE,GAClH;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,
|
|
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,CAAA;CAAE,GAClH;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 +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":"AAoCA,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"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { type RemoteConfig } from '../../../lib/widget-config';
|
|
2
|
+
type RemoteConfigState = {
|
|
3
|
+
config: RemoteConfig | null;
|
|
4
|
+
settled: boolean;
|
|
5
|
+
};
|
|
2
6
|
/**
|
|
3
7
|
* Fetches the widget's remote config from Convex for the given orgSlug.
|
|
4
8
|
*
|
|
5
|
-
* - Returns null on first render, then
|
|
9
|
+
* - Returns `{ config: null, settled: false }` on first render, then marks
|
|
10
|
+
* settled once the fetch succeeds, fails, or is skipped.
|
|
6
11
|
* - Clears stale config immediately when orgSlug changes (prevents flashing
|
|
7
12
|
* the previous org's title/colors while the new fetch is in flight).
|
|
8
13
|
* - Aborts the in-flight request if orgSlug changes or the hook unmounts.
|
|
9
14
|
* - Silent fail: any error (network, 404, parse) resolves to null so the
|
|
10
15
|
* widget still renders using embed-script options as a fallback.
|
|
11
16
|
*/
|
|
12
|
-
export declare function useRemoteConfig(orgSlug: string, projSlug: string | undefined, runtimeConvexUrl?: string):
|
|
17
|
+
export declare function useRemoteConfig(orgSlug: string, projSlug: string | undefined, runtimeConvexUrl?: string): RemoteConfigState;
|
|
18
|
+
export {};
|
|
13
19
|
//# sourceMappingURL=useRemoteConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRemoteConfig.d.ts","sourceRoot":"","sources":["../../../../../src/module/shell/hooks/useRemoteConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEjF
|
|
1
|
+
{"version":3,"file":"useRemoteConfig.d.ts","sourceRoot":"","sources":["../../../../../src/module/shell/hooks/useRemoteConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEjF,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,iBAAiB,CA6C3H"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idle-lock.d.ts","sourceRoot":"","sources":["../../../../src/module/visitor/idle-lock.ts"],"names":[],"mappings":"AAyCA,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,
|
|
1
|
+
{"version":3,"file":"idle-lock.d.ts","sourceRoot":"","sources":["../../../../src/module/visitor/idle-lock.ts"],"names":[],"mappings":"AAyCA,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,6 +1,6 @@
|
|
|
1
1
|
/** Exported so the privacy lock module can clear the same key on wipe. */
|
|
2
2
|
export declare const SESSION_HISTORY_STORAGE_KEY = "jex-session-history";
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const DEFAULT_SESSION_TIMEOUT_MS: number;
|
|
4
4
|
export type SessionHistoryEntry = {
|
|
5
5
|
ref: string;
|
|
6
6
|
startedAt: number;
|
|
@@ -8,6 +8,8 @@ export type SessionHistoryEntry = {
|
|
|
8
8
|
};
|
|
9
9
|
export declare const sessionHistory: import("@preact/signals").Signal<SessionHistoryEntry[]>;
|
|
10
10
|
export declare const currentSessionRef: import("@preact/signals").Signal<string | null>;
|
|
11
|
+
export declare const persistedTimeoutMs: import("@preact/signals").Signal<number | null | undefined>;
|
|
12
|
+
export declare const visitorInitialized: import("@preact/signals").Signal<boolean>;
|
|
11
13
|
export declare const hasAnyHistory: import("@preact/signals").ReadonlySignal<boolean>;
|
|
12
14
|
/**
|
|
13
15
|
* Set by HomeScreen actions BEFORE navigating to chat, so ChatScreen
|
|
@@ -19,8 +21,14 @@ export declare const hasAnyHistory: import("@preact/signals").ReadonlySignal<boo
|
|
|
19
21
|
* - null — initial mount (first-time visitor lands on chat) OR not set
|
|
20
22
|
*/
|
|
21
23
|
export declare const chatMountIntent: import("@preact/signals").Signal<"fresh" | "resume" | null>;
|
|
24
|
+
export declare function normalizeSessionTimeoutMs(value: unknown): number | null | undefined;
|
|
25
|
+
export declare function pruneSessionHistory(entries: SessionHistoryEntry[], now: number, timeoutMs: number | null | undefined): SessionHistoryEntry[];
|
|
26
|
+
export declare function pruneEnvelopeSessionHistory(entries: SessionHistoryEntry[], now: number, hasTimeoutMetadata: boolean, timeoutMs: number | null | undefined): SessionHistoryEntry[];
|
|
22
27
|
/** Call once on widget mount before computing initial screen. */
|
|
23
28
|
export declare function initVisitor(): void;
|
|
29
|
+
export declare function applySessionTimeout(ms: number | null): {
|
|
30
|
+
activeRefPruned: boolean;
|
|
31
|
+
};
|
|
24
32
|
/** Generate a fresh ref, push to history, set as current. */
|
|
25
33
|
export declare function startNewSession(): string;
|
|
26
34
|
/** Clear the active ref WITHOUT touching history — "Start new conversation" uses
|
|
@@ -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,
|
|
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,6DAA0C,CAAA;AAMtE,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"}
|