@opencx/widget 2.1.0 → 2.3.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 -105
- package/dist/basic.cjs +4 -4
- package/dist/basic.cjs.map +1 -1
- package/dist/basic.js +790 -785
- package/dist/basic.js.map +1 -1
- package/dist/core/client/api.d.ts +21 -7
- package/dist/core/client/chat.d.ts +62 -0
- package/dist/core/client/chat.test.d.ts +1 -0
- package/dist/core/client/client.d.ts +6 -36
- package/dist/core/client/config.d.ts +35 -0
- package/dist/core/client/config.test.d.ts +1 -0
- package/dist/core/client/contact.d.ts +32 -0
- package/dist/core/client/contact.test.d.ts +1 -0
- package/dist/core/client/index.d.ts +3 -1
- package/dist/core/index.d.ts +6 -1
- package/dist/core/platform/index.d.ts +1 -10
- package/dist/core/types/index.d.ts +24 -2
- package/dist/core/types/pub-sub.d.ts +19 -82
- package/dist/core/types/schemas-v2.d.ts +687 -0
- package/dist/core/utils/create-fetch.d.ts +24 -0
- package/dist/index-B7LNpE9i.cjs +18 -0
- package/dist/index-B7LNpE9i.cjs.map +1 -0
- package/dist/{index-zWyDrord.js → index-BQfnx4Er.js} +1182 -1310
- package/dist/index-BQfnx4Er.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +376 -370
- package/dist/index.js.map +1 -1
- package/dist/react-bindings/context/ChatContext.d.ts +130 -0
- package/dist/react-bindings/hooks/useContact.d.ts +9 -0
- package/dist/react-bindings/hooks/usePubsub.d.ts +3 -0
- package/dist/react-bindings/hooks/useSendMessage.d.ts +6 -0
- package/dist/react-bindings/index.d.ts +3 -0
- package/dist/react-lib/hooks/useAbstractChat.d.ts +42 -45
- package/dist/react-lib/hooks/useAxiosInstance.d.ts +37 -0
- package/dist/react-lib/hooks/useUploadFiles.d.ts +1 -1
- package/dist/react-lib/providers/ChatProvider.d.ts +54 -46
- package/dist/react-lib/types/index.d.ts +1 -0
- package/dist/react.cjs +1 -1
- package/dist/react.cjs.map +1 -1
- package/dist/react.js +2 -2
- package/dist/react.js.map +1 -1
- package/dist/schemas-BBAV6Sd_.js +122 -0
- package/dist/schemas-BBAV6Sd_.js.map +1 -0
- package/dist/schemas-wky4fpbc.cjs +2 -0
- package/dist/schemas-wky4fpbc.cjs.map +1 -0
- package/dist/src/components/dialog.d.ts +2 -2
- package/dist/src/designs/basic/index.d.ts +5 -2
- package/dist/style.css +1 -1
- package/dist-embed/script.js +106 -106
- package/dist-embed/script.js.map +1 -1
- package/package.json +1 -3
- package/dist/core/managers/chathistory-manager.d.ts +0 -61
- package/dist/core/managers/session-manager.d.ts +0 -35
- package/dist/core/transport/http.transport.d.ts +0 -17
- package/dist/core/transport/transport.d.ts +0 -25
- package/dist/core/types/transport.d.ts +0 -31
- package/dist/history-to-widget-messages-CP0hKjhv.js +0 -195
- package/dist/history-to-widget-messages-CP0hKjhv.js.map +0 -1
- package/dist/history-to-widget-messages-CdbZolRN.cjs +0 -2
- package/dist/history-to-widget-messages-CdbZolRN.cjs.map +0 -1
- package/dist/index-BGDwCf6r.cjs +0 -18
- package/dist/index-BGDwCf6r.cjs.map +0 -1
- package/dist/index-zWyDrord.js.map +0 -1
- package/dist/react-lib/hooks/handle-socket-messages.d.ts +0 -27
- package/dist/react-lib/hooks/socket.d.ts +0 -11
- package/dist/react-lib/hooks/socketState.d.ts +0 -2
- package/dist/react-lib/hooks/useBaseClient.d.ts +0 -2
- package/dist/react-lib/providers/ClientProvider.d.ts +0 -7
|
@@ -3,7 +3,7 @@ declare const useChat: () => {
|
|
|
3
3
|
version: string;
|
|
4
4
|
state: {
|
|
5
5
|
lastUpdated: number | null;
|
|
6
|
-
messages: import('../../core
|
|
6
|
+
messages: import('../../core').MessageType[];
|
|
7
7
|
keyboard: {
|
|
8
8
|
options: string[];
|
|
9
9
|
} | null;
|
|
@@ -14,30 +14,40 @@ declare const useChat: () => {
|
|
|
14
14
|
isAssignedToHuman: boolean;
|
|
15
15
|
isPendingHuman: boolean;
|
|
16
16
|
id: string;
|
|
17
|
-
ai_closure_type: import('../../core
|
|
17
|
+
ai_closure_type: import('../../core').AIClosureType | null;
|
|
18
18
|
assignee_id: number | null;
|
|
19
|
-
channel: import('../../core
|
|
20
|
-
status: import('../../core
|
|
19
|
+
channel: import('../../core').SessionChannel;
|
|
20
|
+
status: import('../../core').SessionStatus;
|
|
21
21
|
summary: string | null;
|
|
22
22
|
language: string | null;
|
|
23
23
|
last_message: string | null;
|
|
24
24
|
last_message_at: Date | null;
|
|
25
|
-
sentiment: import('../../core
|
|
25
|
+
sentiment: import('../../core').SentimentEnum | null;
|
|
26
26
|
assignee?: {
|
|
27
27
|
email: string;
|
|
28
28
|
name: string;
|
|
29
29
|
avatar_url?: string | undefined;
|
|
30
30
|
} | null | undefined;
|
|
31
31
|
} | null;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
noMessages: boolean;
|
|
33
|
+
initState: {
|
|
34
|
+
loading: boolean;
|
|
35
|
+
error?: undefined;
|
|
36
|
+
value?: undefined;
|
|
37
|
+
} | {
|
|
38
|
+
loading: false;
|
|
39
|
+
error: Error;
|
|
40
|
+
value?: undefined;
|
|
41
|
+
} | {
|
|
42
|
+
loading: true;
|
|
43
|
+
error?: Error | undefined;
|
|
44
|
+
value?: void | undefined;
|
|
35
45
|
} | {
|
|
36
|
-
|
|
37
|
-
|
|
46
|
+
loading: false;
|
|
47
|
+
error?: undefined;
|
|
48
|
+
value: void;
|
|
38
49
|
};
|
|
39
|
-
|
|
40
|
-
fetchHistoryState: {
|
|
50
|
+
clearSessionState: {
|
|
41
51
|
loading: boolean;
|
|
42
52
|
error?: undefined;
|
|
43
53
|
value?: undefined;
|
|
@@ -48,13 +58,13 @@ declare const useChat: () => {
|
|
|
48
58
|
} | {
|
|
49
59
|
loading: true;
|
|
50
60
|
error?: Error | undefined;
|
|
51
|
-
value?:
|
|
61
|
+
value?: void | undefined;
|
|
52
62
|
} | {
|
|
53
63
|
loading: false;
|
|
54
64
|
error?: undefined;
|
|
55
|
-
value:
|
|
65
|
+
value: void;
|
|
56
66
|
};
|
|
57
|
-
|
|
67
|
+
recreateSessionState: {
|
|
58
68
|
loading: boolean;
|
|
59
69
|
error?: undefined;
|
|
60
70
|
value?: undefined;
|
|
@@ -67,15 +77,15 @@ declare const useChat: () => {
|
|
|
67
77
|
error?: Error | undefined;
|
|
68
78
|
value?: {
|
|
69
79
|
id: string;
|
|
70
|
-
ai_closure_type: import('../../core
|
|
80
|
+
ai_closure_type: import('../../core').AIClosureType | null;
|
|
71
81
|
assignee_id: number | null;
|
|
72
|
-
channel: import('../../core
|
|
73
|
-
status: import('../../core
|
|
82
|
+
channel: import('../../core').SessionChannel;
|
|
83
|
+
status: import('../../core').SessionStatus;
|
|
74
84
|
summary: string | null;
|
|
75
85
|
language: string | null;
|
|
76
86
|
last_message: string | null;
|
|
77
87
|
last_message_at: Date | null;
|
|
78
|
-
sentiment: import('../../core
|
|
88
|
+
sentiment: import('../../core').SentimentEnum | null;
|
|
79
89
|
assignee?: {
|
|
80
90
|
email: string;
|
|
81
91
|
name: string;
|
|
@@ -87,15 +97,15 @@ declare const useChat: () => {
|
|
|
87
97
|
error?: undefined;
|
|
88
98
|
value: {
|
|
89
99
|
id: string;
|
|
90
|
-
ai_closure_type: import('../../core
|
|
100
|
+
ai_closure_type: import('../../core').AIClosureType | null;
|
|
91
101
|
assignee_id: number | null;
|
|
92
|
-
channel: import('../../core
|
|
93
|
-
status: import('../../core
|
|
102
|
+
channel: import('../../core').SessionChannel;
|
|
103
|
+
status: import('../../core').SessionStatus;
|
|
94
104
|
summary: string | null;
|
|
95
105
|
language: string | null;
|
|
96
106
|
last_message: string | null;
|
|
97
107
|
last_message_at: Date | null;
|
|
98
|
-
sentiment: import('../../core
|
|
108
|
+
sentiment: import('../../core').SentimentEnum | null;
|
|
99
109
|
assignee?: {
|
|
100
110
|
email: string;
|
|
101
111
|
name: string;
|
|
@@ -103,31 +113,29 @@ declare const useChat: () => {
|
|
|
103
113
|
} | null | undefined;
|
|
104
114
|
};
|
|
105
115
|
};
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
sendMessage: ({ content, user, ...data }: import('../hooks/useAbstractChat').SendMessageInput) => Promise<{
|
|
109
|
-
attachments: Array<import('../../core/types').ChatAttachmentType>;
|
|
116
|
+
hookState: import('../hooks/useAbstractChat').HookState;
|
|
117
|
+
recreateSession: () => Promise<{
|
|
110
118
|
id: string;
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}
|
|
128
|
-
|
|
119
|
+
ai_closure_type: import('../../core').AIClosureType | null;
|
|
120
|
+
assignee_id: number | null;
|
|
121
|
+
channel: import('../../core').SessionChannel;
|
|
122
|
+
status: import('../../core').SessionStatus;
|
|
123
|
+
summary: string | null;
|
|
124
|
+
language: string | null;
|
|
125
|
+
last_message: string | null;
|
|
126
|
+
last_message_at: Date | null;
|
|
127
|
+
sentiment: import('../../core').SentimentEnum | null;
|
|
128
|
+
assignee?: {
|
|
129
|
+
email: string;
|
|
130
|
+
name: string;
|
|
131
|
+
avatar_url?: string | undefined;
|
|
132
|
+
} | null | undefined;
|
|
133
|
+
}>;
|
|
134
|
+
clearSession: () => Promise<void>;
|
|
135
|
+
sendMessage: ({ content, user, attachments, ...data }: import('../hooks/useAbstractChat').SendMessageInput) => Promise<{
|
|
136
|
+
id: string;
|
|
137
|
+
}>;
|
|
129
138
|
handleKeyboard: (option: string) => void;
|
|
130
|
-
hookState: import('../hooks/useAbstractChat').HookState;
|
|
131
139
|
};
|
|
132
140
|
declare function ChatProvider({ children, }: {
|
|
133
141
|
children: React.ReactNode;
|
package/dist/react.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-B7LNpE9i.cjs"),a=["monday","tuesday","wednesday","thursday","friday","saturday","sunday","WeekDays","Everyday"];function u(t,o){const{http:s}=e.useConfigData();return e._default(async()=>s.apis.upvote(t).then(o),[s.options,t,o])}function n(t,o){const{http:s}=e.useConfigData();return e._default(async()=>s.apis.downvote(t).then(o),[s.options,t])}exports.WidgetRoot=e.WidgetRoot;exports.useChat=e.useChat;exports.useConfigData=e.useConfigData;exports.useContact=e.useContact;exports.useLocale=e.useLocale;exports.usePreludeData=e.usePreludeData;exports.useUploadFiles=e.useUploadFiles;exports.useWidgetSoundEffects=e.useWidgetSoundEffects;exports.useDownvote=n;exports.useUpvote=u;exports.workingDays=a;
|
|
2
2
|
//# sourceMappingURL=react.cjs.map
|
package/dist/react.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.cjs","sources":["../react-lib/utils/getters.ts","../react-lib/hooks/useVote.ts"],"sourcesContent":["import { ChatHistoryMessageType } from \"@core/types\";\n\ninterface DayOfficeHours {\n from: string;\n to: string;\n}\n\nexport const workingDays = [\n \"monday\",\n \"tuesday\",\n \"wednesday\",\n \"thursday\",\n \"friday\",\n \"saturday\",\n \"sunday\",\n \"WeekDays\",\n \"Everyday\",\n] as const;\n\nexport type PreludeData = {\n initial_questions: string[];\n ai_enabled: boolean;\n office_hours: WorkingHours;\n office_hours_timezone: string;\n organization_name: string;\n};\n\ntype Day = (typeof workingDays)[number];\n\nexport type WorkingHours = {\n [K in Day]: DayOfficeHours;\n};\n\nexport type InitialData = {\n logo: string;\n faq: [];\n initial_questions: string[];\n history: ChatHistoryMessageType[];\n};\n","import { useConfigData } from \"@react/providers/ConfigDataProvider\";\nimport useAsyncFn from \"react-use/lib/useAsyncFn\";\n\nexport function useUpvote(id: string, onSuccess?: () => void) {\n const { http } = useConfigData();\n return useAsyncFn(\n async () => http.apis.upvote(id).then(onSuccess),\n [http.options, id, onSuccess],\n );\n}\n\nexport function useDownvote(id: string, onSuccess?: () => void) {\n const { http } = useConfigData();\n return useAsyncFn(\n async () => http.apis.downvote(id).then(onSuccess),\n [http.options, id],\n );\n}\n"],"names":["workingDays","useUpvote","id","onSuccess","http","useConfigData","useAsyncFn","useDownvote"],"mappings":"wHAOaA,EAAc,CACzB,SACA,UACA,YACA,WACA,SACA,WACA,SACA,WACA,UACF,ECdgB,SAAAC,EAAUC,EAAYC,EAAwB,CACtD,KAAA,CAAE,KAAAC,GAASC,EAAAA,gBACV,OAAAC,EAAA,SACL,SAAYF,EAAK,KAAK,OAAOF,CAAE,EAAE,KAAKC,CAAS,EAC/C,CAACC,EAAK,QAASF,EAAIC,CAAS,CAAA,CAEhC,CAEgB,SAAAI,EAAYL,EAAYC,EAAwB,CACxD,KAAA,CAAE,KAAAC,GAASC,EAAAA,gBACV,OAAAC,EAAA,SACL,SAAYF,EAAK,KAAK,SAASF,CAAE,EAAE,KAAKC,CAAS,EACjD,CAACC,EAAK,QAASF,CAAE,CAAA,CAErB"}
|
|
1
|
+
{"version":3,"file":"react.cjs","sources":["../react-lib/utils/getters.ts","../react-lib/hooks/useVote.ts"],"sourcesContent":["import { ChatHistoryMessageType } from \"@core/types\";\r\n\r\ninterface DayOfficeHours {\r\n from: string;\r\n to: string;\r\n}\r\n\r\nexport const workingDays = [\r\n \"monday\",\r\n \"tuesday\",\r\n \"wednesday\",\r\n \"thursday\",\r\n \"friday\",\r\n \"saturday\",\r\n \"sunday\",\r\n \"WeekDays\",\r\n \"Everyday\",\r\n] as const;\r\n\r\nexport type PreludeData = {\r\n initial_questions: string[];\r\n ai_enabled: boolean;\r\n office_hours: WorkingHours;\r\n office_hours_timezone: string;\r\n organization_name: string;\r\n};\r\n\r\ntype Day = (typeof workingDays)[number];\r\n\r\nexport type WorkingHours = {\r\n [K in Day]: DayOfficeHours;\r\n};\r\n\r\nexport type InitialData = {\r\n logo: string;\r\n faq: [];\r\n initial_questions: string[];\r\n history: ChatHistoryMessageType[];\r\n};\r\n","import { useConfigData } from \"@react/providers/ConfigDataProvider\";\r\nimport useAsyncFn from \"react-use/lib/useAsyncFn\";\r\n\r\nexport function useUpvote(id: string, onSuccess?: () => void) {\r\n const { http } = useConfigData();\r\n return useAsyncFn(\r\n async () => http.apis.upvote(id).then(onSuccess),\r\n [http.options, id, onSuccess],\r\n );\r\n}\r\n\r\nexport function useDownvote(id: string, onSuccess?: () => void) {\r\n const { http } = useConfigData();\r\n return useAsyncFn(\r\n async () => http.apis.downvote(id).then(onSuccess),\r\n [http.options, id],\r\n );\r\n}\r\n"],"names":["workingDays","useUpvote","id","onSuccess","http","useConfigData","useAsyncFn","useDownvote"],"mappings":"wHAOaA,EAAc,CACzB,SACA,UACA,YACA,WACA,SACA,WACA,SACA,WACA,UACF,ECdgB,SAAAC,EAAUC,EAAYC,EAAwB,CACtD,KAAA,CAAE,KAAAC,GAASC,EAAAA,gBACV,OAAAC,EAAA,SACL,SAAYF,EAAK,KAAK,OAAOF,CAAE,EAAE,KAAKC,CAAS,EAC/C,CAACC,EAAK,QAASF,EAAIC,CAAS,CAAA,CAEhC,CAEgB,SAAAI,EAAYL,EAAYC,EAAwB,CACxD,KAAA,CAAE,KAAAC,GAASC,EAAAA,gBACV,OAAAC,EAAA,SACL,SAAYF,EAAK,KAAK,SAASF,CAAE,EAAE,KAAKC,CAAS,EACjD,CAACC,EAAK,QAASF,CAAE,CAAA,CAErB"}
|
package/dist/react.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { u as e, _ as o } from "./index-
|
|
2
|
-
import { W as i, e as f, a as c, d as h, b as l, h as v, l as D } from "./index-
|
|
1
|
+
import { u as e, _ as o } from "./index-BQfnx4Er.js";
|
|
2
|
+
import { W as i, e as f, a as c, d as h, b as l, h as v, l as D } from "./index-BQfnx4Er.js";
|
|
3
3
|
const u = [
|
|
4
4
|
"monday",
|
|
5
5
|
"tuesday",
|
package/dist/react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.js","sources":["../react-lib/utils/getters.ts","../react-lib/hooks/useVote.ts"],"sourcesContent":["import { ChatHistoryMessageType } from \"@core/types\";\n\ninterface DayOfficeHours {\n from: string;\n to: string;\n}\n\nexport const workingDays = [\n \"monday\",\n \"tuesday\",\n \"wednesday\",\n \"thursday\",\n \"friday\",\n \"saturday\",\n \"sunday\",\n \"WeekDays\",\n \"Everyday\",\n] as const;\n\nexport type PreludeData = {\n initial_questions: string[];\n ai_enabled: boolean;\n office_hours: WorkingHours;\n office_hours_timezone: string;\n organization_name: string;\n};\n\ntype Day = (typeof workingDays)[number];\n\nexport type WorkingHours = {\n [K in Day]: DayOfficeHours;\n};\n\nexport type InitialData = {\n logo: string;\n faq: [];\n initial_questions: string[];\n history: ChatHistoryMessageType[];\n};\n","import { useConfigData } from \"@react/providers/ConfigDataProvider\";\nimport useAsyncFn from \"react-use/lib/useAsyncFn\";\n\nexport function useUpvote(id: string, onSuccess?: () => void) {\n const { http } = useConfigData();\n return useAsyncFn(\n async () => http.apis.upvote(id).then(onSuccess),\n [http.options, id, onSuccess],\n );\n}\n\nexport function useDownvote(id: string, onSuccess?: () => void) {\n const { http } = useConfigData();\n return useAsyncFn(\n async () => http.apis.downvote(id).then(onSuccess),\n [http.options, id],\n );\n}\n"],"names":["workingDays","useUpvote","id","onSuccess","http","useConfigData","useAsyncFn","useDownvote"],"mappings":";;AAOO,MAAMA,IAAc;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;ACdgB,SAAAC,EAAUC,GAAYC,GAAwB;AACtD,QAAA,EAAE,MAAAC,MAASC;AACV,SAAAC;AAAAA,IACL,YAAYF,EAAK,KAAK,OAAOF,CAAE,EAAE,KAAKC,CAAS;AAAA,IAC/C,CAACC,EAAK,SAASF,GAAIC,CAAS;AAAA,EAAA;AAEhC;AAEgB,SAAAI,EAAYL,GAAYC,GAAwB;AACxD,QAAA,EAAE,MAAAC,MAASC;AACV,SAAAC;AAAAA,IACL,YAAYF,EAAK,KAAK,SAASF,CAAE,EAAE,KAAKC,CAAS;AAAA,IACjD,CAACC,EAAK,SAASF,CAAE;AAAA,EAAA;AAErB;"}
|
|
1
|
+
{"version":3,"file":"react.js","sources":["../react-lib/utils/getters.ts","../react-lib/hooks/useVote.ts"],"sourcesContent":["import { ChatHistoryMessageType } from \"@core/types\";\r\n\r\ninterface DayOfficeHours {\r\n from: string;\r\n to: string;\r\n}\r\n\r\nexport const workingDays = [\r\n \"monday\",\r\n \"tuesday\",\r\n \"wednesday\",\r\n \"thursday\",\r\n \"friday\",\r\n \"saturday\",\r\n \"sunday\",\r\n \"WeekDays\",\r\n \"Everyday\",\r\n] as const;\r\n\r\nexport type PreludeData = {\r\n initial_questions: string[];\r\n ai_enabled: boolean;\r\n office_hours: WorkingHours;\r\n office_hours_timezone: string;\r\n organization_name: string;\r\n};\r\n\r\ntype Day = (typeof workingDays)[number];\r\n\r\nexport type WorkingHours = {\r\n [K in Day]: DayOfficeHours;\r\n};\r\n\r\nexport type InitialData = {\r\n logo: string;\r\n faq: [];\r\n initial_questions: string[];\r\n history: ChatHistoryMessageType[];\r\n};\r\n","import { useConfigData } from \"@react/providers/ConfigDataProvider\";\r\nimport useAsyncFn from \"react-use/lib/useAsyncFn\";\r\n\r\nexport function useUpvote(id: string, onSuccess?: () => void) {\r\n const { http } = useConfigData();\r\n return useAsyncFn(\r\n async () => http.apis.upvote(id).then(onSuccess),\r\n [http.options, id, onSuccess],\r\n );\r\n}\r\n\r\nexport function useDownvote(id: string, onSuccess?: () => void) {\r\n const { http } = useConfigData();\r\n return useAsyncFn(\r\n async () => http.apis.downvote(id).then(onSuccess),\r\n [http.options, id],\r\n );\r\n}\r\n"],"names":["workingDays","useUpvote","id","onSuccess","http","useConfigData","useAsyncFn","useDownvote"],"mappings":";;AAOO,MAAMA,IAAc;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;ACdgB,SAAAC,EAAUC,GAAYC,GAAwB;AACtD,QAAA,EAAE,MAAAC,MAASC;AACV,SAAAC;AAAAA,IACL,YAAYF,EAAK,KAAK,OAAOF,CAAE,EAAE,KAAKC,CAAS;AAAA,IAC/C,CAACC,EAAK,SAASF,GAAIC,CAAS;AAAA,EAAA;AAEhC;AAEgB,SAAAI,EAAYL,GAAYC,GAAwB;AACxD,QAAA,EAAE,MAAAC,MAASC;AACV,SAAAC;AAAAA,IACL,YAAYF,EAAK,KAAK,SAASF,CAAE,EAAE,KAAKC,CAAS;AAAA,IACjD,CAACC,EAAK,SAASF,CAAE;AAAA,EAAA;AAErB;"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import e from "zod";
|
|
2
|
+
const O = (t = 20) => {
|
|
3
|
+
const a = "abcdefghijklmnopqrstuvwxyz0123456789";
|
|
4
|
+
let n = "";
|
|
5
|
+
for (let s = 0; s < t; s++)
|
|
6
|
+
n += a[Math.floor(Math.random() * a.length)];
|
|
7
|
+
return n;
|
|
8
|
+
};
|
|
9
|
+
var r = /* @__PURE__ */ ((t) => (t[t.OPEN = 0] = "OPEN", t[t.CLOSED_RESOLVED = 1] = "CLOSED_RESOLVED", t[t.CLOSED_UNRESOLVED = 2] = "CLOSED_UNRESOLVED", t))(r || {}), i = /* @__PURE__ */ ((t) => (t.WEB = "web", t.WEB_VOICE = "web_voice", t.PHONE_VOICE = "phone_voice", t.EMAIL = "email", t.SMS = "sms", t.WHATSAPP = "whatsapp", t.API = "api", t))(i || {}), l = /* @__PURE__ */ ((t) => (t.resolved = "resolved", t.assumed_resolved = "assumed_resolved", t.handed_off = "handed_off", t))(l || {}), o = /* @__PURE__ */ ((t) => (t.happy = "happy", t.neutral = "neutral", t.angry = "angry", t))(o || {}), _ = /* @__PURE__ */ ((t) => (t.MESSAGE = "message", t.HANDOFF = "handoff", t.HANDOFF_TO_ZENDESK = "handoff_to_zendesk", t.AGENT_MESSAGE = "agent_message", t.AGENT_JOINED = "agent_joined", t.AGENT_TOOK_SESSION_FROM_AI = "agent_took_session_from_ai", t.AI_DECIDED_TO_RESOLVE_THE_ISSUE = "ai_decided_to_resolve_the_issue", t.EMAIL_DRAFT_MESSAGE = "email_draft_message", t.FOLLOWUP = "followup", t))(_ || {});
|
|
10
|
+
const g = e.object({
|
|
11
|
+
id: e.string(),
|
|
12
|
+
ai_closure_type: e.nativeEnum(l).nullable(),
|
|
13
|
+
assignee_id: e.number().nullable(),
|
|
14
|
+
channel: e.nativeEnum(i),
|
|
15
|
+
summary: e.string().nullable(),
|
|
16
|
+
status: e.nativeEnum(r),
|
|
17
|
+
language: e.string().nullable(),
|
|
18
|
+
last_message: e.string().nullable(),
|
|
19
|
+
last_message_at: e.date().nullable(),
|
|
20
|
+
assignee: e.object({
|
|
21
|
+
name: e.string(),
|
|
22
|
+
email: e.string(),
|
|
23
|
+
avatar_url: e.string().optional()
|
|
24
|
+
}).nullable().optional(),
|
|
25
|
+
sentiment: e.nativeEnum(o).nullable()
|
|
26
|
+
}), c = e.object({
|
|
27
|
+
id: e.string(),
|
|
28
|
+
name: e.string(),
|
|
29
|
+
size: e.number(),
|
|
30
|
+
type: e.string(),
|
|
31
|
+
url: e.string()
|
|
32
|
+
}), f = e.object({
|
|
33
|
+
publicId: e.string().uuid(),
|
|
34
|
+
message: e.string().nullable(),
|
|
35
|
+
type: e.string().nullable(),
|
|
36
|
+
agent_avatar: e.string().nullable(),
|
|
37
|
+
agent_id: e.number().nullable(),
|
|
38
|
+
agent_name: e.string().nullable(),
|
|
39
|
+
created_at: e.string(),
|
|
40
|
+
from_user: e.boolean().nullable(),
|
|
41
|
+
handoff_happened_during_office_hours: e.boolean().nullable(),
|
|
42
|
+
session_id: e.string(),
|
|
43
|
+
updated_at: e.string().nullable(),
|
|
44
|
+
attachments: e.array(c).optional()
|
|
45
|
+
}), d = e.object({
|
|
46
|
+
name: e.string(),
|
|
47
|
+
is_ai: e.boolean(),
|
|
48
|
+
profile_picture: e.string().optional().nullable(),
|
|
49
|
+
id: e.string().nullable()
|
|
50
|
+
}), u = e.object({
|
|
51
|
+
type: e.literal("message"),
|
|
52
|
+
value: e.string(),
|
|
53
|
+
attachments: e.array(c).optional(),
|
|
54
|
+
is_stream_chunk: e.boolean().optional(),
|
|
55
|
+
server_session_id: e.string(),
|
|
56
|
+
client_message_id: e.string().optional(),
|
|
57
|
+
server_message_id: e.string()
|
|
58
|
+
}), m = e.object({
|
|
59
|
+
type: e.literal("info"),
|
|
60
|
+
value: e.string()
|
|
61
|
+
}), b = e.object({
|
|
62
|
+
type: e.literal("ui"),
|
|
63
|
+
value: e.object({
|
|
64
|
+
type: e.string(),
|
|
65
|
+
request_response: e.any(),
|
|
66
|
+
name: e.string(),
|
|
67
|
+
content: e.string(),
|
|
68
|
+
message_id: e.string().optional()
|
|
69
|
+
}),
|
|
70
|
+
client_message_id: e.string().optional(),
|
|
71
|
+
server_session_id: e.string()
|
|
72
|
+
}), E = e.object({
|
|
73
|
+
type: e.literal("chat_event"),
|
|
74
|
+
value: e.object({
|
|
75
|
+
event: e.nativeEnum(_),
|
|
76
|
+
message: e.string()
|
|
77
|
+
})
|
|
78
|
+
}), p = e.object({
|
|
79
|
+
type: e.literal("options"),
|
|
80
|
+
value: e.object({
|
|
81
|
+
options: e.array(e.string())
|
|
82
|
+
}),
|
|
83
|
+
server_session_id: e.string()
|
|
84
|
+
}), v = e.object({
|
|
85
|
+
type: e.literal("session_update"),
|
|
86
|
+
value: e.object({
|
|
87
|
+
session: g
|
|
88
|
+
}),
|
|
89
|
+
server_session_id: e.string()
|
|
90
|
+
}), S = e.discriminatedUnion("type", [
|
|
91
|
+
u,
|
|
92
|
+
m,
|
|
93
|
+
b,
|
|
94
|
+
E,
|
|
95
|
+
p,
|
|
96
|
+
v
|
|
97
|
+
]).and(
|
|
98
|
+
e.object({
|
|
99
|
+
timestamp: e.string(),
|
|
100
|
+
agent: d
|
|
101
|
+
})
|
|
102
|
+
), j = e.object({
|
|
103
|
+
id: e.string(),
|
|
104
|
+
name: e.string().nullable(),
|
|
105
|
+
created_at: e.string(),
|
|
106
|
+
avatar_url: e.string().nullable(),
|
|
107
|
+
email: e.string().nullable()
|
|
108
|
+
});
|
|
109
|
+
export {
|
|
110
|
+
l as A,
|
|
111
|
+
_ as M,
|
|
112
|
+
r as S,
|
|
113
|
+
i as a,
|
|
114
|
+
o as b,
|
|
115
|
+
g as c,
|
|
116
|
+
c as d,
|
|
117
|
+
f as e,
|
|
118
|
+
j as f,
|
|
119
|
+
O as g,
|
|
120
|
+
S as s
|
|
121
|
+
};
|
|
122
|
+
//# sourceMappingURL=schemas-BBAV6Sd_.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas-BBAV6Sd_.js","sources":["../core/utils/genId.ts","../core/types/schemas.ts"],"sourcesContent":["const genId = (len = 20) => {\r\n const chars = \"abcdefghijklmnopqrstuvwxyz0123456789\";\r\n let id = \"\";\r\n for (let i = 0; i < len; i++) {\r\n id += chars[Math.floor(Math.random() * chars.length)];\r\n }\r\n return id;\r\n};\r\n\r\nexport { genId };\r\n","import z from \"zod\";\r\n\r\nexport enum SessionStatus {\r\n OPEN = 0,\r\n CLOSED_RESOLVED = 1,\r\n CLOSED_UNRESOLVED = 2,\r\n}\r\n\r\nexport enum SessionChannel {\r\n WEB = \"web\",\r\n WEB_VOICE = \"web_voice\",\r\n PHONE_VOICE = \"phone_voice\",\r\n EMAIL = \"email\",\r\n SMS = \"sms\",\r\n WHATSAPP = \"whatsapp\",\r\n API = \"api\",\r\n}\r\n\r\nexport enum AIClosureType {\r\n resolved = \"resolved\",\r\n assumed_resolved = \"assumed_resolved\",\r\n handed_off = \"handed_off\",\r\n}\r\n\r\nexport enum SentimentEnum {\r\n happy = \"happy\",\r\n neutral = \"neutral\",\r\n angry = \"angry\",\r\n}\r\n\r\nexport enum MessageTypeEnum {\r\n MESSAGE = \"message\",\r\n HANDOFF = \"handoff\",\r\n HANDOFF_TO_ZENDESK = \"handoff_to_zendesk\",\r\n AGENT_MESSAGE = \"agent_message\",\r\n AGENT_JOINED = \"agent_joined\",\r\n AGENT_TOOK_SESSION_FROM_AI = \"agent_took_session_from_ai\",\r\n AI_DECIDED_TO_RESOLVE_THE_ISSUE = \"ai_decided_to_resolve_the_issue\",\r\n EMAIL_DRAFT_MESSAGE = \"email_draft_message\",\r\n FOLLOWUP = \"followup\",\r\n}\r\n\r\nexport const chatSessionSchema = z.object({\r\n id: z.string(),\r\n ai_closure_type: z.nativeEnum(AIClosureType).nullable(),\r\n assignee_id: z.number().nullable(),\r\n channel: z.nativeEnum(SessionChannel),\r\n summary: z.string().nullable(),\r\n status: z.nativeEnum(SessionStatus),\r\n language: z.string().nullable(),\r\n last_message: z.string().nullable(),\r\n last_message_at: z.date().nullable(),\r\n assignee: z\r\n .object({\r\n name: z.string(),\r\n email: z.string(),\r\n avatar_url: z.string().optional(),\r\n })\r\n .nullable()\r\n .optional(),\r\n sentiment: z.nativeEnum(SentimentEnum).nullable(),\r\n});\r\n\r\nexport type ChatAttachmentType = {\r\n id: string;\r\n name: string;\r\n size: number;\r\n type: string;\r\n url: string;\r\n};\r\n\r\nexport const chatAttachmentSchema = z.object({\r\n id: z.string(),\r\n name: z.string(),\r\n size: z.number(),\r\n type: z.string(),\r\n url: z.string(),\r\n}) as z.ZodType<ChatAttachmentType>;\r\n\r\nexport const chatHistoryMessageSchema = z.object({\r\n publicId: z.string().uuid(),\r\n message: z.string().nullable(),\r\n type: z.string().nullable(),\r\n agent_avatar: z.string().nullable(),\r\n agent_id: z.number().nullable(),\r\n agent_name: z.string().nullable(),\r\n created_at: z.string(),\r\n from_user: z.boolean().nullable(),\r\n handoff_happened_during_office_hours: z.boolean().nullable(),\r\n session_id: z.string(),\r\n updated_at: z.string().nullable(),\r\n attachments: z.array(chatAttachmentSchema).optional(),\r\n});\r\n// ---------- socket responses ----------\r\n\r\nconst agentSchema = z.object({\r\n name: z.string(),\r\n is_ai: z.boolean(),\r\n profile_picture: z.string().optional().nullable(),\r\n id: z.string().nullable(),\r\n});\r\n\r\nconst messageSchema = z.object({\r\n type: z.literal(\"message\"),\r\n value: z.string(),\r\n attachments: z.array(chatAttachmentSchema).optional(),\r\n is_stream_chunk: z.boolean().optional(),\r\n server_session_id: z.string(),\r\n client_message_id: z.string().optional(),\r\n server_message_id: z.string(),\r\n});\r\n\r\nconst infoSchema = z.object({\r\n type: z.literal(\"info\"),\r\n value: z.string(),\r\n});\r\n\r\nconst uiSchema = z.object({\r\n type: z.literal(\"ui\"),\r\n value: z.object({\r\n type: z.string(),\r\n request_response: z.any(),\r\n name: z.string(),\r\n content: z.string(),\r\n message_id: z.string().optional(),\r\n }),\r\n client_message_id: z.string().optional(),\r\n server_session_id: z.string(),\r\n});\r\n\r\nconst chatEventSchema = z.object({\r\n type: z.literal(\"chat_event\"),\r\n value: z.object({\r\n event: z.nativeEnum(MessageTypeEnum),\r\n message: z.string(),\r\n }),\r\n});\r\n\r\nconst optionsSchema = z.object({\r\n type: z.literal(\"options\"),\r\n value: z.object({\r\n options: z.array(z.string()),\r\n }),\r\n server_session_id: z.string(),\r\n});\r\n\r\nconst sessionUpdateSchema = z.object({\r\n type: z.literal(\"session_update\"),\r\n value: z.object({\r\n session: chatSessionSchema,\r\n }),\r\n server_session_id: z.string(),\r\n});\r\n\r\nexport const structuredSocketMessageSchema = z\r\n .discriminatedUnion(\"type\", [\r\n messageSchema,\r\n infoSchema,\r\n uiSchema,\r\n chatEventSchema,\r\n optionsSchema,\r\n sessionUpdateSchema,\r\n ])\r\n .and(\r\n z.object({\r\n timestamp: z.string(),\r\n agent: agentSchema,\r\n }),\r\n );\r\n\r\nexport const consumerSchema = z.object({\r\n id: z.string(),\r\n name: z.string().nullable(),\r\n created_at: z.string(),\r\n avatar_url: z.string().nullable(),\r\n email: z.string().nullable(),\r\n});\r\n\r\ntype AgentType = z.infer<typeof agentSchema>;\r\ntype ConsumerType = z.infer<typeof consumerSchema>;\r\ntype ChatSessionType = z.infer<typeof chatSessionSchema>;\r\ntype ChatSessionWithStatus = ChatSessionType & {\r\n isSessionClosed: boolean;\r\n isAssignedToAi: boolean;\r\n isAssignedToHuman: boolean;\r\n isPendingHuman: boolean;\r\n};\r\ntype StructuredSocketMessageType = z.infer<\r\n typeof structuredSocketMessageSchema\r\n>;\r\ntype ChatHistoryMessageType = z.infer<typeof chatHistoryMessageSchema>;\r\nexport type {\r\n AgentType,\r\n ConsumerType,\r\n ChatSessionType,\r\n StructuredSocketMessageType,\r\n ChatHistoryMessageType,\r\n ChatSessionWithStatus,\r\n};\r\n"],"names":["genId","len","chars","id","i","SessionStatus","SessionChannel","AIClosureType","SentimentEnum","MessageTypeEnum","chatSessionSchema","z","chatAttachmentSchema","chatHistoryMessageSchema","agentSchema","messageSchema","infoSchema","uiSchema","chatEventSchema","optionsSchema","sessionUpdateSchema","structuredSocketMessageSchema","consumerSchema"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const e=require("zod"),u=(t=20)=>{const o="abcdefghijklmnopqrstuvwxyz0123456789";let c="";for(let _=0;_<t;_++)c+=o[Math.floor(Math.random()*o.length)];return c};var a=(t=>(t[t.OPEN=0]="OPEN",t[t.CLOSED_RESOLVED=1]="CLOSED_RESOLVED",t[t.CLOSED_UNRESOLVED=2]="CLOSED_UNRESOLVED",t))(a||{}),n=(t=>(t.WEB="web",t.WEB_VOICE="web_voice",t.PHONE_VOICE="phone_voice",t.EMAIL="email",t.SMS="sms",t.WHATSAPP="whatsapp",t.API="api",t))(n||{}),s=(t=>(t.resolved="resolved",t.assumed_resolved="assumed_resolved",t.handed_off="handed_off",t))(s||{}),r=(t=>(t.happy="happy",t.neutral="neutral",t.angry="angry",t))(r||{}),i=(t=>(t.MESSAGE="message",t.HANDOFF="handoff",t.HANDOFF_TO_ZENDESK="handoff_to_zendesk",t.AGENT_MESSAGE="agent_message",t.AGENT_JOINED="agent_joined",t.AGENT_TOOK_SESSION_FROM_AI="agent_took_session_from_ai",t.AI_DECIDED_TO_RESOLVE_THE_ISSUE="ai_decided_to_resolve_the_issue",t.EMAIL_DRAFT_MESSAGE="email_draft_message",t.FOLLOWUP="followup",t))(i||{});const g=e.object({id:e.string(),ai_closure_type:e.nativeEnum(s).nullable(),assignee_id:e.number().nullable(),channel:e.nativeEnum(n),summary:e.string().nullable(),status:e.nativeEnum(a),language:e.string().nullable(),last_message:e.string().nullable(),last_message_at:e.date().nullable(),assignee:e.object({name:e.string(),email:e.string(),avatar_url:e.string().optional()}).nullable().optional(),sentiment:e.nativeEnum(r).nullable()}),l=e.object({id:e.string(),name:e.string(),size:e.number(),type:e.string(),url:e.string()}),m=e.object({publicId:e.string().uuid(),message:e.string().nullable(),type:e.string().nullable(),agent_avatar:e.string().nullable(),agent_id:e.number().nullable(),agent_name:e.string().nullable(),created_at:e.string(),from_user:e.boolean().nullable(),handoff_happened_during_office_hours:e.boolean().nullable(),session_id:e.string(),updated_at:e.string().nullable(),attachments:e.array(l).optional()}),d=e.object({name:e.string(),is_ai:e.boolean(),profile_picture:e.string().optional().nullable(),id:e.string().nullable()}),b=e.object({type:e.literal("message"),value:e.string(),attachments:e.array(l).optional(),is_stream_chunk:e.boolean().optional(),server_session_id:e.string(),client_message_id:e.string().optional(),server_message_id:e.string()}),h=e.object({type:e.literal("info"),value:e.string()}),E=e.object({type:e.literal("ui"),value:e.object({type:e.string(),request_response:e.any(),name:e.string(),content:e.string(),message_id:e.string().optional()}),client_message_id:e.string().optional(),server_session_id:e.string()}),p=e.object({type:e.literal("chat_event"),value:e.object({event:e.nativeEnum(i),message:e.string()})}),v=e.object({type:e.literal("options"),value:e.object({options:e.array(e.string())}),server_session_id:e.string()}),S=e.object({type:e.literal("session_update"),value:e.object({session:g}),server_session_id:e.string()}),O=e.discriminatedUnion("type",[b,h,E,p,v,S]).and(e.object({timestamp:e.string(),agent:d})),f=e.object({id:e.string(),name:e.string().nullable(),created_at:e.string(),avatar_url:e.string().nullable(),email:e.string().nullable()});exports.AIClosureType=s;exports.MessageTypeEnum=i;exports.SentimentEnum=r;exports.SessionChannel=n;exports.SessionStatus=a;exports.chatAttachmentSchema=l;exports.chatHistoryMessageSchema=m;exports.chatSessionSchema=g;exports.consumerSchema=f;exports.genId=u;exports.structuredSocketMessageSchema=O;
|
|
2
|
+
//# sourceMappingURL=schemas-wky4fpbc.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas-wky4fpbc.cjs","sources":["../core/utils/genId.ts","../core/types/schemas.ts"],"sourcesContent":["const genId = (len = 20) => {\r\n const chars = \"abcdefghijklmnopqrstuvwxyz0123456789\";\r\n let id = \"\";\r\n for (let i = 0; i < len; i++) {\r\n id += chars[Math.floor(Math.random() * chars.length)];\r\n }\r\n return id;\r\n};\r\n\r\nexport { genId };\r\n","import z from \"zod\";\r\n\r\nexport enum SessionStatus {\r\n OPEN = 0,\r\n CLOSED_RESOLVED = 1,\r\n CLOSED_UNRESOLVED = 2,\r\n}\r\n\r\nexport enum SessionChannel {\r\n WEB = \"web\",\r\n WEB_VOICE = \"web_voice\",\r\n PHONE_VOICE = \"phone_voice\",\r\n EMAIL = \"email\",\r\n SMS = \"sms\",\r\n WHATSAPP = \"whatsapp\",\r\n API = \"api\",\r\n}\r\n\r\nexport enum AIClosureType {\r\n resolved = \"resolved\",\r\n assumed_resolved = \"assumed_resolved\",\r\n handed_off = \"handed_off\",\r\n}\r\n\r\nexport enum SentimentEnum {\r\n happy = \"happy\",\r\n neutral = \"neutral\",\r\n angry = \"angry\",\r\n}\r\n\r\nexport enum MessageTypeEnum {\r\n MESSAGE = \"message\",\r\n HANDOFF = \"handoff\",\r\n HANDOFF_TO_ZENDESK = \"handoff_to_zendesk\",\r\n AGENT_MESSAGE = \"agent_message\",\r\n AGENT_JOINED = \"agent_joined\",\r\n AGENT_TOOK_SESSION_FROM_AI = \"agent_took_session_from_ai\",\r\n AI_DECIDED_TO_RESOLVE_THE_ISSUE = \"ai_decided_to_resolve_the_issue\",\r\n EMAIL_DRAFT_MESSAGE = \"email_draft_message\",\r\n FOLLOWUP = \"followup\",\r\n}\r\n\r\nexport const chatSessionSchema = z.object({\r\n id: z.string(),\r\n ai_closure_type: z.nativeEnum(AIClosureType).nullable(),\r\n assignee_id: z.number().nullable(),\r\n channel: z.nativeEnum(SessionChannel),\r\n summary: z.string().nullable(),\r\n status: z.nativeEnum(SessionStatus),\r\n language: z.string().nullable(),\r\n last_message: z.string().nullable(),\r\n last_message_at: z.date().nullable(),\r\n assignee: z\r\n .object({\r\n name: z.string(),\r\n email: z.string(),\r\n avatar_url: z.string().optional(),\r\n })\r\n .nullable()\r\n .optional(),\r\n sentiment: z.nativeEnum(SentimentEnum).nullable(),\r\n});\r\n\r\nexport type ChatAttachmentType = {\r\n id: string;\r\n name: string;\r\n size: number;\r\n type: string;\r\n url: string;\r\n};\r\n\r\nexport const chatAttachmentSchema = z.object({\r\n id: z.string(),\r\n name: z.string(),\r\n size: z.number(),\r\n type: z.string(),\r\n url: z.string(),\r\n}) as z.ZodType<ChatAttachmentType>;\r\n\r\nexport const chatHistoryMessageSchema = z.object({\r\n publicId: z.string().uuid(),\r\n message: z.string().nullable(),\r\n type: z.string().nullable(),\r\n agent_avatar: z.string().nullable(),\r\n agent_id: z.number().nullable(),\r\n agent_name: z.string().nullable(),\r\n created_at: z.string(),\r\n from_user: z.boolean().nullable(),\r\n handoff_happened_during_office_hours: z.boolean().nullable(),\r\n session_id: z.string(),\r\n updated_at: z.string().nullable(),\r\n attachments: z.array(chatAttachmentSchema).optional(),\r\n});\r\n// ---------- socket responses ----------\r\n\r\nconst agentSchema = z.object({\r\n name: z.string(),\r\n is_ai: z.boolean(),\r\n profile_picture: z.string().optional().nullable(),\r\n id: z.string().nullable(),\r\n});\r\n\r\nconst messageSchema = z.object({\r\n type: z.literal(\"message\"),\r\n value: z.string(),\r\n attachments: z.array(chatAttachmentSchema).optional(),\r\n is_stream_chunk: z.boolean().optional(),\r\n server_session_id: z.string(),\r\n client_message_id: z.string().optional(),\r\n server_message_id: z.string(),\r\n});\r\n\r\nconst infoSchema = z.object({\r\n type: z.literal(\"info\"),\r\n value: z.string(),\r\n});\r\n\r\nconst uiSchema = z.object({\r\n type: z.literal(\"ui\"),\r\n value: z.object({\r\n type: z.string(),\r\n request_response: z.any(),\r\n name: z.string(),\r\n content: z.string(),\r\n message_id: z.string().optional(),\r\n }),\r\n client_message_id: z.string().optional(),\r\n server_session_id: z.string(),\r\n});\r\n\r\nconst chatEventSchema = z.object({\r\n type: z.literal(\"chat_event\"),\r\n value: z.object({\r\n event: z.nativeEnum(MessageTypeEnum),\r\n message: z.string(),\r\n }),\r\n});\r\n\r\nconst optionsSchema = z.object({\r\n type: z.literal(\"options\"),\r\n value: z.object({\r\n options: z.array(z.string()),\r\n }),\r\n server_session_id: z.string(),\r\n});\r\n\r\nconst sessionUpdateSchema = z.object({\r\n type: z.literal(\"session_update\"),\r\n value: z.object({\r\n session: chatSessionSchema,\r\n }),\r\n server_session_id: z.string(),\r\n});\r\n\r\nexport const structuredSocketMessageSchema = z\r\n .discriminatedUnion(\"type\", [\r\n messageSchema,\r\n infoSchema,\r\n uiSchema,\r\n chatEventSchema,\r\n optionsSchema,\r\n sessionUpdateSchema,\r\n ])\r\n .and(\r\n z.object({\r\n timestamp: z.string(),\r\n agent: agentSchema,\r\n }),\r\n );\r\n\r\nexport const consumerSchema = z.object({\r\n id: z.string(),\r\n name: z.string().nullable(),\r\n created_at: z.string(),\r\n avatar_url: z.string().nullable(),\r\n email: z.string().nullable(),\r\n});\r\n\r\ntype AgentType = z.infer<typeof agentSchema>;\r\ntype ConsumerType = z.infer<typeof consumerSchema>;\r\ntype ChatSessionType = z.infer<typeof chatSessionSchema>;\r\ntype ChatSessionWithStatus = ChatSessionType & {\r\n isSessionClosed: boolean;\r\n isAssignedToAi: boolean;\r\n isAssignedToHuman: boolean;\r\n isPendingHuman: boolean;\r\n};\r\ntype StructuredSocketMessageType = z.infer<\r\n typeof structuredSocketMessageSchema\r\n>;\r\ntype ChatHistoryMessageType = z.infer<typeof chatHistoryMessageSchema>;\r\nexport type {\r\n AgentType,\r\n ConsumerType,\r\n ChatSessionType,\r\n StructuredSocketMessageType,\r\n ChatHistoryMessageType,\r\n ChatSessionWithStatus,\r\n};\r\n"],"names":["genId","len","chars","id","i","SessionStatus","SessionChannel","AIClosureType","SentimentEnum","MessageTypeEnum","chatSessionSchema","z","chatAttachmentSchema","chatHistoryMessageSchema","agentSchema","messageSchema","infoSchema","uiSchema","chatEventSchema","optionsSchema","sessionUpdateSchema","structuredSocketMessageSchema","consumerSchema"],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ declare const DialogContent: React.ForwardRefExoticComponent<Omit<{
|
|
|
21
21
|
suppressContentEditableWarning?: boolean | undefined;
|
|
22
22
|
suppressHydrationWarning?: boolean | undefined;
|
|
23
23
|
accessKey?: string | undefined;
|
|
24
|
-
autoCapitalize?: "none" | "
|
|
24
|
+
autoCapitalize?: "none" | "off" | "on" | "sentences" | "words" | "characters" | (string & {}) | undefined;
|
|
25
25
|
autoFocus?: boolean | undefined;
|
|
26
26
|
className?: string | undefined;
|
|
27
27
|
contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
|
|
@@ -56,7 +56,7 @@ declare const DialogContent: React.ForwardRefExoticComponent<Omit<{
|
|
|
56
56
|
itemRef?: string | undefined;
|
|
57
57
|
results?: number | undefined;
|
|
58
58
|
security?: string | undefined;
|
|
59
|
-
unselectable?: "
|
|
59
|
+
unselectable?: "off" | "on" | undefined;
|
|
60
60
|
inputMode?: "email" | "url" | "search" | "text" | "none" | "tel" | "numeric" | "decimal" | undefined;
|
|
61
61
|
is?: string | undefined;
|
|
62
62
|
"aria-activedescendant"?: string | undefined;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { WidgetOptions } from '../../../react-lib/index';
|
|
2
|
-
import { default as React } from 'react';
|
|
3
|
-
|
|
2
|
+
import { default as React, ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
3
|
+
declare function Widget({ className, ...props }: ComponentPropsWithoutRef<"div">): React.JSX.Element;
|
|
4
|
+
declare function WidgetRoot({ options, children, }: {
|
|
4
5
|
options: WidgetOptions;
|
|
6
|
+
children: ReactNode;
|
|
5
7
|
}): React.JSX.Element;
|
|
8
|
+
export { WidgetRoot, Widget };
|