@opencx/widget 2.0.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 +105 -0
- package/dist/basic.cjs +259 -0
- package/dist/basic.cjs.map +1 -0
- package/dist/basic.d.ts +2 -0
- package/dist/basic.js +40507 -0
- package/dist/basic.js.map +1 -0
- package/dist/core/client/api.d.ts +15 -0
- package/dist/core/client/client.d.ts +39 -0
- package/dist/core/client/index.d.ts +1 -0
- package/dist/core/errors/index.d.ts +21 -0
- package/dist/core/index.d.ts +3 -0
- package/dist/core/managers/chathistory-manager.d.ts +61 -0
- package/dist/core/managers/session-manager.d.ts +35 -0
- package/dist/core/platform/index.d.ts +20 -0
- package/dist/core/transport/http.transport.d.ts +17 -0
- package/dist/core/transport/transport.d.ts +25 -0
- package/dist/core/types/helpers.d.ts +5 -0
- package/dist/core/types/index.d.ts +32 -0
- package/dist/core/types/messages.d.ts +43 -0
- package/dist/core/types/prelude.d.ts +14 -0
- package/dist/core/types/pub-sub.d.ts +94 -0
- package/dist/core/types/schemas.d.ts +489 -0
- package/dist/core/types/transport.d.ts +31 -0
- package/dist/core/utils/genId.d.ts +2 -0
- package/dist/core/utils/genId.test.d.ts +1 -0
- package/dist/core/utils/history-to-widget-messages.d.ts +4 -0
- package/dist/history-to-widget-messages-CP0hKjhv.js +195 -0
- package/dist/history-to-widget-messages-CP0hKjhv.js.map +1 -0
- package/dist/history-to-widget-messages-CdbZolRN.cjs +2 -0
- package/dist/history-to-widget-messages-CdbZolRN.cjs.map +1 -0
- package/dist/index-C11ivBh5.js +2604 -0
- package/dist/index-C11ivBh5.js.map +1 -0
- package/dist/index-DQmRZV3b.cjs +18 -0
- package/dist/index-DQmRZV3b.cjs.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +445 -0
- package/dist/index.js.map +1 -0
- package/dist/react-lib/Root.d.ts +6 -0
- package/dist/react-lib/hooks/handle-socket-messages.d.ts +27 -0
- package/dist/react-lib/hooks/index.d.ts +6 -0
- package/dist/react-lib/hooks/socket.d.ts +11 -0
- package/dist/react-lib/hooks/socketState.d.ts +2 -0
- package/dist/react-lib/hooks/use-sound.d.ts +13 -0
- package/dist/react-lib/hooks/use-sound.test.d.ts +1 -0
- package/dist/react-lib/hooks/use-sync-state.test.d.ts +1 -0
- package/dist/react-lib/hooks/useAbstractChat.d.ts +159 -0
- package/dist/react-lib/hooks/useAxiosInstance.d.ts +121 -0
- package/dist/react-lib/hooks/useBaseClient.d.ts +2 -0
- package/dist/react-lib/hooks/useScrollTo.d.ts +2 -0
- package/dist/react-lib/hooks/useSyncState.d.ts +4 -0
- package/dist/react-lib/hooks/useTimeoutState.d.ts +3 -0
- package/dist/react-lib/hooks/useUploadFiles.d.ts +21 -0
- package/dist/react-lib/hooks/useVote.d.ts +2 -0
- package/dist/react-lib/hooks/useWidgetContentHeight.d.ts +9 -0
- package/dist/react-lib/index.d.ts +10 -0
- package/dist/react-lib/locales/ar.locale.d.ts +2 -0
- package/dist/react-lib/locales/de.locale.d.ts +2 -0
- package/dist/react-lib/locales/en.locale.d.ts +55 -0
- package/dist/react-lib/locales/fr.locale.d.ts +2 -0
- package/dist/react-lib/locales/helper.d.ts +65 -0
- package/dist/react-lib/locales/index.d.ts +3 -0
- package/dist/react-lib/locales/nl.locale.d.ts +2 -0
- package/dist/react-lib/locales/pt.locale.d.ts +2 -0
- package/dist/react-lib/providers/ChatProvider.d.ts +135 -0
- package/dist/react-lib/providers/ClientProvider.d.ts +7 -0
- package/dist/react-lib/providers/ConfigDataProvider.d.ts +62 -0
- package/dist/react-lib/providers/ContactProvider.d.ts +58 -0
- package/dist/react-lib/providers/LocalesProvider.d.ts +11 -0
- package/dist/react-lib/providers/componentRegistry.d.ts +13 -0
- package/dist/react-lib/providers/use-widget-sfx.d.ts +7 -0
- package/dist/react-lib/providers/usePreludeData.d.ts +2 -0
- package/dist/react-lib/types/components.d.ts +10 -0
- package/dist/react-lib/types/index.d.ts +6 -0
- package/dist/react-lib/types/options.d.ts +43 -0
- package/dist/react-lib/utils/create-safe-context.d.ts +1 -0
- package/dist/react-lib/utils/debug.d.ts +2 -0
- package/dist/react-lib/utils/getters.d.ts +24 -0
- package/dist/react-lib/utils/index.d.ts +1 -0
- package/dist/react.cjs +2 -0
- package/dist/react.cjs.map +1 -0
- package/dist/react.d.ts +2 -0
- package/dist/react.js +41 -0
- package/dist/react.js.map +1 -0
- package/dist/src/@components/BotMessage.d.ts +9 -0
- package/dist/src/@components/BotMessageWrapper.d.ts +7 -0
- package/dist/src/@components/ChatEvent.component.d.ts +9 -0
- package/dist/src/@components/Fallback.component.d.ts +8 -0
- package/dist/src/@components/Loading.component.d.ts +2 -0
- package/dist/src/@components/OpenLogoSvg.d.ts +4 -0
- package/dist/src/@components/Text.component.d.ts +3 -0
- package/dist/src/@components/index.d.ts +6 -0
- package/dist/src/@components/markdown.d.ts +3 -0
- package/dist/src/components/MotionDiv.d.ts +18 -0
- package/dist/src/components/RenderFile.d.ts +7 -0
- package/dist/src/components/avatar.d.ts +6 -0
- package/dist/src/components/button.d.ts +11 -0
- package/dist/src/components/dialog.d.ts +276 -0
- package/dist/src/components/dropdown-menu.d.ts +27 -0
- package/dist/src/components/input.d.ts +5 -0
- package/dist/src/components/keyboard.d.ts +7 -0
- package/dist/src/components/popover.d.ts +8 -0
- package/dist/src/components/skeleton.d.ts +3 -0
- package/dist/src/components/switch.d.ts +4 -0
- package/dist/src/components/tooltip.d.ts +10 -0
- package/dist/src/components/userMessage.d.ts +8 -0
- package/dist/src/components/wobble.d.ts +15 -0
- package/dist/src/designs/basic/WidgetPopoverTrigger.d.ts +5 -0
- package/dist/src/designs/basic/index.d.ts +5 -0
- package/dist/src/designs/basic/screens/chat-screen/ChatFooter.d.ts +2 -0
- package/dist/src/designs/basic/screens/chat-screen/ChatHeader.d.ts +2 -0
- package/dist/src/designs/basic/screens/chat-screen/ChatScreen.d.ts +2 -0
- package/dist/src/designs/basic/screens/chat-screen/SessionClosedDialog.d.ts +2 -0
- package/dist/src/designs/basic/screens/root-screen.d.ts +2 -0
- package/dist/src/designs/basic/screens/welcome-screen/WelcomeScreen.d.ts +2 -0
- package/dist/src/designs/constants.d.ts +15 -0
- package/dist/src/hooks/useShouldCollectData.d.ts +3 -0
- package/dist/src/index.d.ts +9 -0
- package/dist/src/render.d.ts +2 -0
- package/dist/src/utils.d.ts +2 -0
- package/dist/style.css +1 -0
- package/dist-embed/script.js +476 -0
- package/dist-embed/script.js.map +1 -0
- package/package.json +153 -0
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import e from "zod";
|
|
2
|
+
const r = (t = 20) => {
|
|
3
|
+
const n = "abcdefghijklmnopqrstuvwxyz0123456789";
|
|
4
|
+
let s = "";
|
|
5
|
+
for (let i = 0; i < t; i++)
|
|
6
|
+
s += n[Math.floor(Math.random() * n.length)];
|
|
7
|
+
return s;
|
|
8
|
+
};
|
|
9
|
+
var _ = /* @__PURE__ */ ((t) => (t[t.OPEN = 0] = "OPEN", t[t.CLOSED_RESOLVED = 1] = "CLOSED_RESOLVED", t[t.CLOSED_UNRESOLVED = 2] = "CLOSED_UNRESOLVED", t))(_ || {}), g = /* @__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))(g || {}), c = /* @__PURE__ */ ((t) => (t.resolved = "resolved", t.assumed_resolved = "assumed_resolved", t.handed_off = "handed_off", t))(c || {}), m = /* @__PURE__ */ ((t) => (t.happy = "happy", t.neutral = "neutral", t.angry = "angry", t))(m || {}), d = /* @__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))(d || {});
|
|
10
|
+
const p = e.object({
|
|
11
|
+
id: e.string(),
|
|
12
|
+
ai_closure_type: e.nativeEnum(c).nullable(),
|
|
13
|
+
assignee_id: e.number().nullable(),
|
|
14
|
+
channel: e.nativeEnum(g),
|
|
15
|
+
summary: e.string().nullable(),
|
|
16
|
+
status: e.nativeEnum(_),
|
|
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(m).nullable()
|
|
26
|
+
}), u = e.object({
|
|
27
|
+
id: e.string(),
|
|
28
|
+
name: e.string(),
|
|
29
|
+
size: e.number(),
|
|
30
|
+
type: e.string(),
|
|
31
|
+
url: e.string()
|
|
32
|
+
});
|
|
33
|
+
e.object({
|
|
34
|
+
publicId: e.string().uuid(),
|
|
35
|
+
message: e.string().nullable(),
|
|
36
|
+
type: e.string().nullable(),
|
|
37
|
+
agent_avatar: e.string().nullable(),
|
|
38
|
+
agent_id: e.number().nullable(),
|
|
39
|
+
agent_name: e.string().nullable(),
|
|
40
|
+
created_at: e.string(),
|
|
41
|
+
from_user: e.boolean().nullable(),
|
|
42
|
+
handoff_happened_during_office_hours: e.boolean().nullable(),
|
|
43
|
+
session_id: e.string(),
|
|
44
|
+
updated_at: e.string().nullable(),
|
|
45
|
+
attachments: e.array(u).optional()
|
|
46
|
+
});
|
|
47
|
+
const b = e.object({
|
|
48
|
+
name: e.string(),
|
|
49
|
+
is_ai: e.boolean(),
|
|
50
|
+
profile_picture: e.string().optional().nullable(),
|
|
51
|
+
id: e.string().nullable()
|
|
52
|
+
}), h = e.object({
|
|
53
|
+
type: e.literal("message"),
|
|
54
|
+
value: e.string(),
|
|
55
|
+
attachments: e.array(u).optional(),
|
|
56
|
+
is_stream_chunk: e.boolean().optional(),
|
|
57
|
+
server_session_id: e.string(),
|
|
58
|
+
client_message_id: e.string().optional(),
|
|
59
|
+
server_message_id: e.string()
|
|
60
|
+
}), E = e.object({
|
|
61
|
+
type: e.literal("info"),
|
|
62
|
+
value: e.string()
|
|
63
|
+
}), v = e.object({
|
|
64
|
+
type: e.literal("ui"),
|
|
65
|
+
value: e.object({
|
|
66
|
+
type: e.string(),
|
|
67
|
+
request_response: e.any(),
|
|
68
|
+
name: e.string(),
|
|
69
|
+
content: e.string(),
|
|
70
|
+
message_id: e.string().optional()
|
|
71
|
+
}),
|
|
72
|
+
client_message_id: e.string().optional(),
|
|
73
|
+
server_session_id: e.string()
|
|
74
|
+
}), f = e.object({
|
|
75
|
+
type: e.literal("chat_event"),
|
|
76
|
+
value: e.object({
|
|
77
|
+
event: e.nativeEnum(d),
|
|
78
|
+
message: e.string()
|
|
79
|
+
})
|
|
80
|
+
}), O = e.object({
|
|
81
|
+
type: e.literal("options"),
|
|
82
|
+
value: e.object({
|
|
83
|
+
options: e.array(e.string())
|
|
84
|
+
}),
|
|
85
|
+
server_session_id: e.string()
|
|
86
|
+
}), S = e.object({
|
|
87
|
+
type: e.literal("session_update"),
|
|
88
|
+
value: e.object({
|
|
89
|
+
session: p
|
|
90
|
+
}),
|
|
91
|
+
server_session_id: e.string()
|
|
92
|
+
});
|
|
93
|
+
e.discriminatedUnion("type", [
|
|
94
|
+
h,
|
|
95
|
+
E,
|
|
96
|
+
v,
|
|
97
|
+
f,
|
|
98
|
+
O,
|
|
99
|
+
S
|
|
100
|
+
]).and(
|
|
101
|
+
e.object({
|
|
102
|
+
timestamp: e.string(),
|
|
103
|
+
agent: b
|
|
104
|
+
})
|
|
105
|
+
);
|
|
106
|
+
e.object({
|
|
107
|
+
id: e.string(),
|
|
108
|
+
name: e.string().nullable(),
|
|
109
|
+
created_at: e.string(),
|
|
110
|
+
avatar_url: e.string().nullable(),
|
|
111
|
+
email: e.string().nullable()
|
|
112
|
+
});
|
|
113
|
+
function y(t) {
|
|
114
|
+
var s, i, o;
|
|
115
|
+
const n = [];
|
|
116
|
+
for (let l = 0; l < t.length; l++) {
|
|
117
|
+
const a = t[l];
|
|
118
|
+
if (a.from_user === !0)
|
|
119
|
+
a.message && a.message.length > 0 && n.push({
|
|
120
|
+
type: "FROM_USER",
|
|
121
|
+
content: a.message,
|
|
122
|
+
id: a.publicId || r(),
|
|
123
|
+
deliveredAt: a.created_at || "",
|
|
124
|
+
attachments: a.attachments
|
|
125
|
+
});
|
|
126
|
+
else
|
|
127
|
+
switch (a.type) {
|
|
128
|
+
case "message":
|
|
129
|
+
n.push({
|
|
130
|
+
type: "FROM_BOT",
|
|
131
|
+
component: "TEXT",
|
|
132
|
+
data: {
|
|
133
|
+
message: a.message ?? ""
|
|
134
|
+
},
|
|
135
|
+
id: a.publicId || r(),
|
|
136
|
+
timestamp: a.created_at || "",
|
|
137
|
+
original: a,
|
|
138
|
+
attachments: a.attachments,
|
|
139
|
+
agent: {
|
|
140
|
+
id: ((s = a.agent_id) == null ? void 0 : s.toString()) ?? null,
|
|
141
|
+
is_ai: !0,
|
|
142
|
+
profile_picture: a.agent_avatar || "",
|
|
143
|
+
name: a.agent_name || ""
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
break;
|
|
147
|
+
case "agent_message":
|
|
148
|
+
n.push({
|
|
149
|
+
type: "FROM_BOT",
|
|
150
|
+
component: "TEXT",
|
|
151
|
+
data: {
|
|
152
|
+
message: a.message ?? ""
|
|
153
|
+
},
|
|
154
|
+
id: a.publicId || r(),
|
|
155
|
+
timestamp: a.created_at || "",
|
|
156
|
+
original: a,
|
|
157
|
+
attachments: a.attachments,
|
|
158
|
+
agent: {
|
|
159
|
+
id: ((i = a.agent_id) == null ? void 0 : i.toString()) ?? null,
|
|
160
|
+
is_ai: !1,
|
|
161
|
+
name: a.agent_name || "",
|
|
162
|
+
profile_picture: a.agent_avatar || ""
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
break;
|
|
166
|
+
default:
|
|
167
|
+
n.push({
|
|
168
|
+
type: "FROM_BOT",
|
|
169
|
+
component: "CHAT_EVENT",
|
|
170
|
+
data: {
|
|
171
|
+
event: a.type,
|
|
172
|
+
message: a.message ?? ""
|
|
173
|
+
},
|
|
174
|
+
id: a.publicId || r(),
|
|
175
|
+
original: a,
|
|
176
|
+
attachments: a.attachments,
|
|
177
|
+
timestamp: a.created_at || "",
|
|
178
|
+
agent: {
|
|
179
|
+
is_ai: !0,
|
|
180
|
+
id: ((o = a.agent_id) == null ? void 0 : o.toString()) ?? null,
|
|
181
|
+
name: a.agent_name || "",
|
|
182
|
+
profile_picture: a.agent_avatar || ""
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return n;
|
|
188
|
+
}
|
|
189
|
+
export {
|
|
190
|
+
c as A,
|
|
191
|
+
_ as S,
|
|
192
|
+
r as g,
|
|
193
|
+
y as m
|
|
194
|
+
};
|
|
195
|
+
//# sourceMappingURL=history-to-widget-messages-CP0hKjhv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history-to-widget-messages-CP0hKjhv.js","sources":["../core/utils/genId.ts","../core/types/schemas.ts","../core/utils/history-to-widget-messages.ts"],"sourcesContent":["const genId = (len = 20) => {\n const chars = \"abcdefghijklmnopqrstuvwxyz0123456789\";\n let id = \"\";\n for (let i = 0; i < len; i++) {\n id += chars[Math.floor(Math.random() * chars.length)];\n }\n return id;\n};\n\nexport { genId };\n","import z from \"zod\";\n\nexport enum SessionStatus {\n OPEN = 0,\n CLOSED_RESOLVED = 1,\n CLOSED_UNRESOLVED = 2,\n}\n\nexport enum SessionChannel {\n WEB = \"web\",\n WEB_VOICE = \"web_voice\",\n PHONE_VOICE = \"phone_voice\",\n EMAIL = \"email\",\n SMS = \"sms\",\n WHATSAPP = \"whatsapp\",\n API = \"api\",\n}\n\nexport enum AIClosureType {\n resolved = \"resolved\",\n assumed_resolved = \"assumed_resolved\",\n handed_off = \"handed_off\",\n}\n\nexport enum SentimentEnum {\n happy = \"happy\",\n neutral = \"neutral\",\n angry = \"angry\",\n}\n\nexport enum MessageTypeEnum {\n MESSAGE = \"message\",\n HANDOFF = \"handoff\",\n HANDOFF_TO_ZENDESK = \"handoff_to_zendesk\",\n AGENT_MESSAGE = \"agent_message\",\n AGENT_JOINED = \"agent_joined\",\n AGENT_TOOK_SESSION_FROM_AI = \"agent_took_session_from_ai\",\n AI_DECIDED_TO_RESOLVE_THE_ISSUE = \"ai_decided_to_resolve_the_issue\",\n EMAIL_DRAFT_MESSAGE = \"email_draft_message\",\n FOLLOWUP = \"followup\",\n}\n\nexport const chatSessionSchema = z.object({\n id: z.string(),\n ai_closure_type: z.nativeEnum(AIClosureType).nullable(),\n assignee_id: z.number().nullable(),\n channel: z.nativeEnum(SessionChannel),\n summary: z.string().nullable(),\n status: z.nativeEnum(SessionStatus),\n language: z.string().nullable(),\n last_message: z.string().nullable(),\n last_message_at: z.date().nullable(),\n assignee: z\n .object({\n name: z.string(),\n email: z.string(),\n avatar_url: z.string().optional(),\n })\n .nullable()\n .optional(),\n sentiment: z.nativeEnum(SentimentEnum).nullable(),\n});\n\nexport type ChatAttachmentType = {\n id: string;\n name: string;\n size: number;\n type: string;\n url: string;\n};\n\nexport const chatAttachmentSchema = z.object({\n id: z.string(),\n name: z.string(),\n size: z.number(),\n type: z.string(),\n url: z.string(),\n}) as z.ZodType<ChatAttachmentType>;\n\nexport const chatHistoryMessageSchema = z.object({\n publicId: z.string().uuid(),\n message: z.string().nullable(),\n type: z.string().nullable(),\n agent_avatar: z.string().nullable(),\n agent_id: z.number().nullable(),\n agent_name: z.string().nullable(),\n created_at: z.string(),\n from_user: z.boolean().nullable(),\n handoff_happened_during_office_hours: z.boolean().nullable(),\n session_id: z.string(),\n updated_at: z.string().nullable(),\n attachments: z.array(chatAttachmentSchema).optional(),\n});\n// ---------- socket responses ----------\n\nconst agentSchema = z.object({\n name: z.string(),\n is_ai: z.boolean(),\n profile_picture: z.string().optional().nullable(),\n id: z.string().nullable(),\n});\n\nconst messageSchema = z.object({\n type: z.literal(\"message\"),\n value: z.string(),\n attachments: z.array(chatAttachmentSchema).optional(),\n is_stream_chunk: z.boolean().optional(),\n server_session_id: z.string(),\n client_message_id: z.string().optional(),\n server_message_id: z.string(),\n});\n\nconst infoSchema = z.object({\n type: z.literal(\"info\"),\n value: z.string(),\n});\n\nconst uiSchema = z.object({\n type: z.literal(\"ui\"),\n value: z.object({\n type: z.string(),\n request_response: z.any(),\n name: z.string(),\n content: z.string(),\n message_id: z.string().optional(),\n }),\n client_message_id: z.string().optional(),\n server_session_id: z.string(),\n});\n\nconst chatEventSchema = z.object({\n type: z.literal(\"chat_event\"),\n value: z.object({\n event: z.nativeEnum(MessageTypeEnum),\n message: z.string(),\n }),\n});\n\nconst optionsSchema = z.object({\n type: z.literal(\"options\"),\n value: z.object({\n options: z.array(z.string()),\n }),\n server_session_id: z.string(),\n});\n\nconst sessionUpdateSchema = z.object({\n type: z.literal(\"session_update\"),\n value: z.object({\n session: chatSessionSchema,\n }),\n server_session_id: z.string(),\n});\n\nexport const structuredSocketMessageSchema = z\n .discriminatedUnion(\"type\", [\n messageSchema,\n infoSchema,\n uiSchema,\n chatEventSchema,\n optionsSchema,\n sessionUpdateSchema,\n ])\n .and(\n z.object({\n timestamp: z.string(),\n agent: agentSchema,\n }),\n );\n\nexport const consumerSchema = z.object({\n id: z.string(),\n name: z.string().nullable(),\n created_at: z.string(),\n avatar_url: z.string().nullable(),\n email: z.string().nullable(),\n});\n\ntype AgentType = z.infer<typeof agentSchema>;\ntype ConsumerType = z.infer<typeof consumerSchema>;\ntype ChatSessionType = z.infer<typeof chatSessionSchema>;\ntype ChatSessionWithStatus = ChatSessionType & {\n isSessionClosed: boolean;\n isAssignedToAi: boolean;\n isAssignedToHuman: boolean;\n isPendingHuman: boolean;\n};\ntype StructuredSocketMessageType = z.infer<\n typeof structuredSocketMessageSchema\n>;\ntype ChatHistoryMessageType = z.infer<typeof chatHistoryMessageSchema>;\nexport type {\n AgentType,\n ConsumerType,\n ChatSessionType,\n StructuredSocketMessageType,\n ChatHistoryMessageType,\n ChatSessionWithStatus,\n};\n","import { MessageType } from \"../types/messages\";\nimport { ChatHistoryMessageType } from \"../types/schemas\";\nimport { genId } from \"./genId\";\n\nfunction mapChatHistoryToMessage(value: ChatHistoryMessageType[]) {\n const messages: MessageType[] = [];\n for (let i = 0; i < value.length; i++) {\n const msg = value[i];\n\n if (msg.from_user === true) {\n if (msg.message && msg.message.length > 0) {\n messages.push({\n type: \"FROM_USER\",\n content: msg.message,\n id: msg.publicId || genId(),\n deliveredAt: msg.created_at || \"\",\n attachments: msg.attachments,\n });\n }\n } else {\n switch (msg.type) {\n case \"message\":\n messages.push({\n type: \"FROM_BOT\",\n component: \"TEXT\",\n data: {\n message: msg.message ?? \"\",\n },\n id: msg.publicId || genId(),\n timestamp: msg.created_at || \"\",\n original: msg,\n attachments: msg.attachments,\n agent: {\n id: msg.agent_id?.toString() ?? null,\n is_ai: true,\n profile_picture: msg.agent_avatar || \"\",\n name: msg.agent_name || \"\",\n },\n });\n break;\n case \"agent_message\":\n messages.push({\n type: \"FROM_BOT\",\n component: \"TEXT\",\n data: {\n message: msg.message ?? \"\",\n },\n id: msg.publicId || genId(),\n timestamp: msg.created_at || \"\",\n original: msg,\n attachments: msg.attachments,\n agent: {\n id: msg.agent_id?.toString() ?? null,\n is_ai: false,\n name: msg.agent_name || \"\",\n profile_picture: msg.agent_avatar || \"\",\n },\n });\n break;\n default:\n messages.push({\n type: \"FROM_BOT\",\n component: \"CHAT_EVENT\",\n data: {\n event: msg.type,\n message: msg.message ?? \"\",\n },\n id: msg.publicId || genId(),\n original: msg,\n attachments: msg.attachments,\n timestamp: msg.created_at || \"\",\n agent: {\n is_ai: true,\n id: msg.agent_id?.toString() ?? null,\n name: msg.agent_name || \"\",\n profile_picture: msg.agent_avatar || \"\",\n },\n });\n }\n }\n }\n return messages;\n}\n\nexport { mapChatHistoryToMessage };\n"],"names":["genId","len","chars","id","SessionStatus","SessionChannel","AIClosureType","SentimentEnum","MessageTypeEnum","chatSessionSchema","z","chatAttachmentSchema","agentSchema","messageSchema","infoSchema","uiSchema","chatEventSchema","optionsSchema","sessionUpdateSchema","mapChatHistoryToMessage","value","messages","i","msg","_a","_b","_c"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const e=require("zod"),r=(t=20)=>{const n="abcdefghijklmnopqrstuvwxyz0123456789";let s="";for(let i=0;i<t;i++)s+=n[Math.floor(Math.random()*n.length)];return s};var o=(t=>(t[t.OPEN=0]="OPEN",t[t.CLOSED_RESOLVED=1]="CLOSED_RESOLVED",t[t.CLOSED_UNRESOLVED=2]="CLOSED_UNRESOLVED",t))(o||{}),c=(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))(c||{}),_=(t=>(t.resolved="resolved",t.assumed_resolved="assumed_resolved",t.handed_off="handed_off",t))(_||{}),m=(t=>(t.happy="happy",t.neutral="neutral",t.angry="angry",t))(m||{}),d=(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))(d||{});const p=e.object({id:e.string(),ai_closure_type:e.nativeEnum(_).nullable(),assignee_id:e.number().nullable(),channel:e.nativeEnum(c),summary:e.string().nullable(),status:e.nativeEnum(o),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(m).nullable()}),u=e.object({id:e.string(),name:e.string(),size:e.number(),type:e.string(),url:e.string()});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(u).optional()});const b=e.object({name:e.string(),is_ai:e.boolean(),profile_picture:e.string().optional().nullable(),id:e.string().nullable()}),h=e.object({type:e.literal("message"),value:e.string(),attachments:e.array(u).optional(),is_stream_chunk:e.boolean().optional(),server_session_id:e.string(),client_message_id:e.string().optional(),server_message_id:e.string()}),E=e.object({type:e.literal("info"),value:e.string()}),v=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()}),f=e.object({type:e.literal("chat_event"),value:e.object({event:e.nativeEnum(d),message:e.string()})}),O=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:p}),server_session_id:e.string()});e.discriminatedUnion("type",[h,E,v,f,O,S]).and(e.object({timestamp:e.string(),agent:b}));e.object({id:e.string(),name:e.string().nullable(),created_at:e.string(),avatar_url:e.string().nullable(),email:e.string().nullable()});function y(t){var s,i,g;const n=[];for(let l=0;l<t.length;l++){const a=t[l];if(a.from_user===!0)a.message&&a.message.length>0&&n.push({type:"FROM_USER",content:a.message,id:a.publicId||r(),deliveredAt:a.created_at||"",attachments:a.attachments});else switch(a.type){case"message":n.push({type:"FROM_BOT",component:"TEXT",data:{message:a.message??""},id:a.publicId||r(),timestamp:a.created_at||"",original:a,attachments:a.attachments,agent:{id:((s=a.agent_id)==null?void 0:s.toString())??null,is_ai:!0,profile_picture:a.agent_avatar||"",name:a.agent_name||""}});break;case"agent_message":n.push({type:"FROM_BOT",component:"TEXT",data:{message:a.message??""},id:a.publicId||r(),timestamp:a.created_at||"",original:a,attachments:a.attachments,agent:{id:((i=a.agent_id)==null?void 0:i.toString())??null,is_ai:!1,name:a.agent_name||"",profile_picture:a.agent_avatar||""}});break;default:n.push({type:"FROM_BOT",component:"CHAT_EVENT",data:{event:a.type,message:a.message??""},id:a.publicId||r(),original:a,attachments:a.attachments,timestamp:a.created_at||"",agent:{is_ai:!0,id:((g=a.agent_id)==null?void 0:g.toString())??null,name:a.agent_name||"",profile_picture:a.agent_avatar||""}})}}return n}exports.AIClosureType=_;exports.SessionStatus=o;exports.genId=r;exports.mapChatHistoryToMessage=y;
|
|
2
|
+
//# sourceMappingURL=history-to-widget-messages-CdbZolRN.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history-to-widget-messages-CdbZolRN.cjs","sources":["../core/utils/genId.ts","../core/types/schemas.ts","../core/utils/history-to-widget-messages.ts"],"sourcesContent":["const genId = (len = 20) => {\n const chars = \"abcdefghijklmnopqrstuvwxyz0123456789\";\n let id = \"\";\n for (let i = 0; i < len; i++) {\n id += chars[Math.floor(Math.random() * chars.length)];\n }\n return id;\n};\n\nexport { genId };\n","import z from \"zod\";\n\nexport enum SessionStatus {\n OPEN = 0,\n CLOSED_RESOLVED = 1,\n CLOSED_UNRESOLVED = 2,\n}\n\nexport enum SessionChannel {\n WEB = \"web\",\n WEB_VOICE = \"web_voice\",\n PHONE_VOICE = \"phone_voice\",\n EMAIL = \"email\",\n SMS = \"sms\",\n WHATSAPP = \"whatsapp\",\n API = \"api\",\n}\n\nexport enum AIClosureType {\n resolved = \"resolved\",\n assumed_resolved = \"assumed_resolved\",\n handed_off = \"handed_off\",\n}\n\nexport enum SentimentEnum {\n happy = \"happy\",\n neutral = \"neutral\",\n angry = \"angry\",\n}\n\nexport enum MessageTypeEnum {\n MESSAGE = \"message\",\n HANDOFF = \"handoff\",\n HANDOFF_TO_ZENDESK = \"handoff_to_zendesk\",\n AGENT_MESSAGE = \"agent_message\",\n AGENT_JOINED = \"agent_joined\",\n AGENT_TOOK_SESSION_FROM_AI = \"agent_took_session_from_ai\",\n AI_DECIDED_TO_RESOLVE_THE_ISSUE = \"ai_decided_to_resolve_the_issue\",\n EMAIL_DRAFT_MESSAGE = \"email_draft_message\",\n FOLLOWUP = \"followup\",\n}\n\nexport const chatSessionSchema = z.object({\n id: z.string(),\n ai_closure_type: z.nativeEnum(AIClosureType).nullable(),\n assignee_id: z.number().nullable(),\n channel: z.nativeEnum(SessionChannel),\n summary: z.string().nullable(),\n status: z.nativeEnum(SessionStatus),\n language: z.string().nullable(),\n last_message: z.string().nullable(),\n last_message_at: z.date().nullable(),\n assignee: z\n .object({\n name: z.string(),\n email: z.string(),\n avatar_url: z.string().optional(),\n })\n .nullable()\n .optional(),\n sentiment: z.nativeEnum(SentimentEnum).nullable(),\n});\n\nexport type ChatAttachmentType = {\n id: string;\n name: string;\n size: number;\n type: string;\n url: string;\n};\n\nexport const chatAttachmentSchema = z.object({\n id: z.string(),\n name: z.string(),\n size: z.number(),\n type: z.string(),\n url: z.string(),\n}) as z.ZodType<ChatAttachmentType>;\n\nexport const chatHistoryMessageSchema = z.object({\n publicId: z.string().uuid(),\n message: z.string().nullable(),\n type: z.string().nullable(),\n agent_avatar: z.string().nullable(),\n agent_id: z.number().nullable(),\n agent_name: z.string().nullable(),\n created_at: z.string(),\n from_user: z.boolean().nullable(),\n handoff_happened_during_office_hours: z.boolean().nullable(),\n session_id: z.string(),\n updated_at: z.string().nullable(),\n attachments: z.array(chatAttachmentSchema).optional(),\n});\n// ---------- socket responses ----------\n\nconst agentSchema = z.object({\n name: z.string(),\n is_ai: z.boolean(),\n profile_picture: z.string().optional().nullable(),\n id: z.string().nullable(),\n});\n\nconst messageSchema = z.object({\n type: z.literal(\"message\"),\n value: z.string(),\n attachments: z.array(chatAttachmentSchema).optional(),\n is_stream_chunk: z.boolean().optional(),\n server_session_id: z.string(),\n client_message_id: z.string().optional(),\n server_message_id: z.string(),\n});\n\nconst infoSchema = z.object({\n type: z.literal(\"info\"),\n value: z.string(),\n});\n\nconst uiSchema = z.object({\n type: z.literal(\"ui\"),\n value: z.object({\n type: z.string(),\n request_response: z.any(),\n name: z.string(),\n content: z.string(),\n message_id: z.string().optional(),\n }),\n client_message_id: z.string().optional(),\n server_session_id: z.string(),\n});\n\nconst chatEventSchema = z.object({\n type: z.literal(\"chat_event\"),\n value: z.object({\n event: z.nativeEnum(MessageTypeEnum),\n message: z.string(),\n }),\n});\n\nconst optionsSchema = z.object({\n type: z.literal(\"options\"),\n value: z.object({\n options: z.array(z.string()),\n }),\n server_session_id: z.string(),\n});\n\nconst sessionUpdateSchema = z.object({\n type: z.literal(\"session_update\"),\n value: z.object({\n session: chatSessionSchema,\n }),\n server_session_id: z.string(),\n});\n\nexport const structuredSocketMessageSchema = z\n .discriminatedUnion(\"type\", [\n messageSchema,\n infoSchema,\n uiSchema,\n chatEventSchema,\n optionsSchema,\n sessionUpdateSchema,\n ])\n .and(\n z.object({\n timestamp: z.string(),\n agent: agentSchema,\n }),\n );\n\nexport const consumerSchema = z.object({\n id: z.string(),\n name: z.string().nullable(),\n created_at: z.string(),\n avatar_url: z.string().nullable(),\n email: z.string().nullable(),\n});\n\ntype AgentType = z.infer<typeof agentSchema>;\ntype ConsumerType = z.infer<typeof consumerSchema>;\ntype ChatSessionType = z.infer<typeof chatSessionSchema>;\ntype ChatSessionWithStatus = ChatSessionType & {\n isSessionClosed: boolean;\n isAssignedToAi: boolean;\n isAssignedToHuman: boolean;\n isPendingHuman: boolean;\n};\ntype StructuredSocketMessageType = z.infer<\n typeof structuredSocketMessageSchema\n>;\ntype ChatHistoryMessageType = z.infer<typeof chatHistoryMessageSchema>;\nexport type {\n AgentType,\n ConsumerType,\n ChatSessionType,\n StructuredSocketMessageType,\n ChatHistoryMessageType,\n ChatSessionWithStatus,\n};\n","import { MessageType } from \"../types/messages\";\nimport { ChatHistoryMessageType } from \"../types/schemas\";\nimport { genId } from \"./genId\";\n\nfunction mapChatHistoryToMessage(value: ChatHistoryMessageType[]) {\n const messages: MessageType[] = [];\n for (let i = 0; i < value.length; i++) {\n const msg = value[i];\n\n if (msg.from_user === true) {\n if (msg.message && msg.message.length > 0) {\n messages.push({\n type: \"FROM_USER\",\n content: msg.message,\n id: msg.publicId || genId(),\n deliveredAt: msg.created_at || \"\",\n attachments: msg.attachments,\n });\n }\n } else {\n switch (msg.type) {\n case \"message\":\n messages.push({\n type: \"FROM_BOT\",\n component: \"TEXT\",\n data: {\n message: msg.message ?? \"\",\n },\n id: msg.publicId || genId(),\n timestamp: msg.created_at || \"\",\n original: msg,\n attachments: msg.attachments,\n agent: {\n id: msg.agent_id?.toString() ?? null,\n is_ai: true,\n profile_picture: msg.agent_avatar || \"\",\n name: msg.agent_name || \"\",\n },\n });\n break;\n case \"agent_message\":\n messages.push({\n type: \"FROM_BOT\",\n component: \"TEXT\",\n data: {\n message: msg.message ?? \"\",\n },\n id: msg.publicId || genId(),\n timestamp: msg.created_at || \"\",\n original: msg,\n attachments: msg.attachments,\n agent: {\n id: msg.agent_id?.toString() ?? null,\n is_ai: false,\n name: msg.agent_name || \"\",\n profile_picture: msg.agent_avatar || \"\",\n },\n });\n break;\n default:\n messages.push({\n type: \"FROM_BOT\",\n component: \"CHAT_EVENT\",\n data: {\n event: msg.type,\n message: msg.message ?? \"\",\n },\n id: msg.publicId || genId(),\n original: msg,\n attachments: msg.attachments,\n timestamp: msg.created_at || \"\",\n agent: {\n is_ai: true,\n id: msg.agent_id?.toString() ?? null,\n name: msg.agent_name || \"\",\n profile_picture: msg.agent_avatar || \"\",\n },\n });\n }\n }\n }\n return messages;\n}\n\nexport { mapChatHistoryToMessage };\n"],"names":["genId","len","chars","id","SessionStatus","SessionChannel","AIClosureType","SentimentEnum","MessageTypeEnum","chatSessionSchema","z","chatAttachmentSchema","agentSchema","messageSchema","infoSchema","uiSchema","chatEventSchema","optionsSchema","sessionUpdateSchema","mapChatHistoryToMessage","value","messages","i","msg","_a","_b","_c"],"mappings":"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"}
|