@opencx/widget-react-headless 5.0.0 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -0
- package/dist/index.cjs +15 -15
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1330 -1303
- package/dist/index.js.map +1 -1
- package/dist/package.json.d.ts +4 -2
- package/dist/src/agent-chat/AgentChatContext.d.ts +7 -0
- package/dist/src/agent-chat/AgentChatContext.d.ts.map +1 -1
- package/dist/src/agent-chat/agent-chat-transport.d.ts +9 -0
- package/dist/src/agent-chat/agent-chat-transport.d.ts.map +1 -1
- package/dist/src/agent-chat/resume-signals.d.ts +11 -0
- package/dist/src/agent-chat/resume-signals.d.ts.map +1 -0
- package/dist/src/agent-chat/useAgentChat.d.ts +1 -0
- package/dist/src/agent-chat/useAgentChat.d.ts.map +1 -1
- package/package.json +4 -2
package/dist/package.json.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
declare const _default: {
|
|
2
2
|
"name": "@opencx/widget-react-headless",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.1.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -44,9 +44,11 @@ declare const _default: {
|
|
|
44
44
|
"@opencx/tsconfig": "workspace:*",
|
|
45
45
|
"@types/react": "^19.2.18",
|
|
46
46
|
"@types/react-dom": "^19.2.5",
|
|
47
|
+
"@types/react-test-renderer": "^19.3.0",
|
|
47
48
|
"ai": "^7.0.31",
|
|
48
49
|
"react": "^19.2.8",
|
|
49
|
-
"react-dom": "^19.2.8"
|
|
50
|
+
"react-dom": "^19.2.8",
|
|
51
|
+
"react-test-renderer": "^19.2.8"
|
|
50
52
|
}
|
|
51
53
|
}
|
|
52
54
|
;
|
|
@@ -30,6 +30,13 @@ export type AgentChatUiValue = {
|
|
|
30
30
|
/** The last turn failed — the transcript shows an error row with retry. */
|
|
31
31
|
turnFailed: boolean;
|
|
32
32
|
retryFailedTurn: () => void;
|
|
33
|
+
/**
|
|
34
|
+
* Resume a reply whose stream dropped mid-turn; a no-op unless the last
|
|
35
|
+
* turn is unresolved. Browsers trigger it when the tab is visible again or
|
|
36
|
+
* the network returns. Hosts without a DOM call it themselves, e.g. React
|
|
37
|
+
* Native on `AppState` becoming `active` and on reconnect.
|
|
38
|
+
*/
|
|
39
|
+
resumeInterruptedTurn: () => void;
|
|
33
40
|
/** Messages the user queued mid-turn — rendered in the composer's queue pill. */
|
|
34
41
|
queuedUserMessages: WidgetUserMessage[];
|
|
35
42
|
/** Drop one queued (not-yet-sent) message from the pill. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentChatContext.d.ts","sourceRoot":"","sources":["../../../src/agent-chat/AgentChatContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAQN,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAC;AAGxB;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B;;;;OAIG;IACH,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC;;;OAGG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,2EAA2E;IAC3E,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,iFAAiF;IACjF,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,4DAA4D;IAC5D,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,sEAAsE;IACtE,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,0EAA0E;IAC1E,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC;;;;OAIG;IACH;;;OAGG;IACH,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC5C,yCAAyC;IACzC,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9D,6EAA6E;IAC7E,wBAAwB,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3E,eAAe,EAAE,CACf,MAAM,EAAE,MAAM,EACd,OAAO,EACH,MAAM,GACN,SAAS,GACT,MAAM,GACN,QAAQ,GACR,aAAa,GACb,WAAW,GACX,UAAU,EACd,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QACL,QAAQ,EAAE;YACR,GAAG,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,CAAC,EAAE,OAAO,CAAC;SACpB,EAAE,CAAC;QACJ,SAAS,EAAE,OAAO,CAAC;KACpB,KACE,IAAI,CAAC;IACV;;;OAGG;IACH,oBAAoB,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACjD,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"AgentChatContext.d.ts","sourceRoot":"","sources":["../../../src/agent-chat/AgentChatContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAQN,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAC;AAGxB;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B;;;;OAIG;IACH,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC;;;OAGG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,2EAA2E;IAC3E,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B;;;;;OAKG;IACH,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,iFAAiF;IACjF,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,4DAA4D;IAC5D,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,sEAAsE;IACtE,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,0EAA0E;IAC1E,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC;;;;OAIG;IACH;;;OAGG;IACH,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC5C,yCAAyC;IACzC,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9D,6EAA6E;IAC7E,wBAAwB,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3E,eAAe,EAAE,CACf,MAAM,EAAE,MAAM,EACd,OAAO,EACH,MAAM,GACN,SAAS,GACT,MAAM,GACN,QAAQ,GACR,aAAa,GACb,WAAW,GACX,UAAU,EACd,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QACL,QAAQ,EAAE;YACR,GAAG,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,CAAC,EAAE,OAAO,CAAC;SACpB,EAAE,CAAC;QACJ,SAAS,EAAE,OAAO,CAAC;KACpB,KACE,IAAI,CAAC;IACV;;;OAGG;IACH,oBAAoB,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACjD,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,gBAkBnC,CAAC;AAEF,eAAO,MAAM,gBAAgB,wCAA+C,CAAC;AAE7E,mFAAmF;AACnF,wBAAgB,cAAc,IAAI,gBAAgB,CAEjD;AA2KD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,SAAS,EACT,MAAM,GACP,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;CACtB,qBAeA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { WidgetConfig } from '@opencx/widget-core';
|
|
1
2
|
import { DefaultChatTransport, UIMessage } from 'ai';
|
|
2
3
|
/** Wiring the api layer hands the agent-chat transport (send + reconnect URLs + auth). */
|
|
3
4
|
export type AgentChatTransportOptions = {
|
|
@@ -12,7 +13,15 @@ export type AgentChatTransportOptions = {
|
|
|
12
13
|
* without Authorization (401) for the rest of the session.
|
|
13
14
|
*/
|
|
14
15
|
headers: () => Record<string, string>;
|
|
16
|
+
/** Sends and resumes the stream; the global fetch when omitted. */
|
|
17
|
+
fetch?: typeof fetch;
|
|
15
18
|
};
|
|
19
|
+
/**
|
|
20
|
+
* The reconnect URL carrying the embed's presentation choices. Built as a
|
|
21
|
+
* string: React Native 0.76 (Expo 52) throws "URLSearchParams.set is not
|
|
22
|
+
* implemented".
|
|
23
|
+
*/
|
|
24
|
+
export declare function appendPresentationParams(url: string, presentation: WidgetConfig['presentation']): string;
|
|
16
25
|
/** Build the reconnect request used by `useChat` to resume a session stream. */
|
|
17
26
|
export declare function agentChatReconnectPreparer(options: AgentChatTransportOptions): ({ id }: {
|
|
18
27
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-chat-transport.d.ts","sourceRoot":"","sources":["../../../src/agent-chat/agent-chat-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,IAAI,CAAC;AAE1D,0FAA0F;AAC1F,MAAM,MAAM,yBAAyB,GAAG;IACtC,uDAAuD;IACvD,GAAG,EAAE,MAAM,CAAC;IACZ,2EAA2E;IAC3E,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C;;;;;OAKG;IACH,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-chat-transport.d.ts","sourceRoot":"","sources":["../../../src/agent-chat/agent-chat-transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,IAAI,CAAC;AAE1D,0FAA0F;AAC1F,MAAM,MAAM,yBAAyB,GAAG;IACtC,uDAAuD;IACvD,GAAG,EAAE,MAAM,CAAC;IACZ,2EAA2E;IAC3E,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C;;;;;OAKG;IACH,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,mEAAmE;IACnE,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,YAAY,CAAC,cAAc,CAAC,GACzC,MAAM,CAUR;AAED,gFAAgF;AAChF,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,yBAAyB,IACnE,QAAQ;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE;;;EAI/B;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,yBAAyB,GACjC,oBAAoB,CAAC,SAAS,CAAC,CAUjC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calls `onSignal` when a browser tab is visible again after being hidden, or
|
|
3
|
+
* the network comes back while it is visible: the moments a dropped stream
|
|
4
|
+
* can be resumed. Returns the unsubscribe.
|
|
5
|
+
*
|
|
6
|
+
* Hosts without a DOM (React Native has no `document`, and its `window` has
|
|
7
|
+
* no `addEventListener`) get a no-op; they call `resumeInterruptedTurn` from
|
|
8
|
+
* their own app-state and network listeners instead.
|
|
9
|
+
*/
|
|
10
|
+
export declare function subscribeToResumeSignals(onSignal: () => void): () => void;
|
|
11
|
+
//# sourceMappingURL=resume-signals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resume-signals.d.ts","sourceRoot":"","sources":["../../../src/agent-chat/resume-signals.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAgBzE"}
|
|
@@ -62,6 +62,7 @@ export declare function useAgentChat({ widgetCtx, config, sessionId, persistedMe
|
|
|
62
62
|
/** The last turn failed — the transcript renders a visible error row. */
|
|
63
63
|
turnFailed: boolean;
|
|
64
64
|
retryFailedTurn: () => void;
|
|
65
|
+
resumeInterruptedTurn: () => void;
|
|
65
66
|
queuedUserMessages: import('@opencx/widget-core').WidgetUserMessage[];
|
|
66
67
|
removeQueued: (messageId: string) => void;
|
|
67
68
|
stop: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAgentChat.d.ts","sourceRoot":"","sources":["../../../src/agent-chat/useAgentChat.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAU7B,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"useAgentChat.d.ts","sourceRoot":"","sources":["../../../src/agent-chat/useAgentChat.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAU7B,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAKhF,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAU9B;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,mBAAmB,GAAG,aAAa,CAAC;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAqBF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,MAAM,EACN,SAAS,EACT,iBAAiB,GAClB,EAAE;IACD,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,iBAAiB,EAAE,cAAc,EAAE,CAAC;CACrC;;;IA28BG,+DAA+D;;IAE/D,wEAAwE;;IAExE,yEAAyE;;;;;8BAjf9B,MAAM;;;8BAuLvC,MAAM,WAEV,MAAM,GACN,SAAS,GACT,MAAM,GACN,QAAQ,GACR,aAAa,GACb,WAAW,GACX,UAAU,WACL,MAAM,SACR;QACL,QAAQ,EAAE;YACR,GAAG,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,CAAC,EAAE,OAAO,CAAC;SACpB,EAAE,CAAC;QACJ,SAAS,EAAE,OAAO,CAAC;KACpB;;wCAgDO,iBAAiB;gCAiBkB,MAAM,WAAW,OAAO;;;EAsPxE"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opencx/widget-react-headless",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.1.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"uuid": "^11.0.4",
|
|
22
22
|
"zod": "^4.3.6",
|
|
23
|
-
"@opencx/widget-core": "5.
|
|
23
|
+
"@opencx/widget-core": "5.1.0"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
26
|
"@types/react": ">=18 <20",
|
|
@@ -32,9 +32,11 @@
|
|
|
32
32
|
"@ai-sdk/react": "4.0.34",
|
|
33
33
|
"@types/react": "^19.2.18",
|
|
34
34
|
"@types/react-dom": "^19.2.5",
|
|
35
|
+
"@types/react-test-renderer": "^19.3.0",
|
|
35
36
|
"ai": "^7.0.31",
|
|
36
37
|
"react": "^19.2.8",
|
|
37
38
|
"react-dom": "^19.2.8",
|
|
39
|
+
"react-test-renderer": "^19.2.8",
|
|
38
40
|
"@opencx/eslint-config": "0.0.1",
|
|
39
41
|
"@opencx/tsconfig": "0.0.2"
|
|
40
42
|
},
|