@opencx/widget 3.0.86 → 3.0.88
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/designs.cjs +19 -47
- package/dist/designs.cjs.map +1 -1
- package/dist/designs.js +1297 -18475
- package/dist/designs.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +1 -1
- package/dist/react.cjs.map +1 -1
- package/dist/react.js +20 -18
- package/dist/react.js.map +1 -1
- package/dist/src/designs/react/hooks/useCanvas.d.ts +3 -0
- package/dist/src/designs/react/hooks/useTheme.d.ts +6 -0
- package/dist/src/designs/react/index.d.ts +3 -2
- package/dist/src/designs/react/screens/chat/ChatCanvas.d.ts +2 -0
- package/dist/src/headless/core/__tests__/test-utils.d.ts +41 -2
- package/dist/src/headless/core/api/api-caller.d.ts +41 -2
- package/dist/src/headless/core/api/schema.d.ts +179 -75
- package/dist/src/headless/core/context/message.ctx.d.ts +1 -0
- package/dist/src/headless/core/context/session.ctx.d.ts +24 -0
- package/dist/src/headless/core/context/widget.ctx.d.ts +2 -0
- package/dist/src/headless/core/index.d.ts +1 -1
- package/dist/src/headless/core/types/dtos.d.ts +3 -2
- package/dist/src/headless/core/types/widget-config.d.ts +7 -0
- package/dist/src/headless/react/WidgetProvider.d.ts +4 -1
- package/dist/src/headless/react/hooks/useMessages.d.ts +1 -0
- package/dist/src/headless/react/hooks/useModes.d.ts +15 -0
- package/dist/src/headless/react/hooks/useSessions.d.ts +27 -0
- package/dist/src/headless/react/index.d.ts +2 -0
- package/dist/src/headless/react/types/modes.components.d.ts +11 -0
- package/dist/useModes-DSFNdOy3.cjs +2 -0
- package/dist/useModes-DSFNdOy3.cjs.map +1 -0
- package/dist/useModes-DleBrdDK.js +260 -0
- package/dist/useModes-DleBrdDK.js.map +1 -0
- package/dist/widget.ctx-CC3c7FPb.js +1542 -0
- package/dist/widget.ctx-CC3c7FPb.js.map +1 -0
- package/dist/widget.ctx-HuLTTMAM.cjs +5 -0
- package/dist/widget.ctx-HuLTTMAM.cjs.map +1 -0
- package/dist-embed/script.js +83 -83
- package/dist-embed/script.js.map +1 -1
- package/package.json +113 -52
- package/dist/is-exhaustive-9o43S91P.cjs +0 -2
- package/dist/is-exhaustive-9o43S91P.cjs.map +0 -1
- package/dist/is-exhaustive-DGJzQK69.js +0 -7
- package/dist/is-exhaustive-DGJzQK69.js.map +0 -1
- package/dist/useWidgetTrigger-Bi12WVrs.js +0 -1364
- package/dist/useWidgetTrigger-Bi12WVrs.js.map +0 -1
- package/dist/useWidgetTrigger-Bplu_1C-.cjs +0 -18
- package/dist/useWidgetTrigger-Bplu_1C-.cjs.map +0 -1
- package/dist/widget.ctx-DFFwNHvy.js +0 -673
- package/dist/widget.ctx-DFFwNHvy.js.map +0 -1
- package/dist/widget.ctx-oIT8sGvJ.cjs +0 -5
- package/dist/widget.ctx-oIT8sGvJ.cjs.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./widget.ctx-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./widget.ctx-HuLTTMAM.cjs");function r(e,i){console.error(`Missing case for ${e} in ${i}`)}exports.PrimitiveState=t.PrimitiveState;exports.WidgetCtx=t.WidgetCtx;exports.isExhaustive=r;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/headless/core/utils/is-exhaustive.ts"],"sourcesContent":["export function isExhaustive(value: never, funcName: string) {\n console.error(`Missing case for ${value} in ${funcName}`);\n}\n"],"names":["isExhaustive","value","funcName"],"mappings":"6HAAgB,SAAAA,EAAaC,EAAcC,EAAkB,CAC3D,QAAQ,MAAM,oBAAoBD,CAAK,OAAOC,CAAQ,EAAE,CAC1D"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { P as
|
|
2
|
-
|
|
1
|
+
import { P as s, W as a } from "./widget.ctx-CC3c7FPb.js";
|
|
2
|
+
function t(i, e) {
|
|
3
|
+
console.error(`Missing case for ${i} in ${e}`);
|
|
4
|
+
}
|
|
3
5
|
export {
|
|
4
|
-
|
|
6
|
+
s as PrimitiveState,
|
|
5
7
|
a as WidgetCtx,
|
|
6
|
-
|
|
8
|
+
t as isExhaustive
|
|
7
9
|
};
|
|
8
10
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/headless/core/utils/is-exhaustive.ts"],"sourcesContent":["export function isExhaustive(value: never, funcName: string) {\n console.error(`Missing case for ${value} in ${funcName}`);\n}\n"],"names":["isExhaustive","value","funcName"],"mappings":";AAAgB,SAAAA,EAAaC,GAAcC,GAAkB;AAC3D,UAAQ,MAAM,oBAAoBD,CAAK,OAAOC,CAAQ,EAAE;AAC1D;"}
|
package/dist/react.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./useModes-DSFNdOy3.cjs"),o=require("react-use/lib/useAsyncFn");function g(s,t,i){const{widgetCtx:{api:u}}=e.useWidget();return o(async r=>u.vote({action:r==="up"?"upvote":"downvote",messagePublicId:s,sessionId:t}).then(i),[u,s,t,i])}exports.WidgetProvider=e.WidgetProvider;exports.WidgetTriggerProvider=e.WidgetTriggerProvider;exports.useConfig=e.useConfig;exports.useContact=e.useContact;exports.useIsAwaitingBotReply=e.useIsAwaitingBotReply;exports.useMessages=e.useMessages;exports.useModes=e.useModes;exports.usePreludeData=e.usePreludeData;exports.usePrimitiveState=e.usePrimitiveState;exports.useSessions=e.useSessions;exports.useUploadFiles=e.useUploadFiles;exports.useWidget=e.useWidget;exports.useWidgetRouter=e.useWidgetRouter;exports.useWidgetTrigger=e.useWidgetTrigger;exports.useVote=g;
|
|
2
2
|
//# sourceMappingURL=react.cjs.map
|
package/dist/react.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.cjs","sources":["../src/headless/react/hooks/useVote.ts"],"sourcesContent":["import useAsyncFn from 'react-use/lib/useAsyncFn';\nimport { useWidget } from '../WidgetProvider';\n\n/**\n * @param id\n * @param onSuccess\n * @returns\n */\nexport function useVote(id: string, sessionId: string, onSuccess?: () => void) {\n const {\n widgetCtx: { api },\n } = useWidget();\n return useAsyncFn(\n async (action: 'up' | 'down') => {\n return api\n .vote({\n action: action === 'up' ? 'upvote' : 'downvote',\n messagePublicId: id,\n sessionId,\n })\n .then(onSuccess);\n },\n [api, id, sessionId, onSuccess],\n );\n}\n\n/**\n * @param id\n * @param onSuccess\n * @deprecated use useVote instead\n */\nexport function useUpvote(\n id: string,\n sessionId: string,\n onSuccess?: () => void,\n) {\n const {\n widgetCtx: { api },\n } = useWidget();\n return useAsyncFn(\n async () =>\n api\n .vote({ action: 'upvote', messagePublicId: id, sessionId })\n .then(onSuccess),\n [api, id, sessionId, onSuccess],\n );\n}\n\n/**\n * @param id\n * @param onSuccess\n * @deprecated use useVote instead\n */\nexport function useDownvote(\n id: string,\n sessionId: string,\n onSuccess?: () => void,\n) {\n const {\n widgetCtx: { api },\n } = useWidget();\n return useAsyncFn(\n async () =>\n api\n .vote({ action: 'downvote', messagePublicId: id, sessionId })\n .then(onSuccess),\n [api, id, sessionId, onSuccess],\n );\n}\n"],"names":["useVote","id","sessionId","onSuccess","api","useWidget","useAsyncFn","action"],"mappings":"
|
|
1
|
+
{"version":3,"file":"react.cjs","sources":["../src/headless/react/hooks/useVote.ts"],"sourcesContent":["import useAsyncFn from 'react-use/lib/useAsyncFn';\nimport { useWidget } from '../WidgetProvider';\n\n/**\n * @param id\n * @param onSuccess\n * @returns\n */\nexport function useVote(id: string, sessionId: string, onSuccess?: () => void) {\n const {\n widgetCtx: { api },\n } = useWidget();\n return useAsyncFn(\n async (action: 'up' | 'down') => {\n return api\n .vote({\n action: action === 'up' ? 'upvote' : 'downvote',\n messagePublicId: id,\n sessionId,\n })\n .then(onSuccess);\n },\n [api, id, sessionId, onSuccess],\n );\n}\n\n/**\n * @param id\n * @param onSuccess\n * @deprecated use useVote instead\n */\nexport function useUpvote(\n id: string,\n sessionId: string,\n onSuccess?: () => void,\n) {\n const {\n widgetCtx: { api },\n } = useWidget();\n return useAsyncFn(\n async () =>\n api\n .vote({ action: 'upvote', messagePublicId: id, sessionId })\n .then(onSuccess),\n [api, id, sessionId, onSuccess],\n );\n}\n\n/**\n * @param id\n * @param onSuccess\n * @deprecated use useVote instead\n */\nexport function useDownvote(\n id: string,\n sessionId: string,\n onSuccess?: () => void,\n) {\n const {\n widgetCtx: { api },\n } = useWidget();\n return useAsyncFn(\n async () =>\n api\n .vote({ action: 'downvote', messagePublicId: id, sessionId })\n .then(onSuccess),\n [api, id, sessionId, onSuccess],\n );\n}\n"],"names":["useVote","id","sessionId","onSuccess","api","useWidget","useAsyncFn","action"],"mappings":"iKAQgB,SAAAA,EAAQC,EAAYC,EAAmBC,EAAwB,CACvE,KAAA,CACJ,UAAW,CAAE,IAAAC,CAAI,GACfC,EAAU,UAAA,EACP,OAAAC,EACL,MAAOC,GACEH,EACJ,KAAK,CACJ,OAAQG,IAAW,KAAO,SAAW,WACrC,gBAAiBN,EACjB,UAAAC,CAAA,CACD,EACA,KAAKC,CAAS,EAEnB,CAACC,EAAKH,EAAIC,EAAWC,CAAS,CAAA,CAElC"}
|
package/dist/react.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { u
|
|
2
|
-
import { W as
|
|
3
|
-
|
|
1
|
+
import { u as o } from "./useModes-DleBrdDK.js";
|
|
2
|
+
import { W as m, k as c, a as f, b as l, c as v, d as W, l as P, e as w, f as x, g as y, i as C, h as b, j as h } from "./useModes-DleBrdDK.js";
|
|
3
|
+
import r from "react-use/lib/useAsyncFn";
|
|
4
|
+
function n(e, s, t) {
|
|
4
5
|
const {
|
|
5
6
|
widgetCtx: { api: a }
|
|
6
|
-
} =
|
|
7
|
+
} = o();
|
|
7
8
|
return r(
|
|
8
9
|
async (i) => a.vote({
|
|
9
10
|
action: i === "up" ? "upvote" : "downvote",
|
|
@@ -14,19 +15,20 @@ function g(e, s, t) {
|
|
|
14
15
|
);
|
|
15
16
|
}
|
|
16
17
|
export {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
b as
|
|
18
|
+
m as WidgetProvider,
|
|
19
|
+
c as WidgetTriggerProvider,
|
|
20
|
+
f as useConfig,
|
|
21
|
+
l as useContact,
|
|
22
|
+
v as useIsAwaitingBotReply,
|
|
23
|
+
W as useMessages,
|
|
24
|
+
P as useModes,
|
|
25
|
+
w as usePreludeData,
|
|
26
|
+
x as usePrimitiveState,
|
|
27
|
+
y as useSessions,
|
|
28
|
+
C as useUploadFiles,
|
|
29
|
+
n as useVote,
|
|
30
|
+
o as useWidget,
|
|
31
|
+
b as useWidgetRouter,
|
|
32
|
+
h as useWidgetTrigger
|
|
31
33
|
};
|
|
32
34
|
//# sourceMappingURL=react.js.map
|
package/dist/react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.js","sources":["../src/headless/react/hooks/useVote.ts"],"sourcesContent":["import useAsyncFn from 'react-use/lib/useAsyncFn';\nimport { useWidget } from '../WidgetProvider';\n\n/**\n * @param id\n * @param onSuccess\n * @returns\n */\nexport function useVote(id: string, sessionId: string, onSuccess?: () => void) {\n const {\n widgetCtx: { api },\n } = useWidget();\n return useAsyncFn(\n async (action: 'up' | 'down') => {\n return api\n .vote({\n action: action === 'up' ? 'upvote' : 'downvote',\n messagePublicId: id,\n sessionId,\n })\n .then(onSuccess);\n },\n [api, id, sessionId, onSuccess],\n );\n}\n\n/**\n * @param id\n * @param onSuccess\n * @deprecated use useVote instead\n */\nexport function useUpvote(\n id: string,\n sessionId: string,\n onSuccess?: () => void,\n) {\n const {\n widgetCtx: { api },\n } = useWidget();\n return useAsyncFn(\n async () =>\n api\n .vote({ action: 'upvote', messagePublicId: id, sessionId })\n .then(onSuccess),\n [api, id, sessionId, onSuccess],\n );\n}\n\n/**\n * @param id\n * @param onSuccess\n * @deprecated use useVote instead\n */\nexport function useDownvote(\n id: string,\n sessionId: string,\n onSuccess?: () => void,\n) {\n const {\n widgetCtx: { api },\n } = useWidget();\n return useAsyncFn(\n async () =>\n api\n .vote({ action: 'downvote', messagePublicId: id, sessionId })\n .then(onSuccess),\n [api, id, sessionId, onSuccess],\n );\n}\n"],"names":["useVote","id","sessionId","onSuccess","api","useWidget","useAsyncFn","action"],"mappings":"
|
|
1
|
+
{"version":3,"file":"react.js","sources":["../src/headless/react/hooks/useVote.ts"],"sourcesContent":["import useAsyncFn from 'react-use/lib/useAsyncFn';\nimport { useWidget } from '../WidgetProvider';\n\n/**\n * @param id\n * @param onSuccess\n * @returns\n */\nexport function useVote(id: string, sessionId: string, onSuccess?: () => void) {\n const {\n widgetCtx: { api },\n } = useWidget();\n return useAsyncFn(\n async (action: 'up' | 'down') => {\n return api\n .vote({\n action: action === 'up' ? 'upvote' : 'downvote',\n messagePublicId: id,\n sessionId,\n })\n .then(onSuccess);\n },\n [api, id, sessionId, onSuccess],\n );\n}\n\n/**\n * @param id\n * @param onSuccess\n * @deprecated use useVote instead\n */\nexport function useUpvote(\n id: string,\n sessionId: string,\n onSuccess?: () => void,\n) {\n const {\n widgetCtx: { api },\n } = useWidget();\n return useAsyncFn(\n async () =>\n api\n .vote({ action: 'upvote', messagePublicId: id, sessionId })\n .then(onSuccess),\n [api, id, sessionId, onSuccess],\n );\n}\n\n/**\n * @param id\n * @param onSuccess\n * @deprecated use useVote instead\n */\nexport function useDownvote(\n id: string,\n sessionId: string,\n onSuccess?: () => void,\n) {\n const {\n widgetCtx: { api },\n } = useWidget();\n return useAsyncFn(\n async () =>\n api\n .vote({ action: 'downvote', messagePublicId: id, sessionId })\n .then(onSuccess),\n [api, id, sessionId, onSuccess],\n );\n}\n"],"names":["useVote","id","sessionId","onSuccess","api","useWidget","useAsyncFn","action"],"mappings":";;;AAQgB,SAAAA,EAAQC,GAAYC,GAAmBC,GAAwB;AACvE,QAAA;AAAA,IACJ,WAAW,EAAE,KAAAC,EAAI;AAAA,MACfC,EAAU;AACP,SAAAC;AAAA,IACL,OAAOC,MACEH,EACJ,KAAK;AAAA,MACJ,QAAQG,MAAW,OAAO,WAAW;AAAA,MACrC,iBAAiBN;AAAA,MACjB,WAAAC;AAAA,IAAA,CACD,EACA,KAAKC,CAAS;AAAA,IAEnB,CAACC,GAAKH,GAAIC,GAAWC,CAAS;AAAA,EAAA;AAElC;"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
import { WidgetConfig } from '../../headless/core';
|
|
3
|
-
import { WidgetComponentType } from '../../headless/react';
|
|
4
|
-
declare function WidgetWrapper({ options, components, loadingComponent, }: {
|
|
3
|
+
import { WidgetComponentType, WidgetModeComponentType } from '../../headless/react';
|
|
4
|
+
declare function WidgetWrapper({ options, components, modesComponents, loadingComponent, }: {
|
|
5
5
|
options: WidgetConfig;
|
|
6
6
|
components?: WidgetComponentType[];
|
|
7
|
+
modesComponents?: WidgetModeComponentType[];
|
|
7
8
|
loadingComponent?: React.ReactNode;
|
|
8
9
|
}): React.JSX.Element;
|
|
9
10
|
export { WidgetWrapper as Widget };
|
|
@@ -133,7 +133,7 @@ export declare const TestUtils: {
|
|
|
133
133
|
};
|
|
134
134
|
requestBody: {
|
|
135
135
|
content: {
|
|
136
|
-
"application/json": import('../api/schema').components["schemas"]["
|
|
136
|
+
"application/json": import('../api/schema').components["schemas"]["WidgetSendMessageInputDto"];
|
|
137
137
|
};
|
|
138
138
|
};
|
|
139
139
|
responses: {
|
|
@@ -142,7 +142,7 @@ export declare const TestUtils: {
|
|
|
142
142
|
[name: string]: unknown;
|
|
143
143
|
};
|
|
144
144
|
content: {
|
|
145
|
-
"application/json": import('../api/schema').components["schemas"]["
|
|
145
|
+
"application/json": import('../api/schema').components["schemas"]["WidgetSendMessageOutputDto"];
|
|
146
146
|
};
|
|
147
147
|
};
|
|
148
148
|
500: {
|
|
@@ -183,6 +183,7 @@ export declare const TestUtils: {
|
|
|
183
183
|
custom_data?: {
|
|
184
184
|
[key: string]: unknown;
|
|
185
185
|
} | null;
|
|
186
|
+
exit_mode_prompt?: string;
|
|
186
187
|
};
|
|
187
188
|
signal: AbortSignal | undefined;
|
|
188
189
|
}, `${string}/${string}`>> | undefined): void;
|
|
@@ -375,6 +376,44 @@ export declare const TestUtils: {
|
|
|
375
376
|
};
|
|
376
377
|
signal: AbortSignal | undefined;
|
|
377
378
|
}, `${string}/${string}`>> | undefined): void;
|
|
379
|
+
createStateCheckpoint(target: typeof ApiCaller, returnValue: Partial<import('openapi-fetch').FetchResponse<{
|
|
380
|
+
parameters: {
|
|
381
|
+
query?: never;
|
|
382
|
+
header?: never;
|
|
383
|
+
path?: never;
|
|
384
|
+
cookie?: never;
|
|
385
|
+
};
|
|
386
|
+
requestBody: {
|
|
387
|
+
content: {
|
|
388
|
+
"application/json": import('../api/schema').components["schemas"]["WidgetCreateStateCheckpointInputDto"];
|
|
389
|
+
};
|
|
390
|
+
};
|
|
391
|
+
responses: {
|
|
392
|
+
200: {
|
|
393
|
+
headers: {
|
|
394
|
+
[name: string]: unknown;
|
|
395
|
+
};
|
|
396
|
+
content: {
|
|
397
|
+
"application/json": import('../api/schema').components["schemas"]["WidgetCreateStateCheckpointOutputDto"];
|
|
398
|
+
};
|
|
399
|
+
};
|
|
400
|
+
500: {
|
|
401
|
+
headers: {
|
|
402
|
+
[name: string]: unknown;
|
|
403
|
+
};
|
|
404
|
+
content: {
|
|
405
|
+
"application/json": import('../api/schema').components["schemas"]["ErrorDto"];
|
|
406
|
+
};
|
|
407
|
+
};
|
|
408
|
+
};
|
|
409
|
+
}, {
|
|
410
|
+
body: {
|
|
411
|
+
session_id: string;
|
|
412
|
+
payload: {
|
|
413
|
+
[key: string]: unknown;
|
|
414
|
+
};
|
|
415
|
+
};
|
|
416
|
+
}, `${string}/${string}`>> | undefined): void;
|
|
378
417
|
};
|
|
379
418
|
};
|
|
380
419
|
};
|
|
@@ -90,7 +90,7 @@ export declare class ApiCaller {
|
|
|
90
90
|
};
|
|
91
91
|
requestBody: {
|
|
92
92
|
content: {
|
|
93
|
-
"application/json": import('./schema').components["schemas"]["
|
|
93
|
+
"application/json": import('./schema').components["schemas"]["WidgetSendMessageInputDto"];
|
|
94
94
|
};
|
|
95
95
|
};
|
|
96
96
|
responses: {
|
|
@@ -99,7 +99,7 @@ export declare class ApiCaller {
|
|
|
99
99
|
[name: string]: unknown;
|
|
100
100
|
};
|
|
101
101
|
content: {
|
|
102
|
-
"application/json": import('./schema').components["schemas"]["
|
|
102
|
+
"application/json": import('./schema').components["schemas"]["WidgetSendMessageOutputDto"];
|
|
103
103
|
};
|
|
104
104
|
};
|
|
105
105
|
500: {
|
|
@@ -140,6 +140,7 @@ export declare class ApiCaller {
|
|
|
140
140
|
custom_data?: {
|
|
141
141
|
[key: string]: unknown;
|
|
142
142
|
} | null;
|
|
143
|
+
exit_mode_prompt?: string;
|
|
143
144
|
};
|
|
144
145
|
signal: AbortSignal | undefined;
|
|
145
146
|
}, `${string}/${string}`>>;
|
|
@@ -395,4 +396,42 @@ export declare class ApiCaller {
|
|
|
395
396
|
};
|
|
396
397
|
signal: AbortSignal | undefined;
|
|
397
398
|
}, `${string}/${string}`>>;
|
|
399
|
+
createStateCheckpoint: (body: Dto["WidgetCreateStateCheckpointInputDto"]) => Promise<import('openapi-fetch').FetchResponse<{
|
|
400
|
+
parameters: {
|
|
401
|
+
query?: never;
|
|
402
|
+
header?: never;
|
|
403
|
+
path?: never;
|
|
404
|
+
cookie?: never;
|
|
405
|
+
};
|
|
406
|
+
requestBody: {
|
|
407
|
+
content: {
|
|
408
|
+
"application/json": import('./schema').components["schemas"]["WidgetCreateStateCheckpointInputDto"];
|
|
409
|
+
};
|
|
410
|
+
};
|
|
411
|
+
responses: {
|
|
412
|
+
200: {
|
|
413
|
+
headers: {
|
|
414
|
+
[name: string]: unknown;
|
|
415
|
+
};
|
|
416
|
+
content: {
|
|
417
|
+
"application/json": import('./schema').components["schemas"]["WidgetCreateStateCheckpointOutputDto"];
|
|
418
|
+
};
|
|
419
|
+
};
|
|
420
|
+
500: {
|
|
421
|
+
headers: {
|
|
422
|
+
[name: string]: unknown;
|
|
423
|
+
};
|
|
424
|
+
content: {
|
|
425
|
+
"application/json": import('./schema').components["schemas"]["ErrorDto"];
|
|
426
|
+
};
|
|
427
|
+
};
|
|
428
|
+
};
|
|
429
|
+
}, {
|
|
430
|
+
body: {
|
|
431
|
+
session_id: string;
|
|
432
|
+
payload: {
|
|
433
|
+
[key: string]: unknown;
|
|
434
|
+
};
|
|
435
|
+
};
|
|
436
|
+
}, `${string}/${string}`>>;
|
|
398
437
|
}
|
|
@@ -115,6 +115,22 @@ export interface paths {
|
|
|
115
115
|
patch?: never;
|
|
116
116
|
trace?: never;
|
|
117
117
|
};
|
|
118
|
+
'/backend/widget/v2/checkpoint': {
|
|
119
|
+
parameters: {
|
|
120
|
+
query?: never;
|
|
121
|
+
header?: never;
|
|
122
|
+
path?: never;
|
|
123
|
+
cookie?: never;
|
|
124
|
+
};
|
|
125
|
+
get?: never;
|
|
126
|
+
put?: never;
|
|
127
|
+
post: operations['createStateCheckpoint'];
|
|
128
|
+
delete?: never;
|
|
129
|
+
options?: never;
|
|
130
|
+
head?: never;
|
|
131
|
+
patch?: never;
|
|
132
|
+
trace?: never;
|
|
133
|
+
};
|
|
118
134
|
'/backend/widget/v2/upload': {
|
|
119
135
|
parameters: {
|
|
120
136
|
query?: never;
|
|
@@ -199,42 +215,6 @@ export interface components {
|
|
|
199
215
|
/** Format: binary */
|
|
200
216
|
file: string;
|
|
201
217
|
};
|
|
202
|
-
HandleContactMessageOutputDto: {
|
|
203
|
-
/** @enum {boolean} */
|
|
204
|
-
success: true;
|
|
205
|
-
code?: string | 'session_assigned_to_human_agent' | 'response_cancelled';
|
|
206
|
-
autopilotResponse?: {
|
|
207
|
-
/** @enum {string} */
|
|
208
|
-
type: 'text';
|
|
209
|
-
value: {
|
|
210
|
-
error: boolean;
|
|
211
|
-
content: string;
|
|
212
|
-
};
|
|
213
|
-
id?: string;
|
|
214
|
-
mightSolveUserIssue: boolean;
|
|
215
|
-
completelyAndFullyCoveredUserIssue: boolean;
|
|
216
|
-
};
|
|
217
|
-
uiResponse?: {
|
|
218
|
-
/** @enum {string} */
|
|
219
|
-
type: 'ui';
|
|
220
|
-
value: {
|
|
221
|
-
/** @enum {string} */
|
|
222
|
-
type: 'ui_component';
|
|
223
|
-
request_response?: unknown;
|
|
224
|
-
name: string;
|
|
225
|
-
content?: string;
|
|
226
|
-
};
|
|
227
|
-
mightSolveUserIssue: boolean;
|
|
228
|
-
};
|
|
229
|
-
sessionIsHandedOff?: boolean;
|
|
230
|
-
} | {
|
|
231
|
-
/** @enum {boolean} */
|
|
232
|
-
success: false;
|
|
233
|
-
error: {
|
|
234
|
-
code?: string;
|
|
235
|
-
message?: string;
|
|
236
|
-
};
|
|
237
|
-
};
|
|
238
218
|
/** @description Paginated response. */
|
|
239
219
|
PaginatedWidgetSessionsDto: {
|
|
240
220
|
items: {
|
|
@@ -253,45 +233,14 @@ export interface components {
|
|
|
253
233
|
channel: string;
|
|
254
234
|
isVerified: boolean;
|
|
255
235
|
lastMessage: string | null;
|
|
236
|
+
modeId: string | null;
|
|
237
|
+
latestStateCheckpointPayload: {
|
|
238
|
+
[key: string]: unknown;
|
|
239
|
+
} | null;
|
|
256
240
|
}[];
|
|
257
241
|
/** @description The `cursor` for the request to get the next set of items. Null if there is no more data. */
|
|
258
242
|
next: string | null;
|
|
259
243
|
};
|
|
260
|
-
SendWidgetMessageDto: {
|
|
261
|
-
/** Format: uuid */
|
|
262
|
-
uuid: string;
|
|
263
|
-
content: string;
|
|
264
|
-
session_id: string;
|
|
265
|
-
bot_token: string;
|
|
266
|
-
/** @description Additional headers to be included in the request of action calls */
|
|
267
|
-
headers?: {
|
|
268
|
-
[key: string]: string;
|
|
269
|
-
} | null;
|
|
270
|
-
/** @description Additional query parameters to be included in the query of action calls */
|
|
271
|
-
query_params?: {
|
|
272
|
-
[key: string]: string;
|
|
273
|
-
} | null;
|
|
274
|
-
/** @description Additional body properties to be included in the body of action calls */
|
|
275
|
-
body_properties?: {
|
|
276
|
-
[key: string]: unknown;
|
|
277
|
-
} | null;
|
|
278
|
-
language?: string | null;
|
|
279
|
-
attachments?: {
|
|
280
|
-
id: string;
|
|
281
|
-
name: string;
|
|
282
|
-
size: number;
|
|
283
|
-
type: string;
|
|
284
|
-
url: string;
|
|
285
|
-
}[] | null;
|
|
286
|
-
/** @description Context for the AI to be sent with each contact message */
|
|
287
|
-
clientContext?: {
|
|
288
|
-
[key: string]: unknown;
|
|
289
|
-
} | null;
|
|
290
|
-
/** @description Custom data to be sent with each contact message */
|
|
291
|
-
custom_data?: {
|
|
292
|
-
[key: string]: unknown;
|
|
293
|
-
} | null;
|
|
294
|
-
};
|
|
295
244
|
UploadWidgetFileResponseDto: {
|
|
296
245
|
fileName: string;
|
|
297
246
|
fileUrl: string;
|
|
@@ -299,15 +248,29 @@ export interface components {
|
|
|
299
248
|
WidgetConfigDto: {
|
|
300
249
|
sessionsPollingIntervalSeconds: number;
|
|
301
250
|
sessionPollingIntervalSeconds: number;
|
|
251
|
+
modes: {
|
|
252
|
+
id: string;
|
|
253
|
+
name: string;
|
|
254
|
+
slug?: string | null;
|
|
255
|
+
}[];
|
|
302
256
|
};
|
|
303
257
|
WidgetContactTokenResponseDto: {
|
|
304
258
|
/** @description The JWT token to use for further requests */
|
|
305
259
|
token: string;
|
|
306
260
|
};
|
|
261
|
+
WidgetCreateStateCheckpointInputDto: {
|
|
262
|
+
session_id: string;
|
|
263
|
+
payload: {
|
|
264
|
+
[key: string]: unknown;
|
|
265
|
+
};
|
|
266
|
+
};
|
|
267
|
+
WidgetCreateStateCheckpointOutputDto: {
|
|
268
|
+
success: boolean;
|
|
269
|
+
};
|
|
307
270
|
WidgetHistoryDto: {
|
|
308
271
|
publicId: string;
|
|
309
272
|
/** @enum {string} */
|
|
310
|
-
type: 'message' | '
|
|
273
|
+
type: 'message' | 'agent_message' | 'agent_joined' | 'agent_comment' | 'agent_took_session_from_ai' | 'agent_reopened_session' | 'handoff' | 'handoff_to_zendesk' | 'handoff_to_salesforce_miaw' | 'ai_decided_to_resolve_the_issue' | 'ai_assumed_the_session_resolved' | 'user_confirmed_the_session_resolved' | 'state_checkpoint' | 'email_draft_message' | 'followup' | 'system_message';
|
|
311
274
|
content: {
|
|
312
275
|
text?: string | null;
|
|
313
276
|
};
|
|
@@ -378,6 +341,107 @@ export interface components {
|
|
|
378
341
|
WidgetResolveSessionInputDto: {
|
|
379
342
|
session_id: string;
|
|
380
343
|
};
|
|
344
|
+
WidgetSendMessageInputDto: {
|
|
345
|
+
/** Format: uuid */
|
|
346
|
+
uuid: string;
|
|
347
|
+
content: string;
|
|
348
|
+
session_id: string;
|
|
349
|
+
bot_token: string;
|
|
350
|
+
/** @description Additional headers to be included in the request of action calls */
|
|
351
|
+
headers?: {
|
|
352
|
+
[key: string]: string;
|
|
353
|
+
} | null;
|
|
354
|
+
/** @description Additional query parameters to be included in the query of action calls */
|
|
355
|
+
query_params?: {
|
|
356
|
+
[key: string]: string;
|
|
357
|
+
} | null;
|
|
358
|
+
/** @description Additional body properties to be included in the body of action calls */
|
|
359
|
+
body_properties?: {
|
|
360
|
+
[key: string]: unknown;
|
|
361
|
+
} | null;
|
|
362
|
+
language?: string | null;
|
|
363
|
+
attachments?: {
|
|
364
|
+
id: string;
|
|
365
|
+
name: string;
|
|
366
|
+
size: number;
|
|
367
|
+
type: string;
|
|
368
|
+
url: string;
|
|
369
|
+
}[] | null;
|
|
370
|
+
/** @description Context for the AI to be sent with each contact message */
|
|
371
|
+
clientContext?: {
|
|
372
|
+
[key: string]: unknown;
|
|
373
|
+
} | null;
|
|
374
|
+
/** @description Custom data to be sent with each contact message */
|
|
375
|
+
custom_data?: {
|
|
376
|
+
[key: string]: unknown;
|
|
377
|
+
} | null;
|
|
378
|
+
/** @description If there is an active mode, it will be exited and the prompt will be given to the AI for a customized response */
|
|
379
|
+
exit_mode_prompt?: string;
|
|
380
|
+
};
|
|
381
|
+
WidgetSendMessageOutputDto: {
|
|
382
|
+
/** @enum {boolean} */
|
|
383
|
+
success: true;
|
|
384
|
+
code?: string | 'session_assigned_to_human_agent' | 'response_cancelled';
|
|
385
|
+
autopilotResponse?: {
|
|
386
|
+
/** @enum {string} */
|
|
387
|
+
type: 'text';
|
|
388
|
+
value: {
|
|
389
|
+
error: boolean;
|
|
390
|
+
content: string;
|
|
391
|
+
};
|
|
392
|
+
id?: string;
|
|
393
|
+
mightSolveUserIssue: boolean;
|
|
394
|
+
completelyAndFullyCoveredUserIssue: boolean;
|
|
395
|
+
mode?: {
|
|
396
|
+
id: string;
|
|
397
|
+
name: string;
|
|
398
|
+
slug?: string;
|
|
399
|
+
};
|
|
400
|
+
didExitMode?: boolean;
|
|
401
|
+
};
|
|
402
|
+
uiResponse?: {
|
|
403
|
+
/** @enum {string} */
|
|
404
|
+
type: 'ui';
|
|
405
|
+
value: {
|
|
406
|
+
/** @enum {string} */
|
|
407
|
+
type: 'ui_component';
|
|
408
|
+
request_response?: unknown;
|
|
409
|
+
name: string;
|
|
410
|
+
content?: string;
|
|
411
|
+
};
|
|
412
|
+
mightSolveUserIssue: boolean;
|
|
413
|
+
};
|
|
414
|
+
sessionIsHandedOff?: boolean;
|
|
415
|
+
/** @description WidgetSession */
|
|
416
|
+
session?: {
|
|
417
|
+
/** Format: uuid */
|
|
418
|
+
id: string;
|
|
419
|
+
createdAt: string;
|
|
420
|
+
updatedAt: string;
|
|
421
|
+
isHandedOff: boolean;
|
|
422
|
+
isOpened: boolean;
|
|
423
|
+
assignee: {
|
|
424
|
+
/** @enum {string} */
|
|
425
|
+
kind: 'human' | 'ai' | 'none' | 'unknown';
|
|
426
|
+
name: string | null;
|
|
427
|
+
avatarUrl: string | null;
|
|
428
|
+
};
|
|
429
|
+
channel: string;
|
|
430
|
+
isVerified: boolean;
|
|
431
|
+
lastMessage: string | null;
|
|
432
|
+
modeId: string | null;
|
|
433
|
+
latestStateCheckpointPayload: {
|
|
434
|
+
[key: string]: unknown;
|
|
435
|
+
} | null;
|
|
436
|
+
};
|
|
437
|
+
} | {
|
|
438
|
+
/** @enum {boolean} */
|
|
439
|
+
success: false;
|
|
440
|
+
error: {
|
|
441
|
+
code?: string;
|
|
442
|
+
message?: string;
|
|
443
|
+
};
|
|
444
|
+
};
|
|
381
445
|
WidgetSessionAndHistoryDto: {
|
|
382
446
|
/** @description WidgetSession */
|
|
383
447
|
session: {
|
|
@@ -396,11 +460,15 @@ export interface components {
|
|
|
396
460
|
channel: string;
|
|
397
461
|
isVerified: boolean;
|
|
398
462
|
lastMessage: string | null;
|
|
463
|
+
modeId: string | null;
|
|
464
|
+
latestStateCheckpointPayload: {
|
|
465
|
+
[key: string]: unknown;
|
|
466
|
+
} | null;
|
|
399
467
|
};
|
|
400
468
|
history: {
|
|
401
469
|
publicId: string;
|
|
402
470
|
/** @enum {string} */
|
|
403
|
-
type: 'message' | '
|
|
471
|
+
type: 'message' | 'agent_message' | 'agent_joined' | 'agent_comment' | 'agent_took_session_from_ai' | 'agent_reopened_session' | 'handoff' | 'handoff_to_zendesk' | 'handoff_to_salesforce_miaw' | 'ai_decided_to_resolve_the_issue' | 'ai_assumed_the_session_resolved' | 'user_confirmed_the_session_resolved' | 'state_checkpoint' | 'email_draft_message' | 'followup' | 'system_message';
|
|
404
472
|
content: {
|
|
405
473
|
text?: string | null;
|
|
406
474
|
};
|
|
@@ -442,6 +510,10 @@ export interface components {
|
|
|
442
510
|
channel: string;
|
|
443
511
|
isVerified: boolean;
|
|
444
512
|
lastMessage: string | null;
|
|
513
|
+
modeId: string | null;
|
|
514
|
+
latestStateCheckpointPayload: {
|
|
515
|
+
[key: string]: unknown;
|
|
516
|
+
} | null;
|
|
445
517
|
};
|
|
446
518
|
WidgetVoteDto: {
|
|
447
519
|
/** @enum {string} */
|
|
@@ -667,7 +739,39 @@ export interface operations {
|
|
|
667
739
|
};
|
|
668
740
|
requestBody: {
|
|
669
741
|
content: {
|
|
670
|
-
'application/json': components['schemas']['
|
|
742
|
+
'application/json': components['schemas']['WidgetSendMessageInputDto'];
|
|
743
|
+
};
|
|
744
|
+
};
|
|
745
|
+
responses: {
|
|
746
|
+
200: {
|
|
747
|
+
headers: {
|
|
748
|
+
[name: string]: unknown;
|
|
749
|
+
};
|
|
750
|
+
content: {
|
|
751
|
+
'application/json': components['schemas']['WidgetSendMessageOutputDto'];
|
|
752
|
+
};
|
|
753
|
+
};
|
|
754
|
+
/** @description Internal Server Error */
|
|
755
|
+
500: {
|
|
756
|
+
headers: {
|
|
757
|
+
[name: string]: unknown;
|
|
758
|
+
};
|
|
759
|
+
content: {
|
|
760
|
+
'application/json': components['schemas']['ErrorDto'];
|
|
761
|
+
};
|
|
762
|
+
};
|
|
763
|
+
};
|
|
764
|
+
};
|
|
765
|
+
createStateCheckpoint: {
|
|
766
|
+
parameters: {
|
|
767
|
+
query?: never;
|
|
768
|
+
header?: never;
|
|
769
|
+
path?: never;
|
|
770
|
+
cookie?: never;
|
|
771
|
+
};
|
|
772
|
+
requestBody: {
|
|
773
|
+
content: {
|
|
774
|
+
'application/json': components['schemas']['WidgetCreateStateCheckpointInputDto'];
|
|
671
775
|
};
|
|
672
776
|
};
|
|
673
777
|
responses: {
|
|
@@ -676,7 +780,7 @@ export interface operations {
|
|
|
676
780
|
[name: string]: unknown;
|
|
677
781
|
};
|
|
678
782
|
content: {
|
|
679
|
-
'application/json': components['schemas']['
|
|
783
|
+
'application/json': components['schemas']['WidgetCreateStateCheckpointOutputDto'];
|
|
680
784
|
};
|
|
681
785
|
};
|
|
682
786
|
/** @description Internal Server Error */
|
|
@@ -29,6 +29,7 @@ export declare class MessageCtx {
|
|
|
29
29
|
content: SendMessageDto["content"];
|
|
30
30
|
attachments?: SendMessageDto["attachments"];
|
|
31
31
|
customData?: SendMessageDto["custom_data"];
|
|
32
|
+
exitModePrompt?: string;
|
|
32
33
|
}) => Promise<void>;
|
|
33
34
|
private toUserMessage;
|
|
34
35
|
private toBotMessage;
|