@opencx/widget-core 5.0.0-beta.4 → 5.0.0-beta.6

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.
Files changed (50) hide show
  1. package/dist/index.cjs +5 -5
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.js +691 -348
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/context/resolve-client-presentation.d.ts.map +1 -1
  6. package/dist/src/translation/ar.d.ts.map +1 -1
  7. package/dist/src/translation/bg.d.ts.map +1 -1
  8. package/dist/src/translation/bn.d.ts.map +1 -1
  9. package/dist/src/translation/cs.d.ts.map +1 -1
  10. package/dist/src/translation/da.d.ts.map +1 -1
  11. package/dist/src/translation/de.d.ts.map +1 -1
  12. package/dist/src/translation/el.d.ts.map +1 -1
  13. package/dist/src/translation/en.d.ts.map +1 -1
  14. package/dist/src/translation/es.d.ts.map +1 -1
  15. package/dist/src/translation/et.d.ts.map +1 -1
  16. package/dist/src/translation/fi.d.ts.map +1 -1
  17. package/dist/src/translation/fil.d.ts.map +1 -1
  18. package/dist/src/translation/fr.d.ts.map +1 -1
  19. package/dist/src/translation/hi.d.ts.map +1 -1
  20. package/dist/src/translation/hr.d.ts.map +1 -1
  21. package/dist/src/translation/hu.d.ts.map +1 -1
  22. package/dist/src/translation/index.d.ts +12 -0
  23. package/dist/src/translation/index.d.ts.map +1 -1
  24. package/dist/src/translation/is.d.ts.map +1 -1
  25. package/dist/src/translation/it.d.ts.map +1 -1
  26. package/dist/src/translation/ja.d.ts.map +1 -1
  27. package/dist/src/translation/ko.d.ts.map +1 -1
  28. package/dist/src/translation/lb.d.ts.map +1 -1
  29. package/dist/src/translation/lt.d.ts.map +1 -1
  30. package/dist/src/translation/lv.d.ts.map +1 -1
  31. package/dist/src/translation/mt.d.ts.map +1 -1
  32. package/dist/src/translation/nb.d.ts.map +1 -1
  33. package/dist/src/translation/nl.d.ts.map +1 -1
  34. package/dist/src/translation/no.d.ts.map +1 -1
  35. package/dist/src/translation/pl.d.ts.map +1 -1
  36. package/dist/src/translation/pt.d.ts.map +1 -1
  37. package/dist/src/translation/ro.d.ts.map +1 -1
  38. package/dist/src/translation/ru.d.ts.map +1 -1
  39. package/dist/src/translation/sk.d.ts.map +1 -1
  40. package/dist/src/translation/sv.d.ts.map +1 -1
  41. package/dist/src/translation/th.d.ts.map +1 -1
  42. package/dist/src/translation/tr.d.ts.map +1 -1
  43. package/dist/src/translation/ur.d.ts.map +1 -1
  44. package/dist/src/translation/vi.d.ts.map +1 -1
  45. package/dist/src/translation/zh-cn.d.ts.map +1 -1
  46. package/dist/src/types/component-name.d.ts +1 -1
  47. package/dist/src/types/component-name.d.ts.map +1 -1
  48. package/dist/src/types/widget-config.d.ts +2 -0
  49. package/dist/src/types/widget-config.d.ts.map +1 -1
  50. package/package.json +4 -4
package/dist/index.js CHANGED
@@ -1,75 +1,75 @@
1
1
  import ae from "openapi-fetch";
2
2
  import te from "lodash.isequal";
3
3
  import { v4 as D } from "uuid";
4
- const Fa = (o) => o.type === "data-keepalive", Oa = (o) => o.type === "data-turn-steered", L = "[opencx]", h = {
5
- warn: (o, ...e) => {
6
- console.warn(`${L} ${o}`, ...e);
4
+ const Fa = (n) => n.type === "data-keepalive", Oa = (n) => n.type === "data-turn-steered", L = "[opencx]", h = {
5
+ warn: (n, ...e) => {
6
+ console.warn(`${L} ${n}`, ...e);
7
7
  },
8
- error: (o, ...e) => {
9
- console.error(`${L} ${o}`, ...e);
8
+ error: (n, ...e) => {
9
+ console.error(`${L} ${n}`, ...e);
10
10
  }
11
- }, se = (o) => {
12
- h.error("request failed", o.error);
13
- }, ne = (o) => {
11
+ }, se = (n) => {
12
+ h.error("request failed", n.error);
13
+ }, oe = (n) => {
14
14
  const e = ae({
15
- baseUrl: o.baseUrl
15
+ baseUrl: n.baseUrl
16
16
  }), a = {
17
- onRequest: o.onRequest,
18
- onResponse: o.onResponse,
19
- onError: o.onError || se
17
+ onRequest: n.onRequest,
18
+ onResponse: n.onResponse,
19
+ onError: n.onError || se
20
20
  };
21
21
  return e.use(a), e;
22
- }, oe = "/backend/widget/v5/chat/stream", ie = "/backend/widget/v5/chat/{sessionId}/stream", F = (o, e, a) => `${o.replace(/\/$/, "")}${a ? e.replace("{sessionId}", encodeURIComponent(a)) : e}`;
22
+ }, ne = "/backend/widget/v5/chat/stream", ie = "/backend/widget/v5/chat/{sessionId}/stream", F = (n, e, a) => `${n.replace(/\/$/, "")}${a ? e.replace("{sessionId}", encodeURIComponent(a)) : e}`;
23
23
  class O {
24
24
  constructor({ config: e }) {
25
25
  var i, _;
26
- this.userToken = null, this.constructClientOptions = (n) => {
26
+ this.userToken = null, this.constructClientOptions = (o) => {
27
27
  const t = this.config.apiUrl || "https://api.open.cx", r = {
28
28
  "X-Bot-Token": this.config.token,
29
29
  "Content-Type": "application/json",
30
30
  Accept: "application/json",
31
- Authorization: n ? `Bearer ${n}` : void 0
31
+ Authorization: o ? `Bearer ${o}` : void 0
32
32
  };
33
33
  return { baseUrl: t, headers: r };
34
34
  }, this.createOpenAPIClient = ({
35
- baseUrl: n,
35
+ baseUrl: o,
36
36
  headers: t
37
- }) => ne({
38
- baseUrl: n,
37
+ }) => oe({
38
+ baseUrl: o,
39
39
  onRequest: ({ request: r }) => {
40
40
  Object.entries(t).forEach(([c, d]) => {
41
41
  d && r.headers.set(c, d);
42
42
  });
43
43
  }
44
- }), this.setAuthToken = (n) => {
45
- this.userToken = n;
46
- const { baseUrl: t, headers: r } = this.constructClientOptions(n);
44
+ }), this.setAuthToken = (o) => {
45
+ this.userToken = o;
46
+ const { baseUrl: t, headers: r } = this.constructClientOptions(o);
47
47
  this.client = this.createOpenAPIClient({ baseUrl: t, headers: r });
48
48
  }, this.getStreamAuthContext = () => {
49
- const { baseUrl: n, headers: t } = this.constructClientOptions(this.userToken), r = {};
49
+ const { baseUrl: o, headers: t } = this.constructClientOptions(this.userToken), r = {};
50
50
  for (const [c, d] of Object.entries(t))
51
51
  typeof d == "string" && (["content-type", "accept"].includes(c.toLowerCase()) || (r[c] = d));
52
- return { baseUrl: n, headers: r };
52
+ return { baseUrl: o, headers: r };
53
53
  }, this.getStreamTransportOptions = () => {
54
- const { baseUrl: n, headers: t } = this.getStreamAuthContext();
54
+ const { baseUrl: o, headers: t } = this.getStreamAuthContext();
55
55
  return {
56
- api: F(n, oe),
57
- reconnectApi: (r) => F(n, ie, r),
56
+ api: F(o, ne),
57
+ reconnectApi: (r) => F(o, ie, r),
58
58
  headers: t
59
59
  };
60
- }, this.stopStream = async (n) => {
60
+ }, this.stopStream = async (o) => {
61
61
  const { response: t } = await this.client.POST(
62
62
  "/backend/widget/v5/chat/{sessionId}/stop",
63
- { params: { path: { sessionId: n } } }
63
+ { params: { path: { sessionId: o } } }
64
64
  );
65
65
  if (!t.ok)
66
66
  throw new Error(`Failed to stop stream: ${t.status}`);
67
- }, this.getAgentTurnMessages = async (n, t) => {
67
+ }, this.getAgentTurnMessages = async (o, t) => {
68
68
  const { data: r, response: c } = await this.client.GET(
69
69
  "/backend/widget/v5/chat/{sessionId}/messages",
70
70
  {
71
71
  params: {
72
- path: { sessionId: n },
72
+ path: { sessionId: o },
73
73
  query: {
74
74
  toolActivity: t == null ? void 0 : t.toolActivity,
75
75
  reasoning: (t == null ? void 0 : t.reasoning) === void 0 ? void 0 : t.reasoning ? "true" : "false"
@@ -79,11 +79,11 @@ class O {
79
79
  );
80
80
  return r || (h.warn("agent turn messages fetch failed", c.status), null);
81
81
  }, this.createDictationSession = async ({
82
- language: n
82
+ language: o
83
83
  }) => {
84
84
  const { data: t, response: r } = await this.client.POST(
85
85
  "/backend/widget/v5/dictation/sessions",
86
- { body: n ? { language: n } : {} }
86
+ { body: o ? { language: o } : {} }
87
87
  );
88
88
  if (!t)
89
89
  throw new Error(`Failed to start dictation: ${r.status}`);
@@ -92,44 +92,44 @@ class O {
92
92
  params: {
93
93
  header: { "x-bot-token": this.config.token }
94
94
  }
95
- }), this.sendMessage = async (n, t) => await this.client.POST("/backend/widget/v2/chat/send", {
96
- body: n,
95
+ }), this.sendMessage = async (o, t) => await this.client.POST("/backend/widget/v2/chat/send", {
96
+ body: o,
97
97
  signal: t
98
- }), this.createUnverifiedContact = async (n) => await this.client.POST(
98
+ }), this.createUnverifiedContact = async (o) => await this.client.POST(
99
99
  "/backend/widget/v2/contact/create-unverified",
100
100
  {
101
101
  params: { header: { "x-bot-token": this.config.token } },
102
- body: n
102
+ body: o
103
103
  }
104
- ), this.createSession = async (n, t) => await this.client.POST("/backend/widget/v2/create-session", {
105
- body: n,
104
+ ), this.createSession = async (o, t) => await this.client.POST("/backend/widget/v2/create-session", {
105
+ body: o,
106
106
  signal: t
107
107
  }), this.pollSessionAndHistory = async ({
108
- sessionId: n,
108
+ sessionId: o,
109
109
  abortSignal: t
110
110
  }) => await this.client.GET("/backend/widget/v2/poll/{sessionId}", {
111
- params: { path: { sessionId: n } },
111
+ params: { path: { sessionId: o } },
112
112
  signal: t
113
113
  }), this.getSessions = async ({
114
- cursor: n,
114
+ cursor: o,
115
115
  filters: t,
116
116
  abortSignal: r
117
117
  }) => await this.client.GET("/backend/widget/v2/sessions", {
118
118
  params: {
119
119
  query: {
120
- offset: n,
120
+ offset: o,
121
121
  filters: JSON.stringify(t)
122
122
  }
123
123
  },
124
124
  signal: r
125
125
  }), this.uploadFile = async ({
126
- file: n,
126
+ file: o,
127
127
  abortSignal: t,
128
128
  onProgress: r
129
129
  }) => new Promise((c, d) => {
130
- var f;
130
+ var v;
131
131
  const l = new FormData();
132
- l.append("file", n);
132
+ l.append("file", o);
133
133
  const p = new XMLHttpRequest();
134
134
  if (t && (t.addEventListener("abort", () => {
135
135
  p.abort(), d(new DOMException("Aborted", "AbortError"));
@@ -158,21 +158,21 @@ class O {
158
158
  d(new Error("Upload timed out"));
159
159
  });
160
160
  const { baseUrl: u } = this.constructClientOptions(this.userToken), g = `${u}/backend/widget/v2/upload`;
161
- p.open("POST", g), p.setRequestHeader("X-Bot-Token", this.config.token), this.userToken ?? ((f = this.config.user) == null ? void 0 : f.token) ? p.setRequestHeader("Authorization", `Bearer ${this.userToken}`) : h.error("user token not set"), p.send(l);
162
- }), this.vote = async (n) => await this.client.POST("/backend/widget/v2/chat/vote", { body: n }), this.resolveSession = async (n, t) => await this.client.POST("/backend/widget/v2/session/resolve", {
163
- body: n,
161
+ p.open("POST", g), p.setRequestHeader("X-Bot-Token", this.config.token), this.userToken ?? ((v = this.config.user) == null ? void 0 : v.token) ? p.setRequestHeader("Authorization", `Bearer ${this.userToken}`) : h.error("user token not set"), p.send(l);
162
+ }), this.vote = async (o) => await this.client.POST("/backend/widget/v2/chat/vote", { body: o }), this.resolveSession = async (o, t) => await this.client.POST("/backend/widget/v2/session/resolve", {
163
+ body: o,
164
164
  signal: t
165
- }), this.createStateCheckpoint = async (n) => await this.client.POST("/backend/widget/v2/checkpoint", {
166
- body: n
167
- }), this.submitCsat = async (n) => await this.client.POST("/backend/widget/v2/submit-csat", { body: n }), this.config = e, this.userToken = ((i = e.user) == null ? void 0 : i.token) || null;
165
+ }), this.createStateCheckpoint = async (o) => await this.client.POST("/backend/widget/v2/checkpoint", {
166
+ body: o
167
+ }), this.submitCsat = async (o) => await this.client.POST("/backend/widget/v2/submit-csat", { body: o }), this.config = e, this.userToken = ((i = e.user) == null ? void 0 : i.token) || null;
168
168
  const { baseUrl: a, headers: s } = this.constructClientOptions(
169
169
  (_ = e.user) == null ? void 0 : _.token
170
170
  );
171
171
  this.client = this.createOpenAPIClient({ baseUrl: a, headers: s });
172
172
  }
173
173
  }
174
- function re(o, e) {
175
- h.error(`missing case for ${o} in ${e}`);
174
+ function re(n, e) {
175
+ h.error(`missing case for ${n} in ${e}`);
176
176
  }
177
177
  class j {
178
178
  constructor(e) {
@@ -197,7 +197,7 @@ class j {
197
197
  }), this.state = e, this.initialState = e;
198
198
  }
199
199
  }
200
- class G {
200
+ class Z {
201
201
  constructor() {
202
202
  this.state = new j({
203
203
  isPolling: !1,
@@ -226,9 +226,9 @@ class G {
226
226
  };
227
227
  }
228
228
  }
229
- function W(o) {
229
+ function G(n) {
230
230
  try {
231
- const e = o();
231
+ const e = n();
232
232
  return e instanceof Promise ? e.then((a) => ({ data: a })).catch((a) => ({ error: a })) : { data: e };
233
233
  } catch (e) {
234
234
  return { error: e };
@@ -242,16 +242,16 @@ class _e {
242
242
  messageCtx: i,
243
243
  sessionPollingIntervalSeconds: _
244
244
  }) {
245
- this.poller = new G(), this.fetchSessionAndFullHistoryAbortController = new AbortController(), this.reconcileAbortController = new AbortController(), this.reconcilingSessionId = null, this.registerPolling = () => {
246
- this.sessionCtx.sessionState.subscribe(({ session: n }) => {
247
- n != null && n.id ? this.poller.startPolling(async (t) => {
248
- this.fetchSessionAndHistory({ sessionId: n.id, abortSignal: t });
245
+ this.poller = new Z(), this.fetchSessionAndFullHistoryAbortController = new AbortController(), this.reconcileAbortController = new AbortController(), this.reconcilingSessionId = null, this.registerPolling = () => {
246
+ this.sessionCtx.sessionState.subscribe(({ session: o }) => {
247
+ o != null && o.id ? this.poller.startPolling(async (t) => {
248
+ this.fetchSessionAndHistory({ sessionId: o.id, abortSignal: t });
249
249
  }, this.sessionPollingIntervalSeconds * 1e3) : this.poller.reset();
250
- }), this.sessionCtx.sessionState.subscribe(({ session: n }) => {
251
- if (n != null && n.id && !n.isOpened)
250
+ }), this.sessionCtx.sessionState.subscribe(({ session: o }) => {
251
+ if (o != null && o.id && !o.isOpened)
252
252
  try {
253
253
  this.fetchSessionAndFullHistoryAbortController = new AbortController(), this.fetchSessionAndHistory({
254
- sessionId: n.id,
254
+ sessionId: o.id,
255
255
  abortSignal: this.fetchSessionAndFullHistoryAbortController.signal
256
256
  });
257
257
  } catch (t) {
@@ -259,28 +259,28 @@ class _e {
259
259
  }
260
260
  else
261
261
  this.fetchSessionAndFullHistoryAbortController.abort();
262
- }), this.sessionCtx.sessionState.subscribe(({ session: n }) => {
263
- this.reconcilingSessionId !== null && (n == null ? void 0 : n.id) !== this.reconcilingSessionId && this.reconcileAbortController.abort();
262
+ }), this.sessionCtx.sessionState.subscribe(({ session: o }) => {
263
+ this.reconcilingSessionId !== null && (o == null ? void 0 : o.id) !== this.reconcilingSessionId && this.reconcileAbortController.abort();
264
264
  });
265
- }, this.reconcileAfterStream = async (n) => {
265
+ }, this.reconcileAfterStream = async (o) => {
266
266
  this.reconcileAbortController.abort(), this.reconcileAbortController = new AbortController();
267
267
  const { signal: t } = this.reconcileAbortController;
268
- this.reconcilingSessionId = n;
268
+ this.reconcilingSessionId = o;
269
269
  try {
270
- await this.fetchSessionAndHistory({ sessionId: n, abortSignal: t });
270
+ await this.fetchSessionAndHistory({ sessionId: o, abortSignal: t });
271
271
  } catch (r) {
272
272
  if (!t.aborted) throw r;
273
273
  } finally {
274
- this.reconcilingSessionId === n && (this.reconcilingSessionId = null);
274
+ this.reconcilingSessionId === o && (this.reconcilingSessionId = null);
275
275
  }
276
276
  }, this.fetchSessionAndHistory = async ({
277
- sessionId: n,
277
+ sessionId: o,
278
278
  abortSignal: t
279
279
  }) => {
280
280
  const r = this.messageCtx.state.get().messages.length === 0;
281
281
  r && this.messageCtx.state.setPartial({ isInitialFetchLoading: !0 });
282
282
  const { data: c } = await this.api.pollSessionAndHistory({
283
- sessionId: n,
283
+ sessionId: o,
284
284
  abortSignal: t
285
285
  });
286
286
  if (c != null && c.session && (this.sessionCtx.sessionState.setPartial({ session: c.session }), this.sessionCtx.setSessions([c.session])), c != null && c.history && c.history.length > 0) {
@@ -299,41 +299,41 @@ class _e {
299
299
  this.messageCtx.dispatchToOnMessageReceivedHook(p);
300
300
  }
301
301
  this.messageCtx.state.get().isInitialFetchLoading && this.messageCtx.state.setPartial({ isInitialFetchLoading: !1 });
302
- }, this.mapHistoryToMessage = (n) => {
302
+ }, this.mapHistoryToMessage = (o) => {
303
303
  var r;
304
304
  const t = {
305
- id: n.publicId,
306
- timestamp: n.sentAt || "",
307
- attachments: n.attachments || void 0
305
+ id: o.publicId,
306
+ timestamp: o.sentAt || "",
307
+ attachments: o.attachments || void 0
308
308
  };
309
- if (n.sender.kind === "user")
309
+ if (o.sender.kind === "user")
310
310
  return {
311
311
  ...t,
312
312
  type: "USER",
313
- content: n.content.text || "",
313
+ content: o.content.text || "",
314
314
  // Backend field name (schema.ts) → widget vocabulary.
315
- markedElements: n.pickedElements
315
+ markedElements: o.pickedElements
316
316
  };
317
- if (n.sender.kind === "agent")
317
+ if (o.sender.kind === "agent")
318
318
  return {
319
319
  ...t,
320
320
  type: "AGENT",
321
321
  component: "agent_message",
322
322
  data: {
323
- message: n.content.text || ""
323
+ message: o.content.text || ""
324
324
  },
325
325
  agent: {
326
- name: n.sender.name || "",
326
+ name: o.sender.name || "",
327
327
  // Do not set avatarUrl from config here... let it be taken from the config at render time
328
328
  // Only set avatar url from the backend's response
329
- avatarUrl: n.sender.avatar || null,
330
- avatar: n.sender.avatar || null,
329
+ avatarUrl: o.sender.avatar || null,
330
+ avatar: o.sender.avatar || null,
331
331
  id: null,
332
332
  isAi: !1
333
333
  }
334
334
  };
335
- if (n.sender.kind === "ai") {
336
- const c = n.actionCalls && n.actionCalls.length > 0 ? n.actionCalls[n.actionCalls.length - 1] : void 0;
335
+ if (o.sender.kind === "ai") {
336
+ const c = o.actionCalls && o.actionCalls.length > 0 ? o.actionCalls[o.actionCalls.length - 1] : void 0;
337
337
  return {
338
338
  ...t,
339
339
  type: "AI",
@@ -347,7 +347,7 @@ class _e {
347
347
  avatar: null
348
348
  },
349
349
  data: {
350
- message: n.content.text || "",
350
+ message: o.content.text || "",
351
351
  action: c ? {
352
352
  name: c.actionName,
353
353
  data: this.extractActionResult(c)
@@ -355,62 +355,62 @@ class _e {
355
355
  }
356
356
  };
357
357
  }
358
- if (n.sender.kind === "system") {
359
- const c = this.constructSystemMessage(n);
358
+ if (o.sender.kind === "system") {
359
+ const c = this.constructSystemMessage(o);
360
360
  return c === null ? null : { ...c };
361
361
  }
362
362
  return null;
363
- }, this.constructSystemMessage = (n) => {
364
- if (!n || !n.systemMessagePayload) return null;
365
- switch (n.systemMessagePayload.type) {
363
+ }, this.constructSystemMessage = (o) => {
364
+ if (!o || !o.systemMessagePayload) return null;
365
+ switch (o.systemMessagePayload.type) {
366
366
  case "state_checkpoint":
367
367
  return {
368
- id: n.publicId,
368
+ id: o.publicId,
369
369
  type: "SYSTEM",
370
370
  subtype: "state_checkpoint",
371
- data: { payload: n.systemMessagePayload.payload },
372
- timestamp: n.sentAt || "",
371
+ data: { payload: o.systemMessagePayload.payload },
372
+ timestamp: o.sentAt || "",
373
373
  attachments: void 0
374
374
  };
375
375
  case "csat_requested":
376
376
  return {
377
- id: n.publicId,
377
+ id: o.publicId,
378
378
  type: "SYSTEM",
379
379
  subtype: "csat_requested",
380
380
  data: { payload: void 0 },
381
- timestamp: n.sentAt || "",
381
+ timestamp: o.sentAt || "",
382
382
  attachments: void 0
383
383
  };
384
384
  case "csat_submitted":
385
385
  return {
386
- id: n.publicId,
386
+ id: o.publicId,
387
387
  type: "SYSTEM",
388
388
  subtype: "csat_submitted",
389
389
  data: {
390
390
  payload: {
391
- score: n.systemMessagePayload.payload.score ?? void 0,
392
- feedback: n.systemMessagePayload.payload.feedback ?? void 0
391
+ score: o.systemMessagePayload.payload.score ?? void 0,
392
+ feedback: o.systemMessagePayload.payload.feedback ?? void 0
393
393
  }
394
394
  },
395
- timestamp: n.sentAt || "",
395
+ timestamp: o.sentAt || "",
396
396
  attachments: void 0
397
397
  };
398
398
  case "none":
399
399
  return null;
400
400
  default:
401
401
  return re(
402
- n.systemMessagePayload,
402
+ o.systemMessagePayload,
403
403
  this.constructSystemMessage.name
404
404
  ), null;
405
405
  }
406
- }, this.extractActionResult = (n) => {
407
- const t = n.result;
406
+ }, this.extractActionResult = (o) => {
407
+ const t = o.result;
408
408
  if (t === null || typeof t != "object") return t;
409
409
  if ("responseBodyText" in t && typeof t.responseBodyText == "string") {
410
- const r = t.responseBodyText, c = W(() => JSON.parse(r)).data;
410
+ const r = t.responseBodyText, c = G(() => JSON.parse(r)).data;
411
411
  if (c) return c;
412
412
  }
413
- return n.result;
413
+ return o.result;
414
414
  }, this.api = e, this.config = a, this.sessionCtx = s, this.messageCtx = i, this.sessionPollingIntervalSeconds = _, this.registerPolling();
415
415
  }
416
416
  }
@@ -425,9 +425,9 @@ class le {
425
425
  var _;
426
426
  return !!(!((_ = this.state.get().contact) != null && _.token) && this.config.collectUserData);
427
427
  }, this.autoCreateUnverifiedUserIfNotExists = async () => {
428
- var _, n, t, r, c, d, l, p, u, m, g, b, f, k;
428
+ var _, o, t, r, c, d, l, p, u, m, g, b, v, k;
429
429
  if (!((_ = this.config.user) != null && _.token)) {
430
- if (this.config.collectUserData && !((t = (n = this.config.user) == null ? void 0 : n.data) != null && t.email)) {
430
+ if (this.config.collectUserData && !((t = (o = this.config.user) == null ? void 0 : o.data) != null && t.email)) {
431
431
  if ((r = this.config.extraDataCollectionFields) != null && r.length)
432
432
  return;
433
433
  const y = await ((c = this.storageCtx) == null ? void 0 : c.getContactToken());
@@ -444,11 +444,11 @@ class le {
444
444
  await this.createUnverifiedContact({
445
445
  email: (m = (u = this.config.user) == null ? void 0 : u.data) == null ? void 0 : m.email,
446
446
  non_verified_name: (b = (g = this.config.user) == null ? void 0 : g.data) == null ? void 0 : b.name,
447
- non_verified_custom_data: (k = (f = this.config.user) == null ? void 0 : f.data) == null ? void 0 : k.customData
447
+ non_verified_custom_data: (k = (v = this.config.user) == null ? void 0 : v.data) == null ? void 0 : k.customData
448
448
  });
449
449
  }
450
- }, this.createUnverifiedContact = async (_, n) => {
451
- this.state.setPartial({ extraCollectedData: n });
450
+ }, this.createUnverifiedContact = async (_, o) => {
451
+ this.state.setPartial({ extraCollectedData: o });
452
452
  try {
453
453
  this.state.setPartial({
454
454
  isCreatingUnverifiedContact: !0,
@@ -464,11 +464,11 @@ class le {
464
464
  this.state.setPartial({ isCreatingUnverifiedContact: !1 });
465
465
  }
466
466
  }, this.recoverFromStaleToken = async () => {
467
- var _, n, t, r, c, d, l, p, u, m;
467
+ var _, o, t, r, c, d, l, p, u, m;
468
468
  if ((_ = this.config.user) != null && _.token) return !1;
469
469
  this.api.setAuthToken(""), this.state.setPartial({ contact: null });
470
470
  try {
471
- await ((n = this.storageCtx) == null ? void 0 : n.clearContactToken()), await ((t = this.storageCtx) == null ? void 0 : t.clearActiveSessionId());
471
+ await ((o = this.storageCtx) == null ? void 0 : o.clearContactToken()), await ((t = this.storageCtx) == null ? void 0 : t.clearActiveSessionId());
472
472
  } catch (g) {
473
473
  h.warn("failed to clear a stale contact token", {
474
474
  error: g instanceof Error ? g.message : String(g)
@@ -481,7 +481,7 @@ class le {
481
481
  }), !!((m = this.state.get().contact) != null && m.token);
482
482
  }, this.setUnverifiedContact = async (_) => {
483
483
  var r, c, d, l;
484
- const n = await ((r = this.storageCtx) == null ? void 0 : r.getExternalContactId()), t = ((c = this.config.user) == null ? void 0 : c.externalId) || n || D();
484
+ const o = await ((r = this.storageCtx) == null ? void 0 : r.getExternalContactId()), t = ((c = this.config.user) == null ? void 0 : c.externalId) || o || D();
485
485
  this.api.setAuthToken(_), await ((d = this.storageCtx) == null ? void 0 : d.setContactToken(_)), await ((l = this.storageCtx) == null ? void 0 : l.setExternalContactId(t)), this.state.setPartial({ contact: { token: _, externalId: t } });
486
486
  }, this.config = e, this.storageCtx = s, this.api = a, this.state = new j({
487
487
  contact: (i = e.user) != null && i.token ? {
@@ -544,7 +544,7 @@ class ce {
544
544
  }
545
545
  }
546
546
  }
547
- function z() {
547
+ function x() {
548
548
  return D();
549
549
  }
550
550
  class pe {
@@ -558,12 +558,12 @@ class pe {
558
558
  const _ = (c = this.sessionCtx.sessionState.get().session) == null ? void 0 : c.id;
559
559
  if (!_)
560
560
  return { data: null, error: "No session id found" };
561
- const n = z();
561
+ const o = x();
562
562
  this.messageCtx.state.setPartial({
563
563
  messages: [
564
564
  ...this.messageCtx.state.get().messages,
565
565
  {
566
- id: n,
566
+ id: o,
567
567
  type: "SYSTEM",
568
568
  subtype: "csat_submitted",
569
569
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
@@ -578,7 +578,7 @@ class pe {
578
578
  });
579
579
  const { data: t, error: r } = await this.api.submitCsat({
580
580
  ...i,
581
- system_message_uuid: n,
581
+ system_message_uuid: o,
582
582
  session_id: _
583
583
  });
584
584
  return { data: t, error: r };
@@ -668,16 +668,16 @@ const de = [
668
668
  "pt",
669
669
  "it"
670
670
  ];
671
- function me(o) {
672
- return ue.includes(o);
671
+ function me(n) {
672
+ return ue.includes(n);
673
673
  }
674
- function he(o) {
675
- return o.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
674
+ function he(n) {
675
+ return n.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
676
676
  }
677
- function ge(o) {
677
+ function ge(n) {
678
678
  const e = de.flatMap(
679
- (i) => o.flatMap(
680
- (_) => i.phrases[_].map((n) => ({ phrase: n, action: i.action }))
679
+ (i) => n.flatMap(
680
+ (_) => i.phrases[_].map((o) => ({ phrase: o, action: i.action }))
681
681
  )
682
682
  ), a = e.map((i) => he(i.phrase)).sort((i, _) => _.length - i.length).join("|"), s = String.raw`(?<=^\s{0,3}|[.!?\n]\s{0,3})`;
683
683
  return {
@@ -696,13 +696,13 @@ function ge(o) {
696
696
  };
697
697
  }
698
698
  const U = /* @__PURE__ */ new Map();
699
- function T(o) {
700
- const e = o && me(o) && o !== "en" ? o : null, a = e ?? "en";
699
+ function T(n) {
700
+ const e = n && me(n) && n !== "en" ? n : null, a = e ?? "en";
701
701
  let s = U.get(a);
702
702
  return s || (s = ge(e ? ["en", e] : ["en"]), U.set(a, s)), s;
703
703
  }
704
- function ke(o) {
705
- const e = o.replace(/\s+$/, "");
704
+ function ke(n) {
705
+ const e = n.replace(/\s+$/, "");
706
706
  if (!e) return "";
707
707
  const a = e.replace(/[.!?]+$/, "");
708
708
  let s = -1;
@@ -721,14 +721,14 @@ const be = new RegExp(
721
721
  String.raw`(^- |\n(?:- )?)(\p{Ll})`,
722
722
  "gu"
723
723
  );
724
- function fe(o) {
725
- return o.replace(
724
+ function ve(n) {
725
+ return n.replace(
726
726
  be,
727
727
  (e, a, s) => a + s.toUpperCase()
728
728
  );
729
729
  }
730
- function ve(o) {
731
- return o.length <= 3 && /^\s*$/.test(o) ? !0 : /[.!?\n]\s{0,3}$/.test(o.slice(-6));
730
+ function fe(n) {
731
+ return n.length <= 3 && /^\s*$/.test(n) ? !0 : /[.!?\n]\s{0,3}$/.test(n.slice(-6));
732
732
  }
733
733
  class C {
734
734
  /**
@@ -737,9 +737,9 @@ class C {
737
737
  * result never depends on delta chunking.
738
738
  */
739
739
  static process(e, a) {
740
- const s = T(a == null ? void 0 : a.language), i = a != null && a.final ? "" : C.commandPrefixTail(e, a == null ? void 0 : a.language), _ = e.slice(0, e.length - i.length), n = a != null && a.final ? s.finalRegex : s.regex;
740
+ const s = T(a == null ? void 0 : a.language), i = a != null && a.final ? "" : C.commandPrefixTail(e, a == null ? void 0 : a.language), _ = e.slice(0, e.length - i.length), o = a != null && a.final ? s.finalRegex : s.regex;
741
741
  let t = "", r = null, c = 0;
742
- for (const l of Array.from(_.matchAll(n))) {
742
+ for (const l of Array.from(_.matchAll(o))) {
743
743
  const [, p = ""] = l, u = s.phraseToAction.get(p.toLowerCase());
744
744
  if (u)
745
745
  if (t += _.slice(c, l.index), c = l.index + l[0].length, u === "newline") t = `${t.replace(/[ \t]+$/, "")}
@@ -759,7 +759,7 @@ class C {
759
759
  break;
760
760
  }
761
761
  }
762
- return r === null && (t += _.slice(c)), { text: fe(
762
+ return r === null && (t += _.slice(c)), { text: ve(
763
763
  t.replace(/^\s+/, "").replace(/[ \t]+\n/g, `
764
764
  `).replace(/\n[ \t]+/g, `
765
765
  `).replace(/(^|\n)- +/g, "$1- ").replace(/ {2,}/g, " ").replace(/\n{3,}/g, `
@@ -779,13 +779,13 @@ class C {
779
779
  static commandPrefixTail(e, a) {
780
780
  const s = T(a), i = Math.min(e.length, s.longestPhrase + 2);
781
781
  for (let _ = i; _ > 0; _--) {
782
- const n = e.length - _;
783
- if (!ve(e.slice(0, n))) continue;
784
- const t = e.slice(n).toLowerCase(), r = t.replace(/^\s+/, "");
782
+ const o = e.length - _;
783
+ if (!fe(e.slice(0, o))) continue;
784
+ const t = e.slice(o).toLowerCase(), r = t.replace(/^\s+/, "");
785
785
  if (r) {
786
786
  for (const c of Array.from(s.phraseToAction.keys()))
787
787
  if (c.startsWith(r))
788
- return e.slice(n + (t.length - r.length));
788
+ return e.slice(o + (t.length - r.length));
789
789
  }
790
790
  }
791
791
  return "";
@@ -831,7 +831,7 @@ class B {
831
831
  }
832
832
  }
833
833
  const je = 2e4;
834
- class Se {
834
+ class ze {
835
835
  constructor() {
836
836
  this.cached = null, this.inflight = null;
837
837
  }
@@ -856,22 +856,22 @@ class Se {
856
856
  this.cached = null;
857
857
  }
858
858
  }
859
- function V(o) {
860
- return typeof o == "object" && o !== null && !Array.isArray(o);
859
+ function V(n) {
860
+ return typeof n == "object" && n !== null && !Array.isArray(n);
861
861
  }
862
- function xe(o) {
863
- if (!V(o) || typeof o.type != "string") return null;
864
- const e = V(o.error) ? o.error : null;
862
+ function Se(n) {
863
+ if (!V(n) || typeof n.type != "string") return null;
864
+ const e = V(n.error) ? n.error : null;
865
865
  return {
866
- type: o.type,
867
- delta: typeof o.delta == "string" ? o.delta : void 0,
866
+ type: n.type,
867
+ delta: typeof n.delta == "string" ? n.delta : void 0,
868
868
  errorMessage: e && typeof e.message == "string" ? e.message : void 0
869
869
  };
870
870
  }
871
- const ze = "https://api.openai.com/v1/realtime/calls", Ce = 10 * 60 * 1e3, qe = 15e3, Ee = 5e3;
872
- class A extends Error {
871
+ const xe = "https://api.openai.com/v1/realtime/calls", Ce = 600 * 1e3, qe = 15e3, Ae = 5e3;
872
+ class E extends Error {
873
873
  }
874
- class Ae {
874
+ class Ee {
875
875
  constructor({
876
876
  mintToken: e,
877
877
  onDelta: a,
@@ -903,13 +903,13 @@ class Ae {
903
903
  const i = new RTCPeerConnection();
904
904
  this.pc = i;
905
905
  const [_] = a.getAudioTracks();
906
- if (!_) throw new A("No audio track");
906
+ if (!_) throw new E("No audio track");
907
907
  i.addTrack(_, a);
908
- const n = i.createDataChannel("oai-events");
909
- this.dc = n, n.addEventListener(
908
+ const o = i.createDataChannel("oai-events");
909
+ this.dc = o, o.addEventListener(
910
910
  "message",
911
911
  (d) => this.handleServerEvent(d.data)
912
- ), n.addEventListener("open", () => {
912
+ ), o.addEventListener("open", () => {
913
913
  this.state === "connecting" && this.setState("listening");
914
914
  }), i.addEventListener("connectionstatechange", () => {
915
915
  if (i.connectionState === "failed") {
@@ -919,12 +919,12 @@ class Ae {
919
919
  i.connectionState === "disconnected" && this.timers.push(
920
920
  setTimeout(() => {
921
921
  this.pc === i && i.connectionState !== "connected" && this.fail("unavailable");
922
- }, Ee)
922
+ }, Ae)
923
923
  );
924
924
  });
925
925
  const t = await i.createOffer();
926
926
  await i.setLocalDescription(t);
927
- const r = await fetch(ze, {
927
+ const r = await fetch(xe, {
928
928
  method: "POST",
929
929
  headers: {
930
930
  Authorization: `Bearer ${s.token}`,
@@ -938,7 +938,7 @@ class Ae {
938
938
  if (this.isTornDown()) return;
939
939
  await i.setRemoteDescription({ type: "answer", sdp: c });
940
940
  } catch (e) {
941
- e instanceof A ? this.fail("microphone") : (h.error("dictation session failed to start", {
941
+ e instanceof E ? this.fail("microphone") : (h.error("dictation session failed to start", {
942
942
  _e: e instanceof Error ? e.message : String(e)
943
943
  }), this.fail("unavailable"));
944
944
  }
@@ -950,7 +950,7 @@ class Ae {
950
950
  async requestMicrophone() {
951
951
  var e;
952
952
  if (!((e = navigator.mediaDevices) != null && e.getUserMedia))
953
- throw new A("Microphone is not supported");
953
+ throw new E("Microphone is not supported");
954
954
  try {
955
955
  return await navigator.mediaDevices.getUserMedia({
956
956
  audio: {
@@ -960,7 +960,7 @@ class Ae {
960
960
  }
961
961
  });
962
962
  } catch (a) {
963
- throw new A(
963
+ throw new E(
964
964
  a instanceof DOMException ? a.name : "Could not access the microphone"
965
965
  );
966
966
  }
@@ -976,7 +976,7 @@ class Ae {
976
976
  }));
977
977
  return;
978
978
  }
979
- const s = xe(a);
979
+ const s = Se(a);
980
980
  if (!s) return;
981
981
  const { type: i, delta: _ } = s;
982
982
  if (i === "session.created" || i === "transcription_session.created") {
@@ -998,7 +998,7 @@ class Ae {
998
998
  this.audioContext = a;
999
999
  const s = a.createMediaStreamSource(e), i = a.createAnalyser();
1000
1000
  i.fftSize = 512, s.connect(i);
1001
- const _ = new Uint8Array(i.frequencyBinCount), n = () => {
1001
+ const _ = new Uint8Array(i.frequencyBinCount), o = () => {
1002
1002
  var c;
1003
1003
  i.getByteTimeDomainData(_);
1004
1004
  let t = 0;
@@ -1007,9 +1007,9 @@ class Ae {
1007
1007
  t += l * l;
1008
1008
  }
1009
1009
  const r = Math.sqrt(t / _.length);
1010
- (c = this.onLevel) == null || c.call(this, Math.min(1, r * 4)), this.levelRaf = requestAnimationFrame(n);
1010
+ (c = this.onLevel) == null || c.call(this, Math.min(1, r * 4)), this.levelRaf = requestAnimationFrame(o);
1011
1011
  };
1012
- this.levelRaf = requestAnimationFrame(n);
1012
+ this.levelRaf = requestAnimationFrame(o);
1013
1013
  } catch (a) {
1014
1014
  h.error("dictation level meter unavailable", {
1015
1015
  _e: a instanceof Error ? a.message : String(a)
@@ -1037,7 +1037,7 @@ class Ae {
1037
1037
  const Pe = 1300, Te = { status: "idle", error: null };
1038
1038
  class Me {
1039
1039
  constructor({ api: e, config: a }) {
1040
- this.state = new j(Te), this.levelRef = { current: 0 }, this.mintCache = new Se(), this.session = null, this.target = null, this.prefix = "", this.raw = "", this.processed = "", this.displayed = "", this.dripTimer = null, this.silenceTimer = null, this.isActive = () => this.session !== null, this.prewarm = () => {
1040
+ this.state = new j(Te), this.levelRef = { current: 0 }, this.mintCache = new ze(), this.session = null, this.target = null, this.prefix = "", this.raw = "", this.processed = "", this.displayed = "", this.dripTimer = null, this.silenceTimer = null, this.isActive = () => this.session !== null, this.prewarm = () => {
1041
1041
  this.mintToken().catch((s) => {
1042
1042
  this.mintCache.clear(), h.error("dictation token prewarm failed", {
1043
1043
  _e: s instanceof Error ? s.message : String(s)
@@ -1047,7 +1047,7 @@ class Me {
1047
1047
  this.session && this.teardown(), this.target = s, this.language = B.languageHint(
1048
1048
  this.config.language ?? navigator.language
1049
1049
  ), this.prefix = s.getValue(), this.raw = "", this.processed = "", this.displayed = "";
1050
- const i = new Ae({
1050
+ const i = new Ee({
1051
1051
  mintToken: this.mintToken,
1052
1052
  onLevel: (_) => {
1053
1053
  this.levelRef.current = _;
@@ -1065,12 +1065,12 @@ class Me {
1065
1065
  return;
1066
1066
  }
1067
1067
  this.raw += _;
1068
- const n = this.ingest();
1069
- if (n === "stop") {
1068
+ const o = this.ingest();
1069
+ if (o === "stop") {
1070
1070
  this.teardown();
1071
1071
  return;
1072
1072
  }
1073
- if (n === "send") {
1073
+ if (o === "send") {
1074
1074
  this.teardown({ send: !0 });
1075
1075
  return;
1076
1076
  }
@@ -1130,8 +1130,8 @@ class Me {
1130
1130
  this.dripTimer && clearInterval(this.dripTimer), this.dripTimer = null, this.stopSilenceTimer();
1131
1131
  let i = (e == null ? void 0 : e.send) ?? !1;
1132
1132
  if (s && this.isConsistent()) {
1133
- const n = this.ingest({ final: !0 });
1134
- (e == null ? void 0 : e.executeFinalCommand) !== !1 && n === "send" && (i = !0), this.processed !== this.displayed && this.applyDisplayed(this.processed);
1133
+ const o = this.ingest({ final: !0 });
1134
+ (e == null ? void 0 : e.executeFinalCommand) !== !1 && o === "send" && (i = !0), this.processed !== this.displayed && this.applyDisplayed(this.processed);
1135
1135
  }
1136
1136
  this.session = null, this.target = null, a == null || a.stop(), this.levelRef.current = 0, this.state.set({ status: "idle", error: (e == null ? void 0 : e.error) ?? null }), i && ((_ = s == null ? void 0 : s.onSend) == null || _.call(s));
1137
1137
  }
@@ -1235,7 +1235,16 @@ const Ie = {
1235
1235
  questions_next: "التالي",
1236
1236
  questions_send: "إرسال",
1237
1237
  questions_type_answer: "سأكتبها بنفسي",
1238
- questions_answer_placeholder: "اكتب إجابتك…"
1238
+ questions_answer_placeholder: "اكتب إجابتك…",
1239
+ close_conversation_title: "إغلاق المحادثة",
1240
+ close_conversation_description: "هل أنت متأكد أنك تريد إغلاق هذه المحادثة؟",
1241
+ close_conversation_cancel: "لا",
1242
+ close_conversation_confirm: "نعم",
1243
+ dialog_close: "إغلاق",
1244
+ zoom_in: "تكبير",
1245
+ zoom_out: "تصغير",
1246
+ reset_zoom: "إعادة تعيين التكبير",
1247
+ support_chat_aria_label: "دردشة الدعم"
1239
1248
  }, De = {
1240
1249
  write_a_message_placeholder: "একটি বার্তা লিখুন...",
1241
1250
  your_issue_has_been_resolved: "আপনার সমস্যা সমাধান হয়েছে!",
@@ -1323,7 +1332,16 @@ const Ie = {
1323
1332
  questions_next: "পরবর্তী",
1324
1333
  questions_send: "পাঠান",
1325
1334
  questions_type_answer: "আমি লিখে দিচ্ছি",
1326
- questions_answer_placeholder: "আপনার উত্তর লিখুন…"
1335
+ questions_answer_placeholder: "আপনার উত্তর লিখুন…",
1336
+ close_conversation_title: "কথোপকথন বন্ধ করুন",
1337
+ close_conversation_description: "আপনি কি নিশ্চিত যে আপনি এই কথোপকথনটি বন্ধ করতে চান?",
1338
+ close_conversation_cancel: "না",
1339
+ close_conversation_confirm: "হ্যাঁ",
1340
+ dialog_close: "বন্ধ করুন",
1341
+ zoom_in: "বড় করুন",
1342
+ zoom_out: "ছোট করুন",
1343
+ reset_zoom: "জুম রিসেট করুন",
1344
+ support_chat_aria_label: "সাপোর্ট চ্যাট"
1327
1345
  }, Ne = {
1328
1346
  write_a_message_placeholder: "Напишете съобщение...",
1329
1347
  your_issue_has_been_resolved: "Вашият проблем е разрешен!",
@@ -1411,7 +1429,16 @@ const Ie = {
1411
1429
  questions_next: "Напред",
1412
1430
  questions_send: "Изпрати",
1413
1431
  questions_type_answer: "Ще напиша сам",
1414
- questions_answer_placeholder: "Напишете отговора си…"
1432
+ questions_answer_placeholder: "Напишете отговора си…",
1433
+ close_conversation_title: "Затваряне на разговора",
1434
+ close_conversation_description: "Сигурни ли сте, че искате да затворите този разговор?",
1435
+ close_conversation_cancel: "Не",
1436
+ close_conversation_confirm: "Да",
1437
+ dialog_close: "Затваряне",
1438
+ zoom_in: "Увеличаване",
1439
+ zoom_out: "Намаляване",
1440
+ reset_zoom: "Нулиране на мащаба",
1441
+ support_chat_aria_label: "Чат за поддръжка"
1415
1442
  }, Re = {
1416
1443
  write_a_message_placeholder: "Napište zprávu...",
1417
1444
  your_issue_has_been_resolved: "Váš problém byl vyřešen!",
@@ -1499,7 +1526,16 @@ const Ie = {
1499
1526
  questions_next: "Další",
1500
1527
  questions_send: "Odeslat",
1501
1528
  questions_type_answer: "Napíšu to sám",
1502
- questions_answer_placeholder: "Napište svou odpověď…"
1529
+ questions_answer_placeholder: "Napište svou odpověď…",
1530
+ close_conversation_title: "Uzavřít konverzaci",
1531
+ close_conversation_description: "Opravdu chcete tuto konverzaci uzavřít?",
1532
+ close_conversation_cancel: "Ne",
1533
+ close_conversation_confirm: "Ano",
1534
+ dialog_close: "Zavřít",
1535
+ zoom_in: "Přiblížit",
1536
+ zoom_out: "Oddálit",
1537
+ reset_zoom: "Obnovit přiblížení",
1538
+ support_chat_aria_label: "Chat podpory"
1503
1539
  }, Ke = {
1504
1540
  write_a_message_placeholder: "Skriv en besked...",
1505
1541
  your_issue_has_been_resolved: "Dit problem er løst!",
@@ -1587,7 +1623,16 @@ const Ie = {
1587
1623
  questions_next: "Næste",
1588
1624
  questions_send: "Send",
1589
1625
  questions_type_answer: "Jeg skriver det selv",
1590
- questions_answer_placeholder: "Skriv dit svar…"
1626
+ questions_answer_placeholder: "Skriv dit svar…",
1627
+ close_conversation_title: "Luk samtale",
1628
+ close_conversation_description: "Er du sikker på, at du vil lukke denne samtale?",
1629
+ close_conversation_cancel: "Nej",
1630
+ close_conversation_confirm: "Ja",
1631
+ dialog_close: "Luk",
1632
+ zoom_in: "Zoom ind",
1633
+ zoom_out: "Zoom ud",
1634
+ reset_zoom: "Nulstil zoom",
1635
+ support_chat_aria_label: "Supportchat"
1591
1636
  }, Le = {
1592
1637
  write_a_message_placeholder: "Γράψτε ένα μήνυμα...",
1593
1638
  your_issue_has_been_resolved: "Το πρόβλημά σας επιλύθηκε!",
@@ -1675,7 +1720,16 @@ const Ie = {
1675
1720
  questions_next: "Επόμενο",
1676
1721
  questions_send: "Αποστολή",
1677
1722
  questions_type_answer: "Θα το γράψω",
1678
- questions_answer_placeholder: "Γράψτε την απάντησή σας…"
1723
+ questions_answer_placeholder: "Γράψτε την απάντησή σας…",
1724
+ close_conversation_title: "Κλείσιμο συνομιλίας",
1725
+ close_conversation_description: "Είστε βέβαιοι ότι θέλετε να κλείσετε αυτήν τη συνομιλία;",
1726
+ close_conversation_cancel: "Όχι",
1727
+ close_conversation_confirm: "Ναι",
1728
+ dialog_close: "Κλείσιμο",
1729
+ zoom_in: "Μεγέθυνση",
1730
+ zoom_out: "Σμίκρυνση",
1731
+ reset_zoom: "Επαναφορά ζουμ",
1732
+ support_chat_aria_label: "Συνομιλία υποστήριξης"
1679
1733
  }, Fe = {
1680
1734
  write_a_message_placeholder: "Nachricht schreiben...",
1681
1735
  your_issue_has_been_resolved: "Ihr Problem wurde gelöst!",
@@ -1763,8 +1817,17 @@ const Ie = {
1763
1817
  questions_next: "Weiter",
1764
1818
  questions_send: "Senden",
1765
1819
  questions_type_answer: "Ich schreibe es selbst",
1766
- questions_answer_placeholder: "Antwort eingeben…"
1767
- }, $ = {
1820
+ questions_answer_placeholder: "Antwort eingeben…",
1821
+ close_conversation_title: "Konversation schließen",
1822
+ close_conversation_description: "Möchten Sie diese Konversation wirklich schließen?",
1823
+ close_conversation_cancel: "Nein",
1824
+ close_conversation_confirm: "Ja",
1825
+ dialog_close: "Schließen",
1826
+ zoom_in: "Vergrößern",
1827
+ zoom_out: "Verkleinern",
1828
+ reset_zoom: "Zoom zurücksetzen",
1829
+ support_chat_aria_label: "Support-Chat"
1830
+ }, W = {
1768
1831
  write_a_message_placeholder: "Write a message...",
1769
1832
  your_issue_has_been_resolved: "Your issue has been resolved!",
1770
1833
  new_conversation: "New conversation",
@@ -1863,7 +1926,16 @@ const Ie = {
1863
1926
  questions_next: "Next",
1864
1927
  questions_send: "Send",
1865
1928
  questions_type_answer: "I'll type it",
1866
- questions_answer_placeholder: "Type your answer…"
1929
+ questions_answer_placeholder: "Type your answer…",
1930
+ close_conversation_title: "Close conversation",
1931
+ close_conversation_description: "Are you sure you want to close this conversation?",
1932
+ close_conversation_cancel: "No",
1933
+ close_conversation_confirm: "Yes",
1934
+ dialog_close: "Close",
1935
+ zoom_in: "Zoom in",
1936
+ zoom_out: "Zoom out",
1937
+ reset_zoom: "Reset zoom",
1938
+ support_chat_aria_label: "Support chat"
1867
1939
  }, Oe = {
1868
1940
  write_a_message_placeholder: "Escribe un mensaje...",
1869
1941
  your_issue_has_been_resolved: "¡Tu problema fue resuelto!",
@@ -1951,7 +2023,16 @@ const Ie = {
1951
2023
  questions_next: "Siguiente",
1952
2024
  questions_send: "Enviar",
1953
2025
  questions_type_answer: "Lo escribo yo",
1954
- questions_answer_placeholder: "Escribe tu respuesta…"
2026
+ questions_answer_placeholder: "Escribe tu respuesta…",
2027
+ close_conversation_title: "Cerrar conversación",
2028
+ close_conversation_description: "¿Seguro que quieres cerrar esta conversación?",
2029
+ close_conversation_cancel: "No",
2030
+ close_conversation_confirm: "Sí",
2031
+ dialog_close: "Cerrar",
2032
+ zoom_in: "Acercar",
2033
+ zoom_out: "Alejar",
2034
+ reset_zoom: "Restablecer zoom",
2035
+ support_chat_aria_label: "Chat de soporte"
1955
2036
  }, Ue = {
1956
2037
  write_a_message_placeholder: "Magsulat ng mensahe...",
1957
2038
  your_issue_has_been_resolved: "Nalutas na ang iyong isyu!",
@@ -2039,7 +2120,16 @@ const Ie = {
2039
2120
  questions_next: "Susunod",
2040
2121
  questions_send: "Ipadala",
2041
2122
  questions_type_answer: "Ako na ang magta-type",
2042
- questions_answer_placeholder: "I-type ang iyong sagot…"
2123
+ questions_answer_placeholder: "I-type ang iyong sagot…",
2124
+ close_conversation_title: "Isara ang usapan",
2125
+ close_conversation_description: "Sigurado ka bang gusto mong isara ang usapang ito?",
2126
+ close_conversation_cancel: "Hindi",
2127
+ close_conversation_confirm: "Oo",
2128
+ dialog_close: "Isara",
2129
+ zoom_in: "Palakihin",
2130
+ zoom_out: "Paliitin",
2131
+ reset_zoom: "I-reset ang zoom",
2132
+ support_chat_aria_label: "Chat ng suporta"
2043
2133
  }, Be = {
2044
2134
  write_a_message_placeholder: "Kirjoita viesti...",
2045
2135
  your_issue_has_been_resolved: "Ongelmasi on ratkaistu!",
@@ -2127,7 +2217,16 @@ const Ie = {
2127
2217
  questions_next: "Seuraava",
2128
2218
  questions_send: "Lähetä",
2129
2219
  questions_type_answer: "Kirjoitan itse",
2130
- questions_answer_placeholder: "Kirjoita vastauksesi…"
2220
+ questions_answer_placeholder: "Kirjoita vastauksesi…",
2221
+ close_conversation_title: "Sulje keskustelu",
2222
+ close_conversation_description: "Haluatko varmasti sulkea tämän keskustelun?",
2223
+ close_conversation_cancel: "Ei",
2224
+ close_conversation_confirm: "Kyllä",
2225
+ dialog_close: "Sulje",
2226
+ zoom_in: "Lähennä",
2227
+ zoom_out: "Loitonna",
2228
+ reset_zoom: "Palauta zoomaus",
2229
+ support_chat_aria_label: "Tukichat"
2131
2230
  }, Ve = {
2132
2231
  write_a_message_placeholder: "Écrivez un message...",
2133
2232
  your_issue_has_been_resolved: "Votre problème a été résolu !",
@@ -2215,7 +2314,16 @@ const Ie = {
2215
2314
  questions_next: "Suivant",
2216
2315
  questions_send: "Envoyer",
2217
2316
  questions_type_answer: "Je préfère écrire",
2218
- questions_answer_placeholder: "Écrivez votre réponse…"
2317
+ questions_answer_placeholder: "Écrivez votre réponse…",
2318
+ close_conversation_title: "Fermer la conversation",
2319
+ close_conversation_description: "Voulez-vous vraiment fermer cette conversation ?",
2320
+ close_conversation_cancel: "Non",
2321
+ close_conversation_confirm: "Oui",
2322
+ dialog_close: "Fermer",
2323
+ zoom_in: "Zoom avant",
2324
+ zoom_out: "Zoom arrière",
2325
+ reset_zoom: "Réinitialiser le zoom",
2326
+ support_chat_aria_label: "Chat de support"
2219
2327
  }, He = {
2220
2328
  write_a_message_placeholder: "एक संदेश लिखें...",
2221
2329
  your_issue_has_been_resolved: "आपकी समस्या हल हो गई है!",
@@ -2303,8 +2411,17 @@ const Ie = {
2303
2411
  questions_next: "आगे",
2304
2412
  questions_send: "भेजें",
2305
2413
  questions_type_answer: "मैं खुद लिखूंगा",
2306
- questions_answer_placeholder: "अपना उत्तर लिखें…"
2307
- }, Ge = {
2414
+ questions_answer_placeholder: "अपना उत्तर लिखें…",
2415
+ close_conversation_title: "बातचीत बंद करें",
2416
+ close_conversation_description: "क्या आप वाकई इस बातचीत को बंद करना चाहते हैं?",
2417
+ close_conversation_cancel: "नहीं",
2418
+ close_conversation_confirm: "हाँ",
2419
+ dialog_close: "बंद करें",
2420
+ zoom_in: "ज़ूम इन",
2421
+ zoom_out: "ज़ूम आउट",
2422
+ reset_zoom: "ज़ूम रीसेट करें",
2423
+ support_chat_aria_label: "सहायता चैट"
2424
+ }, Ze = {
2308
2425
  write_a_message_placeholder: "Scrivi un messaggio...",
2309
2426
  your_issue_has_been_resolved: "Il tuo problema è stato risolto!",
2310
2427
  new_conversation: "Nuova conversazione",
@@ -2391,8 +2508,17 @@ const Ie = {
2391
2508
  questions_next: "Avanti",
2392
2509
  questions_send: "Invia",
2393
2510
  questions_type_answer: "Lo scrivo io",
2394
- questions_answer_placeholder: "Scrivi la tua risposta…"
2395
- }, We = {
2511
+ questions_answer_placeholder: "Scrivi la tua risposta…",
2512
+ close_conversation_title: "Chiudi conversazione",
2513
+ close_conversation_description: "Vuoi davvero chiudere questa conversazione?",
2514
+ close_conversation_cancel: "No",
2515
+ close_conversation_confirm: "Sì",
2516
+ dialog_close: "Chiudi",
2517
+ zoom_in: "Ingrandisci",
2518
+ zoom_out: "Riduci",
2519
+ reset_zoom: "Reimposta zoom",
2520
+ support_chat_aria_label: "Chat di supporto"
2521
+ }, Ge = {
2396
2522
  write_a_message_placeholder: "メッセージを入力...",
2397
2523
  your_issue_has_been_resolved: "問題が解決しました!",
2398
2524
  new_conversation: "新しい会話",
@@ -2479,8 +2605,17 @@ const Ie = {
2479
2605
  questions_next: "次へ",
2480
2606
  questions_send: "送信",
2481
2607
  questions_type_answer: "自分で入力する",
2482
- questions_answer_placeholder: "回答を入力してください…"
2483
- }, $e = {
2608
+ questions_answer_placeholder: "回答を入力してください…",
2609
+ close_conversation_title: "会話を終了",
2610
+ close_conversation_description: "この会話を終了してもよろしいですか?",
2611
+ close_conversation_cancel: "いいえ",
2612
+ close_conversation_confirm: "はい",
2613
+ dialog_close: "閉じる",
2614
+ zoom_in: "拡大",
2615
+ zoom_out: "縮小",
2616
+ reset_zoom: "ズームをリセット",
2617
+ support_chat_aria_label: "サポートチャット"
2618
+ }, We = {
2484
2619
  write_a_message_placeholder: "메시지를 입력하세요...",
2485
2620
  your_issue_has_been_resolved: "문제가 해결되었습니다!",
2486
2621
  new_conversation: "새 대화",
@@ -2567,8 +2702,17 @@ const Ie = {
2567
2702
  questions_next: "다음",
2568
2703
  questions_send: "보내기",
2569
2704
  questions_type_answer: "직접 입력할게요",
2570
- questions_answer_placeholder: "답변을 입력하세요…"
2571
- }, Ze = {
2705
+ questions_answer_placeholder: "답변을 입력하세요…",
2706
+ close_conversation_title: "대화 종료",
2707
+ close_conversation_description: "이 대화를 종료하시겠습니까?",
2708
+ close_conversation_cancel: "아니요",
2709
+ close_conversation_confirm: "예",
2710
+ dialog_close: "닫기",
2711
+ zoom_in: "확대",
2712
+ zoom_out: "축소",
2713
+ reset_zoom: "확대/축소 초기화",
2714
+ support_chat_aria_label: "고객 지원 채팅"
2715
+ }, Je = {
2572
2716
  write_a_message_placeholder: "Schrijf een bericht...",
2573
2717
  your_issue_has_been_resolved: "Uw probleem is opgelost!",
2574
2718
  new_conversation: "Nieuw gesprek",
@@ -2655,8 +2799,17 @@ const Ie = {
2655
2799
  questions_next: "Volgende",
2656
2800
  questions_send: "Verzenden",
2657
2801
  questions_type_answer: "Ik typ het zelf",
2658
- questions_answer_placeholder: "Typ je antwoord…"
2659
- }, Je = {
2802
+ questions_answer_placeholder: "Typ je antwoord…",
2803
+ close_conversation_title: "Gesprek sluiten",
2804
+ close_conversation_description: "Weet je zeker dat je dit gesprek wilt sluiten?",
2805
+ close_conversation_cancel: "Nee",
2806
+ close_conversation_confirm: "Ja",
2807
+ dialog_close: "Sluiten",
2808
+ zoom_in: "Inzoomen",
2809
+ zoom_out: "Uitzoomen",
2810
+ reset_zoom: "Zoom herstellen",
2811
+ support_chat_aria_label: "Supportchat"
2812
+ }, $e = {
2660
2813
  write_a_message_placeholder: "Skriv en melding...",
2661
2814
  your_issue_has_been_resolved: "Problemet ditt er løst!",
2662
2815
  new_conversation: "Ny samtale",
@@ -2743,7 +2896,16 @@ const Ie = {
2743
2896
  questions_next: "Neste",
2744
2897
  questions_send: "Send",
2745
2898
  questions_type_answer: "Jeg skriver det selv",
2746
- questions_answer_placeholder: "Skriv svaret ditt…"
2899
+ questions_answer_placeholder: "Skriv svaret ditt…",
2900
+ close_conversation_title: "Lukk samtale",
2901
+ close_conversation_description: "Er du sikker på at du vil lukke denne samtalen?",
2902
+ close_conversation_cancel: "Nei",
2903
+ close_conversation_confirm: "Ja",
2904
+ dialog_close: "Lukk",
2905
+ zoom_in: "Zoom inn",
2906
+ zoom_out: "Zoom ut",
2907
+ reset_zoom: "Tilbakestill zoom",
2908
+ support_chat_aria_label: "Support-chat"
2747
2909
  }, Ye = {
2748
2910
  write_a_message_placeholder: "Napisz wiadomość...",
2749
2911
  your_issue_has_been_resolved: "Twój problem został rozwiązany!",
@@ -2831,7 +2993,16 @@ const Ie = {
2831
2993
  questions_next: "Dalej",
2832
2994
  questions_send: "Wyślij",
2833
2995
  questions_type_answer: "Napiszę sam",
2834
- questions_answer_placeholder: "Wpisz swoją odpowiedź…"
2996
+ questions_answer_placeholder: "Wpisz swoją odpowiedź…",
2997
+ close_conversation_title: "Zamknij rozmowę",
2998
+ close_conversation_description: "Czy na pewno chcesz zamknąć tę rozmowę?",
2999
+ close_conversation_cancel: "Nie",
3000
+ close_conversation_confirm: "Tak",
3001
+ dialog_close: "Zamknij",
3002
+ zoom_in: "Powiększ",
3003
+ zoom_out: "Pomniejsz",
3004
+ reset_zoom: "Resetuj powiększenie",
3005
+ support_chat_aria_label: "Czat pomocy"
2835
3006
  }, Qe = {
2836
3007
  write_a_message_placeholder: "Escreva uma mensagem...",
2837
3008
  your_issue_has_been_resolved: "Seu problema foi resolvido!",
@@ -2919,7 +3090,16 @@ const Ie = {
2919
3090
  questions_next: "Seguinte",
2920
3091
  questions_send: "Enviar",
2921
3092
  questions_type_answer: "Prefiro escrever",
2922
- questions_answer_placeholder: "Escreva a sua resposta…"
3093
+ questions_answer_placeholder: "Escreva a sua resposta…",
3094
+ close_conversation_title: "Encerrar conversa",
3095
+ close_conversation_description: "Tem certeza de que deseja encerrar esta conversa?",
3096
+ close_conversation_cancel: "Não",
3097
+ close_conversation_confirm: "Sim",
3098
+ dialog_close: "Fechar",
3099
+ zoom_in: "Ampliar",
3100
+ zoom_out: "Reduzir",
3101
+ reset_zoom: "Redefinir zoom",
3102
+ support_chat_aria_label: "Chat de suporte"
2923
3103
  }, Xe = {
2924
3104
  write_a_message_placeholder: "Scrie un mesaj...",
2925
3105
  your_issue_has_been_resolved: "Problema ta a fost rezolvată!",
@@ -3007,7 +3187,16 @@ const Ie = {
3007
3187
  questions_next: "Înainte",
3008
3188
  questions_send: "Trimite",
3009
3189
  questions_type_answer: "Scriu eu",
3010
- questions_answer_placeholder: "Scrieți răspunsul dvs.…"
3190
+ questions_answer_placeholder: "Scrieți răspunsul dvs.…",
3191
+ close_conversation_title: "Închide conversația",
3192
+ close_conversation_description: "Sigur vrei să închizi această conversație?",
3193
+ close_conversation_cancel: "Nu",
3194
+ close_conversation_confirm: "Da",
3195
+ dialog_close: "Închide",
3196
+ zoom_in: "Mărește",
3197
+ zoom_out: "Micșorează",
3198
+ reset_zoom: "Resetează zoomul",
3199
+ support_chat_aria_label: "Chat de asistență"
3011
3200
  }, ea = {
3012
3201
  write_a_message_placeholder: "Skriv ett meddelande...",
3013
3202
  your_issue_has_been_resolved: "Ditt problem har lösts!",
@@ -3095,7 +3284,16 @@ const Ie = {
3095
3284
  questions_next: "Nästa",
3096
3285
  questions_send: "Skicka",
3097
3286
  questions_type_answer: "Jag skriver själv",
3098
- questions_answer_placeholder: "Skriv ditt svar…"
3287
+ questions_answer_placeholder: "Skriv ditt svar…",
3288
+ close_conversation_title: "Avsluta konversation",
3289
+ close_conversation_description: "Är du säker på att du vill avsluta den här konversationen?",
3290
+ close_conversation_cancel: "Nej",
3291
+ close_conversation_confirm: "Ja",
3292
+ dialog_close: "Stäng",
3293
+ zoom_in: "Zooma in",
3294
+ zoom_out: "Zooma ut",
3295
+ reset_zoom: "Återställ zoom",
3296
+ support_chat_aria_label: "Supportchatt"
3099
3297
  }, aa = {
3100
3298
  write_a_message_placeholder: "Напишите сообщение...",
3101
3299
  your_issue_has_been_resolved: "Ваша проблема решена!",
@@ -3183,7 +3381,16 @@ const Ie = {
3183
3381
  questions_next: "Далее",
3184
3382
  questions_send: "Отправить",
3185
3383
  questions_type_answer: "Напишу сам",
3186
- questions_answer_placeholder: "Напишите ваш ответ…"
3384
+ questions_answer_placeholder: "Напишите ваш ответ…",
3385
+ close_conversation_title: "Закрыть разговор",
3386
+ close_conversation_description: "Вы уверены, что хотите закрыть этот разговор?",
3387
+ close_conversation_cancel: "Нет",
3388
+ close_conversation_confirm: "Да",
3389
+ dialog_close: "Закрыть",
3390
+ zoom_in: "Увеличить",
3391
+ zoom_out: "Уменьшить",
3392
+ reset_zoom: "Сбросить масштаб",
3393
+ support_chat_aria_label: "Чат поддержки"
3187
3394
  }, ta = {
3188
3395
  write_a_message_placeholder: "เขียนข้อความ...",
3189
3396
  your_issue_has_been_resolved: "ปัญหาของคุณได้รับการแก้ไขแล้ว!",
@@ -3271,7 +3478,16 @@ const Ie = {
3271
3478
  questions_next: "ถัดไป",
3272
3479
  questions_send: "ส่ง",
3273
3480
  questions_type_answer: "ขอพิมพ์เอง",
3274
- questions_answer_placeholder: "พิมพ์คำตอบของคุณ…"
3481
+ questions_answer_placeholder: "พิมพ์คำตอบของคุณ…",
3482
+ close_conversation_title: "ปิดการสนทนา",
3483
+ close_conversation_description: "คุณแน่ใจหรือไม่ว่าต้องการปิดการสนทนานี้?",
3484
+ close_conversation_cancel: "ไม่",
3485
+ close_conversation_confirm: "ใช่",
3486
+ dialog_close: "ปิด",
3487
+ zoom_in: "ขยาย",
3488
+ zoom_out: "ย่อ",
3489
+ reset_zoom: "รีเซ็ตการซูม",
3490
+ support_chat_aria_label: "แชทฝ่ายสนับสนุน"
3275
3491
  }, sa = {
3276
3492
  write_a_message_placeholder: "Bir mesaj yazın...",
3277
3493
  your_issue_has_been_resolved: "Sorununuz çözüldü!",
@@ -3359,8 +3575,17 @@ const Ie = {
3359
3575
  questions_next: "İleri",
3360
3576
  questions_send: "Gönder",
3361
3577
  questions_type_answer: "Kendim yazayım",
3362
- questions_answer_placeholder: "Yanıtınızı yazın…"
3363
- }, na = {
3578
+ questions_answer_placeholder: "Yanıtınızı yazın…",
3579
+ close_conversation_title: "Görüşmeyi kapat",
3580
+ close_conversation_description: "Bu görüşmeyi kapatmak istediğinizden emin misiniz?",
3581
+ close_conversation_cancel: "Hayır",
3582
+ close_conversation_confirm: "Evet",
3583
+ dialog_close: "Kapat",
3584
+ zoom_in: "Yakınlaştır",
3585
+ zoom_out: "Uzaklaştır",
3586
+ reset_zoom: "Yakınlaştırmayı sıfırla",
3587
+ support_chat_aria_label: "Destek sohbeti"
3588
+ }, oa = {
3364
3589
  write_a_message_placeholder: "پیغام لکھیں...",
3365
3590
  your_issue_has_been_resolved: "آپ کا مسئلہ حل ہو گیا ہے!",
3366
3591
  new_conversation: "نئی گفتگو",
@@ -3447,8 +3672,17 @@ const Ie = {
3447
3672
  questions_next: "اگلا",
3448
3673
  questions_send: "بھیجیں",
3449
3674
  questions_type_answer: "میں خود لکھوں گا",
3450
- questions_answer_placeholder: "اپنا جواب لکھیں…"
3451
- }, oa = {
3675
+ questions_answer_placeholder: "اپنا جواب لکھیں…",
3676
+ close_conversation_title: "گفتگو بند کریں",
3677
+ close_conversation_description: "کیا آپ واقعی یہ گفتگو بند کرنا چاہتے ہیں؟",
3678
+ close_conversation_cancel: "نہیں",
3679
+ close_conversation_confirm: "ہاں",
3680
+ dialog_close: "بند کریں",
3681
+ zoom_in: "زوم اِن",
3682
+ zoom_out: "زوم آؤٹ",
3683
+ reset_zoom: "زوم دوبارہ ترتیب دیں",
3684
+ support_chat_aria_label: "سپورٹ چیٹ"
3685
+ }, na = {
3452
3686
  write_a_message_placeholder: "Viết tin nhắn...",
3453
3687
  your_issue_has_been_resolved: "Vấn đề của bạn đã được giải quyết!",
3454
3688
  new_conversation: "Cuộc trò chuyện mới",
@@ -3535,7 +3769,16 @@ const Ie = {
3535
3769
  questions_next: "Tiếp theo",
3536
3770
  questions_send: "Gửi",
3537
3771
  questions_type_answer: "Tôi sẽ tự nhập",
3538
- questions_answer_placeholder: "Nhập câu trả lời của bạn…"
3772
+ questions_answer_placeholder: "Nhập câu trả lời của bạn…",
3773
+ close_conversation_title: "Đóng cuộc trò chuyện",
3774
+ close_conversation_description: "Bạn có chắc muốn đóng cuộc trò chuyện này không?",
3775
+ close_conversation_cancel: "Không",
3776
+ close_conversation_confirm: "Có",
3777
+ dialog_close: "Đóng",
3778
+ zoom_in: "Phóng to",
3779
+ zoom_out: "Thu nhỏ",
3780
+ reset_zoom: "Đặt lại thu phóng",
3781
+ support_chat_aria_label: "Trò chuyện hỗ trợ"
3539
3782
  }, ia = {
3540
3783
  write_a_message_placeholder: "写一条消息...",
3541
3784
  your_issue_has_been_resolved: "您的问题已解决!",
@@ -3623,7 +3866,16 @@ const Ie = {
3623
3866
  questions_next: "下一步",
3624
3867
  questions_send: "发送",
3625
3868
  questions_type_answer: "我自己输入",
3626
- questions_answer_placeholder: "输入你的回答…"
3869
+ questions_answer_placeholder: "输入你的回答…",
3870
+ close_conversation_title: "结束对话",
3871
+ close_conversation_description: "确定要结束此对话吗?",
3872
+ close_conversation_cancel: "否",
3873
+ close_conversation_confirm: "是",
3874
+ dialog_close: "关闭",
3875
+ zoom_in: "放大",
3876
+ zoom_out: "缩小",
3877
+ reset_zoom: "重置缩放",
3878
+ support_chat_aria_label: "支持对话"
3627
3879
  }, ra = {
3628
3880
  write_a_message_placeholder: "Napišite poruku...",
3629
3881
  your_issue_has_been_resolved: "Vaš problem je riješen!",
@@ -3711,7 +3963,16 @@ const Ie = {
3711
3963
  questions_next: "Dalje",
3712
3964
  questions_send: "Pošalji",
3713
3965
  questions_type_answer: "Napisat ću sam",
3714
- questions_answer_placeholder: "Napišite svoj odgovor…"
3966
+ questions_answer_placeholder: "Napišite svoj odgovor…",
3967
+ close_conversation_title: "Zatvori razgovor",
3968
+ close_conversation_description: "Jeste li sigurni da želite zatvoriti ovaj razgovor?",
3969
+ close_conversation_cancel: "Ne",
3970
+ close_conversation_confirm: "Da",
3971
+ dialog_close: "Zatvori",
3972
+ zoom_in: "Približi",
3973
+ zoom_out: "Udalji",
3974
+ reset_zoom: "Poništi zumiranje",
3975
+ support_chat_aria_label: "Chat za podršku"
3715
3976
  }, _a = {
3716
3977
  write_a_message_placeholder: "Kirjuta sõnum...",
3717
3978
  your_issue_has_been_resolved: "Teie probleem on lahendatud!",
@@ -3799,7 +4060,16 @@ const Ie = {
3799
4060
  questions_next: "Edasi",
3800
4061
  questions_send: "Saada",
3801
4062
  questions_type_answer: "Kirjutan ise",
3802
- questions_answer_placeholder: "Kirjutage oma vastus…"
4063
+ questions_answer_placeholder: "Kirjutage oma vastus…",
4064
+ close_conversation_title: "Sulge vestlus",
4065
+ close_conversation_description: "Kas soovite kindlasti selle vestluse sulgeda?",
4066
+ close_conversation_cancel: "Ei",
4067
+ close_conversation_confirm: "Jah",
4068
+ dialog_close: "Sulge",
4069
+ zoom_in: "Suurenda",
4070
+ zoom_out: "Vähenda",
4071
+ reset_zoom: "Lähtesta suurendus",
4072
+ support_chat_aria_label: "Tugivestlus"
3803
4073
  }, la = {
3804
4074
  write_a_message_placeholder: "Írjon üzenetet...",
3805
4075
  your_issue_has_been_resolved: "A problémája megoldódott!",
@@ -3887,7 +4157,16 @@ const Ie = {
3887
4157
  questions_next: "Tovább",
3888
4158
  questions_send: "Küldés",
3889
4159
  questions_type_answer: "Inkább leírom",
3890
- questions_answer_placeholder: "Írja le a válaszát…"
4160
+ questions_answer_placeholder: "Írja le a válaszát…",
4161
+ close_conversation_title: "Beszélgetés lezárása",
4162
+ close_conversation_description: "Biztosan lezárja ezt a beszélgetést?",
4163
+ close_conversation_cancel: "Nem",
4164
+ close_conversation_confirm: "Igen",
4165
+ dialog_close: "Bezárás",
4166
+ zoom_in: "Nagyítás",
4167
+ zoom_out: "Kicsinyítés",
4168
+ reset_zoom: "Nagyítás visszaállítása",
4169
+ support_chat_aria_label: "Ügyfélszolgálati chat"
3891
4170
  }, ca = {
3892
4171
  write_a_message_placeholder: "Skrifaðu skilaboð...",
3893
4172
  your_issue_has_been_resolved: "Málið þitt hefur verið leyst!",
@@ -3975,7 +4254,16 @@ const Ie = {
3975
4254
  questions_next: "Áfram",
3976
4255
  questions_send: "Senda",
3977
4256
  questions_type_answer: "Ég skrifa það",
3978
- questions_answer_placeholder: "Skrifaðu svarið þitt…"
4257
+ questions_answer_placeholder: "Skrifaðu svarið þitt…",
4258
+ close_conversation_title: "Loka samtali",
4259
+ close_conversation_description: "Ertu viss um að þú viljir loka þessu samtali?",
4260
+ close_conversation_cancel: "Nei",
4261
+ close_conversation_confirm: "Já",
4262
+ dialog_close: "Loka",
4263
+ zoom_in: "Auka aðdrátt",
4264
+ zoom_out: "Minnka aðdrátt",
4265
+ reset_zoom: "Endurstilla aðdrátt",
4266
+ support_chat_aria_label: "Þjónustuspjall"
3979
4267
  }, pa = {
3980
4268
  write_a_message_placeholder: "Rakstiet ziņojumu...",
3981
4269
  your_issue_has_been_resolved: "Jūsu problēma ir atrisināta!",
@@ -4063,7 +4351,16 @@ const Ie = {
4063
4351
  questions_next: "Tālāk",
4064
4352
  questions_send: "Sūtīt",
4065
4353
  questions_type_answer: "Rakstīšu pats",
4066
- questions_answer_placeholder: "Ierakstiet savu atbildi…"
4354
+ questions_answer_placeholder: "Ierakstiet savu atbildi…",
4355
+ close_conversation_title: "Aizvērt sarunu",
4356
+ close_conversation_description: "Vai tiešām vēlaties aizvērt šo sarunu?",
4357
+ close_conversation_cancel: "Nē",
4358
+ close_conversation_confirm: "Jā",
4359
+ dialog_close: "Aizvērt",
4360
+ zoom_in: "Pietuvināt",
4361
+ zoom_out: "Attālināt",
4362
+ reset_zoom: "Atiestatīt tālummaiņu",
4363
+ support_chat_aria_label: "Atbalsta tērzēšana"
4067
4364
  }, da = {
4068
4365
  write_a_message_placeholder: "Parašykite žinutę...",
4069
4366
  your_issue_has_been_resolved: "Jūsų problema išspręsta!",
@@ -4151,7 +4448,16 @@ const Ie = {
4151
4448
  questions_next: "Toliau",
4152
4449
  questions_send: "Siųsti",
4153
4450
  questions_type_answer: "Parašysiu pats",
4154
- questions_answer_placeholder: "Parašykite savo atsakymą…"
4451
+ questions_answer_placeholder: "Parašykite savo atsakymą…",
4452
+ close_conversation_title: "Uždaryti pokalbį",
4453
+ close_conversation_description: "Ar tikrai norite uždaryti šį pokalbį?",
4454
+ close_conversation_cancel: "Ne",
4455
+ close_conversation_confirm: "Taip",
4456
+ dialog_close: "Uždaryti",
4457
+ zoom_in: "Priartinti",
4458
+ zoom_out: "Nutolinti",
4459
+ reset_zoom: "Atstatyti mastelį",
4460
+ support_chat_aria_label: "Pagalbos pokalbis"
4155
4461
  }, ua = {
4156
4462
  write_a_message_placeholder: "Schreift eng Noriicht...",
4157
4463
  your_issue_has_been_resolved: "Äert Problem gouf geléist!",
@@ -4239,7 +4545,16 @@ const Ie = {
4239
4545
  questions_next: "Weider",
4240
4546
  questions_send: "Schécken",
4241
4547
  questions_type_answer: "Ech schreiwen et selwer",
4242
- questions_answer_placeholder: "Schreift Är Äntwert…"
4548
+ questions_answer_placeholder: "Schreift Är Äntwert…",
4549
+ close_conversation_title: "Konversatioun zoumaachen",
4550
+ close_conversation_description: "Wëllt Dir dës Konversatioun wierklech zoumaachen?",
4551
+ close_conversation_cancel: "Nee",
4552
+ close_conversation_confirm: "Jo",
4553
+ dialog_close: "Zoumaachen",
4554
+ zoom_in: "Erazoomen",
4555
+ zoom_out: "Erauszoomen",
4556
+ reset_zoom: "Zoom zrécksetzen",
4557
+ support_chat_aria_label: "Support-Chat"
4243
4558
  }, ma = {
4244
4559
  write_a_message_placeholder: "Ikteb messaġġ...",
4245
4560
  your_issue_has_been_resolved: "Il-problema tiegħek ġiet riżolta!",
@@ -4327,7 +4642,16 @@ const Ie = {
4327
4642
  questions_next: "Li jmiss",
4328
4643
  questions_send: "Ibgħat",
4329
4644
  questions_type_answer: "Nikteb jien",
4330
- questions_answer_placeholder: "Ikteb it-tweġiba tiegħek…"
4645
+ questions_answer_placeholder: "Ikteb it-tweġiba tiegħek…",
4646
+ close_conversation_title: "Agħlaq il-konversazzjoni",
4647
+ close_conversation_description: "Żgur li trid tagħlaq din il-konversazzjoni?",
4648
+ close_conversation_cancel: "Le",
4649
+ close_conversation_confirm: "Iva",
4650
+ dialog_close: "Agħlaq",
4651
+ zoom_in: "Kabbar",
4652
+ zoom_out: "Ċekken",
4653
+ reset_zoom: "Irrisettja ż-zoom",
4654
+ support_chat_aria_label: "Chat ta’ appoġġ"
4331
4655
  }, ha = {
4332
4656
  write_a_message_placeholder: "Skriv en melding...",
4333
4657
  your_issue_has_been_resolved: "Saken din er løst!",
@@ -4415,7 +4739,16 @@ const Ie = {
4415
4739
  questions_next: "Neste",
4416
4740
  questions_send: "Send",
4417
4741
  questions_type_answer: "Jeg skriver det selv",
4418
- questions_answer_placeholder: "Skriv svaret ditt…"
4742
+ questions_answer_placeholder: "Skriv svaret ditt…",
4743
+ close_conversation_title: "Lukk samtale",
4744
+ close_conversation_description: "Er du sikker på at du vil lukke denne samtalen?",
4745
+ close_conversation_cancel: "Nei",
4746
+ close_conversation_confirm: "Ja",
4747
+ dialog_close: "Lukk",
4748
+ zoom_in: "Zoom inn",
4749
+ zoom_out: "Zoom ut",
4750
+ reset_zoom: "Tilbakestill zoom",
4751
+ support_chat_aria_label: "Support-chat"
4419
4752
  }, ga = {
4420
4753
  write_a_message_placeholder: "Napíšte správu...",
4421
4754
  your_issue_has_been_resolved: "Váš problém bol vyriešený!",
@@ -4503,8 +4836,17 @@ const Ie = {
4503
4836
  questions_next: "Ďalej",
4504
4837
  questions_send: "Odoslať",
4505
4838
  questions_type_answer: "Napíšem to sám",
4506
- questions_answer_placeholder: "Napíšte svoju odpoveď…"
4507
- }, Z = {
4839
+ questions_answer_placeholder: "Napíšte svoju odpoveď…",
4840
+ close_conversation_title: "Uzavrieť konverzáciu",
4841
+ close_conversation_description: "Naozaj chcete túto konverzáciu uzavrieť?",
4842
+ close_conversation_cancel: "Nie",
4843
+ close_conversation_confirm: "Áno",
4844
+ dialog_close: "Zavrieť",
4845
+ zoom_in: "Priblížiť",
4846
+ zoom_out: "Oddialiť",
4847
+ reset_zoom: "Obnoviť priblíženie",
4848
+ support_chat_aria_label: "Chat podpory"
4849
+ }, J = {
4508
4850
  ar: Ie,
4509
4851
  bn: De,
4510
4852
  bg: Ne,
@@ -4512,7 +4854,7 @@ const Ie = {
4512
4854
  da: Ke,
4513
4855
  de: Fe,
4514
4856
  el: Le,
4515
- en: $,
4857
+ en: W,
4516
4858
  es: Oe,
4517
4859
  et: _a,
4518
4860
  fi: Be,
@@ -4522,16 +4864,16 @@ const Ie = {
4522
4864
  hr: ra,
4523
4865
  hu: la,
4524
4866
  is: ca,
4525
- it: Ge,
4526
- ja: We,
4527
- ko: $e,
4867
+ it: Ze,
4868
+ ja: Ge,
4869
+ ko: We,
4528
4870
  lb: ua,
4529
4871
  lt: da,
4530
4872
  lv: pa,
4531
4873
  mt: ma,
4532
4874
  nb: ha,
4533
- nl: Ze,
4534
- no: Je,
4875
+ nl: Je,
4876
+ no: $e,
4535
4877
  pl: Ye,
4536
4878
  pt: Qe,
4537
4879
  ro: Xe,
@@ -4540,33 +4882,33 @@ const Ie = {
4540
4882
  sv: ea,
4541
4883
  th: ta,
4542
4884
  tr: sa,
4543
- ur: na,
4544
- vi: oa,
4885
+ ur: oa,
4886
+ vi: na,
4545
4887
  "zh-cn": ia
4546
- }, ka = Object.keys(Z);
4547
- function ba(o) {
4548
- return ka.includes(o);
4888
+ }, ka = Object.keys(J);
4889
+ function ba(n) {
4890
+ return ka.includes(n);
4549
4891
  }
4550
- const fa = /* @__PURE__ */ new Set(["ar", "ur"]);
4551
- function Ua(o) {
4552
- return fa.has(o);
4892
+ const va = /* @__PURE__ */ new Set(["ar", "ur"]);
4893
+ function Ua(n) {
4894
+ return va.has(n);
4553
4895
  }
4554
- function va(o) {
4555
- return ba(o) ? o : "en";
4896
+ function fa(n) {
4897
+ return ba(n) ? n : "en";
4556
4898
  }
4557
- function ya(o, e, a, s) {
4899
+ function ya(n, e, a, s) {
4558
4900
  var _;
4559
- const i = ((_ = a == null ? void 0 : a[e]) == null ? void 0 : _[o]) || Z[e][o] || $[o] || o;
4901
+ const i = ((_ = a == null ? void 0 : a[e]) == null ? void 0 : _[n]) || J[e][n] || W[n] || n;
4560
4902
  return s ? i.replace(
4561
4903
  /\{(\w+)\}/g,
4562
- (n, t) => t in s ? String(s[t]) : n
4904
+ (o, t) => t in s ? String(s[t]) : o
4563
4905
  ) : i;
4564
4906
  }
4565
- function wa(o, e, a) {
4907
+ function wa(n, e, a) {
4566
4908
  return ya(
4567
4909
  e,
4568
- va(o.language),
4569
- o.translationOverrides,
4910
+ fa(n.language),
4911
+ n.translationOverrides,
4570
4912
  a
4571
4913
  );
4572
4914
  }
@@ -4577,9 +4919,9 @@ class ja {
4577
4919
  contactCtx: s,
4578
4920
  storageCtx: i,
4579
4921
  sessionsPollingIntervalSeconds: _,
4580
- sharedSessions: n
4922
+ sharedSessions: o
4581
4923
  }) {
4582
- this.sessionsRefresher = new G(), this.persistedSessionId = null, this.sessionAbortController = new AbortController(), this.sessionState = new j({
4924
+ this.sessionsRefresher = new Z(), this.persistedSessionId = null, this.sessionAbortController = new AbortController(), this.sessionState = new j({
4583
4925
  session: null,
4584
4926
  isCreatingSession: !1,
4585
4927
  isResolvingSession: !1
@@ -4637,7 +4979,7 @@ class ja {
4637
4979
  Object.entries(this.config.sessionCustomData || {}).map(
4638
4980
  ([t, r]) => {
4639
4981
  var c;
4640
- return typeof r == "string" ? [t, r] : typeof r == "boolean" ? [t, r] : typeof r == "number" ? [t, r] : [t, ((c = W(() => JSON.stringify(r))) == null ? void 0 : c.data) || ""];
4982
+ return typeof r == "string" ? [t, r] : typeof r == "boolean" ? [t, r] : typeof r == "number" ? [t, r] : [t, ((c = G(() => JSON.stringify(r))) == null ? void 0 : c.data) || ""];
4641
4983
  }
4642
4984
  )
4643
4985
  ), this.createSession = async () => {
@@ -4737,82 +5079,82 @@ class ja {
4737
5079
  payload: t
4738
5080
  });
4739
5081
  return c != null && c.success ? { success: !0 } : { success: !1 };
4740
- }, this.config = e, this.api = a, this.contactCtx = s, this.storageCtx = i, this.sessionsPollingIntervalSeconds = _, n ? this.sessionsState = n : this.registerSessionsRefresherWrapper(), this.registerActiveSessionPersistence();
5082
+ }, this.config = e, this.api = a, this.contactCtx = s, this.storageCtx = i, this.sessionsPollingIntervalSeconds = _, o ? this.sessionsState = o : this.registerSessionsRefresherWrapper(), this.registerActiveSessionPersistence();
4741
5083
  }
4742
5084
  }
4743
- const Sa = (o, e, { sendsPageContext: a }) => {
4744
- const s = Ca(o), i = a && e.mentions && e.mentions.length > 0 ? { mentions: e.mentions.map(xa) } : void 0, _ = a && (e.clientContext || i) ? { ...s, ...e.clientContext, ...i } : s;
5085
+ const za = (n, e, { sendsPageContext: a }) => {
5086
+ const s = Ca(n), i = a && e.mentions && e.mentions.length > 0 ? { mentions: e.mentions.map(Sa) } : void 0, _ = a && (e.clientContext || i) ? { ...s, ...e.clientContext, ...i } : s;
4745
5087
  return {
4746
- clientContext: e.withPageEntity === !1 && _ && "entity" in _ ? za(_, "entity") : _,
5088
+ clientContext: e.withPageEntity === !1 && _ && "entity" in _ ? xa(_, "entity") : _,
4747
5089
  custom_data: {
4748
- ...o.messageCustomData || {},
5090
+ ...n.messageCustomData || {},
4749
5091
  ...e.customData || {}
4750
5092
  }
4751
5093
  };
4752
- }, xa = ({ type: o, id: e, title: a, meta: s }) => ({
4753
- type: o,
5094
+ }, Sa = ({ type: n, id: e, title: a, meta: s }) => ({
5095
+ type: n,
4754
5096
  id: e,
4755
5097
  title: a,
4756
5098
  ...s ? { meta: s } : {}
4757
- }), za = (o, e) => {
4758
- const { [e]: a, ...s } = o;
5099
+ }), xa = (n, e) => {
5100
+ const { [e]: a, ...s } = n;
4759
5101
  return Object.keys(s).length > 0 ? s : void 0;
4760
- }, Ca = (o) => {
4761
- if (typeof o.context != "function") return o.context;
5102
+ }, Ca = (n) => {
5103
+ if (typeof n.context != "function") return n.context;
4762
5104
  try {
4763
- return o.context();
5105
+ return n.context();
4764
5106
  } catch (e) {
4765
5107
  h.error("context getter threw; sending without context", e);
4766
5108
  return;
4767
5109
  }
4768
- }, qa = (o) => {
4769
- const e = o.features;
5110
+ }, qa = (n) => {
5111
+ const e = n.features;
4770
5112
  if (!e) return;
4771
5113
  const a = {};
4772
5114
  return e.preamble !== void 0 && (a.preamble = e.preamble), e.inlineUi !== void 0 && (a.inline_ui = e.inlineUi), e.pageContext !== void 0 && (a.page_context = e.pageContext), e.clientTools !== void 0 && (a.client_tools = e.clientTools), Object.keys(a).length > 0 ? a : void 0;
4773
- }, Ea = ({
4774
- config: o,
5115
+ }, Aa = ({
5116
+ config: n,
4775
5117
  input: e,
4776
5118
  uuid: a,
4777
5119
  sessionId: s,
4778
5120
  content: i,
4779
5121
  initialMessages: _,
4780
- sendsPageContext: n
5122
+ sendsPageContext: o
4781
5123
  }) => {
4782
5124
  var t, r, c, d, l, p;
4783
5125
  return {
4784
5126
  uuid: a,
4785
- bot_token: o.token,
4786
- headers: o.headers,
4787
- query_params: o.queryParams,
4788
- body_properties: o.bodyProperties,
5127
+ bot_token: n.token,
5128
+ headers: n.headers,
5129
+ query_params: n.queryParams,
5130
+ body_properties: n.bodyProperties,
4789
5131
  session_id: s,
4790
5132
  content: i,
4791
5133
  attachments: e.attachments,
4792
- ...Sa(o, e, { sendsPageContext: n }),
4793
- language: o.language,
4794
- features: qa(o),
4795
- presentation: o.presentation,
5134
+ ...za(n, e, { sendsPageContext: o }),
5135
+ language: n.language,
5136
+ features: qa(n),
5137
+ presentation: n.presentation,
4796
5138
  capabilities: [
4797
- (t = o.capabilities) == null ? void 0 : t.structuredQuestions,
4798
- (r = o.capabilities) == null ? void 0 : r.richReplies,
4799
- (c = o.capabilities) == null ? void 0 : c.pageEffects
5139
+ (t = n.capabilities) == null ? void 0 : t.structuredQuestions,
5140
+ (r = n.capabilities) == null ? void 0 : r.richReplies,
5141
+ (c = n.capabilities) == null ? void 0 : c.pageEffects
4800
5142
  ].some((u) => u !== void 0) ? {
4801
- structured_questions: (d = o.capabilities) == null ? void 0 : d.structuredQuestions,
4802
- rich_replies: (l = o.capabilities) == null ? void 0 : l.richReplies,
4803
- page_effects: (p = o.capabilities) == null ? void 0 : p.pageEffects
5143
+ structured_questions: (d = n.capabilities) == null ? void 0 : d.structuredQuestions,
5144
+ rich_replies: (l = n.capabilities) == null ? void 0 : l.richReplies,
5145
+ page_effects: (p = n.capabilities) == null ? void 0 : p.pageEffects
4804
5146
  } : void 0,
4805
5147
  exit_mode_prompt: e.exitModePrompt,
4806
5148
  initial_messages: _.length > 0 ? _.map((u) => ({ uuid: u.id, content: u.data.message })) : void 0
4807
5149
  };
4808
- }, x = class x {
5150
+ }, S = class S {
4809
5151
  constructor({
4810
5152
  config: e,
4811
5153
  api: a,
4812
5154
  sessionCtx: s,
4813
5155
  contactCtx: i,
4814
5156
  streaming: _,
4815
- sendsPageContext: n,
5157
+ sendsPageContext: o,
4816
5158
  getClientCapabilities: t,
4817
5159
  getRequestConfig: r,
4818
5160
  isStreaming: c,
@@ -4832,12 +5174,12 @@ const Sa = (o, e, { sendsPageContext: a }) => {
4832
5174
  this.sendMessageAbortController.abort("Resetting chat"), this.bufferedAgentSends = [], this.state.reset(), this.messageIdsDispatchedToOnMessageReceivedHook.clear(), this.sentTextHistory = [], this.draftState.reset();
4833
5175
  }, this.rememberSentText = (l) => {
4834
5176
  const p = l.trim();
4835
- !p || this.sentTextHistory.at(-1) === p || (this.sentTextHistory.push(p), this.sentTextHistory.length > x.SENT_TEXT_HISTORY_MAX && this.sentTextHistory.shift());
5177
+ !p || this.sentTextHistory.at(-1) === p || (this.sentTextHistory.push(p), this.sentTextHistory.length > S.SENT_TEXT_HISTORY_MAX && this.sentTextHistory.shift());
4836
5178
  }, this.getSentTextHistory = () => this.sentTextHistory, this.registerAgentHandlers = (l) => {
4837
5179
  this.agentHandlers = l;
4838
5180
  const p = this.bufferedAgentSends;
4839
5181
  this.bufferedAgentSends = [], p.forEach((u) => {
4840
- x.dispatchToEngine(l, u);
5182
+ S.dispatchToEngine(l, u);
4841
5183
  });
4842
5184
  }, this.unregisterAgentHandlers = (l) => {
4843
5185
  this.agentHandlers === l && (this.agentHandlers = null);
@@ -4855,7 +5197,7 @@ const Sa = (o, e, { sendsPageContext: a }) => {
4855
5197
  var p, u;
4856
5198
  return !((p = this.sessionCtx.sessionState.get().session) != null && p.id) && this.state.get().messages.length === 0 && ((u = this.config.advancedInitialMessages) == null ? void 0 : u.some((m) => m.persistent)) ? (this.config.advancedInitialMessages || []).filter((m) => m.persistent).map(
4857
5199
  (m) => ({
4858
- id: z(),
5200
+ id: x(),
4859
5201
  component: "bot_message",
4860
5202
  type: "AI",
4861
5203
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
@@ -4891,13 +5233,13 @@ const Sa = (o, e, { sendsPageContext: a }) => {
4891
5233
  this.state.setPartial({
4892
5234
  messages: [...g, ...this.state.get().messages, m]
4893
5235
  });
4894
- let f;
5236
+ let v;
4895
5237
  try {
4896
- f = await this.ensureSessionId();
5238
+ v = await this.ensureSessionId();
4897
5239
  } catch (k) {
4898
5240
  throw this.rollbackOptimisticMessages(b), k;
4899
5241
  }
4900
- return f ? { sessionId: f, userMessage: m, initialMessages: g } : (this.rollbackOptimisticMessages(b), null);
5242
+ return v ? { sessionId: v, userMessage: m, initialMessages: g } : (this.rollbackOptimisticMessages(b), null);
4901
5243
  }, this.buildQueuedUserMessage = (l) => {
4902
5244
  var m;
4903
5245
  const p = this.buildUserMessage(l);
@@ -4909,7 +5251,7 @@ const Sa = (o, e, { sendsPageContext: a }) => {
4909
5251
  return !l.content.trim() && (!l.attachments || l.attachments.length === 0) ? (h.warn("cannot send an empty message of no content or attachments"), null) : this.toUserMessage(
4910
5252
  l.content.trim(),
4911
5253
  l.attachments || void 0,
4912
- this.sendsPageContext ? x.markedElementNames(l.clientContext) : void 0,
5254
+ this.sendsPageContext ? S.markedElementNames(l.clientContext) : void 0,
4913
5255
  this.sendsPageContext && ((p = l.mentions) != null && p.length) ? l.mentions : void 0
4914
5256
  );
4915
5257
  }, this.appendUserMessageIfAbsent = (l) => {
@@ -4927,7 +5269,7 @@ const Sa = (o, e, { sendsPageContext: a }) => {
4927
5269
  messages: g
4928
5270
  });
4929
5271
  }, this.sendMessage = async (l) => {
4930
- var u, m, g, b, f;
5272
+ var u, m, g, b, v;
4931
5273
  if (this.streaming) {
4932
5274
  if (!this.agentHandlers) {
4933
5275
  this.bufferedAgentSends.push(l);
@@ -4953,8 +5295,8 @@ const Sa = (o, e, { sendsPageContext: a }) => {
4953
5295
  if (!R) return;
4954
5296
  const { sessionId: Q, userMessage: K, initialMessages: X } = R;
4955
5297
  this.notifySendAccepted(l);
4956
- const { data: v } = await this.api.sendMessage(
4957
- Ea({
5298
+ const { data: f } = await this.api.sendMessage(
5299
+ Aa({
4958
5300
  config: {
4959
5301
  ...this.getRequestConfig(),
4960
5302
  capabilities: this.getClientCapabilities()
@@ -4968,30 +5310,30 @@ const Sa = (o, e, { sendsPageContext: a }) => {
4968
5310
  }),
4969
5311
  p.signal
4970
5312
  );
4971
- if (v != null && v.success) {
4972
- const S = this.toBotMessage(v);
4973
- if (S) {
4974
- const E = this.state.get().messages;
4975
- if (!!E.some(
4976
- (ee) => ee.id === S.id
5313
+ if (f != null && f.success) {
5314
+ const z = this.toBotMessage(f);
5315
+ if (z) {
5316
+ const A = this.state.get().messages;
5317
+ if (!!A.some(
5318
+ (ee) => ee.id === z.id
4977
5319
  )) {
4978
5320
  this.state.setPartial({
4979
- lastAIResMightSolveUserIssue: ((u = v.autopilotResponse) == null ? void 0 : u.mightSolveUserIssue) || ((m = v.uiResponse) == null ? void 0 : m.mightSolveUserIssue)
5321
+ lastAIResMightSolveUserIssue: ((u = f.autopilotResponse) == null ? void 0 : u.mightSolveUserIssue) || ((m = f.uiResponse) == null ? void 0 : m.mightSolveUserIssue)
4980
5322
  });
4981
5323
  return;
4982
5324
  }
4983
5325
  this.state.setPartial({
4984
- messages: [...E, S],
4985
- lastAIResMightSolveUserIssue: ((g = v.autopilotResponse) == null ? void 0 : g.mightSolveUserIssue) || ((b = v.uiResponse) == null ? void 0 : b.mightSolveUserIssue)
4986
- }), this.dispatchToOnMessageReceivedHook(S);
5326
+ messages: [...A, z],
5327
+ lastAIResMightSolveUserIssue: ((g = f.autopilotResponse) == null ? void 0 : g.mightSolveUserIssue) || ((b = f.uiResponse) == null ? void 0 : b.mightSolveUserIssue)
5328
+ }), this.dispatchToOnMessageReceivedHook(z);
4987
5329
  }
4988
- v.session && this.sessionCtx.sessionState.setPartial({ session: v.session });
5330
+ f.session && this.sessionCtx.sessionState.setPartial({ session: f.session });
4989
5331
  } else {
4990
- const S = this.toBotErrorMessage(
4991
- ((f = v == null ? void 0 : v.error) == null ? void 0 : f.message) || wa(this.config, "turn_failed_message")
4992
- ), E = this.state.get().messages;
5332
+ const z = this.toBotErrorMessage(
5333
+ ((v = f == null ? void 0 : f.error) == null ? void 0 : v.message) || wa(this.config, "turn_failed_message")
5334
+ ), A = this.state.get().messages;
4993
5335
  this.state.setPartial({
4994
- messages: [...E, S]
5336
+ messages: [...A, z]
4995
5337
  });
4996
5338
  }
4997
5339
  } catch (k) {
@@ -5011,7 +5353,7 @@ const Sa = (o, e, { sendsPageContext: a }) => {
5011
5353
  ${l}` : l;
5012
5354
  })();
5013
5355
  return {
5014
- id: z(),
5356
+ id: x(),
5015
5357
  type: "USER",
5016
5358
  content: g,
5017
5359
  attachments: p,
@@ -5023,7 +5365,7 @@ ${l}` : l;
5023
5365
  var p;
5024
5366
  return l.success && l.autopilotResponse ? {
5025
5367
  type: "AI",
5026
- id: l.autopilotResponse.id || z(),
5368
+ id: l.autopilotResponse.id || x(),
5027
5369
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
5028
5370
  component: "bot_message",
5029
5371
  agent: this.config.bot ? {
@@ -5044,7 +5386,7 @@ ${l}` : l;
5044
5386
  } : null;
5045
5387
  }, this.toBotErrorMessage = (l) => ({
5046
5388
  type: "AI",
5047
- id: z(),
5389
+ id: x(),
5048
5390
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
5049
5391
  component: "bot_message",
5050
5392
  data: {
@@ -5052,7 +5394,7 @@ ${l}` : l;
5052
5394
  variant: "error",
5053
5395
  action: void 0
5054
5396
  }
5055
- }), this.config = e, this.getClientCapabilities = t ?? (() => this.getRequestConfig().capabilities), this.api = a, this.sessionCtx = s, this.contactCtx = i, this.isStreaming = c ?? (() => _), this.getRequestConfig = r ?? (() => this.config), this.getSendsPageContext = d ?? (() => n);
5397
+ }), this.config = e, this.getClientCapabilities = t ?? (() => this.getRequestConfig().capabilities), this.api = a, this.sessionCtx = s, this.contactCtx = i, this.isStreaming = c ?? (() => _), this.getRequestConfig = r ?? (() => this.config), this.getSendsPageContext = d ?? (() => o);
5056
5398
  }
5057
5399
  /**
5058
5400
  * Current transport choice. The org or this embed may request polling
@@ -5090,7 +5432,7 @@ ${l}` : l;
5090
5432
  if (!Array.isArray(a)) return;
5091
5433
  const s = a.flatMap((i) => {
5092
5434
  if (typeof i != "object" || i === null) return [];
5093
- const _ = i.elements, n = Array.isArray(_) ? _[0] : void 0, t = typeof n == "object" && n !== null && "name" in n ? n.name : void 0;
5435
+ const _ = i.elements, o = Array.isArray(_) ? _[0] : void 0, t = typeof o == "object" && o !== null && "name" in o ? o.name : void 0;
5094
5436
  if (typeof t != "string" || t.length === 0) return [];
5095
5437
  const r = i.note, c = i.snapshotUrl;
5096
5438
  return [
@@ -5112,9 +5454,9 @@ ${l}` : l;
5112
5454
  return !this.streaming && this.config.disableSendingWhenAwaitingAIReply !== !1;
5113
5455
  }
5114
5456
  };
5115
- x.SENT_TEXT_HISTORY_MAX = 50;
5116
- let I = x;
5117
- class Aa {
5457
+ S.SENT_TEXT_HISTORY_MAX = 50;
5458
+ let I = S;
5459
+ class Ea {
5118
5460
  constructor(e) {
5119
5461
  var a, s;
5120
5462
  this.widget = e, this.subscriptions = [], this.disposed = !1, this.restorableSessionId = null, this.didReadStoredSession = !1, this.readStoredSession = () => {
@@ -5142,9 +5484,9 @@ class Aa {
5142
5484
  isInitialFetchLoading: i,
5143
5485
  data: _
5144
5486
  }) => {
5145
- var n, t, r, c, d;
5487
+ var o, t, r, c, d;
5146
5488
  if (!(this.disposed || !this.didReadStoredSession)) {
5147
- if (this.restorableSessionId && !((n = this.sessionCtx.sessionState.get().session) != null && n.id)) {
5489
+ if (this.restorableSessionId && !((o = this.sessionCtx.sessionState.get().session) != null && o.id)) {
5148
5490
  const l = _.find(
5149
5491
  (p) => p.id === this.restorableSessionId && p.isOpened
5150
5492
  );
@@ -5168,7 +5510,7 @@ class Aa {
5168
5510
  }, this.toSessionsScreen = () => {
5169
5511
  this.navigateConversation || this.resetChat(), this.state.setPartial({ screen: "sessions" });
5170
5512
  }, this.toChatScreen = (i) => {
5171
- var n, t;
5513
+ var o, t;
5172
5514
  if (this.navigateConversation) return this.navigateConversation(i);
5173
5515
  this.resetChat();
5174
5516
  let _;
@@ -5176,7 +5518,7 @@ class Aa {
5176
5518
  if (_ = this.sessionCtx.sessionsState.get().data.find((r) => r.id === i), !_) return;
5177
5519
  this.sessionCtx.sessionState.setPartial({ session: _ });
5178
5520
  }
5179
- return this.state.setPartial({ screen: "chat" }), (t = (n = this.config.hooks) == null ? void 0 : n.onNavigateToChat) == null || t.call(n, { session: _ }), this.widget;
5521
+ return this.state.setPartial({ screen: "chat" }), (t = (o = this.config.hooks) == null ? void 0 : o.onNavigateToChat) == null || t.call(o, { session: _ }), this.widget;
5180
5522
  }, this.config = e.config, this.contactCtx = e.contactCtx, this.sessionCtx = e.sessionCtx, this.resetChat = e.resetChat, this.state = new j({
5181
5523
  screen: this.contactCtx.shouldCollectData() ? "welcome" : (a = this.config.router) != null && a.chatScreenOnly ? "chat" : "sessions"
5182
5524
  }), this.shouldRestoreLastSession = ((s = this.config.router) == null ? void 0 : s.restoreLastSession) ?? !1, this.readStoredSession(), this.registerRoutingListener();
@@ -5230,7 +5572,7 @@ class Pa {
5230
5572
  }
5231
5573
  }
5232
5574
  function Ta({
5233
- org: o,
5575
+ org: n,
5234
5576
  agent: e
5235
5577
  }) {
5236
5578
  return e ? {
@@ -5245,7 +5587,7 @@ function Ta({
5245
5587
  clientTools: e.features.client_tools
5246
5588
  }
5247
5589
  } : {
5248
- name: o.name,
5590
+ name: n.name,
5249
5591
  avatarUrl: null,
5250
5592
  streaming: !1,
5251
5593
  features: {
@@ -5256,20 +5598,20 @@ function Ta({
5256
5598
  }
5257
5599
  };
5258
5600
  }
5259
- function M(o, e) {
5260
- return o && e !== !1;
5601
+ function M(n, e) {
5602
+ return n && e !== !1;
5261
5603
  }
5262
- function Ma(o, e) {
5604
+ function Ma(n, e) {
5263
5605
  const a = e.features;
5264
5606
  return {
5265
- dictation: M(o.features.dictation, a == null ? void 0 : a.dictation),
5266
- attachments: o.features.attachments,
5607
+ dictation: M(n.features.dictation, a == null ? void 0 : a.dictation),
5608
+ attachments: n.features.attachments,
5267
5609
  pageContext: M(
5268
- o.features.pageContext,
5610
+ n.features.pageContext,
5269
5611
  a == null ? void 0 : a.pageContext
5270
5612
  ),
5271
5613
  clientTools: M(
5272
- o.features.clientTools,
5614
+ n.features.clientTools,
5273
5615
  a == null ? void 0 : a.clientTools
5274
5616
  )
5275
5617
  };
@@ -5286,7 +5628,7 @@ const w = class w {
5286
5628
  getClientCapabilities: s,
5287
5629
  getRequestConfig: i,
5288
5630
  modes: _,
5289
- org: n,
5631
+ org: o,
5290
5632
  agent: t,
5291
5633
  parent: r
5292
5634
  }) {
@@ -5319,7 +5661,7 @@ const w = class w {
5319
5661
  throw Error(
5320
5662
  "Widget polling values are not defined, did you call WidgetCtx.initialize()"
5321
5663
  );
5322
- this.config = e, this.getRequestConfig = i ?? (() => this.config), this.getClientCapabilities = s, this.org = n, this.agent = t, this.api = (r == null ? void 0 : r.api) ?? new O({ config: e }), this.storageCtx = (r == null ? void 0 : r.storageCtx) ?? (a ? new Pa({ storage: a, config: e }) : void 0), this.modes = _, this.contactCtx = (r == null ? void 0 : r.contactCtx) ?? new le({
5664
+ this.config = e, this.getRequestConfig = i ?? (() => this.config), this.getClientCapabilities = s, this.org = o, this.agent = t, this.api = (r == null ? void 0 : r.api) ?? new O({ config: e }), this.storageCtx = (r == null ? void 0 : r.storageCtx) ?? (a ? new Pa({ storage: a, config: e }) : void 0), this.modes = _, this.contactCtx = (r == null ? void 0 : r.contactCtx) ?? new le({
5323
5665
  api: this.api,
5324
5666
  config: this.config,
5325
5667
  storageCtx: this.storageCtx
@@ -5357,7 +5699,7 @@ const w = class w {
5357
5699
  sessionCtx: this.sessionCtx,
5358
5700
  messageCtx: this.messageCtx,
5359
5701
  sessionPollingIntervalSeconds: w.pollingIntervalsSeconds.session
5360
- }), this.routerCtx = new Aa(this);
5702
+ }), this.routerCtx = new Ea(this);
5361
5703
  }
5362
5704
  get streaming() {
5363
5705
  var e, a;
@@ -5377,7 +5719,7 @@ w.pollingIntervalsSeconds = null, w.initialize = async ({
5377
5719
  getClientCapabilities: s,
5378
5720
  getRequestConfig: i
5379
5721
  }) => {
5380
- var n, t;
5722
+ var o, t;
5381
5723
  const _ = await new O({
5382
5724
  config: e
5383
5725
  }).getExternalWidgetConfig();
@@ -5388,7 +5730,7 @@ w.pollingIntervalsSeconds = null, w.initialize = async ({
5388
5730
  _.error
5389
5731
  );
5390
5732
  return w.pollingIntervalsSeconds = {
5391
- session: ((n = _.data) == null ? void 0 : n.sessionPollingIntervalSeconds) || 10,
5733
+ session: ((o = _.data) == null ? void 0 : o.sessionPollingIntervalSeconds) || 10,
5392
5734
  sessions: ((t = _.data) == null ? void 0 : t.sessionsPollingIntervalSeconds) || 60
5393
5735
  }, new w({
5394
5736
  config: e,
@@ -5404,10 +5746,11 @@ w.pollingIntervalsSeconds = null, w.initialize = async ({
5404
5746
  });
5405
5747
  };
5406
5748
  let H = w;
5407
- function Ba(o, e) {
5408
- return o ? {
5409
- toolActivity: o.toolActivity === "hidden" || (e == null ? void 0 : e.toolActivity) === "hidden" ? "hidden" : o.toolActivity === "status" || (e == null ? void 0 : e.toolActivity) === "status" ? "status" : "details",
5410
- reasoning: o.reasoning && (e == null ? void 0 : e.reasoning) !== !1
5749
+ function Ba(n, e) {
5750
+ return n ? {
5751
+ streaming: n.streaming && (e == null ? void 0 : e.streaming) !== !1,
5752
+ toolActivity: n.toolActivity === "hidden" || (e == null ? void 0 : e.toolActivity) === "hidden" ? "hidden" : n.toolActivity === "status" || (e == null ? void 0 : e.toolActivity) === "status" ? "status" : "details",
5753
+ reasoning: n.reasoning && (e == null ? void 0 : e.reasoning) !== !1
5411
5754
  } : e;
5412
5755
  }
5413
5756
  class Va {
@@ -5428,32 +5771,32 @@ const P = [
5428
5771
  ], Da = new Set(
5429
5772
  P
5430
5773
  );
5431
- function J(o) {
5432
- return Da.has(o);
5774
+ function $(n) {
5775
+ return Da.has(n);
5433
5776
  }
5434
- function Ha(o) {
5435
- if (!Array.isArray(o)) return P;
5777
+ function Ha(n) {
5778
+ if (!Array.isArray(n)) return P;
5436
5779
  const e = [], a = /* @__PURE__ */ new Set();
5437
- for (const s of o)
5438
- !J(s) || a.has(s) || (a.add(s), e.push(s));
5780
+ for (const s of n)
5781
+ !$(s) || a.has(s) || (a.add(s), e.push(s));
5439
5782
  return e.length > 0 ? e : P;
5440
5783
  }
5441
- function Ga(o, e) {
5442
- return J(o) && e.includes(o) ? o : e[0] ?? P[0];
5784
+ function Za(n, e) {
5785
+ return $(n) && e.includes(n) ? n : e[0] ?? P[0];
5443
5786
  }
5444
- function Wa(o, e) {
5445
- return o === "left" || o === "right" ? o : e === "rtl" ? "left" : "right";
5787
+ function Ga(n, e) {
5788
+ return n === "left" || n === "right" ? n : e === "rtl" ? "left" : "right";
5446
5789
  }
5447
- function $a(o) {
5448
- return o === "docked" ? "docked" : "floating";
5790
+ function Wa(n) {
5791
+ return n === "docked" ? "docked" : "floating";
5449
5792
  }
5450
5793
  export {
5451
5794
  Va as DictationLevelSmoother,
5452
5795
  j as PrimitiveState,
5453
5796
  H as WidgetCtx,
5454
5797
  Ia as WidgetInitializationError,
5455
- Ea as buildSendMessageBody,
5456
- z as genUuid,
5798
+ Aa as buildSendMessageBody,
5799
+ x as genUuid,
5457
5800
  ya as getTranslation,
5458
5801
  Fa as isAgentStreamKeepalive,
5459
5802
  re as isExhaustive,
@@ -5464,11 +5807,11 @@ export {
5464
5807
  h as log,
5465
5808
  Ha as normalizeCompanionLayouts,
5466
5809
  Ba as resolveClientPresentation,
5467
- Ga as resolveCompanionDefaultLayout,
5810
+ Za as resolveCompanionDefaultLayout,
5468
5811
  Ca as resolveConfigContext,
5469
- va as resolveLanguage,
5470
- $a as resolveSidebarMode,
5471
- Wa as resolveSidebarSide,
5812
+ fa as resolveLanguage,
5813
+ Wa as resolveSidebarMode,
5814
+ Ga as resolveSidebarSide,
5472
5815
  wa as translate
5473
5816
  };
5474
5817
  //# sourceMappingURL=index.js.map