@opencx/widget-core 5.0.0-beta.5 → 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.
- package/dist/index.cjs +5 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +691 -348
- package/dist/index.js.map +1 -1
- package/dist/src/context/resolve-client-presentation.d.ts.map +1 -1
- package/dist/src/translation/ar.d.ts.map +1 -1
- package/dist/src/translation/bg.d.ts.map +1 -1
- package/dist/src/translation/bn.d.ts.map +1 -1
- package/dist/src/translation/cs.d.ts.map +1 -1
- package/dist/src/translation/da.d.ts.map +1 -1
- package/dist/src/translation/de.d.ts.map +1 -1
- package/dist/src/translation/el.d.ts.map +1 -1
- package/dist/src/translation/en.d.ts.map +1 -1
- package/dist/src/translation/es.d.ts.map +1 -1
- package/dist/src/translation/et.d.ts.map +1 -1
- package/dist/src/translation/fi.d.ts.map +1 -1
- package/dist/src/translation/fil.d.ts.map +1 -1
- package/dist/src/translation/fr.d.ts.map +1 -1
- package/dist/src/translation/hi.d.ts.map +1 -1
- package/dist/src/translation/hr.d.ts.map +1 -1
- package/dist/src/translation/hu.d.ts.map +1 -1
- package/dist/src/translation/index.d.ts +12 -0
- package/dist/src/translation/index.d.ts.map +1 -1
- package/dist/src/translation/is.d.ts.map +1 -1
- package/dist/src/translation/it.d.ts.map +1 -1
- package/dist/src/translation/ja.d.ts.map +1 -1
- package/dist/src/translation/ko.d.ts.map +1 -1
- package/dist/src/translation/lb.d.ts.map +1 -1
- package/dist/src/translation/lt.d.ts.map +1 -1
- package/dist/src/translation/lv.d.ts.map +1 -1
- package/dist/src/translation/mt.d.ts.map +1 -1
- package/dist/src/translation/nb.d.ts.map +1 -1
- package/dist/src/translation/nl.d.ts.map +1 -1
- package/dist/src/translation/no.d.ts.map +1 -1
- package/dist/src/translation/pl.d.ts.map +1 -1
- package/dist/src/translation/pt.d.ts.map +1 -1
- package/dist/src/translation/ro.d.ts.map +1 -1
- package/dist/src/translation/ru.d.ts.map +1 -1
- package/dist/src/translation/sk.d.ts.map +1 -1
- package/dist/src/translation/sv.d.ts.map +1 -1
- package/dist/src/translation/th.d.ts.map +1 -1
- package/dist/src/translation/tr.d.ts.map +1 -1
- package/dist/src/translation/ur.d.ts.map +1 -1
- package/dist/src/translation/vi.d.ts.map +1 -1
- package/dist/src/translation/zh-cn.d.ts.map +1 -1
- package/dist/src/types/component-name.d.ts +1 -1
- package/dist/src/types/component-name.d.ts.map +1 -1
- package/dist/src/types/widget-config.d.ts +2 -0
- package/dist/src/types/widget-config.d.ts.map +1 -1
- package/package.json +1 -1
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 = (
|
|
5
|
-
warn: (
|
|
6
|
-
console.warn(`${L} ${
|
|
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: (
|
|
9
|
-
console.error(`${L} ${
|
|
8
|
+
error: (n, ...e) => {
|
|
9
|
+
console.error(`${L} ${n}`, ...e);
|
|
10
10
|
}
|
|
11
|
-
}, se = (
|
|
12
|
-
h.error("request failed",
|
|
13
|
-
},
|
|
11
|
+
}, se = (n) => {
|
|
12
|
+
h.error("request failed", n.error);
|
|
13
|
+
}, oe = (n) => {
|
|
14
14
|
const e = ae({
|
|
15
|
-
baseUrl:
|
|
15
|
+
baseUrl: n.baseUrl
|
|
16
16
|
}), a = {
|
|
17
|
-
onRequest:
|
|
18
|
-
onResponse:
|
|
19
|
-
onError:
|
|
17
|
+
onRequest: n.onRequest,
|
|
18
|
+
onResponse: n.onResponse,
|
|
19
|
+
onError: n.onError || se
|
|
20
20
|
};
|
|
21
21
|
return e.use(a), e;
|
|
22
|
-
},
|
|
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 = (
|
|
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:
|
|
31
|
+
Authorization: o ? `Bearer ${o}` : void 0
|
|
32
32
|
};
|
|
33
33
|
return { baseUrl: t, headers: r };
|
|
34
34
|
}, this.createOpenAPIClient = ({
|
|
35
|
-
baseUrl:
|
|
35
|
+
baseUrl: o,
|
|
36
36
|
headers: t
|
|
37
|
-
}) =>
|
|
38
|
-
baseUrl:
|
|
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 = (
|
|
45
|
-
this.userToken =
|
|
46
|
-
const { baseUrl: t, headers: r } = this.constructClientOptions(
|
|
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:
|
|
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:
|
|
52
|
+
return { baseUrl: o, headers: r };
|
|
53
53
|
}, this.getStreamTransportOptions = () => {
|
|
54
|
-
const { baseUrl:
|
|
54
|
+
const { baseUrl: o, headers: t } = this.getStreamAuthContext();
|
|
55
55
|
return {
|
|
56
|
-
api: F(
|
|
57
|
-
reconnectApi: (r) => F(
|
|
56
|
+
api: F(o, ne),
|
|
57
|
+
reconnectApi: (r) => F(o, ie, r),
|
|
58
58
|
headers: t
|
|
59
59
|
};
|
|
60
|
-
}, this.stopStream = async (
|
|
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:
|
|
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 (
|
|
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:
|
|
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:
|
|
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:
|
|
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 (
|
|
96
|
-
body:
|
|
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 (
|
|
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:
|
|
102
|
+
body: o
|
|
103
103
|
}
|
|
104
|
-
), this.createSession = async (
|
|
105
|
-
body:
|
|
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:
|
|
108
|
+
sessionId: o,
|
|
109
109
|
abortSignal: t
|
|
110
110
|
}) => await this.client.GET("/backend/widget/v2/poll/{sessionId}", {
|
|
111
|
-
params: { path: { sessionId:
|
|
111
|
+
params: { path: { sessionId: o } },
|
|
112
112
|
signal: t
|
|
113
113
|
}), this.getSessions = async ({
|
|
114
|
-
cursor:
|
|
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:
|
|
120
|
+
offset: o,
|
|
121
121
|
filters: JSON.stringify(t)
|
|
122
122
|
}
|
|
123
123
|
},
|
|
124
124
|
signal: r
|
|
125
125
|
}), this.uploadFile = async ({
|
|
126
|
-
file:
|
|
126
|
+
file: o,
|
|
127
127
|
abortSignal: t,
|
|
128
128
|
onProgress: r
|
|
129
129
|
}) => new Promise((c, d) => {
|
|
130
|
-
var
|
|
130
|
+
var v;
|
|
131
131
|
const l = new FormData();
|
|
132
|
-
l.append("file",
|
|
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 ?? ((
|
|
162
|
-
}), this.vote = async (
|
|
163
|
-
body:
|
|
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 (
|
|
166
|
-
body:
|
|
167
|
-
}), this.submitCsat = async (
|
|
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(
|
|
175
|
-
h.error(`missing case for ${
|
|
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
|
|
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
|
|
229
|
+
function G(n) {
|
|
230
230
|
try {
|
|
231
|
-
const e =
|
|
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
|
|
246
|
-
this.sessionCtx.sessionState.subscribe(({ session:
|
|
247
|
-
|
|
248
|
-
this.fetchSessionAndHistory({ sessionId:
|
|
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:
|
|
251
|
-
if (
|
|
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:
|
|
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:
|
|
263
|
-
this.reconcilingSessionId !== null && (
|
|
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 (
|
|
265
|
+
}, this.reconcileAfterStream = async (o) => {
|
|
266
266
|
this.reconcileAbortController.abort(), this.reconcileAbortController = new AbortController();
|
|
267
267
|
const { signal: t } = this.reconcileAbortController;
|
|
268
|
-
this.reconcilingSessionId =
|
|
268
|
+
this.reconcilingSessionId = o;
|
|
269
269
|
try {
|
|
270
|
-
await this.fetchSessionAndHistory({ sessionId:
|
|
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 ===
|
|
274
|
+
this.reconcilingSessionId === o && (this.reconcilingSessionId = null);
|
|
275
275
|
}
|
|
276
276
|
}, this.fetchSessionAndHistory = async ({
|
|
277
|
-
sessionId:
|
|
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:
|
|
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 = (
|
|
302
|
+
}, this.mapHistoryToMessage = (o) => {
|
|
303
303
|
var r;
|
|
304
304
|
const t = {
|
|
305
|
-
id:
|
|
306
|
-
timestamp:
|
|
307
|
-
attachments:
|
|
305
|
+
id: o.publicId,
|
|
306
|
+
timestamp: o.sentAt || "",
|
|
307
|
+
attachments: o.attachments || void 0
|
|
308
308
|
};
|
|
309
|
-
if (
|
|
309
|
+
if (o.sender.kind === "user")
|
|
310
310
|
return {
|
|
311
311
|
...t,
|
|
312
312
|
type: "USER",
|
|
313
|
-
content:
|
|
313
|
+
content: o.content.text || "",
|
|
314
314
|
// Backend field name (schema.ts) → widget vocabulary.
|
|
315
|
-
markedElements:
|
|
315
|
+
markedElements: o.pickedElements
|
|
316
316
|
};
|
|
317
|
-
if (
|
|
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:
|
|
323
|
+
message: o.content.text || ""
|
|
324
324
|
},
|
|
325
325
|
agent: {
|
|
326
|
-
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:
|
|
330
|
-
avatar:
|
|
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 (
|
|
336
|
-
const c =
|
|
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:
|
|
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 (
|
|
359
|
-
const c = this.constructSystemMessage(
|
|
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 = (
|
|
364
|
-
if (!
|
|
365
|
-
switch (
|
|
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:
|
|
368
|
+
id: o.publicId,
|
|
369
369
|
type: "SYSTEM",
|
|
370
370
|
subtype: "state_checkpoint",
|
|
371
|
-
data: { payload:
|
|
372
|
-
timestamp:
|
|
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:
|
|
377
|
+
id: o.publicId,
|
|
378
378
|
type: "SYSTEM",
|
|
379
379
|
subtype: "csat_requested",
|
|
380
380
|
data: { payload: void 0 },
|
|
381
|
-
timestamp:
|
|
381
|
+
timestamp: o.sentAt || "",
|
|
382
382
|
attachments: void 0
|
|
383
383
|
};
|
|
384
384
|
case "csat_submitted":
|
|
385
385
|
return {
|
|
386
|
-
id:
|
|
386
|
+
id: o.publicId,
|
|
387
387
|
type: "SYSTEM",
|
|
388
388
|
subtype: "csat_submitted",
|
|
389
389
|
data: {
|
|
390
390
|
payload: {
|
|
391
|
-
score:
|
|
392
|
-
feedback:
|
|
391
|
+
score: o.systemMessagePayload.payload.score ?? void 0,
|
|
392
|
+
feedback: o.systemMessagePayload.payload.feedback ?? void 0
|
|
393
393
|
}
|
|
394
394
|
},
|
|
395
|
-
timestamp:
|
|
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
|
-
|
|
402
|
+
o.systemMessagePayload,
|
|
403
403
|
this.constructSystemMessage.name
|
|
404
404
|
), null;
|
|
405
405
|
}
|
|
406
|
-
}, this.extractActionResult = (
|
|
407
|
-
const t =
|
|
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 =
|
|
410
|
+
const r = t.responseBodyText, c = G(() => JSON.parse(r)).data;
|
|
411
411
|
if (c) return c;
|
|
412
412
|
}
|
|
413
|
-
return
|
|
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 _,
|
|
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 = (
|
|
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 = (
|
|
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 (_,
|
|
451
|
-
this.state.setPartial({ extraCollectedData:
|
|
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 _,
|
|
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 ((
|
|
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
|
|
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
|
|
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
|
|
561
|
+
const o = x();
|
|
562
562
|
this.messageCtx.state.setPartial({
|
|
563
563
|
messages: [
|
|
564
564
|
...this.messageCtx.state.get().messages,
|
|
565
565
|
{
|
|
566
|
-
id:
|
|
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:
|
|
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(
|
|
672
|
-
return ue.includes(
|
|
671
|
+
function me(n) {
|
|
672
|
+
return ue.includes(n);
|
|
673
673
|
}
|
|
674
|
-
function he(
|
|
675
|
-
return
|
|
674
|
+
function he(n) {
|
|
675
|
+
return n.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
676
676
|
}
|
|
677
|
-
function ge(
|
|
677
|
+
function ge(n) {
|
|
678
678
|
const e = de.flatMap(
|
|
679
|
-
(i) =>
|
|
680
|
-
(_) => i.phrases[_].map((
|
|
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(
|
|
700
|
-
const e =
|
|
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(
|
|
705
|
-
const e =
|
|
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
|
|
725
|
-
return
|
|
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
|
|
731
|
-
return
|
|
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),
|
|
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(
|
|
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:
|
|
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
|
|
783
|
-
if (!
|
|
784
|
-
const t = e.slice(
|
|
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(
|
|
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
|
|
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(
|
|
860
|
-
return typeof
|
|
859
|
+
function V(n) {
|
|
860
|
+
return typeof n == "object" && n !== null && !Array.isArray(n);
|
|
861
861
|
}
|
|
862
|
-
function
|
|
863
|
-
if (!V(
|
|
864
|
-
const e = V(
|
|
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:
|
|
867
|
-
delta: typeof
|
|
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
|
|
872
|
-
class
|
|
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
|
|
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
|
|
906
|
+
if (!_) throw new E("No audio track");
|
|
907
907
|
i.addTrack(_, a);
|
|
908
|
-
const
|
|
909
|
-
this.dc =
|
|
908
|
+
const o = i.createDataChannel("oai-events");
|
|
909
|
+
this.dc = o, o.addEventListener(
|
|
910
910
|
"message",
|
|
911
911
|
(d) => this.handleServerEvent(d.data)
|
|
912
|
-
),
|
|
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
|
-
},
|
|
922
|
+
}, Ae)
|
|
923
923
|
);
|
|
924
924
|
});
|
|
925
925
|
const t = await i.createOffer();
|
|
926
926
|
await i.setLocalDescription(t);
|
|
927
|
-
const r = await fetch(
|
|
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
|
|
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
|
|
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
|
|
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 =
|
|
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),
|
|
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(
|
|
1010
|
+
(c = this.onLevel) == null || c.call(this, Math.min(1, r * 4)), this.levelRaf = requestAnimationFrame(o);
|
|
1011
1011
|
};
|
|
1012
|
-
this.levelRaf = requestAnimationFrame(
|
|
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
|
|
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
|
|
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
|
|
1069
|
-
if (
|
|
1068
|
+
const o = this.ingest();
|
|
1069
|
+
if (o === "stop") {
|
|
1070
1070
|
this.teardown();
|
|
1071
1071
|
return;
|
|
1072
1072
|
}
|
|
1073
|
-
if (
|
|
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
|
|
1134
|
-
(e == null ? void 0 : e.executeFinalCommand) !== !1 &&
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
4526
|
-
ja:
|
|
4527
|
-
ko:
|
|
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:
|
|
4534
|
-
no:
|
|
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:
|
|
4544
|
-
vi:
|
|
4885
|
+
ur: oa,
|
|
4886
|
+
vi: na,
|
|
4545
4887
|
"zh-cn": ia
|
|
4546
|
-
}, ka = Object.keys(
|
|
4547
|
-
function ba(
|
|
4548
|
-
return ka.includes(
|
|
4888
|
+
}, ka = Object.keys(J);
|
|
4889
|
+
function ba(n) {
|
|
4890
|
+
return ka.includes(n);
|
|
4549
4891
|
}
|
|
4550
|
-
const
|
|
4551
|
-
function Ua(
|
|
4552
|
-
return
|
|
4892
|
+
const va = /* @__PURE__ */ new Set(["ar", "ur"]);
|
|
4893
|
+
function Ua(n) {
|
|
4894
|
+
return va.has(n);
|
|
4553
4895
|
}
|
|
4554
|
-
function
|
|
4555
|
-
return ba(
|
|
4896
|
+
function fa(n) {
|
|
4897
|
+
return ba(n) ? n : "en";
|
|
4556
4898
|
}
|
|
4557
|
-
function ya(
|
|
4899
|
+
function ya(n, e, a, s) {
|
|
4558
4900
|
var _;
|
|
4559
|
-
const i = ((_ = a == null ? void 0 : a[e]) == null ? void 0 : _[
|
|
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
|
-
(
|
|
4904
|
+
(o, t) => t in s ? String(s[t]) : o
|
|
4563
4905
|
) : i;
|
|
4564
4906
|
}
|
|
4565
|
-
function wa(
|
|
4907
|
+
function wa(n, e, a) {
|
|
4566
4908
|
return ya(
|
|
4567
4909
|
e,
|
|
4568
|
-
|
|
4569
|
-
|
|
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:
|
|
4922
|
+
sharedSessions: o
|
|
4581
4923
|
}) {
|
|
4582
|
-
this.sessionsRefresher = new
|
|
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 =
|
|
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 = _,
|
|
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
|
|
4744
|
-
const s = Ca(
|
|
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 _ ?
|
|
5088
|
+
clientContext: e.withPageEntity === !1 && _ && "entity" in _ ? xa(_, "entity") : _,
|
|
4747
5089
|
custom_data: {
|
|
4748
|
-
...
|
|
5090
|
+
...n.messageCustomData || {},
|
|
4749
5091
|
...e.customData || {}
|
|
4750
5092
|
}
|
|
4751
5093
|
};
|
|
4752
|
-
},
|
|
4753
|
-
type:
|
|
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
|
-
}),
|
|
4758
|
-
const { [e]: a, ...s } =
|
|
5099
|
+
}), xa = (n, e) => {
|
|
5100
|
+
const { [e]: a, ...s } = n;
|
|
4759
5101
|
return Object.keys(s).length > 0 ? s : void 0;
|
|
4760
|
-
}, Ca = (
|
|
4761
|
-
if (typeof
|
|
5102
|
+
}, Ca = (n) => {
|
|
5103
|
+
if (typeof n.context != "function") return n.context;
|
|
4762
5104
|
try {
|
|
4763
|
-
return
|
|
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 = (
|
|
4769
|
-
const e =
|
|
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
|
-
},
|
|
4774
|
-
config:
|
|
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:
|
|
5122
|
+
sendsPageContext: o
|
|
4781
5123
|
}) => {
|
|
4782
5124
|
var t, r, c, d, l, p;
|
|
4783
5125
|
return {
|
|
4784
5126
|
uuid: a,
|
|
4785
|
-
bot_token:
|
|
4786
|
-
headers:
|
|
4787
|
-
query_params:
|
|
4788
|
-
body_properties:
|
|
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
|
-
...
|
|
4793
|
-
language:
|
|
4794
|
-
features: qa(
|
|
4795
|
-
presentation:
|
|
5134
|
+
...za(n, e, { sendsPageContext: o }),
|
|
5135
|
+
language: n.language,
|
|
5136
|
+
features: qa(n),
|
|
5137
|
+
presentation: n.presentation,
|
|
4796
5138
|
capabilities: [
|
|
4797
|
-
(t =
|
|
4798
|
-
(r =
|
|
4799
|
-
(c =
|
|
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 =
|
|
4802
|
-
rich_replies: (l =
|
|
4803
|
-
page_effects: (p =
|
|
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
|
-
},
|
|
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:
|
|
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 >
|
|
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
|
-
|
|
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:
|
|
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
|
|
5236
|
+
let v;
|
|
4895
5237
|
try {
|
|
4896
|
-
|
|
5238
|
+
v = await this.ensureSessionId();
|
|
4897
5239
|
} catch (k) {
|
|
4898
5240
|
throw this.rollbackOptimisticMessages(b), k;
|
|
4899
5241
|
}
|
|
4900
|
-
return
|
|
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 ?
|
|
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,
|
|
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:
|
|
4957
|
-
|
|
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 (
|
|
4972
|
-
const
|
|
4973
|
-
if (
|
|
4974
|
-
const
|
|
4975
|
-
if (!!
|
|
4976
|
-
(ee) => ee.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 =
|
|
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: [...
|
|
4985
|
-
lastAIResMightSolveUserIssue: ((g =
|
|
4986
|
-
}), this.dispatchToOnMessageReceivedHook(
|
|
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
|
-
|
|
5330
|
+
f.session && this.sessionCtx.sessionState.setPartial({ session: f.session });
|
|
4989
5331
|
} else {
|
|
4990
|
-
const
|
|
4991
|
-
((
|
|
4992
|
-
),
|
|
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: [...
|
|
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:
|
|
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 ||
|
|
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:
|
|
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 ?? (() =>
|
|
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,
|
|
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
|
-
|
|
5116
|
-
let I =
|
|
5117
|
-
class
|
|
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
|
|
5487
|
+
var o, t, r, c, d;
|
|
5146
5488
|
if (!(this.disposed || !this.didReadStoredSession)) {
|
|
5147
|
-
if (this.restorableSessionId && !((
|
|
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
|
|
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 = (
|
|
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:
|
|
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:
|
|
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(
|
|
5260
|
-
return
|
|
5601
|
+
function M(n, e) {
|
|
5602
|
+
return n && e !== !1;
|
|
5261
5603
|
}
|
|
5262
|
-
function Ma(
|
|
5604
|
+
function Ma(n, e) {
|
|
5263
5605
|
const a = e.features;
|
|
5264
5606
|
return {
|
|
5265
|
-
dictation: M(
|
|
5266
|
-
attachments:
|
|
5607
|
+
dictation: M(n.features.dictation, a == null ? void 0 : a.dictation),
|
|
5608
|
+
attachments: n.features.attachments,
|
|
5267
5609
|
pageContext: M(
|
|
5268
|
-
|
|
5610
|
+
n.features.pageContext,
|
|
5269
5611
|
a == null ? void 0 : a.pageContext
|
|
5270
5612
|
),
|
|
5271
5613
|
clientTools: M(
|
|
5272
|
-
|
|
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:
|
|
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 =
|
|
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
|
|
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
|
|
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: ((
|
|
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(
|
|
5408
|
-
return
|
|
5409
|
-
|
|
5410
|
-
|
|
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
|
|
5432
|
-
return Da.has(
|
|
5774
|
+
function $(n) {
|
|
5775
|
+
return Da.has(n);
|
|
5433
5776
|
}
|
|
5434
|
-
function Ha(
|
|
5435
|
-
if (!Array.isArray(
|
|
5777
|
+
function Ha(n) {
|
|
5778
|
+
if (!Array.isArray(n)) return P;
|
|
5436
5779
|
const e = [], a = /* @__PURE__ */ new Set();
|
|
5437
|
-
for (const s of
|
|
5438
|
-
|
|
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
|
|
5442
|
-
return
|
|
5784
|
+
function Za(n, e) {
|
|
5785
|
+
return $(n) && e.includes(n) ? n : e[0] ?? P[0];
|
|
5443
5786
|
}
|
|
5444
|
-
function
|
|
5445
|
-
return
|
|
5787
|
+
function Ga(n, e) {
|
|
5788
|
+
return n === "left" || n === "right" ? n : e === "rtl" ? "left" : "right";
|
|
5446
5789
|
}
|
|
5447
|
-
function
|
|
5448
|
-
return
|
|
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
|
-
|
|
5456
|
-
|
|
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
|
-
|
|
5810
|
+
Za as resolveCompanionDefaultLayout,
|
|
5468
5811
|
Ca as resolveConfigContext,
|
|
5469
|
-
|
|
5470
|
-
|
|
5471
|
-
|
|
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
|