@_solaris/messenger-widget 0.5.33 → 0.5.35

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/messenger.js CHANGED
@@ -1,4 +1,4 @@
1
- import { reactive as Ue, openBlock as c, createElementBlock as u, normalizeStyle as q, normalizeClass as O, toDisplayString as v, resolveComponent as R, createVNode as $, Transition as Ie, withCtx as Ee, Fragment as B, renderList as D, withKeys as ue, withModifiers as G, createElementVNode as o, createCommentVNode as y, createBlock as F, withDirectives as V, vModelText as X, createTextVNode as ve, resolveDynamicComponent as De, renderSlot as je, vModelCheckbox as He, vModelSelect as ze, markRaw as Ce } from "vue";
1
+ import { reactive as Ue, openBlock as c, createElementBlock as u, normalizeStyle as q, normalizeClass as O, toDisplayString as v, resolveComponent as R, createVNode as $, Transition as Ie, withCtx as Ee, Fragment as B, renderList as U, withKeys as ue, withModifiers as G, createElementVNode as o, createCommentVNode as y, createBlock as P, withDirectives as V, vModelText as X, createTextVNode as ve, resolveDynamicComponent as De, renderSlot as je, vModelCheckbox as He, vModelSelect as ze, markRaw as Ce } from "vue";
2
2
  const qe = [
3
3
  "connected",
4
4
  "message",
@@ -36,9 +36,9 @@ function We(e) {
36
36
  }
37
37
  function i(d, f) {
38
38
  const _ = t.listeners.get(d);
39
- _ && _.forEach((w) => {
39
+ _ && _.forEach((b) => {
40
40
  try {
41
- w(f);
41
+ b(f);
42
42
  } catch (C) {
43
43
  console.error("[transport] listener", d, C);
44
44
  }
@@ -61,19 +61,19 @@ function We(e) {
61
61
  };
62
62
  }
63
63
  async function a(d, f, _) {
64
- const w = await fetch(`${t.baseUrl}${fe}${f}`, {
64
+ const b = await fetch(`${t.baseUrl}${fe}${f}`, {
65
65
  method: d,
66
66
  credentials: "include",
67
67
  headers: s(),
68
68
  body: _ !== void 0 ? JSON.stringify(_) : void 0
69
69
  });
70
- if (!w.ok) {
71
- const C = await l(w), M = new Error(
72
- `HTTP ${w.status} ${d} ${f} :: ${(C == null ? void 0 : C.error) || w.statusText}`
70
+ if (!b.ok) {
71
+ const C = await l(b), M = new Error(
72
+ `HTTP ${b.status} ${d} ${f} :: ${(C == null ? void 0 : C.error) || b.statusText}`
73
73
  );
74
- throw M.status = w.status, M.body = C, M;
74
+ throw M.status = b.status, M.body = C, M;
75
75
  }
76
- return w.status === 204 ? null : w.json();
76
+ return b.status === 204 ? null : b.json();
77
77
  }
78
78
  async function l(d) {
79
79
  try {
@@ -109,28 +109,28 @@ function We(e) {
109
109
  }
110
110
  );
111
111
  if (!f.ok) {
112
- const L = await l(f), x = new Error(
113
- `Session bootstrap failed: HTTP ${f.status} :: ${(L == null ? void 0 : L.error) || f.statusText}`
112
+ const I = await l(f), x = new Error(
113
+ `Session bootstrap failed: HTTP ${f.status} :: ${(I == null ? void 0 : I.error) || f.statusText}`
114
114
  );
115
- throw x.status = f.status, x.body = L, x;
115
+ throw x.status = f.status, x.body = I, x;
116
116
  }
117
117
  const _ = await f.json();
118
118
  t.userId = _.external_id;
119
- const [w, C] = await Promise.all([
119
+ const [b, C] = await Promise.all([
120
120
  fetch(
121
121
  `${t.baseUrl}/widgets/${encodeURIComponent(t.widgetId)}/config`,
122
122
  { credentials: "include" }
123
- ).then(async (L) => {
124
- if (!L.ok) {
125
- const x = await l(L);
123
+ ).then(async (I) => {
124
+ if (!I.ok) {
125
+ const x = await l(I);
126
126
  throw new Error(
127
- `HTTP ${L.status} GET /widgets/:id/config :: ${(x == null ? void 0 : x.error) || L.statusText}`
127
+ `HTTP ${I.status} GET /widgets/:id/config :: ${(x == null ? void 0 : x.error) || I.statusText}`
128
128
  );
129
129
  }
130
- return L.json();
130
+ return I.json();
131
131
  }),
132
132
  a("GET", "/customers/me")
133
- ]), M = { config: w, customer: (C == null ? void 0 : C.customer) ?? null };
133
+ ]), M = { config: b, customer: (C == null ? void 0 : C.customer) ?? null };
134
134
  return t.lastBootstrap = M, await k(), typeof document < "u" && (t.visibilityHandler = m, document.addEventListener(
135
135
  "visibilitychange",
136
136
  t.visibilityHandler
@@ -140,14 +140,14 @@ function We(e) {
140
140
  try {
141
141
  const d = await E();
142
142
  t.lastActivityAt = d.reduce((f, _) => {
143
- const w = _ == null ? void 0 : _.last_message_at;
144
- return w && (!f || w > f) ? w : f;
143
+ const b = _ == null ? void 0 : _.last_message_at;
144
+ return b && (!f || b > f) ? b : f;
145
145
  }, null);
146
146
  } catch (d) {
147
147
  console.error("[transport] initial /conversations failed", d);
148
148
  }
149
149
  }
150
- async function b() {
150
+ async function w() {
151
151
  const d = await a("GET", "/customers/me");
152
152
  return (d == null ? void 0 : d.customer) ?? null;
153
153
  }
@@ -175,23 +175,23 @@ function We(e) {
175
175
  f
176
176
  )).conversation;
177
177
  }
178
- async function P(d, f) {
178
+ async function F(d, f) {
179
179
  return a(
180
180
  "PATCH",
181
181
  `/conversations/${encodeURIComponent(d)}/read`,
182
182
  { message_id: f }
183
183
  );
184
184
  }
185
- async function I(d, f = {}) {
185
+ async function L(d, f = {}) {
186
186
  const _ = new URLSearchParams();
187
187
  f.before && _.set("before", f.before), f.since && _.set("since", f.since), f.limit && _.set("limit", String(f.limit));
188
- const w = _.toString() ? `?${_.toString()}` : "";
188
+ const b = _.toString() ? `?${_.toString()}` : "";
189
189
  return a(
190
190
  "GET",
191
- `/conversations/${encodeURIComponent(d)}/messages${w}`
191
+ `/conversations/${encodeURIComponent(d)}/messages${b}`
192
192
  );
193
193
  }
194
- async function U(d, f) {
194
+ async function z(d, f) {
195
195
  se();
196
196
  const _ = {
197
197
  client_msg_id: f.client_msg_id,
@@ -214,9 +214,9 @@ function We(e) {
214
214
  );
215
215
  }
216
216
  async function Z(d) {
217
- const f = d.name || "attachment", _ = d.type || "application/octet-stream", w = d.size || 0, C = await a("POST", "/attachments", {
217
+ const f = d.name || "attachment", _ = d.type || "application/octet-stream", b = d.size || 0, C = await a("POST", "/attachments", {
218
218
  mime_type: _,
219
- size_bytes: w,
219
+ size_bytes: b,
220
220
  name: f
221
221
  }), M = await fetch(C.upload_url, {
222
222
  method: "PUT",
@@ -229,7 +229,7 @@ function We(e) {
229
229
  type: Ye(_),
230
230
  path: C.path,
231
231
  mime_type: _,
232
- size_bytes: w
232
+ size_bytes: b
233
233
  };
234
234
  }
235
235
  async function ee(d) {
@@ -258,8 +258,8 @@ function We(e) {
258
258
  }
259
259
  function ne(d, f) {
260
260
  try {
261
- const _ = JSON.parse(f), w = _ && typeof _ == "object" && "data" in _ ? _.data : _;
262
- i(d, w);
261
+ const _ = JSON.parse(f), b = _ && typeof _ == "object" && "data" in _ ? _.data : _;
262
+ i(d, b);
263
263
  } catch (_) {
264
264
  console.error("[transport] bad SSE payload", d, _);
265
265
  }
@@ -277,9 +277,9 @@ function We(e) {
277
277
  }
278
278
  async function me() {
279
279
  try {
280
- const d = await E(), f = d.reduce((w, C) => {
280
+ const d = await E(), f = d.reduce((b, C) => {
281
281
  const M = C == null ? void 0 : C.last_message_at;
282
- return M && (!w || M > w) ? M : w;
282
+ return M && (!b || M > b) ? M : b;
283
283
  }, null);
284
284
  f && (!t.lastActivityAt || f > t.lastActivityAt) && (t.lastActivityAt = f, i("activity", { conversations: d, latestAt: f }), se());
285
285
  } catch (d) {
@@ -317,15 +317,15 @@ function We(e) {
317
317
  stop: g,
318
318
  setPanelOpen: ce,
319
319
  // REST
320
- getCustomer: b,
320
+ getCustomer: w,
321
321
  patchCustomer: T,
322
322
  listConversations: E,
323
323
  createConversation: A,
324
324
  getConversation: H,
325
325
  patchConversation: S,
326
- markConversationRead: P,
327
- listMessages: I,
328
- postMessage: U,
326
+ markConversationRead: F,
327
+ listMessages: L,
328
+ postMessage: z,
329
329
  postCallback: Y,
330
330
  uploadAttachment: Z,
331
331
  signAttachment: ee,
@@ -475,23 +475,23 @@ function Qe(e) {
475
475
  async function p(h) {
476
476
  const m = t.paginationByConv[h];
477
477
  if (!(m != null && m.loaded || m != null && m.loading)) {
478
- b(h, { nextCursor: null, loading: !0, loaded: !1 });
478
+ w(h, { nextCursor: null, loading: !0, loaded: !1 });
479
479
  try {
480
480
  const g = await e.listMessages(h, {
481
481
  limit: l
482
482
  }), d = (g == null ? void 0 : g.messages) ?? [], f = t.messagesByConv[h] || [], _ = /* @__PURE__ */ new Set();
483
483
  for (const C of d)
484
484
  (C == null ? void 0 : C.id) != null && _.add(`id:${String(C.id)}`), C != null && C.client_msg_id && _.add(`c:${C.client_msg_id}`);
485
- const w = f.filter((C) => !((C == null ? void 0 : C.id) != null && _.has(`id:${String(C.id)}`) || C != null && C.client_msg_id && _.has(`c:${C.client_msg_id}`)));
486
- t.messagesByConv[h] = [...d, ...w].sort(
485
+ const b = f.filter((C) => !((C == null ? void 0 : C.id) != null && _.has(`id:${String(C.id)}`) || C != null && C.client_msg_id && _.has(`c:${C.client_msg_id}`)));
486
+ t.messagesByConv[h] = [...d, ...b].sort(
487
487
  ce
488
- ), b(h, {
488
+ ), w(h, {
489
489
  nextCursor: (g == null ? void 0 : g.next_cursor) ?? null,
490
490
  loading: !1,
491
491
  loaded: !0
492
492
  });
493
493
  } catch (g) {
494
- console.error("[store] openConversation failed", g), b(h, {
494
+ console.error("[store] openConversation failed", g), w(h, {
495
495
  nextCursor: null,
496
496
  loading: !1,
497
497
  loaded: !1
@@ -505,26 +505,26 @@ function Qe(e) {
505
505
  if (!m || m.loading || !m.nextCursor) return;
506
506
  const d = (f = (t.messagesByConv[h] || []).find((_) => _ == null ? void 0 : _.created_at)) == null ? void 0 : f.created_at;
507
507
  if (d) {
508
- b(h, { ...m, loading: !0 });
508
+ w(h, { ...m, loading: !0 });
509
509
  try {
510
510
  const _ = await e.listMessages(h, {
511
511
  before: d,
512
512
  limit: l
513
- }), w = (_ == null ? void 0 : _.messages) ?? [], C = t.messagesByConv[h] || [], M = /* @__PURE__ */ new Set();
513
+ }), b = (_ == null ? void 0 : _.messages) ?? [], C = t.messagesByConv[h] || [], M = /* @__PURE__ */ new Set();
514
514
  for (const x of C)
515
515
  (x == null ? void 0 : x.id) != null && M.add(`id:${String(x.id)}`), x != null && x.client_msg_id && M.add(`c:${x.client_msg_id}`);
516
- const L = w.filter((x) => !((x == null ? void 0 : x.id) != null && M.has(`id:${String(x.id)}`) || x != null && x.client_msg_id && M.has(`c:${x.client_msg_id}`)));
517
- t.messagesByConv[h] = [...L, ...C], b(h, {
516
+ const I = b.filter((x) => !((x == null ? void 0 : x.id) != null && M.has(`id:${String(x.id)}`) || x != null && x.client_msg_id && M.has(`c:${x.client_msg_id}`)));
517
+ t.messagesByConv[h] = [...I, ...C], w(h, {
518
518
  nextCursor: (_ == null ? void 0 : _.next_cursor) ?? null,
519
519
  loading: !1,
520
520
  loaded: !0
521
521
  });
522
522
  } catch (_) {
523
- console.error("[store] loadMore failed", _), b(h, { ...m, loading: !1 });
523
+ console.error("[store] loadMore failed", _), w(h, { ...m, loading: !1 });
524
524
  }
525
525
  }
526
526
  }
527
- function b(h, m) {
527
+ function w(h, m) {
528
528
  t.paginationByConv = { ...t.paginationByConv, [h]: m };
529
529
  }
530
530
  async function T(h, m) {
@@ -543,13 +543,13 @@ function Qe(e) {
543
543
  g ? { since: g } : {}
544
544
  ), f = (d == null ? void 0 : d.messages) || [];
545
545
  if (!f.length) return [];
546
- const _ = /* @__PURE__ */ new Set(), w = /* @__PURE__ */ new Set();
546
+ const _ = /* @__PURE__ */ new Set(), b = /* @__PURE__ */ new Set();
547
547
  for (const M of m)
548
- (M == null ? void 0 : M.id) != null && _.add(String(M.id)), M != null && M.client_msg_id && w.add(M.client_msg_id);
548
+ (M == null ? void 0 : M.id) != null && _.add(String(M.id)), M != null && M.client_msg_id && b.add(M.client_msg_id);
549
549
  const C = [];
550
550
  for (const M of f) {
551
- const L = (M == null ? void 0 : M.id) != null && _.has(String(M.id)) || (M == null ? void 0 : M.client_msg_id) && w.has(M.client_msg_id);
552
- K(h, M), L || C.push(M);
551
+ const I = (M == null ? void 0 : M.id) != null && _.has(String(M.id)) || (M == null ? void 0 : M.client_msg_id) && b.has(M.client_msg_id);
552
+ K(h, M), I || C.push(M);
553
553
  }
554
554
  return C;
555
555
  } catch (d) {
@@ -569,18 +569,18 @@ function Qe(e) {
569
569
  }
570
570
  }
571
571
  async function H(h, m, { attachments: g, metadata: d } = {}) {
572
- var L;
572
+ var I;
573
573
  const f = (m || "").trim(), _ = Array.isArray(g) && g.length > 0;
574
574
  if (!h || !f && !_) return;
575
- const w = Je(), C = de(h), M = {
576
- id: w,
577
- client_msg_id: w,
575
+ const b = Je(), C = de(h), M = {
576
+ id: b,
577
+ client_msg_id: b,
578
578
  conversation_id: h,
579
579
  type: "content",
580
580
  text_md: f,
581
581
  author: {
582
582
  type: "user",
583
- id: ((L = t.customer) == null ? void 0 : L.external_id) || null
583
+ id: ((I = t.customer) == null ? void 0 : I.external_id) || null
584
584
  },
585
585
  created_at: C,
586
586
  // Local-only flag — UI may render dimmed until the SSE echo lands.
@@ -591,14 +591,14 @@ function Qe(e) {
591
591
  K(h, M);
592
592
  try {
593
593
  await e.postMessage(h, {
594
- client_msg_id: w,
594
+ client_msg_id: b,
595
595
  text_md: f,
596
596
  created_at: C,
597
597
  ..._ ? { attachments: g } : {},
598
598
  ...d && typeof d == "object" ? { metadata: d } : {}
599
599
  });
600
600
  } catch (x) {
601
- console.error("[store] send failed", x), J(h, w, {
601
+ console.error("[store] send failed", x), J(h, b, {
602
602
  _failed: !0,
603
603
  _pending: !1
604
604
  });
@@ -612,10 +612,10 @@ function Qe(e) {
612
612
  console.error("[store] callback failed", d), h != null && delete t.awaitingCallback[h];
613
613
  }
614
614
  }
615
- const P = /* @__PURE__ */ new Map();
616
- async function I(h) {
615
+ const F = /* @__PURE__ */ new Map();
616
+ async function L(h) {
617
617
  if (!h) return null;
618
- const m = P.get(h);
618
+ const m = F.get(h);
619
619
  if (m != null && m.url) {
620
620
  const g = m.expires_at ? Date.parse(m.expires_at) : 0;
621
621
  if (!g || g - Date.now() > 6e4) return m.url;
@@ -623,7 +623,7 @@ function Qe(e) {
623
623
  try {
624
624
  const g = await e.signAttachment(h);
625
625
  if (g != null && g.signed_url)
626
- return P.set(h, {
626
+ return F.set(h, {
627
627
  url: g.signed_url,
628
628
  expires_at: g.expires_at
629
629
  }), g.signed_url;
@@ -632,8 +632,8 @@ function Qe(e) {
632
632
  }
633
633
  return null;
634
634
  }
635
- async function U(h, { rating: m, comment: g } = {}) {
636
- const d = t.conversations.find((w) => w.id === h), _ = {
635
+ async function z(h, { rating: m, comment: g } = {}) {
636
+ const d = t.conversations.find((b) => b.id === h), _ = {
637
637
  ...(d == null ? void 0 : d.metadata) || {},
638
638
  feedback: {
639
639
  rating: m,
@@ -657,12 +657,12 @@ function Qe(e) {
657
657
  var g, d, f;
658
658
  const m = t.messagesByConv[h] || [];
659
659
  for (let _ = m.length - 1; _ >= 0; _--) {
660
- const w = m[_];
661
- if (((g = w == null ? void 0 : w.author) == null ? void 0 : g.type) === "user" || (w == null ? void 0 : w.type) === "action" && ((d = w == null ? void 0 : w.payload) == null ? void 0 : d.state) === "pending")
660
+ const b = m[_];
661
+ if (((g = b == null ? void 0 : b.author) == null ? void 0 : g.type) === "user" || (b == null ? void 0 : b.type) === "action" && ((d = b == null ? void 0 : b.payload) == null ? void 0 : d.state) === "pending")
662
662
  return null;
663
- const C = (f = w == null ? void 0 : w.metadata) == null ? void 0 : f.form;
663
+ const C = (f = b == null ? void 0 : b.metadata) == null ? void 0 : f.form;
664
664
  if (C && Array.isArray(C.fields) && C.fields.length > 0)
665
- return { message: w, form: C };
665
+ return { message: b, form: C };
666
666
  }
667
667
  return null;
668
668
  }
@@ -677,22 +677,22 @@ function Qe(e) {
677
677
  function te(h) {
678
678
  var g, d, f, _;
679
679
  const m = t.messagesByConv[h] || [];
680
- for (let w = m.length - 1; w >= 0; w--) {
681
- const C = m[w];
680
+ for (let b = m.length - 1; b >= 0; b--) {
681
+ const C = m[b];
682
682
  if (((g = C == null ? void 0 : C.author) == null ? void 0 : g.type) === "user") return [];
683
683
  if ((C == null ? void 0 : C.type) === "action" && ((d = C == null ? void 0 : C.payload) == null ? void 0 : d.state) === "pending")
684
684
  return [];
685
685
  if (((f = C == null ? void 0 : C.author) == null ? void 0 : f.type) !== "agent_ia") continue;
686
686
  const M = (_ = C == null ? void 0 : C.metadata) == null ? void 0 : _.suggested_replies;
687
- return Array.isArray(M) && M.length ? M.map((L) => {
688
- if (typeof L == "string") {
689
- const x = L.trim();
687
+ return Array.isArray(M) && M.length ? M.map((I) => {
688
+ if (typeof I == "string") {
689
+ const x = I.trim();
690
690
  return x ? { label: x, kind: null } : null;
691
691
  }
692
- if (L && typeof L == "object" && typeof L.label == "string") {
693
- const x = L.label.trim();
692
+ if (I && typeof I == "object" && typeof I.label == "string") {
693
+ const x = I.label.trim();
694
694
  if (!x) return null;
695
- const Fe = L.kind === "cta" || L.kind === "choice" || L.kind === "followup" ? L.kind : null;
695
+ const Fe = I.kind === "cta" || I.kind === "choice" || I.kind === "followup" ? I.kind : null;
696
696
  return { label: x, kind: Fe };
697
697
  }
698
698
  return null;
@@ -705,8 +705,8 @@ function Qe(e) {
705
705
  const g = t.messagesByConv[h] || [];
706
706
  let d = -1;
707
707
  m != null && m.client_msg_id && (d = g.findIndex(
708
- (w) => (w == null ? void 0 : w.client_msg_id) && w.client_msg_id === m.client_msg_id
709
- )), d === -1 && (m == null ? void 0 : m.id) !== void 0 && (m == null ? void 0 : m.id) !== null && (d = g.findIndex((w) => ne(w == null ? void 0 : w.id, m.id)));
708
+ (b) => (b == null ? void 0 : b.client_msg_id) && b.client_msg_id === m.client_msg_id
709
+ )), d === -1 && (m == null ? void 0 : m.id) !== void 0 && (m == null ? void 0 : m.id) !== null && (d = g.findIndex((b) => ne(b == null ? void 0 : b.id, m.id)));
710
710
  let f;
711
711
  d === -1 ? f = [...g, m].sort(ce) : (f = g.slice(), f[d] = {
712
712
  ...g[d],
@@ -721,7 +721,7 @@ function Qe(e) {
721
721
  function J(h, m, g) {
722
722
  const d = t.messagesByConv[h];
723
723
  if (!d) return;
724
- const f = d.findIndex((w) => w.id === m);
724
+ const f = d.findIndex((b) => b.id === m);
725
725
  if (f === -1) return;
726
726
  const _ = d.slice();
727
727
  _[f] = { ...d[f], ...g }, t.messagesByConv[h] = _;
@@ -733,7 +733,7 @@ function Qe(e) {
733
733
  if (m && (!d.last_message_at || m > d.last_message_at)) {
734
734
  const f = t.conversations.slice();
735
735
  f[g] = { ...d, last_message_at: m }, f.sort(
736
- (_, w) => (w.last_message_at || "").localeCompare(_.last_message_at || "")
736
+ (_, b) => (b.last_message_at || "").localeCompare(_.last_message_at || "")
737
737
  ), t.conversations = f;
738
738
  }
739
739
  }
@@ -768,8 +768,8 @@ function Qe(e) {
768
768
  markConversationRead: A,
769
769
  send: H,
770
770
  clickCallback: S,
771
- signAttachment: I,
772
- submitFeedback: U,
771
+ signAttachment: L,
772
+ submitFeedback: z,
773
773
  getPendingApproval: Y,
774
774
  getActionInFlight: ee,
775
775
  getLatestSuggestions: te,
@@ -778,7 +778,7 @@ function Qe(e) {
778
778
  setPanelOpen: e.setPanelOpen
779
779
  };
780
780
  }
781
- const z = {
781
+ const j = {
782
782
  w: "#ffffff",
783
783
  g50: "#F9F9F7",
784
784
  g100: "#F2F1EE",
@@ -817,21 +817,21 @@ const Xe = `
817
817
  .wm-root {
818
818
  --wm-f: 'Geist', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
819
819
  --wm-fm: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
820
- --wm-w: ${z.w};
821
- --wm-g50: ${z.g50};
822
- --wm-g100: ${z.g100};
823
- --wm-g150: ${z.g150};
824
- --wm-g200: ${z.g200};
825
- --wm-g300: ${z.g300};
826
- --wm-g400: ${z.g400};
827
- --wm-g500: ${z.g500};
828
- --wm-g700: ${z.g700};
829
- --wm-g900: ${z.g900};
830
- --wm-a: ${z.accent};
831
- --wm-al: ${z.accentLight};
832
- --wm-green: ${z.green};
833
- --wm-red: ${z.red};
834
- --wm-redBg: ${z.redBg};
820
+ --wm-w: ${j.w};
821
+ --wm-g50: ${j.g50};
822
+ --wm-g100: ${j.g100};
823
+ --wm-g150: ${j.g150};
824
+ --wm-g200: ${j.g200};
825
+ --wm-g300: ${j.g300};
826
+ --wm-g400: ${j.g400};
827
+ --wm-g500: ${j.g500};
828
+ --wm-g700: ${j.g700};
829
+ --wm-g900: ${j.g900};
830
+ --wm-a: ${j.accent};
831
+ --wm-al: ${j.accentLight};
832
+ --wm-green: ${j.green};
833
+ --wm-red: ${j.red};
834
+ --wm-redBg: ${j.redBg};
835
835
  --wm-sh1: 0 1px 3px rgba(0,0,0,.06);
836
836
  --wm-sh2: 0 4px 24px rgba(0,0,0,.09), 0 1px 4px rgba(0,0,0,.05);
837
837
  --wm-shPanel: 0 12px 40px rgba(0,0,0,.13), 0 2px 8px rgba(0,0,0,.06);
@@ -903,6 +903,8 @@ const Xe = `
903
903
  "onboarding.heroSub": `Posez-moi n'importe quelle question.
904
904
  Je réponds en quelques secondes.`,
905
905
  "onboarding.newMessage": "Nouveau message",
906
+ "onboarding.statusInProgress": "En cours",
907
+ "onboarding.resume": "Reprendre",
906
908
  // ── Composer ─────────────────────────────────────────────────────
907
909
  "composer.placeholder": "Écrivez votre message…",
908
910
  "composer.replyTo": "Répondre à {name}…",
@@ -1024,6 +1026,8 @@ Je réponds en quelques secondes.`,
1024
1026
  "onboarding.heroSub": `Ask me anything.
1025
1027
  I reply within seconds.`,
1026
1028
  "onboarding.newMessage": "New message",
1029
+ "onboarding.statusInProgress": "In progress",
1030
+ "onboarding.resume": "Resume",
1027
1031
  // ── Composer ─────────────────────────────────────────────────────
1028
1032
  "composer.placeholder": "Type your message…",
1029
1033
  "composer.replyTo": "Reply to {name}…",
@@ -1109,7 +1113,7 @@ function be(e) {
1109
1113
  function re(e) {
1110
1114
  return Ae[be(e)] || Ae[ae];
1111
1115
  }
1112
- function j(e) {
1116
+ function D(e) {
1113
1117
  const t = be(e), n = _e[t] || _e[ae], i = _e[ae];
1114
1118
  return function(s, a) {
1115
1119
  let l = n[s];
@@ -1127,7 +1131,7 @@ function Se(e, t) {
1127
1131
  function Be(e, t, n) {
1128
1132
  return Array.isArray(t) ? t.map((i) => Se(e, String(i))).join(", ") : typeof t == "boolean" ? n(t ? "common.yes" : "common.no") : Se(e, String(t));
1129
1133
  }
1130
- function tt(e, t, n = j()) {
1134
+ function tt(e, t, n = D()) {
1131
1135
  if (!e || !t) return "";
1132
1136
  const i = Array.isArray(e.fields) ? e.fields : [], r = [];
1133
1137
  for (const s of i) {
@@ -1142,7 +1146,7 @@ ${l}`);
1142
1146
 
1143
1147
  `);
1144
1148
  }
1145
- function nt(e, t, n = j()) {
1149
+ function nt(e, t, n = D()) {
1146
1150
  const i = [], r = Array.isArray(e == null ? void 0 : e.fields) ? e.fields : [];
1147
1151
  for (const s of r) {
1148
1152
  if (!(s != null && s.key) || !(s != null && s.label)) continue;
@@ -1212,7 +1216,7 @@ function it(e, t, n, i) {
1212
1216
  return r.join(`
1213
1217
  `);
1214
1218
  }
1215
- function at(e, t, n = j(), i) {
1219
+ function at(e, t, n = D(), i) {
1216
1220
  if (!e) return;
1217
1221
  const r = it(e, t || [], n, re(i)), s = new Blob([r], { type: "text/plain;charset=utf-8" });
1218
1222
  try {
@@ -1497,7 +1501,7 @@ const ot = {
1497
1501
  ) + r;
1498
1502
  this.nextRevealAt = a;
1499
1503
  const l = Math.max(0, a - n), p = e.id, k = setTimeout(() => {
1500
- this.revealedAt = { ...this.revealedAt, [p]: Date.now() }, this.revealTimers = this.revealTimers.filter((b) => b !== k), typeof this.onMessageRevealed == "function" && this.onMessageRevealed(e, t);
1504
+ this.revealedAt = { ...this.revealedAt, [p]: Date.now() }, this.revealTimers = this.revealTimers.filter((w) => w !== k), typeof this.onMessageRevealed == "function" && this.onMessageRevealed(e, t);
1501
1505
  }, l);
1502
1506
  this.revealTimers.push(k);
1503
1507
  },
@@ -1689,7 +1693,7 @@ const Re = /* @__PURE__ */ N(vt, [["render", wt], ["__scopeId", "data-v-14e10c0d
1689
1693
  inject: {
1690
1694
  // Translator shared by the Messenger shell; French fallback when
1691
1695
  // the component is used standalone.
1692
- t: { default: () => j() }
1696
+ t: { default: () => D() }
1693
1697
  },
1694
1698
  props: {
1695
1699
  // Nombre de conversations non lues — pilote la pastille.
@@ -1725,7 +1729,7 @@ function Nt(e, t, n, i, r, s) {
1725
1729
  key: 0,
1726
1730
  class: O(["wm-peekStack", { "wm-peekStack--multi": s.visiblePeeks.length > 1 }])
1727
1731
  }, [
1728
- (c(!0), u(B, null, D(s.visiblePeeks, (l, p) => (c(), u("div", {
1732
+ (c(!0), u(B, null, U(s.visiblePeeks, (l, p) => (c(), u("div", {
1729
1733
  key: l.convId,
1730
1734
  class: "wm-peek",
1731
1735
  style: q({
@@ -1949,7 +1953,7 @@ function Wt(e, t, n, i, r, s) {
1949
1953
  class: "wm-team__stack",
1950
1954
  style: q({ width: s.stackWidth + "px" })
1951
1955
  }, [
1952
- (c(!0), u(B, null, D(n.members.slice(0, 3), (a, l) => (c(), u("div", {
1956
+ (c(!0), u(B, null, U(n.members.slice(0, 3), (a, l) => (c(), u("div", {
1953
1957
  key: l,
1954
1958
  class: "wm-team__pill",
1955
1959
  style: q({
@@ -1974,7 +1978,7 @@ const Gt = /* @__PURE__ */ N(zt, [["render", Wt], ["__scopeId", "data-v-e49a9063
1974
1978
  inject: {
1975
1979
  // Translator shared by the Messenger shell. Falls back to a French
1976
1980
  // translator when the component is used standalone (no provider).
1977
- t: { default: () => j() }
1981
+ t: { default: () => D() }
1978
1982
  },
1979
1983
  props: {
1980
1984
  title: { type: String, default: "Nouvelle conversation" },
@@ -2049,7 +2053,7 @@ function on(e, t, n, i, r, s) {
2049
2053
  o("div", en, [
2050
2054
  o("div", tn, v(n.title), 1)
2051
2055
  ]),
2052
- s.hasTeam ? (c(), F(l, {
2056
+ s.hasTeam ? (c(), P(l, {
2053
2057
  key: 0,
2054
2058
  members: s.displayedTeamMembers,
2055
2059
  "response-label": ""
@@ -2113,7 +2117,7 @@ function on(e, t, n, i, r, s) {
2113
2117
  ])
2114
2118
  ]);
2115
2119
  }
2116
- const ln = /* @__PURE__ */ N(Yt, [["render", on], ["__scopeId", "data-v-925c9e94"]]);
2120
+ const ln = /* @__PURE__ */ N(Yt, [["render", on], ["__scopeId", "data-v-0da6fbcd"]]);
2117
2121
  function Ne(e) {
2118
2122
  return String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
2119
2123
  }
@@ -2160,22 +2164,22 @@ function un(e) {
2160
2164
  if (!T) break;
2161
2165
  k.push(T[1]), i++;
2162
2166
  }
2163
- const b = k.map((T) => `<li>${ie(T)}</li>`).join("");
2167
+ const w = k.map((T) => `<li>${ie(T)}</li>`).join("");
2164
2168
  n.push({
2165
2169
  type: "block",
2166
- html: `<ul class="wm-md-ul">${b}</ul>`
2170
+ html: `<ul class="wm-md-ul">${w}</ul>`
2167
2171
  });
2168
2172
  continue;
2169
2173
  }
2170
2174
  const l = /^\s*(\d+)\.\s+(.*)$/.exec(s);
2171
2175
  if (l) {
2172
- const k = parseInt(l[1], 10), b = [l[2]];
2176
+ const k = parseInt(l[1], 10), w = [l[2]];
2173
2177
  for (i++; i < t.length; ) {
2174
2178
  const A = /^\s*\d+\.\s+(.*)$/.exec(t[i]);
2175
2179
  if (!A) break;
2176
- b.push(A[1]), i++;
2180
+ w.push(A[1]), i++;
2177
2181
  }
2178
- const T = b.map((A) => `<li>${ie(A)}</li>`).join(""), E = k !== 1 ? ` start="${k}"` : "";
2182
+ const T = w.map((A) => `<li>${ie(A)}</li>`).join(""), E = k !== 1 ? ` start="${k}"` : "";
2179
2183
  n.push({
2180
2184
  type: "block",
2181
2185
  html: `<ol class="wm-md-ol"${E}>${T}</ol>`
@@ -2215,7 +2219,7 @@ const xe = {
2215
2219
  inject: {
2216
2220
  // Translator + resolved-language getter shared by the Messenger
2217
2221
  // shell. Fall back to French wording when used standalone.
2218
- t: { default: () => j() },
2222
+ t: { default: () => D() },
2219
2223
  wmLocale: { default: () => () => "fr" }
2220
2224
  },
2221
2225
  props: {
@@ -2280,7 +2284,7 @@ const xe = {
2280
2284
  }
2281
2285
  }, mn = { class: "wm-onb" }, fn = { class: "wm-onb__hero" }, gn = { class: "wm-onb__hero-text" }, _n = { class: "wm-onb__title" }, pn = { class: "wm-onb__sub" }, vn = { class: "wm-onb__cta" }, yn = ["disabled"], wn = {
2282
2286
  key: 0,
2283
- class: "wm-onb__section"
2287
+ class: "wm-onb__section wm-onb__section--card"
2284
2288
  }, bn = { class: "wm-onb__section-title" }, kn = ["onClick"], Cn = { class: "wm-onb__card-icon" }, An = {
2285
2289
  width: "16",
2286
2290
  height: "16",
@@ -2296,15 +2300,18 @@ const xe = {
2296
2300
  class: "wm-onb__card-sub"
2297
2301
  }, On = {
2298
2302
  key: 1,
2299
- class: "wm-onb__section"
2300
- }, Ln = { class: "wm-onb__section-title" }, In = { class: "wm-onb__search" }, En = ["placeholder", "aria-label"], Bn = { class: "wm-onb__list" }, Rn = ["onClick"], Nn = ["aria-label"], Pn = { class: "wm-onb__thread-body" }, Fn = { class: "wm-onb__thread-title" }, Un = ["innerHTML"], Dn = { class: "wm-onb__thread-meta" }, jn = {
2303
+ class: "wm-onb__section wm-onb__section--card"
2304
+ }, Ln = { class: "wm-onb__section-title" }, In = { class: "wm-onb__search" }, En = ["placeholder", "aria-label"], Bn = { class: "wm-onb__list" }, Rn = { class: "wm-onb__thread-body" }, Nn = { class: "wm-onb__thread-status" }, Pn = { class: "wm-onb__thread-statusLabel" }, Fn = {
2301
2305
  key: 0,
2306
+ class: "wm-onb__thread-statusSep"
2307
+ }, Un = {
2308
+ key: 1,
2302
2309
  class: "wm-onb__thread-time"
2303
- }, Hn = {
2310
+ }, Dn = { class: "wm-onb__thread-title" }, jn = ["innerHTML"], Hn = ["onClick"], zn = {
2304
2311
  key: 0,
2305
2312
  class: "wm-onb__empty"
2306
2313
  };
2307
- function zn(e, t, n, i, r, s) {
2314
+ function qn(e, t, n, i, r, s) {
2308
2315
  const a = R("AIAvatar");
2309
2316
  return c(), u("div", mn, [
2310
2317
  o("div", fn, [
@@ -2381,7 +2388,7 @@ function zn(e, t, n, i, r, s) {
2381
2388
  o("div", {
2382
2389
  class: O(s.quickLinksLayout)
2383
2390
  }, [
2384
- (c(!0), u(B, null, D(n.quickLinks, (l, p) => (c(), u("button", {
2391
+ (c(!0), u(B, null, U(n.quickLinks, (l, p) => (c(), u("button", {
2385
2392
  key: p,
2386
2393
  type: "button",
2387
2394
  class: O(["wm-onb__card", { "wm-onb__card--row": s.isOddQuickLinks }]),
@@ -2429,16 +2436,12 @@ function zn(e, t, n, i, r, s) {
2429
2436
  ])
2430
2437
  ]),
2431
2438
  o("div", Bn, [
2432
- (c(!0), u(B, null, D(s.filteredThreads, (l) => (c(), u("button", {
2439
+ (c(!0), u(B, null, U(s.filteredThreads, (l) => (c(), u("div", {
2433
2440
  key: l.id,
2434
- type: "button",
2435
- class: "wm-onb__thread",
2436
- onClick: (p) => e.$emit("resume", l)
2441
+ class: "wm-onb__thread"
2437
2442
  }, [
2438
- o("span", {
2439
- class: O(["wm-onb__thread-icon", { "wm-onb__thread-icon--inverted": !l.unread }])
2440
- }, [
2441
- t[5] || (t[5] = o("svg", {
2443
+ t[5] || (t[5] = o("span", { class: "wm-onb__thread-icon" }, [
2444
+ o("svg", {
2442
2445
  width: "18",
2443
2446
  height: "18",
2444
2447
  viewBox: "0 0 24 24",
@@ -2450,48 +2453,36 @@ function zn(e, t, n, i, r, s) {
2450
2453
  fill: "currentColor",
2451
2454
  opacity: "0.92"
2452
2455
  })
2453
- ], -1)),
2454
- l.unread ? (c(), u("span", {
2455
- key: 0,
2456
- class: "wm-onb__thread-dot",
2457
- "aria-label": s.t("onboarding.unread")
2458
- }, null, 8, Nn)) : y("", !0)
2459
- ], 2),
2460
- o("span", Pn, [
2461
- o("span", Fn, v(l.title), 1),
2456
+ ])
2457
+ ], -1)),
2458
+ o("span", Rn, [
2459
+ o("span", Nn, [
2460
+ o("span", Pn, v(s.t("onboarding.statusInProgress")), 1),
2461
+ s.formatTs(l._ts) ? (c(), u("span", Fn, "·")) : y("", !0),
2462
+ s.formatTs(l._ts) ? (c(), u("span", Un, v(s.formatTs(l._ts)), 1)) : y("", !0)
2463
+ ]),
2464
+ o("span", Dn, v(l.title), 1),
2462
2465
  o("span", {
2463
2466
  class: "wm-onb__thread-preview",
2464
2467
  innerHTML: s.renderPreview(l.preview)
2465
- }, null, 8, Un)
2468
+ }, null, 8, jn)
2466
2469
  ]),
2467
- o("span", Dn, [
2468
- s.formatTs(l._ts) ? (c(), u("span", jn, v(s.formatTs(l._ts)), 1)) : y("", !0),
2469
- t[6] || (t[6] = o("svg", {
2470
- width: "14",
2471
- height: "14",
2472
- viewBox: "0 0 24 24",
2473
- fill: "none",
2474
- stroke: "currentColor",
2475
- "stroke-width": "1.8",
2476
- "stroke-linecap": "round",
2477
- "stroke-linejoin": "round",
2478
- class: "wm-onb__thread-chev",
2479
- "aria-hidden": "true"
2480
- }, [
2481
- o("path", { d: "M5 12h14M13 5l7 7-7 7" })
2482
- ], -1))
2483
- ])
2484
- ], 8, Rn))), 128)),
2485
- s.filteredThreads.length ? y("", !0) : (c(), u("div", Hn, v(s.t("onboarding.noResults", { query: r.query })), 1))
2470
+ o("button", {
2471
+ type: "button",
2472
+ class: "wm-onb__thread-resume",
2473
+ onClick: (p) => e.$emit("resume", l)
2474
+ }, v(s.t("onboarding.resume")), 9, Hn)
2475
+ ]))), 128)),
2476
+ s.filteredThreads.length ? y("", !0) : (c(), u("div", zn, v(s.t("onboarding.noResults", { query: r.query })), 1))
2486
2477
  ])
2487
2478
  ])) : y("", !0)
2488
2479
  ]);
2489
2480
  }
2490
- const qn = /* @__PURE__ */ N(hn, [["render", zn], ["__scopeId", "data-v-a85aae63"]]);
2491
- function $n(e) {
2481
+ const $n = /* @__PURE__ */ N(hn, [["render", qn], ["__scopeId", "data-v-a3b35a29"]]);
2482
+ function Kn(e) {
2492
2483
  return typeof e != "string" ? "" : e.replace(/`([^`]+)`/g, "$1").replace(/\*\*([^*]+)\*\*/g, "$1").replace(new RegExp("(?<!\\*)\\*([^*]+)\\*(?!\\*)", "g"), "$1").replace(/__([^_]+)__/g, "$1").replace(/\[([^\]]+)\]\([^)]+\)/g, "$1").replace(/\s+/g, " ").trim();
2493
2484
  }
2494
- const Kn = {
2485
+ const Vn = {
2495
2486
  name: "WmActionResult",
2496
2487
  props: {
2497
2488
  state: { type: String, default: "success" },
@@ -2501,13 +2492,13 @@ const Kn = {
2501
2492
  },
2502
2493
  computed: {
2503
2494
  detailText() {
2504
- return $n(this.detail);
2495
+ return Kn(this.detail);
2505
2496
  }
2506
2497
  }
2507
- }, Vn = {
2498
+ }, Wn = {
2508
2499
  class: "wm-result__icon",
2509
2500
  "aria-hidden": "true"
2510
- }, Wn = {
2501
+ }, Gn = {
2511
2502
  key: 0,
2512
2503
  width: "11",
2513
2504
  height: "11",
@@ -2517,7 +2508,7 @@ const Kn = {
2517
2508
  "stroke-width": "2.8",
2518
2509
  "stroke-linecap": "round",
2519
2510
  "stroke-linejoin": "round"
2520
- }, Gn = {
2511
+ }, Yn = {
2521
2512
  key: 1,
2522
2513
  width: "11",
2523
2514
  height: "11",
@@ -2527,7 +2518,7 @@ const Kn = {
2527
2518
  "stroke-width": "2.6",
2528
2519
  "stroke-linecap": "round",
2529
2520
  "stroke-linejoin": "round"
2530
- }, Yn = {
2521
+ }, Jn = {
2531
2522
  key: 2,
2532
2523
  width: "11",
2533
2524
  height: "11",
@@ -2537,7 +2528,7 @@ const Kn = {
2537
2528
  "stroke-width": "2.4",
2538
2529
  "stroke-linecap": "round",
2539
2530
  "stroke-linejoin": "round"
2540
- }, Jn = {
2531
+ }, Qn = {
2541
2532
  key: 3,
2542
2533
  width: "12",
2543
2534
  height: "12",
@@ -2547,24 +2538,24 @@ const Kn = {
2547
2538
  "stroke-width": "2.2",
2548
2539
  "stroke-linecap": "round",
2549
2540
  "stroke-linejoin": "round"
2550
- }, Qn = { class: "wm-result__body" }, Xn = { class: "wm-result__label" }, Zn = { class: "wm-result__detail" };
2551
- function es(e, t, n, i, r, s) {
2541
+ }, Xn = { class: "wm-result__body" }, Zn = { class: "wm-result__label" }, es = { class: "wm-result__detail" };
2542
+ function ts(e, t, n, i, r, s) {
2552
2543
  return c(), u("div", {
2553
2544
  class: O(["wm-result", `wm-result--${n.state}`])
2554
2545
  }, [
2555
- o("span", Vn, [
2556
- n.state === "success" ? (c(), u("svg", Wn, [...t[0] || (t[0] = [
2546
+ o("span", Wn, [
2547
+ n.state === "success" ? (c(), u("svg", Gn, [...t[0] || (t[0] = [
2557
2548
  o("path", { d: "M20 6L9 17l-5-5" }, null, -1)
2558
- ])])) : n.state === "rejected" ? (c(), u("svg", Gn, [...t[1] || (t[1] = [
2549
+ ])])) : n.state === "rejected" ? (c(), u("svg", Yn, [...t[1] || (t[1] = [
2559
2550
  o("path", { d: "M18 6L6 18M6 6l12 12" }, null, -1)
2560
- ])])) : n.state === "awaiting" ? (c(), u("svg", Yn, [...t[2] || (t[2] = [
2551
+ ])])) : n.state === "awaiting" ? (c(), u("svg", Jn, [...t[2] || (t[2] = [
2561
2552
  o("circle", {
2562
2553
  cx: "12",
2563
2554
  cy: "12",
2564
2555
  r: "10"
2565
2556
  }, null, -1),
2566
2557
  o("polyline", { points: "12 7 12 12 15 14" }, null, -1)
2567
- ])])) : (c(), u("svg", Jn, [...t[3] || (t[3] = [
2558
+ ])])) : (c(), u("svg", Qn, [...t[3] || (t[3] = [
2568
2559
  o("path", { d: "M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z" }, null, -1),
2569
2560
  o("line", {
2570
2561
  x1: "12",
@@ -2580,24 +2571,24 @@ function es(e, t, n, i, r, s) {
2580
2571
  }, null, -1)
2581
2572
  ])]))
2582
2573
  ]),
2583
- o("span", Qn, [
2584
- o("span", Xn, v(n.label), 1),
2574
+ o("span", Xn, [
2575
+ o("span", Zn, v(n.label), 1),
2585
2576
  s.detailText ? (c(), u(B, { key: 0 }, [
2586
2577
  t[4] || (t[4] = o("span", {
2587
2578
  class: "wm-result__sep",
2588
2579
  "aria-hidden": "true"
2589
2580
  }, " · ", -1)),
2590
- o("span", Zn, v(s.detailText), 1)
2581
+ o("span", es, v(s.detailText), 1)
2591
2582
  ], 64)) : y("", !0)
2592
2583
  ])
2593
2584
  ], 2);
2594
2585
  }
2595
- const ts = /* @__PURE__ */ N(Kn, [["render", es], ["__scopeId", "data-v-7284acd0"]]), ns = {
2586
+ const ns = /* @__PURE__ */ N(Vn, [["render", ts], ["__scopeId", "data-v-7284acd0"]]), ss = {
2596
2587
  name: "WmArtifactFormResponse",
2597
2588
  inject: {
2598
2589
  // Translator shared by the Messenger shell; French fallback when
2599
2590
  // the component is used standalone.
2600
- t: { default: () => j() }
2591
+ t: { default: () => D() }
2601
2592
  },
2602
2593
  props: {
2603
2594
  data: { type: Object, required: !0 }
@@ -2608,12 +2599,12 @@ const ts = /* @__PURE__ */ N(Kn, [["render", es], ["__scopeId", "data-v-7284acd0
2608
2599
  return Array.isArray((e = this.data) == null ? void 0 : e.fields) ? this.data.fields : [];
2609
2600
  }
2610
2601
  }
2611
- }, ss = { class: "wm-art wm-art--formResponse" }, rs = { class: "wm-art__head" }, is = { class: "wm-art__title" }, as = { class: "wm-art__badge wm-art__badge--success" }, os = { class: "wm-art__body" }, ls = { class: "wm-art__fieldLabel" };
2612
- function cs(e, t, n, i, r, s) {
2613
- return c(), u("div", ss, [
2614
- o("div", rs, [
2615
- o("div", is, v(n.data.title || s.t("form.title")), 1),
2616
- o("span", as, [
2602
+ }, rs = { class: "wm-art wm-art--formResponse" }, is = { class: "wm-art__head" }, as = { class: "wm-art__title" }, os = { class: "wm-art__badge wm-art__badge--success" }, ls = { class: "wm-art__body" }, cs = { class: "wm-art__fieldLabel" };
2603
+ function ds(e, t, n, i, r, s) {
2604
+ return c(), u("div", rs, [
2605
+ o("div", is, [
2606
+ o("div", as, v(n.data.title || s.t("form.title")), 1),
2607
+ o("span", os, [
2617
2608
  t[0] || (t[0] = o("svg", {
2618
2609
  width: "11",
2619
2610
  height: "11",
@@ -2630,12 +2621,12 @@ function cs(e, t, n, i, r, s) {
2630
2621
  ve(" " + v(s.t("form.sent")), 1)
2631
2622
  ])
2632
2623
  ]),
2633
- o("div", os, [
2634
- (c(!0), u(B, null, D(s.fields, (a, l) => (c(), u("div", {
2624
+ o("div", ls, [
2625
+ (c(!0), u(B, null, U(s.fields, (a, l) => (c(), u("div", {
2635
2626
  key: l,
2636
2627
  class: "wm-art__field"
2637
2628
  }, [
2638
- o("div", ls, v(a.label), 1),
2629
+ o("div", cs, v(a.label), 1),
2639
2630
  o("div", {
2640
2631
  class: O([
2641
2632
  "wm-art__fieldValue",
@@ -2646,7 +2637,7 @@ function cs(e, t, n, i, r, s) {
2646
2637
  ])
2647
2638
  ]);
2648
2639
  }
2649
- const ds = /* @__PURE__ */ N(ns, [["render", cs], ["__scopeId", "data-v-713aecf1"]]), us = {
2640
+ const us = /* @__PURE__ */ N(ss, [["render", ds], ["__scopeId", "data-v-713aecf1"]]), hs = {
2650
2641
  name: "WmArtifactInfoCard",
2651
2642
  props: {
2652
2643
  data: { type: Object, required: !0 }
@@ -2661,32 +2652,32 @@ const ds = /* @__PURE__ */ N(ns, [["render", cs], ["__scopeId", "data-v-713aecf1
2661
2652
  return !!((e = this.data) != null && e.body) || this.fields.length > 0;
2662
2653
  }
2663
2654
  }
2664
- }, hs = { class: "wm-art wm-art--infoCard" }, ms = {
2655
+ }, ms = { class: "wm-art wm-art--infoCard" }, fs = {
2665
2656
  key: 0,
2666
2657
  class: "wm-art__image"
2667
- }, fs = ["src", "alt"], gs = { class: "wm-art__head" }, _s = { class: "wm-art__headMain" }, ps = { class: "wm-art__title" }, vs = {
2658
+ }, gs = ["src", "alt"], _s = { class: "wm-art__head" }, ps = { class: "wm-art__headMain" }, vs = { class: "wm-art__title" }, ys = {
2668
2659
  key: 0,
2669
2660
  class: "wm-art__subtitle"
2670
- }, ys = {
2661
+ }, ws = {
2671
2662
  key: 1,
2672
2663
  class: "wm-art__body"
2673
- }, ws = {
2664
+ }, bs = {
2674
2665
  key: 0,
2675
2666
  class: "wm-art__text"
2676
- }, bs = { class: "wm-art__fieldLabel" };
2677
- function ks(e, t, n, i, r, s) {
2678
- return c(), u("div", hs, [
2679
- n.data.image_url ? (c(), u("figure", ms, [
2667
+ }, ks = { class: "wm-art__fieldLabel" };
2668
+ function Cs(e, t, n, i, r, s) {
2669
+ return c(), u("div", ms, [
2670
+ n.data.image_url ? (c(), u("figure", fs, [
2680
2671
  o("img", {
2681
2672
  src: n.data.image_url,
2682
2673
  alt: n.data.title || "",
2683
2674
  loading: "lazy"
2684
- }, null, 8, fs)
2675
+ }, null, 8, gs)
2685
2676
  ])) : y("", !0),
2686
- o("div", gs, [
2687
- o("div", _s, [
2688
- o("div", ps, v(n.data.title), 1),
2689
- n.data.subtitle ? (c(), u("div", vs, v(n.data.subtitle), 1)) : y("", !0)
2677
+ o("div", _s, [
2678
+ o("div", ps, [
2679
+ o("div", vs, v(n.data.title), 1),
2680
+ n.data.subtitle ? (c(), u("div", ys, v(n.data.subtitle), 1)) : y("", !0)
2690
2681
  ]),
2691
2682
  n.data.badge && n.data.badge.label ? (c(), u("span", {
2692
2683
  key: 0,
@@ -2696,13 +2687,13 @@ function ks(e, t, n, i, r, s) {
2696
2687
  ])
2697
2688
  }, v(n.data.badge.label), 3)) : y("", !0)
2698
2689
  ]),
2699
- s.hasBody ? (c(), u("div", ys, [
2700
- n.data.body ? (c(), u("div", ws, v(n.data.body), 1)) : y("", !0),
2701
- s.fields.length ? (c(!0), u(B, { key: 1 }, D(s.fields, (a, l) => (c(), u("div", {
2690
+ s.hasBody ? (c(), u("div", ws, [
2691
+ n.data.body ? (c(), u("div", bs, v(n.data.body), 1)) : y("", !0),
2692
+ s.fields.length ? (c(!0), u(B, { key: 1 }, U(s.fields, (a, l) => (c(), u("div", {
2702
2693
  key: l,
2703
2694
  class: "wm-art__field"
2704
2695
  }, [
2705
- o("div", bs, v(a.label), 1),
2696
+ o("div", ks, v(a.label), 1),
2706
2697
  o("div", {
2707
2698
  class: O([
2708
2699
  "wm-art__fieldValue",
@@ -2713,8 +2704,8 @@ function ks(e, t, n, i, r, s) {
2713
2704
  ])) : y("", !0)
2714
2705
  ]);
2715
2706
  }
2716
- const Cs = /* @__PURE__ */ N(us, [["render", ks], ["__scopeId", "data-v-7eae0e4a"]]);
2717
- function As(e, t, n) {
2707
+ const As = /* @__PURE__ */ N(hs, [["render", Cs], ["__scopeId", "data-v-7eae0e4a"]]);
2708
+ function Ss(e, t, n) {
2718
2709
  if (!e) return "";
2719
2710
  const i = new Date(e);
2720
2711
  if (Number.isNaN(i.getTime())) return e;
@@ -2728,12 +2719,12 @@ function As(e, t, n) {
2728
2719
  });
2729
2720
  return `${r}${n}${s}`;
2730
2721
  }
2731
- const Ss = {
2722
+ const Ms = {
2732
2723
  name: "WmArtifactTicket",
2733
2724
  inject: {
2734
2725
  // Translator + resolved-language getter shared by the Messenger
2735
2726
  // shell. Fall back to French wording when used standalone.
2736
- t: { default: () => j() },
2727
+ t: { default: () => D() },
2737
2728
  wmLocale: { default: () => () => "fr" }
2738
2729
  },
2739
2730
  props: {
@@ -2746,7 +2737,7 @@ const Ss = {
2746
2737
  },
2747
2738
  formattedDate() {
2748
2739
  var e;
2749
- return As(
2740
+ return Ss(
2750
2741
  (e = this.data) == null ? void 0 : e.created_at,
2751
2742
  re(this.wmLocale()),
2752
2743
  this.t("ticket.dateAt")
@@ -2774,13 +2765,13 @@ const Ss = {
2774
2765
  return /high|haute|élev|elev|critic|critiq|urgent/.test(t) ? 3 : /low|basse|faible|minor/.test(t) ? 1 : 2;
2775
2766
  }
2776
2767
  }
2777
- }, Ms = { class: "wm-art wm-art--ticket" }, Ts = { class: "wm-art__head wm-tk__head" }, xs = { class: "wm-art__title wm-tk__title" }, Os = { class: "wm-tk__sub" }, Ls = { class: "wm-tk__ref" }, Is = {
2768
+ }, Ts = { class: "wm-art wm-art--ticket" }, xs = { class: "wm-art__head wm-tk__head" }, Os = { class: "wm-art__title wm-tk__title" }, Ls = { class: "wm-tk__sub" }, Is = { class: "wm-tk__ref" }, Es = {
2778
2769
  key: 0,
2779
2770
  class: "wm-tk__text"
2780
- }, Es = {
2771
+ }, Bs = {
2781
2772
  key: 0,
2782
2773
  class: "wm-art__body"
2783
- }, Bs = { class: "wm-art__fieldLabel" }, Rs = ["data-level"], Ns = {
2774
+ }, Rs = { class: "wm-art__fieldLabel" }, Ns = ["data-level"], Ps = {
2784
2775
  key: 1,
2785
2776
  class: "wm-tk__date",
2786
2777
  width: "12",
@@ -2792,16 +2783,16 @@ const Ss = {
2792
2783
  "stroke-linecap": "round",
2793
2784
  "stroke-linejoin": "round",
2794
2785
  "aria-hidden": "true"
2795
- }, Ps = {
2786
+ }, Fs = {
2796
2787
  key: 1,
2797
2788
  class: "wm-art__footer wm-tk__footer"
2798
2789
  };
2799
- function Fs(e, t, n, i, r, s) {
2800
- return c(), u("div", Ms, [
2801
- o("div", Ts, [
2802
- o("div", xs, v(n.data.title), 1),
2803
- o("div", Os, [
2804
- o("div", Ls, [
2790
+ function Us(e, t, n, i, r, s) {
2791
+ return c(), u("div", Ts, [
2792
+ o("div", xs, [
2793
+ o("div", Os, v(n.data.title), 1),
2794
+ o("div", Ls, [
2795
+ o("div", Is, [
2805
2796
  t[0] || (t[0] = o("svg", {
2806
2797
  width: "11",
2807
2798
  height: "11",
@@ -2832,14 +2823,14 @@ function Fs(e, t, n, i, r, s) {
2832
2823
  ve(" " + v(n.data.status.label), 1)
2833
2824
  ], 2)
2834
2825
  ]),
2835
- n.data.body ? (c(), u("div", Is, v(n.data.body), 1)) : y("", !0)
2826
+ n.data.body ? (c(), u("div", Es, v(n.data.body), 1)) : y("", !0)
2836
2827
  ]),
2837
- s.fields.length ? (c(), u("div", Es, [
2838
- (c(!0), u(B, null, D(s.fields, (a, l) => (c(), u("div", {
2828
+ s.fields.length ? (c(), u("div", Bs, [
2829
+ (c(!0), u(B, null, U(s.fields, (a, l) => (c(), u("div", {
2839
2830
  key: l,
2840
2831
  class: "wm-art__field"
2841
2832
  }, [
2842
- o("div", Bs, v(a.label), 1),
2833
+ o("div", Rs, v(a.label), 1),
2843
2834
  o("div", {
2844
2835
  class: O([
2845
2836
  "wm-art__fieldValue",
@@ -2876,7 +2867,7 @@ function Fs(e, t, n, i, r, s) {
2876
2867
  height: "9",
2877
2868
  rx: "0.5"
2878
2869
  }, null, -1)
2879
- ])], 8, Rs)) : s.isDate(a.label) ? (c(), u("svg", Ns, [...t[3] || (t[3] = [
2870
+ ])], 8, Ns)) : s.isDate(a.label) ? (c(), u("svg", Ps, [...t[3] || (t[3] = [
2880
2871
  o("rect", {
2881
2872
  x: "3",
2882
2873
  y: "4",
@@ -2890,7 +2881,7 @@ function Fs(e, t, n, i, r, s) {
2890
2881
  ], 2)
2891
2882
  ]))), 128))
2892
2883
  ])) : y("", !0),
2893
- n.data.created_at ? (c(), u("div", Ps, [
2884
+ n.data.created_at ? (c(), u("div", Fs, [
2894
2885
  t[4] || (t[4] = o("svg", {
2895
2886
  width: "11",
2896
2887
  height: "11",
@@ -2915,11 +2906,11 @@ function Fs(e, t, n, i, r, s) {
2915
2906
  ])) : y("", !0)
2916
2907
  ]);
2917
2908
  }
2918
- const Us = /* @__PURE__ */ N(Ss, [["render", Fs], ["__scopeId", "data-v-5f30c914"]]), Ds = {
2919
- form_response: ds,
2920
- info_card: Cs,
2921
- ticket: Us
2922
- }, js = {
2909
+ const Ds = /* @__PURE__ */ N(Ms, [["render", Us], ["__scopeId", "data-v-5f30c914"]]), js = {
2910
+ form_response: us,
2911
+ info_card: As,
2912
+ ticket: Ds
2913
+ }, Hs = {
2923
2914
  name: "WmArtifactRenderer",
2924
2915
  props: {
2925
2916
  // Forme : { kind: string, data: any } (le `data` est validé
@@ -2930,23 +2921,23 @@ const Us = /* @__PURE__ */ N(Ss, [["render", Fs], ["__scopeId", "data-v-5f30c914
2930
2921
  component() {
2931
2922
  var t;
2932
2923
  const e = (t = this.artifact) == null ? void 0 : t.kind;
2933
- return e && Ds[e] || null;
2924
+ return e && js[e] || null;
2934
2925
  }
2935
2926
  }
2936
2927
  };
2937
- function Hs(e, t, n, i, r, s) {
2938
- return s.component ? (c(), F(De(s.component), {
2928
+ function zs(e, t, n, i, r, s) {
2929
+ return s.component ? (c(), P(De(s.component), {
2939
2930
  key: 0,
2940
2931
  data: n.artifact.data
2941
2932
  }, null, 8, ["data"])) : y("", !0);
2942
2933
  }
2943
- const zs = /* @__PURE__ */ N(js, [["render", Hs]]), qs = {
2934
+ const qs = /* @__PURE__ */ N(Hs, [["render", zs]]), $s = {
2944
2935
  name: "WmAttachmentPreview",
2945
2936
  inject: {
2946
2937
  signAttachmentFn: { default: null },
2947
2938
  // Translator shared by the Messenger shell; French fallback when
2948
2939
  // the component is used standalone.
2949
- t: { default: () => j() }
2940
+ t: { default: () => D() }
2950
2941
  },
2951
2942
  props: {
2952
2943
  attachment: { type: Object, required: !0 }
@@ -3008,15 +2999,15 @@ const zs = /* @__PURE__ */ N(js, [["render", Hs]]), qs = {
3008
2999
  this.safeHref === "#" && e.preventDefault();
3009
3000
  }
3010
3001
  }
3011
- }, $s = ["href"], Ks = ["src", "alt"], Vs = ["src"], Ws = ["src"], Gs = ["href", "download"], Ys = { class: "wm-att__main" }, Js = { class: "wm-att__name" }, Qs = {
3002
+ }, Ks = ["href"], Vs = ["src", "alt"], Ws = ["src"], Gs = ["src"], Ys = ["href", "download"], Js = { class: "wm-att__main" }, Qs = { class: "wm-att__name" }, Xs = {
3012
3003
  key: 0,
3013
3004
  class: "wm-att__meta"
3014
- }, Xs = {
3005
+ }, Zs = {
3015
3006
  key: 0,
3016
3007
  class: "wm-att__spin",
3017
3008
  "aria-hidden": "true"
3018
3009
  };
3019
- function Zs(e, t, n, i, r, s) {
3010
+ function er(e, t, n, i, r, s) {
3020
3011
  return c(), u("div", {
3021
3012
  class: O(["wm-att", ["wm-att--" + (s.kind || "file")]])
3022
3013
  }, [
@@ -3031,18 +3022,18 @@ function Zs(e, t, n, i, r, s) {
3031
3022
  src: r.url,
3032
3023
  alt: s.displayName,
3033
3024
  loading: "lazy"
3034
- }, null, 8, Ks)
3035
- ], 8, $s)) : s.kind === "audio" && r.url ? (c(), u("audio", {
3025
+ }, null, 8, Vs)
3026
+ ], 8, Ks)) : s.kind === "audio" && r.url ? (c(), u("audio", {
3036
3027
  key: 1,
3037
3028
  src: r.url,
3038
3029
  controls: "",
3039
3030
  preload: "metadata"
3040
- }, null, 8, Vs)) : s.kind === "video" && r.url ? (c(), u("video", {
3031
+ }, null, 8, Ws)) : s.kind === "video" && r.url ? (c(), u("video", {
3041
3032
  key: 2,
3042
3033
  src: r.url,
3043
3034
  controls: "",
3044
3035
  preload: "metadata"
3045
- }, null, 8, Ws)) : (c(), u("a", {
3036
+ }, null, 8, Gs)) : (c(), u("a", {
3046
3037
  key: 3,
3047
3038
  class: "wm-att__file",
3048
3039
  href: s.safeHref,
@@ -3067,15 +3058,15 @@ function Zs(e, t, n, i, r, s) {
3067
3058
  o("path", { d: "M14 2v6h6" })
3068
3059
  ])
3069
3060
  ], -1)),
3070
- o("span", Ys, [
3071
- o("span", Js, v(s.displayName), 1),
3072
- s.sizeLabel ? (c(), u("span", Qs, v(s.sizeLabel), 1)) : y("", !0)
3061
+ o("span", Js, [
3062
+ o("span", Qs, v(s.displayName), 1),
3063
+ s.sizeLabel ? (c(), u("span", Xs, v(s.sizeLabel), 1)) : y("", !0)
3073
3064
  ]),
3074
- r.loading ? (c(), u("span", Xs)) : y("", !0)
3075
- ], 8, Gs))
3065
+ r.loading ? (c(), u("span", Zs)) : y("", !0)
3066
+ ], 8, Ys))
3076
3067
  ], 2);
3077
3068
  }
3078
- const er = /* @__PURE__ */ N(qs, [["render", Zs], ["__scopeId", "data-v-0c877a62"]]), tr = {
3069
+ const tr = /* @__PURE__ */ N($s, [["render", er], ["__scopeId", "data-v-0c877a62"]]), nr = {
3079
3070
  name: "WmBubble",
3080
3071
  props: {
3081
3072
  role: { type: String, default: "ai" },
@@ -3087,50 +3078,50 @@ const er = /* @__PURE__ */ N(qs, [["render", Zs], ["__scopeId", "data-v-0c877a62
3087
3078
  return un(this.text);
3088
3079
  }
3089
3080
  }
3090
- }, nr = ["innerHTML"];
3091
- function sr(e, t, n, i, r, s) {
3081
+ }, sr = ["innerHTML"];
3082
+ function rr(e, t, n, i, r, s) {
3092
3083
  return c(), u("div", {
3093
3084
  class: O(["wm-bubble", "wm-bubble--" + n.role])
3094
3085
  }, [
3095
3086
  je(e.$slots, "default", {}, () => [
3096
- o("span", { innerHTML: s.rendered }, null, 8, nr)
3087
+ o("span", { innerHTML: s.rendered }, null, 8, sr)
3097
3088
  ], !0)
3098
3089
  ], 2);
3099
3090
  }
3100
- const rr = /* @__PURE__ */ N(tr, [["render", sr], ["__scopeId", "data-v-7ab13147"]]), ir = { name: "WmTyping" }, ar = { class: "wm-typing" };
3101
- function or(e, t, n, i, r, s) {
3102
- return c(), u("div", ar, [...t[0] || (t[0] = [
3091
+ const ir = /* @__PURE__ */ N(nr, [["render", rr], ["__scopeId", "data-v-7ab13147"]]), ar = { name: "WmTyping" }, or = { class: "wm-typing" };
3092
+ function lr(e, t, n, i, r, s) {
3093
+ return c(), u("div", or, [...t[0] || (t[0] = [
3103
3094
  o("span", { style: { "animation-delay": "0s" } }, null, -1),
3104
3095
  o("span", { style: { "animation-delay": "0.2s" } }, null, -1),
3105
3096
  o("span", { style: { "animation-delay": "0.4s" } }, null, -1)
3106
3097
  ])]);
3107
3098
  }
3108
- const lr = /* @__PURE__ */ N(ir, [["render", or], ["__scopeId", "data-v-df2447fd"]]);
3099
+ const cr = /* @__PURE__ */ N(ar, [["render", lr], ["__scopeId", "data-v-df2447fd"]]);
3109
3100
  function Q(e) {
3110
3101
  return e ? e.client_msg_id || e.id : "";
3111
3102
  }
3112
- const cr = {
3103
+ const dr = {
3113
3104
  transferred_to_human: "system.transferredToHuman",
3114
3105
  assigned: "system.assigned",
3115
3106
  unassigned: "system.unassigned",
3116
3107
  resolved: "system.resolved",
3117
3108
  reopened: "system.reopened",
3118
3109
  idle: "system.idle"
3119
- }, dr = 80, ur = 200, hr = {
3110
+ }, ur = 80, hr = 200, mr = {
3120
3111
  name: "WmMessageList",
3121
3112
  components: {
3122
3113
  AIAvatar: le,
3123
3114
  HumanAvatar: Re,
3124
- Bubble: rr,
3125
- Typing: lr,
3126
- ActionResult: ts,
3127
- AttachmentPreview: er,
3128
- ArtifactRenderer: zs
3115
+ Bubble: ir,
3116
+ Typing: cr,
3117
+ ActionResult: ns,
3118
+ AttachmentPreview: tr,
3119
+ ArtifactRenderer: qs
3129
3120
  },
3130
3121
  inject: {
3131
3122
  // Translator + resolved-language getter shared by the Messenger
3132
3123
  // shell. Fall back to French wording when used standalone.
3133
- t: { default: () => j() },
3124
+ t: { default: () => D() },
3134
3125
  wmLocale: { default: () => () => "fr" }
3135
3126
  },
3136
3127
  props: {
@@ -3200,8 +3191,8 @@ const cr = {
3200
3191
  const l = this.roleOf(a);
3201
3192
  if (l === "system") {
3202
3193
  if (((n = a == null ? void 0 : a.payload) == null ? void 0 : n.event) === "action_admin_pending") {
3203
- const b = e[e.length - 1];
3204
- b && b.role === "ai" ? b.messages.push(a) : e.push({
3194
+ const w = e[e.length - 1];
3195
+ w && w.role === "ai" ? w.messages.push(a) : e.push({
3205
3196
  key: `g-${Q(a)}`,
3206
3197
  role: "ai",
3207
3198
  agentName: "",
@@ -3315,11 +3306,11 @@ const cr = {
3315
3306
  return `g-${n}`;
3316
3307
  },
3317
3308
  isAtBottom(e) {
3318
- return e.scrollHeight - e.scrollTop - e.clientHeight <= dr;
3309
+ return e.scrollHeight - e.scrollTop - e.clientHeight <= ur;
3319
3310
  },
3320
3311
  onScroll() {
3321
3312
  const e = this.$refs.scrollEl;
3322
- e && (this.showScrollDown = !this.isAtBottom(e), !(this.loadingMore || !this.hasMore) && (this._pendingLoadMore || e.scrollTop <= ur && (this._pendingLoadMore = !0, this.$emit("load-more"))));
3313
+ e && (this.showScrollDown = !this.isAtBottom(e), !(this.loadingMore || !this.hasMore) && (this._pendingLoadMore || e.scrollTop <= hr && (this._pendingLoadMore = !0, this.$emit("load-more"))));
3323
3314
  },
3324
3315
  // Capture pre-patch scroll state and restore it on the next tick.
3325
3316
  //
@@ -3520,9 +3511,9 @@ const cr = {
3520
3511
  // doit garder son arrondi.
3521
3512
  cornersFor(e, t) {
3522
3513
  var Z, ee, te;
3523
- const n = e.items, i = (Z = n[t]) == null ? void 0 : Z.kind, r = (ee = n[t - 1]) == null ? void 0 : ee.kind, s = (te = n[t + 1]) == null ? void 0 : te.kind, a = e.role === "user", l = 14, p = 4, k = r == null ? void 0 : r.bottom, b = s == null ? void 0 : s.top, T = this.widthByKey[this.rowKeyOf(e, t)], E = this.widthByKey[this.rowKeyOf(e, t - 1)], A = this.widthByKey[this.rowKeyOf(e, t + 1)], H = 0.5, S = (K, ne, J) => K != null && T != null ? K + H >= T : ne === J || ne === "card" && J === "bubble";
3524
- let P = l, I = l, U = l, Y = l;
3525
- return a ? (k && (I = p), (b || !s) && (U = p), k && S(E, k, i == null ? void 0 : i.top) && (P = p), b && S(A, b, i == null ? void 0 : i.bottom) && (Y = p)) : (k && (P = p), (b || !s) && (Y = p), k && S(E, k, i == null ? void 0 : i.top) && (I = p), b && S(A, b, i == null ? void 0 : i.bottom) && (U = p)), { tl: P, tr: I, br: U, bl: Y };
3514
+ const n = e.items, i = (Z = n[t]) == null ? void 0 : Z.kind, r = (ee = n[t - 1]) == null ? void 0 : ee.kind, s = (te = n[t + 1]) == null ? void 0 : te.kind, a = e.role === "user", l = 14, p = 4, k = r == null ? void 0 : r.bottom, w = s == null ? void 0 : s.top, T = this.widthByKey[this.rowKeyOf(e, t)], E = this.widthByKey[this.rowKeyOf(e, t - 1)], A = this.widthByKey[this.rowKeyOf(e, t + 1)], H = 0.5, S = (K, ne, J) => K != null && T != null ? K + H >= T : ne === J || ne === "card" && J === "bubble";
3515
+ let F = l, L = l, z = l, Y = l;
3516
+ return a ? (k && (L = p), (w || !s) && (z = p), k && S(E, k, i == null ? void 0 : i.top) && (F = p), w && S(A, w, i == null ? void 0 : i.bottom) && (Y = p)) : (k && (F = p), (w || !s) && (Y = p), k && S(E, k, i == null ? void 0 : i.top) && (L = p), w && S(A, w, i == null ? void 0 : i.bottom) && (z = p)), { tl: F, tr: L, br: z, bl: Y };
3526
3517
  },
3527
3518
  // Inline style emitting the four corner CSS variables. Set on
3528
3519
  // `.wm-list__row` so they cascade to Bubble/ActionResult/
@@ -3657,7 +3648,7 @@ const cr = {
3657
3648
  },
3658
3649
  systemLabel(e) {
3659
3650
  var r, s, a;
3660
- const t = (r = e == null ? void 0 : e.payload) == null ? void 0 : r.event, n = cr[t], i = ((s = e == null ? void 0 : e.metadata) == null ? void 0 : s.agent_name) || ((a = e == null ? void 0 : e.author) == null ? void 0 : a.name) || this.t("messageList.anAgent");
3651
+ const t = (r = e == null ? void 0 : e.payload) == null ? void 0 : r.event, n = dr[t], i = ((s = e == null ? void 0 : e.metadata) == null ? void 0 : s.agent_name) || ((a = e == null ? void 0 : e.author) == null ? void 0 : a.name) || this.t("messageList.anAgent");
3661
3652
  return n ? this.t(n, { name: i }) : (e == null ? void 0 : e.text_md) || this.t("messageList.conversationUpdate");
3662
3653
  },
3663
3654
  scrollToBottom() {
@@ -3672,77 +3663,77 @@ const cr = {
3672
3663
  e && (typeof e.scrollTo == "function" ? e.scrollTo({ top: e.scrollHeight, behavior: "smooth" }) : e.scrollTop = e.scrollHeight, this.showScrollDown = !1);
3673
3664
  }
3674
3665
  }
3675
- }, mr = { class: "wm-list__wrap" }, fr = {
3666
+ }, fr = { class: "wm-list__wrap" }, gr = {
3676
3667
  key: 0,
3677
3668
  class: "wm-list__loadMore",
3678
3669
  role: "status",
3679
3670
  "aria-live": "polite"
3680
- }, gr = { class: "wm-list__loadMore-lbl" }, _r = {
3671
+ }, _r = { class: "wm-list__loadMore-lbl" }, pr = {
3681
3672
  key: 1,
3682
3673
  class: "wm-list__historyEnd"
3683
- }, pr = {
3674
+ }, vr = {
3684
3675
  key: 2,
3685
3676
  class: "wm-list__sep"
3686
- }, vr = { class: "wm-list__sep-label" }, yr = {
3677
+ }, yr = { class: "wm-list__sep-label" }, wr = {
3687
3678
  key: 0,
3688
3679
  class: "wm-list__sep wm-list__sep--unread"
3689
- }, wr = { class: "wm-list__sep-label wm-list__sep-label--unread" }, br = {
3680
+ }, br = { class: "wm-list__sep-label wm-list__sep-label--unread" }, kr = {
3690
3681
  key: 0,
3691
3682
  class: "wm-list__sysep"
3692
- }, kr = { class: "wm-list__sysep-label" }, Cr = ["data-row-key", "onPointerdown"], Ar = {
3683
+ }, Cr = { class: "wm-list__sysep-label" }, Ar = ["data-row-key", "onPointerdown"], Sr = {
3693
3684
  key: 0,
3694
3685
  class: "wm-list__avatarSlot"
3695
- }, Sr = {
3686
+ }, Mr = {
3696
3687
  key: 5,
3697
3688
  class: "wm-list__body"
3698
- }, Mr = { key: 0 }, Tr = {
3689
+ }, Tr = { key: 0 }, xr = {
3699
3690
  key: 1,
3700
3691
  "aria-hidden": "true"
3701
- }, xr = { key: 2 }, Or = { key: 0 }, Lr = {
3692
+ }, Or = { key: 2 }, Lr = { key: 0 }, Ir = {
3702
3693
  key: 1,
3703
3694
  "aria-hidden": "true"
3704
- }, Ir = { key: 2 }, Er = {
3695
+ }, Er = { key: 2 }, Br = {
3705
3696
  key: 3,
3706
3697
  class: "wm-list__row wm-list__row--ai fade-up"
3707
- }, Br = { class: "wm-list__avatarSlot" }, Rr = ["aria-label", "title"];
3708
- function Nr(e, t, n, i, r, s) {
3709
- const a = R("AIAvatar"), l = R("HumanAvatar"), p = R("ActionResult"), k = R("ArtifactRenderer"), b = R("Bubble"), T = R("AttachmentPreview"), E = R("Typing");
3710
- return c(), u("div", mr, [
3698
+ }, Rr = { class: "wm-list__avatarSlot" }, Nr = ["aria-label", "title"];
3699
+ function Pr(e, t, n, i, r, s) {
3700
+ const a = R("AIAvatar"), l = R("HumanAvatar"), p = R("ActionResult"), k = R("ArtifactRenderer"), w = R("Bubble"), T = R("AttachmentPreview"), E = R("Typing");
3701
+ return c(), u("div", fr, [
3711
3702
  o("div", {
3712
3703
  ref: "scrollEl",
3713
3704
  class: O(["wm-list", { "wm-list--silent": r.silentFades }]),
3714
3705
  onScrollPassive: t[4] || (t[4] = (...A) => s.onScroll && s.onScroll(...A))
3715
3706
  }, [
3716
- n.loadingMore ? (c(), u("div", fr, [
3707
+ n.loadingMore ? (c(), u("div", gr, [
3717
3708
  t[6] || (t[6] = o("span", {
3718
3709
  class: "wm-list__loadMore-spinner",
3719
3710
  "aria-hidden": "true"
3720
3711
  }, null, -1)),
3721
- o("span", gr, v(s.t("messageList.loadingHistory")), 1)
3722
- ])) : s.historyExhausted ? (c(), u("div", _r, v(s.t("messageList.conversationStart")), 1)) : y("", !0),
3723
- n.dateLabel ? (c(), u("div", pr, [
3712
+ o("span", _r, v(s.t("messageList.loadingHistory")), 1)
3713
+ ])) : s.historyExhausted ? (c(), u("div", pr, v(s.t("messageList.conversationStart")), 1)) : y("", !0),
3714
+ n.dateLabel ? (c(), u("div", vr, [
3724
3715
  t[7] || (t[7] = o("div", { class: "wm-list__line" }, null, -1)),
3725
- o("span", vr, v(n.dateLabel), 1),
3716
+ o("span", yr, v(n.dateLabel), 1),
3726
3717
  t[8] || (t[8] = o("div", { class: "wm-list__line" }, null, -1))
3727
3718
  ])) : y("", !0),
3728
- (c(!0), u(B, null, D(s.groups, (A, H) => (c(), u(B, {
3719
+ (c(!0), u(B, null, U(s.groups, (A, H) => (c(), u(B, {
3729
3720
  key: A.key
3730
3721
  }, [
3731
- A.key === s.unreadGroupKey ? (c(), u("div", yr, [
3722
+ A.key === s.unreadGroupKey ? (c(), u("div", wr, [
3732
3723
  t[9] || (t[9] = o("div", { class: "wm-list__line wm-list__line--unread" }, null, -1)),
3733
- o("span", wr, v(s.t("messageList.unread")), 1),
3724
+ o("span", br, v(s.t("messageList.unread")), 1),
3734
3725
  t[10] || (t[10] = o("div", { class: "wm-list__line wm-list__line--unread" }, null, -1))
3735
3726
  ])) : y("", !0),
3736
3727
  A.role === "system" || A.items.length ? (c(), u("div", {
3737
3728
  key: 1,
3738
3729
  class: O(["wm-list__group", "wm-list__group--" + A.role])
3739
3730
  }, [
3740
- A.role === "system" ? (c(), u("div", br, [
3731
+ A.role === "system" ? (c(), u("div", kr, [
3741
3732
  t[11] || (t[11] = o("div", { class: "wm-list__line wm-list__line--strong" }, null, -1)),
3742
- o("span", kr, v(A.systemLabel), 1),
3733
+ o("span", Cr, v(A.systemLabel), 1),
3743
3734
  t[12] || (t[12] = o("div", { class: "wm-list__line wm-list__line--strong" }, null, -1))
3744
3735
  ])) : (c(), u(B, { key: 1 }, [
3745
- (c(!0), u(B, null, D(A.items, (S, P) => (c(), u(B, {
3736
+ (c(!0), u(B, null, U(A.items, (S, F) => (c(), u(B, {
3746
3737
  key: `${s.messageKey(S.message)}-${S.partKey}`
3747
3738
  }, [
3748
3739
  o("div", {
@@ -3754,23 +3745,23 @@ function Nr(e, t, n, i, r, s) {
3754
3745
  "is-failed": S.message._failed
3755
3746
  }
3756
3747
  ]]),
3757
- style: q(s.cornersStyle(A, P)),
3758
- onPointerdown: (I) => s.onPressStart(`${s.messageKey(S.message)}-${S.partKey}`),
3759
- onPointerup: t[0] || (t[0] = (I) => s.onPressEnd()),
3760
- onPointercancel: t[1] || (t[1] = (I) => s.onPressEnd()),
3761
- onPointerleave: t[2] || (t[2] = (I) => s.onPressEnd()),
3748
+ style: q(s.cornersStyle(A, F)),
3749
+ onPointerdown: (L) => s.onPressStart(`${s.messageKey(S.message)}-${S.partKey}`),
3750
+ onPointerup: t[0] || (t[0] = (L) => s.onPressEnd()),
3751
+ onPointercancel: t[1] || (t[1] = (L) => s.onPressEnd()),
3752
+ onPointerleave: t[2] || (t[2] = (L) => s.onPressEnd()),
3762
3753
  onContextmenu: t[3] || (t[3] = G(() => {
3763
3754
  }, ["prevent"]))
3764
3755
  }, [
3765
- A.role !== "user" ? (c(), u("div", Ar, [
3766
- P === A.items.length - 1 ? (c(), u(B, { key: 0 }, [
3767
- A.role === "ai" ? (c(), F(a, {
3756
+ A.role !== "user" ? (c(), u("div", Sr, [
3757
+ F === A.items.length - 1 ? (c(), u(B, { key: 0 }, [
3758
+ A.role === "ai" ? (c(), P(a, {
3768
3759
  key: 0,
3769
3760
  size: 26,
3770
3761
  tail: !0,
3771
3762
  name: n.aiAgentName,
3772
3763
  "image-url": n.aiAgentAvatarUrl
3773
- }, null, 8, ["name", "image-url"])) : (c(), F(l, {
3764
+ }, null, 8, ["name", "image-url"])) : (c(), P(l, {
3774
3765
  key: 1,
3775
3766
  name: A.agentName,
3776
3767
  "avatar-url": A.agentAvatarUrl,
@@ -3779,24 +3770,24 @@ function Nr(e, t, n, i, r, s) {
3779
3770
  }, null, 8, ["name", "avatar-url"]))
3780
3771
  ], 64)) : y("", !0)
3781
3772
  ])) : y("", !0),
3782
- S.renderAs === "action" ? (c(), F(p, {
3773
+ S.renderAs === "action" ? (c(), P(p, {
3783
3774
  key: 1,
3784
3775
  state: S.message.payload.state,
3785
3776
  label: s.actionLabel(S.message),
3786
3777
  detail: s.actionDetail(S.message)
3787
- }, null, 8, ["state", "label", "detail"])) : S.renderAs === "admin-pending" ? (c(), F(p, {
3778
+ }, null, 8, ["state", "label", "detail"])) : S.renderAs === "admin-pending" ? (c(), P(p, {
3788
3779
  key: 2,
3789
3780
  state: "awaiting",
3790
3781
  label: s.t("messageList.approvalRequestSent"),
3791
3782
  detail: S.message.text_md || ""
3792
- }, null, 8, ["label", "detail"])) : S.renderAs === "artifact-of-action" ? (c(), F(k, {
3783
+ }, null, 8, ["label", "detail"])) : S.renderAs === "artifact-of-action" ? (c(), P(k, {
3793
3784
  key: 3,
3794
3785
  artifact: s.actionArtifact(S.message)
3795
- }, null, 8, ["artifact"])) : S.renderAs === "artifact" ? (c(), F(k, {
3786
+ }, null, 8, ["artifact"])) : S.renderAs === "artifact" ? (c(), P(k, {
3796
3787
  key: 4,
3797
3788
  artifact: s.artifactOf(S.message)
3798
- }, null, 8, ["artifact"])) : (c(), u("div", Sr, [
3799
- S.message.text_md ? (c(), F(b, {
3789
+ }, null, 8, ["artifact"])) : (c(), u("div", Mr, [
3790
+ S.message.text_md ? (c(), P(w, {
3800
3791
  key: 0,
3801
3792
  role: A.role,
3802
3793
  text: S.message.text_md
@@ -3807,37 +3798,37 @@ function Nr(e, t, n, i, r, s) {
3807
3798
  "wm-list__atts--align-end": A.role === "user"
3808
3799
  }])
3809
3800
  }, [
3810
- (c(!0), u(B, null, D(s.attachmentsOf(
3801
+ (c(!0), u(B, null, U(s.attachmentsOf(
3811
3802
  S.message
3812
- ), (I, U) => (c(), F(T, {
3813
- key: `${s.messageKey(S.message)}-att-${U}`,
3814
- attachment: I
3803
+ ), (L, z) => (c(), P(T, {
3804
+ key: `${s.messageKey(S.message)}-att-${z}`,
3805
+ attachment: L
3815
3806
  }, null, 8, ["attachment"]))), 128))
3816
3807
  ], 2)) : y("", !0)
3817
3808
  ]))
3818
- ], 46, Cr),
3819
- P < A.items.length - 1 && r.pressedItemKey === `${s.messageKey(S.message)}-${S.partKey}` && (A.role !== "user" || s.timeOf(S.message)) ? (c(), u("div", {
3809
+ ], 46, Ar),
3810
+ F < A.items.length - 1 && r.pressedItemKey === `${s.messageKey(S.message)}-${S.partKey}` && (A.role !== "user" || s.timeOf(S.message)) ? (c(), u("div", {
3820
3811
  key: 0,
3821
3812
  class: O(["wm-list__meta wm-list__meta--press", { "wm-list__meta--right": A.role === "user" }])
3822
3813
  }, [
3823
- A.role !== "user" ? (c(), u("span", Mr, v(s.roleLabel(A)), 1)) : y("", !0),
3824
- A.role !== "user" && s.timeOf(S.message) ? (c(), u("span", Tr, "·")) : y("", !0),
3825
- s.timeOf(S.message) ? (c(), u("span", xr, v(s.timeOf(S.message)), 1)) : y("", !0)
3814
+ A.role !== "user" ? (c(), u("span", Tr, v(s.roleLabel(A)), 1)) : y("", !0),
3815
+ A.role !== "user" && s.timeOf(S.message) ? (c(), u("span", xr, "·")) : y("", !0),
3816
+ s.timeOf(S.message) ? (c(), u("span", Or, v(s.timeOf(S.message)), 1)) : y("", !0)
3826
3817
  ], 2)) : y("", !0)
3827
3818
  ], 64))), 128)),
3828
3819
  (A.role !== "user" || s.lastTimeOf(A)) && !s.hasTrailingOverlay(A) ? (c(), u("div", {
3829
3820
  key: 0,
3830
3821
  class: O(["wm-list__meta", { "wm-list__meta--right": A.role === "user" }])
3831
3822
  }, [
3832
- A.role !== "user" ? (c(), u("span", Or, v(s.roleLabel(A)), 1)) : y("", !0),
3833
- A.role !== "user" && s.lastTimeOf(A) ? (c(), u("span", Lr, "·")) : y("", !0),
3834
- s.lastTimeOf(A) ? (c(), u("span", Ir, v(s.lastTimeOf(A)), 1)) : y("", !0)
3823
+ A.role !== "user" ? (c(), u("span", Lr, v(s.roleLabel(A)), 1)) : y("", !0),
3824
+ A.role !== "user" && s.lastTimeOf(A) ? (c(), u("span", Ir, "·")) : y("", !0),
3825
+ s.lastTimeOf(A) ? (c(), u("span", Er, v(s.lastTimeOf(A)), 1)) : y("", !0)
3835
3826
  ], 2)) : y("", !0)
3836
3827
  ], 64))
3837
3828
  ], 2)) : y("", !0)
3838
3829
  ], 64))), 128)),
3839
- n.streamingActive ? (c(), u("div", Er, [
3840
- o("div", Br, [
3830
+ n.streamingActive ? (c(), u("div", Br, [
3831
+ o("div", Rr, [
3841
3832
  $(a, {
3842
3833
  size: 26,
3843
3834
  tail: !0,
@@ -3871,14 +3862,14 @@ function Nr(e, t, n, i, r, s) {
3871
3862
  }, [
3872
3863
  o("path", { d: "M6 9l6 6 6-6" })
3873
3864
  ], -1)
3874
- ])], 8, Rr)) : y("", !0)
3865
+ ])], 8, Nr)) : y("", !0)
3875
3866
  ]),
3876
3867
  _: 1
3877
3868
  })
3878
3869
  ]);
3879
3870
  }
3880
- const Pr = /* @__PURE__ */ N(hr, [["render", Nr], ["__scopeId", "data-v-9ddbd0e3"]]), he = typeof navigator < "u" && !!navigator.mediaDevices && typeof navigator.mediaDevices.getDisplayMedia == "function", ke = typeof window < "u" && typeof window.MediaRecorder < "u";
3881
- function Fr() {
3871
+ const Fr = /* @__PURE__ */ N(mr, [["render", Pr], ["__scopeId", "data-v-9ddbd0e3"]]), he = typeof navigator < "u" && !!navigator.mediaDevices && typeof navigator.mediaDevices.getDisplayMedia == "function", ke = typeof window < "u" && typeof window.MediaRecorder < "u";
3872
+ function Ur() {
3882
3873
  return ke && [
3883
3874
  "video/webm;codecs=vp9,opus",
3884
3875
  "video/webm;codecs=vp8,opus",
@@ -3898,10 +3889,10 @@ function Pe({ audio: e }) {
3898
3889
  systemAudio: e ? "include" : "exclude"
3899
3890
  };
3900
3891
  }
3901
- function Ka(e) {
3892
+ function Va(e) {
3902
3893
  return e ? e.startsWith("image/") ? "image" : e.startsWith("video/") ? "video" : "file" : "file";
3903
3894
  }
3904
- async function Ur() {
3895
+ async function Dr() {
3905
3896
  if (!he) return null;
3906
3897
  let e;
3907
3898
  try {
@@ -3912,7 +3903,7 @@ async function Ur() {
3912
3903
  return (t == null ? void 0 : t.name) !== "NotAllowedError" && console.error("[media] screenshot picker", t), null;
3913
3904
  }
3914
3905
  try {
3915
- return await Dr(e);
3906
+ return await jr(e);
3916
3907
  } catch (t) {
3917
3908
  return console.error("[media] screenshot capture", t), null;
3918
3909
  } finally {
@@ -3921,7 +3912,7 @@ async function Ur() {
3921
3912
  });
3922
3913
  }
3923
3914
  }
3924
- async function Dr(e) {
3915
+ async function jr(e) {
3925
3916
  const t = document.createElement("video");
3926
3917
  t.muted = !0, t.playsInline = !0, t.srcObject = e, await t.play(), await new Promise((l) => requestAnimationFrame(l));
3927
3918
  const n = t.videoWidth || 1280, i = t.videoHeight || 720, r = document.createElement("canvas");
@@ -3934,7 +3925,7 @@ async function Dr(e) {
3934
3925
  }), a = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-").slice(0, 19);
3935
3926
  return new File([s], `capture-${a}.png`, { type: "image/png" });
3936
3927
  }
3937
- async function jr(e = {}) {
3928
+ async function Hr(e = {}) {
3938
3929
  var k;
3939
3930
  if (!he || !ke) return null;
3940
3931
  let t;
@@ -3942,56 +3933,56 @@ async function jr(e = {}) {
3942
3933
  t = await navigator.mediaDevices.getDisplayMedia(
3943
3934
  Pe({ audio: !0 })
3944
3935
  );
3945
- } catch (b) {
3946
- return (b == null ? void 0 : b.name) !== "NotAllowedError" && console.error("[media] record picker", b), null;
3936
+ } catch (w) {
3937
+ return (w == null ? void 0 : w.name) !== "NotAllowedError" && console.error("[media] record picker", w), null;
3947
3938
  }
3948
- const n = Fr();
3939
+ const n = Ur();
3949
3940
  let i;
3950
3941
  try {
3951
3942
  i = n ? new window.MediaRecorder(t, { mimeType: n }) : new window.MediaRecorder(t);
3952
- } catch (b) {
3953
- return console.error("[media] recorder init", b), t.getTracks().forEach((T) => {
3943
+ } catch (w) {
3944
+ return console.error("[media] recorder init", w), t.getTracks().forEach((T) => {
3954
3945
  T.stop();
3955
3946
  }), null;
3956
3947
  }
3957
3948
  const r = [];
3958
3949
  let s = null, a = !1;
3959
- i.addEventListener("dataavailable", (b) => {
3960
- b.data && b.data.size > 0 && r.push(b.data);
3950
+ i.addEventListener("dataavailable", (w) => {
3951
+ w.data && w.data.size > 0 && r.push(w.data);
3961
3952
  }), i.addEventListener("stop", () => {
3962
- var b, T;
3953
+ var w, T;
3963
3954
  if (s && clearInterval(s), t.getTracks().forEach((E) => {
3964
3955
  E.stop();
3965
3956
  }), r.length) {
3966
- const E = i.mimeType || n || "video/webm", A = new Blob(r, { type: E }), H = /mp4/.test(E) ? "mp4" : "webm", S = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-").slice(0, 19), P = new File([A], `ecran-${S}.${H}`, {
3957
+ const E = i.mimeType || n || "video/webm", A = new Blob(r, { type: E }), H = /mp4/.test(E) ? "mp4" : "webm", S = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-").slice(0, 19), F = new File([A], `ecran-${S}.${H}`, {
3967
3958
  type: E
3968
3959
  });
3969
- (b = e.onfinalize) == null || b.call(e, P);
3960
+ (w = e.onfinalize) == null || w.call(e, F);
3970
3961
  } else
3971
3962
  (T = e.oncancel) == null || T.call(e);
3972
- }), t.getVideoTracks().forEach((b) => {
3973
- b.addEventListener("ended", () => l(), { once: !0 });
3963
+ }), t.getVideoTracks().forEach((w) => {
3964
+ w.addEventListener("ended", () => l(), { once: !0 });
3974
3965
  });
3975
3966
  function l() {
3976
3967
  if (!a && (a = !0, i.state !== "inactive"))
3977
3968
  try {
3978
3969
  i.stop();
3979
- } catch (b) {
3980
- console.error("[media] recorder stop", b);
3970
+ } catch (w) {
3971
+ console.error("[media] recorder stop", w);
3981
3972
  }
3982
3973
  }
3983
3974
  try {
3984
3975
  i.start(1e3);
3985
- } catch (b) {
3986
- return console.error("[media] recorder start", b), t.getTracks().forEach((T) => {
3976
+ } catch (w) {
3977
+ return console.error("[media] recorder start", w), t.getTracks().forEach((T) => {
3987
3978
  T.stop();
3988
3979
  }), null;
3989
3980
  }
3990
3981
  (k = e.onstart) == null || k.call(e);
3991
3982
  const p = Date.now();
3992
3983
  return s = setInterval(() => {
3993
- var b;
3994
- (b = e.ontick) == null || b.call(e, Date.now() - p);
3984
+ var w;
3985
+ (w = e.ontick) == null || w.call(e, Date.now() - p);
3995
3986
  }, 500), {
3996
3987
  stop: l,
3997
3988
  get state() {
@@ -3999,7 +3990,7 @@ async function jr(e = {}) {
3999
3990
  }
4000
3991
  };
4001
3992
  }
4002
- const Hr = [
3993
+ const zr = [
4003
3994
  {
4004
3995
  action: "file",
4005
3996
  labelKey: "composer.attachFile",
@@ -4015,12 +4006,12 @@ const Hr = [
4015
4006
  labelKey: "composer.recordScreen",
4016
4007
  path: "M23 7l-7 5 7 5V7z M1 5a2 2 0 012-2h12a2 2 0 012 2v14a2 2 0 01-2 2H3a2 2 0 01-2-2V5z"
4017
4008
  }
4018
- ], zr = {
4009
+ ], qr = {
4019
4010
  name: "WmComposer",
4020
4011
  inject: {
4021
4012
  // Translator shared by the Messenger shell; French fallback when
4022
4013
  // the component is used standalone.
4023
- t: { default: () => j() }
4014
+ t: { default: () => D() }
4024
4015
  },
4025
4016
  props: {
4026
4017
  modelValue: { type: String, default: "" },
@@ -4049,7 +4040,7 @@ const Hr = [
4049
4040
  return !this.disabled && !!this.local.trim();
4050
4041
  },
4051
4042
  attachItems() {
4052
- return Hr.map((e) => ({
4043
+ return zr.map((e) => ({
4053
4044
  ...e,
4054
4045
  label: this.t(e.labelKey),
4055
4046
  disabled: e.action === "screenshot" && !he || e.action === "record" && (!he || !ke)
@@ -4123,13 +4114,13 @@ const Hr = [
4123
4114
  },
4124
4115
  async captureScreenshot() {
4125
4116
  if (this.disabled) return;
4126
- const e = await Ur();
4117
+ const e = await Dr();
4127
4118
  e && this.$emit("attach", e);
4128
4119
  },
4129
4120
  async startRecording() {
4130
4121
  if (this.recording || this.disabled) return;
4131
4122
  this.recordingElapsed = 0;
4132
- const e = await jr({
4123
+ const e = await Hr({
4133
4124
  onstart: () => {
4134
4125
  this.recording = !0;
4135
4126
  },
@@ -4171,30 +4162,30 @@ const Hr = [
4171
4162
  !e || !this._vvHandler || (e.removeEventListener("resize", this._vvHandler), e.removeEventListener("scroll", this._vvHandler), this._vvHandler = null);
4172
4163
  }
4173
4164
  }
4174
- }, qr = {
4165
+ }, $r = {
4175
4166
  key: 0,
4176
4167
  class: "wm-rec"
4177
- }, $r = { class: "wm-rec__lbl" }, Kr = {
4168
+ }, Kr = { class: "wm-rec__lbl" }, Vr = {
4178
4169
  key: 1,
4179
4170
  class: "wm-compose__menu",
4180
4171
  role: "menu"
4181
- }, Vr = ["disabled", "onClick"], Wr = { class: "wm-compose__menuIcon" }, Gr = {
4172
+ }, Wr = ["disabled", "onClick"], Gr = { class: "wm-compose__menuIcon" }, Yr = {
4182
4173
  viewBox: "0 0 24 24",
4183
4174
  width: "14",
4184
4175
  height: "14",
4185
4176
  "aria-hidden": "true"
4186
- }, Yr = ["d"], Jr = ["placeholder", "disabled"], Qr = { class: "wm-compose__actions" }, Xr = ["title", "aria-label", "disabled"], Zr = ["disabled", "aria-label"];
4187
- function ei(e, t, n, i, r, s) {
4177
+ }, Jr = ["d"], Qr = ["placeholder", "disabled"], Xr = { class: "wm-compose__actions" }, Zr = ["title", "aria-label", "disabled"], ei = ["disabled", "aria-label"];
4178
+ function ti(e, t, n, i, r, s) {
4188
4179
  return c(), u("div", {
4189
4180
  class: O(["wm-compose-wrap", { "wm-compose-wrap--sheet": n.displayMode === "sheet" }]),
4190
4181
  style: q(r.kbOffset ? { transform: `translateY(-${r.kbOffset}px)` } : null)
4191
4182
  }, [
4192
- r.recording ? (c(), u("div", qr, [
4183
+ r.recording ? (c(), u("div", $r, [
4193
4184
  t[8] || (t[8] = o("span", {
4194
4185
  class: "wm-rec__dot",
4195
4186
  "aria-hidden": "true"
4196
4187
  }, null, -1)),
4197
- o("span", $r, v(s.t("composer.recording", { time: s.recordingElapsedLabel })), 1),
4188
+ o("span", Kr, v(s.t("composer.recording", { time: s.recordingElapsedLabel })), 1),
4198
4189
  o("button", {
4199
4190
  type: "button",
4200
4191
  class: "wm-rec__stop",
@@ -4217,16 +4208,16 @@ function ei(e, t, n, i, r, s) {
4217
4208
  class: "wm-compose__overlay",
4218
4209
  onClick: t[2] || (t[2] = (a) => r.attachOpen = !1)
4219
4210
  })) : y("", !0),
4220
- r.attachOpen ? (c(), u("div", Kr, [
4221
- (c(!0), u(B, null, D(s.attachItems, (a) => (c(), u("button", {
4211
+ r.attachOpen ? (c(), u("div", Vr, [
4212
+ (c(!0), u(B, null, U(s.attachItems, (a) => (c(), u("button", {
4222
4213
  key: a.action,
4223
4214
  type: "button",
4224
4215
  class: "wm-compose__menuItem",
4225
4216
  disabled: a.disabled,
4226
4217
  onClick: (l) => s.onAttachAction(a.action)
4227
4218
  }, [
4228
- o("span", Wr, [
4229
- (c(), u("svg", Gr, [
4219
+ o("span", Gr, [
4220
+ (c(), u("svg", Yr, [
4230
4221
  o("path", {
4231
4222
  d: a.path,
4232
4223
  stroke: "currentColor",
@@ -4234,11 +4225,11 @@ function ei(e, t, n, i, r, s) {
4234
4225
  "stroke-linecap": "round",
4235
4226
  "stroke-linejoin": "round",
4236
4227
  fill: "none"
4237
- }, null, 8, Yr)
4228
+ }, null, 8, Jr)
4238
4229
  ]))
4239
4230
  ]),
4240
4231
  o("span", null, v(a.label), 1)
4241
- ], 8, Vr))), 128))
4232
+ ], 8, Wr))), 128))
4242
4233
  ])) : y("", !0),
4243
4234
  V(o("textarea", {
4244
4235
  ref: "inputEl",
@@ -4249,10 +4240,10 @@ function ei(e, t, n, i, r, s) {
4249
4240
  disabled: n.disabled,
4250
4241
  onKeydown: t[4] || (t[4] = (...a) => s.onKeydown && s.onKeydown(...a)),
4251
4242
  onInput: t[5] || (t[5] = (...a) => s.autosize && s.autosize(...a))
4252
- }, null, 40, Jr), [
4243
+ }, null, 40, Qr), [
4253
4244
  [X, r.local]
4254
4245
  ]),
4255
- o("div", Qr, [
4246
+ o("div", Xr, [
4256
4247
  o("button", {
4257
4248
  type: "button",
4258
4249
  class: O(["wm-compose__icon", { "is-open": r.attachOpen }]),
@@ -4274,7 +4265,7 @@ function ei(e, t, n, i, r, s) {
4274
4265
  }, [
4275
4266
  o("path", { d: "M21.44 11.05l-9.19 9.19a6 6 0 01-8.49-8.49l9.19-9.19a4 4 0 015.66 5.66l-9.2 9.19a2 2 0 01-2.83-2.83l8.49-8.48" })
4276
4267
  ], -1)
4277
- ])], 10, Xr),
4268
+ ])], 10, Zr),
4278
4269
  o("button", {
4279
4270
  type: "submit",
4280
4271
  class: O(["wm-compose__send", { "is-empty": !s.canSend }]),
@@ -4294,12 +4285,12 @@ function ei(e, t, n, i, r, s) {
4294
4285
  }, [
4295
4286
  o("path", { d: "M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z" })
4296
4287
  ], -1)
4297
- ])], 10, Zr)
4288
+ ])], 10, ei)
4298
4289
  ])
4299
4290
  ], 34)
4300
4291
  ], 6);
4301
4292
  }
4302
- const ti = /* @__PURE__ */ N(zr, [["render", ei], ["__scopeId", "data-v-01e81a27"]]), ni = {
4293
+ const ni = /* @__PURE__ */ N(qr, [["render", ti], ["__scopeId", "data-v-01e81a27"]]), si = {
4303
4294
  name: "WmSuggestionChips",
4304
4295
  props: {
4305
4296
  items: { type: Array, default: () => [] },
@@ -4316,28 +4307,28 @@ const ti = /* @__PURE__ */ N(zr, [["render", ei], ["__scopeId", "data-v-01e81a27
4316
4307
  return this.items.map((e) => (e == null ? void 0 : e.label) || (e == null ? void 0 : e.text) || "").join("§");
4317
4308
  }
4318
4309
  }
4319
- }, si = ["onClick"];
4320
- function ri(e, t, n, i, r, s) {
4310
+ }, ri = ["onClick"];
4311
+ function ii(e, t, n, i, r, s) {
4321
4312
  return n.items.length ? (c(), u("div", {
4322
4313
  key: s.batchKey,
4323
4314
  class: "wm-chips"
4324
4315
  }, [
4325
- (c(!0), u(B, null, D(n.items, (a, l) => (c(), u("button", {
4316
+ (c(!0), u(B, null, U(n.items, (a, l) => (c(), u("button", {
4326
4317
  key: l,
4327
4318
  type: "button",
4328
4319
  class: "wm-chip",
4329
4320
  style: q({ animationDelay: n.baseDelay + l * n.stepDelay + "ms" }),
4330
4321
  onClick: (p) => e.$emit("select", a)
4331
- }, v(a.label), 13, si))), 128))
4322
+ }, v(a.label), 13, ri))), 128))
4332
4323
  ])) : y("", !0);
4333
4324
  }
4334
- const ii = /* @__PURE__ */ N(ni, [["render", ri], ["__scopeId", "data-v-47ad8085"]]), ai = {
4325
+ const ai = /* @__PURE__ */ N(si, [["render", ii], ["__scopeId", "data-v-47ad8085"]]), oi = {
4335
4326
  name: "WmApprovalCard",
4336
4327
  components: { AIAvatar: le },
4337
4328
  inject: {
4338
4329
  // Translator shared by the Messenger shell; French fallback when
4339
4330
  // the component is used standalone.
4340
- t: { default: () => j() }
4331
+ t: { default: () => D() }
4341
4332
  },
4342
4333
  props: {
4343
4334
  action: { type: String, required: !0 },
@@ -4375,27 +4366,27 @@ const ii = /* @__PURE__ */ N(ni, [["render", ri], ["__scopeId", "data-v-47ad8085
4375
4366
  return ((e = this.rejectCallback) == null ? void 0 : e.label) || this.t("approval.reject");
4376
4367
  }
4377
4368
  }
4378
- }, oi = { class: "wm-approval" }, li = { class: "wm-approval__head" }, ci = { class: "wm-approval__icon" }, di = { class: "wm-approval__main" }, ui = { class: "wm-approval__title" }, hi = {
4369
+ }, li = { class: "wm-approval" }, ci = { class: "wm-approval__head" }, di = { class: "wm-approval__icon" }, ui = { class: "wm-approval__main" }, hi = { class: "wm-approval__title" }, mi = {
4379
4370
  key: 0,
4380
4371
  class: "wm-approval__detail"
4381
- }, mi = { class: "wm-approval__actions" };
4382
- function fi(e, t, n, i, r, s) {
4372
+ }, fi = { class: "wm-approval__actions" };
4373
+ function gi(e, t, n, i, r, s) {
4383
4374
  const a = R("AIAvatar");
4384
- return c(), u("div", oi, [
4385
- o("div", li, [
4386
- o("div", ci, [
4375
+ return c(), u("div", li, [
4376
+ o("div", ci, [
4377
+ o("div", di, [
4387
4378
  $(a, {
4388
4379
  size: 24,
4389
4380
  name: n.agentName,
4390
4381
  "image-url": n.agentAvatarUrl
4391
4382
  }, null, 8, ["name", "image-url"])
4392
4383
  ]),
4393
- o("div", di, [
4394
- o("div", ui, v(n.action), 1),
4395
- n.detail ? (c(), u("div", hi, v(n.detail), 1)) : y("", !0)
4384
+ o("div", ui, [
4385
+ o("div", hi, v(n.action), 1),
4386
+ n.detail ? (c(), u("div", mi, v(n.detail), 1)) : y("", !0)
4396
4387
  ])
4397
4388
  ]),
4398
- o("div", mi, [
4389
+ o("div", fi, [
4399
4390
  s.rejectId ? (c(), u("button", {
4400
4391
  key: 0,
4401
4392
  type: "button",
@@ -4411,9 +4402,9 @@ function fi(e, t, n, i, r, s) {
4411
4402
  ])
4412
4403
  ]);
4413
4404
  }
4414
- const gi = /* @__PURE__ */ N(ai, [["render", fi], ["__scopeId", "data-v-a2bed37e"]]);
4405
+ const _i = /* @__PURE__ */ N(oi, [["render", gi], ["__scopeId", "data-v-a2bed37e"]]);
4415
4406
  let Oe = 0;
4416
- const _i = /* @__PURE__ */ new Set([
4407
+ const pi = /* @__PURE__ */ new Set([
4417
4408
  "text",
4418
4409
  "textarea",
4419
4410
  "number",
@@ -4421,13 +4412,13 @@ const _i = /* @__PURE__ */ new Set([
4421
4412
  "select",
4422
4413
  "multiselect",
4423
4414
  "date"
4424
- ]), pi = {
4415
+ ]), vi = {
4425
4416
  name: "WmFormCard",
4426
4417
  components: { AIAvatar: le },
4427
4418
  inject: {
4428
4419
  // Translator shared by the Messenger shell; French fallback when
4429
4420
  // the component is used standalone.
4430
- t: { default: () => j() }
4421
+ t: { default: () => D() }
4431
4422
  },
4432
4423
  props: {
4433
4424
  form: { type: Object, required: !0 },
@@ -4451,7 +4442,7 @@ const _i = /* @__PURE__ */ new Set([
4451
4442
  // douteux.
4452
4443
  normalizedFields() {
4453
4444
  var t;
4454
- return (Array.isArray((t = this.form) == null ? void 0 : t.fields) ? this.form.fields : []).filter((n) => !(!(n != null && n.key) || !(n != null && n.label) || !_i.has(n == null ? void 0 : n.type) || (n.type === "select" || n.type === "multiselect") && (!Array.isArray(n.options) || n.options.length === 0)));
4445
+ return (Array.isArray((t = this.form) == null ? void 0 : t.fields) ? this.form.fields : []).filter((n) => !(!(n != null && n.key) || !(n != null && n.label) || !pi.has(n == null ? void 0 : n.type) || (n.type === "select" || n.type === "multiselect") && (!Array.isArray(n.options) || n.options.length === 0)));
4455
4446
  }
4456
4447
  },
4457
4448
  created() {
@@ -4504,54 +4495,54 @@ const _i = /* @__PURE__ */ new Set([
4504
4495
  }
4505
4496
  }
4506
4497
  }
4507
- }, vi = { class: "wm-form" }, yi = { class: "wm-form__head" }, wi = { class: "wm-form__icon" }, bi = { class: "wm-form__main" }, ki = { class: "wm-form__title" }, Ci = {
4498
+ }, yi = { class: "wm-form" }, wi = { class: "wm-form__head" }, bi = { class: "wm-form__icon" }, ki = { class: "wm-form__main" }, Ci = { class: "wm-form__title" }, Ai = {
4508
4499
  key: 0,
4509
4500
  class: "wm-form__detail"
4510
- }, Ai = ["for"], Si = {
4501
+ }, Si = ["for"], Mi = {
4511
4502
  key: 0,
4512
4503
  class: "wm-form__req",
4513
4504
  "aria-hidden": "true"
4514
- }, Mi = ["id", "onUpdate:modelValue", "placeholder", "required", "disabled"], Ti = ["id", "onUpdate:modelValue", "placeholder", "required", "disabled"], xi = ["id", "onUpdate:modelValue", "placeholder", "required", "disabled"], Oi = ["id", "onUpdate:modelValue", "required", "disabled"], Li = {
4505
+ }, Ti = ["id", "onUpdate:modelValue", "placeholder", "required", "disabled"], xi = ["id", "onUpdate:modelValue", "placeholder", "required", "disabled"], Oi = ["id", "onUpdate:modelValue", "placeholder", "required", "disabled"], Li = ["id", "onUpdate:modelValue", "required", "disabled"], Ii = {
4515
4506
  key: 4,
4516
4507
  class: "wm-form__bool"
4517
- }, Ii = ["id", "onUpdate:modelValue", "disabled"], Ei = ["id", "onUpdate:modelValue", "required", "disabled"], Bi = {
4508
+ }, Ei = ["id", "onUpdate:modelValue", "disabled"], Bi = ["id", "onUpdate:modelValue", "required", "disabled"], Ri = {
4518
4509
  value: "",
4519
4510
  disabled: ""
4520
- }, Ri = ["value"], Ni = {
4511
+ }, Ni = ["value"], Pi = {
4521
4512
  key: 6,
4522
4513
  class: "wm-form__multi"
4523
- }, Pi = ["value", "checked", "disabled", "onChange"], Fi = {
4514
+ }, Fi = ["value", "checked", "disabled", "onChange"], Ui = {
4524
4515
  key: 0,
4525
4516
  class: "wm-form__err"
4526
- }, Ui = ["disabled"], Di = {
4517
+ }, Di = ["disabled"], ji = {
4527
4518
  key: 0,
4528
4519
  class: "wm-form__spinner",
4529
4520
  "aria-hidden": "true"
4530
- }, ji = {
4521
+ }, Hi = {
4531
4522
  key: 2,
4532
4523
  class: "wm-form__doneLbl"
4533
4524
  };
4534
- function Hi(e, t, n, i, r, s) {
4525
+ function zi(e, t, n, i, r, s) {
4535
4526
  const a = R("AIAvatar");
4536
- return c(), u("div", vi, [
4537
- o("div", yi, [
4538
- o("div", wi, [
4527
+ return c(), u("div", yi, [
4528
+ o("div", wi, [
4529
+ o("div", bi, [
4539
4530
  $(a, {
4540
4531
  size: 24,
4541
4532
  name: n.agentName,
4542
4533
  "image-url": n.agentAvatarUrl
4543
4534
  }, null, 8, ["name", "image-url"])
4544
4535
  ]),
4545
- o("div", bi, [
4546
- o("div", ki, v(n.form.title || s.t("form.title")), 1),
4547
- n.form.description ? (c(), u("div", Ci, v(n.form.description), 1)) : y("", !0)
4536
+ o("div", ki, [
4537
+ o("div", Ci, v(n.form.title || s.t("form.title")), 1),
4538
+ n.form.description ? (c(), u("div", Ai, v(n.form.description), 1)) : y("", !0)
4548
4539
  ])
4549
4540
  ]),
4550
4541
  o("form", {
4551
4542
  class: "wm-form__body",
4552
4543
  onSubmit: t[0] || (t[0] = G((...l) => s.onSubmit && s.onSubmit(...l), ["prevent"]))
4553
4544
  }, [
4554
- (c(!0), u(B, null, D(s.normalizedFields, (l) => (c(), u("div", {
4545
+ (c(!0), u(B, null, U(s.normalizedFields, (l) => (c(), u("div", {
4555
4546
  key: l.key,
4556
4547
  class: "wm-form__field"
4557
4548
  }, [
@@ -4560,8 +4551,8 @@ function Hi(e, t, n, i, r, s) {
4560
4551
  class: "wm-form__label"
4561
4552
  }, [
4562
4553
  ve(v(l.label), 1),
4563
- l.required ? (c(), u("span", Si, "*")) : y("", !0)
4564
- ], 8, Ai),
4554
+ l.required ? (c(), u("span", Mi, "*")) : y("", !0)
4555
+ ], 8, Si),
4565
4556
  l.type === "text" ? V((c(), u("input", {
4566
4557
  key: 0,
4567
4558
  id: `wm-f-${r._uid}-${l.key}`,
@@ -4571,7 +4562,7 @@ function Hi(e, t, n, i, r, s) {
4571
4562
  placeholder: l.placeholder || "",
4572
4563
  required: l.required,
4573
4564
  disabled: n.readOnly || r.busy
4574
- }, null, 8, Mi)), [
4565
+ }, null, 8, Ti)), [
4575
4566
  [X, r.values[l.key]]
4576
4567
  ]) : l.type === "textarea" ? V((c(), u("textarea", {
4577
4568
  key: 1,
@@ -4582,7 +4573,7 @@ function Hi(e, t, n, i, r, s) {
4582
4573
  placeholder: l.placeholder || "",
4583
4574
  required: l.required,
4584
4575
  disabled: n.readOnly || r.busy
4585
- }, null, 8, Ti)), [
4576
+ }, null, 8, xi)), [
4586
4577
  [X, r.values[l.key]]
4587
4578
  ]) : l.type === "number" ? V((c(), u("input", {
4588
4579
  key: 2,
@@ -4593,7 +4584,7 @@ function Hi(e, t, n, i, r, s) {
4593
4584
  placeholder: l.placeholder || "",
4594
4585
  required: l.required,
4595
4586
  disabled: n.readOnly || r.busy
4596
- }, null, 8, xi)), [
4587
+ }, null, 8, Oi)), [
4597
4588
  [
4598
4589
  X,
4599
4590
  r.values[l.key],
@@ -4608,15 +4599,15 @@ function Hi(e, t, n, i, r, s) {
4608
4599
  class: "wm-form__input",
4609
4600
  required: l.required,
4610
4601
  disabled: n.readOnly || r.busy
4611
- }, null, 8, Oi)), [
4602
+ }, null, 8, Li)), [
4612
4603
  [X, r.values[l.key]]
4613
- ]) : l.type === "boolean" ? (c(), u("label", Li, [
4604
+ ]) : l.type === "boolean" ? (c(), u("label", Ii, [
4614
4605
  V(o("input", {
4615
4606
  id: `wm-f-${r._uid}-${l.key}`,
4616
4607
  "onUpdate:modelValue": (p) => r.values[l.key] = p,
4617
4608
  type: "checkbox",
4618
4609
  disabled: n.readOnly || r.busy
4619
- }, null, 8, Ii), [
4610
+ }, null, 8, Ei), [
4620
4611
  [He, r.values[l.key]]
4621
4612
  ]),
4622
4613
  o("span", null, v(l.placeholder || s.t("common.yes")), 1)
@@ -4628,15 +4619,15 @@ function Hi(e, t, n, i, r, s) {
4628
4619
  required: l.required,
4629
4620
  disabled: n.readOnly || r.busy
4630
4621
  }, [
4631
- o("option", Bi, v(l.placeholder || s.t("form.choose")), 1),
4632
- (c(!0), u(B, null, D(l.options, (p) => (c(), u("option", {
4622
+ o("option", Ri, v(l.placeholder || s.t("form.choose")), 1),
4623
+ (c(!0), u(B, null, U(l.options, (p) => (c(), u("option", {
4633
4624
  key: p.value,
4634
4625
  value: p.value
4635
- }, v(p.label), 9, Ri))), 128))
4636
- ], 8, Ei)), [
4626
+ }, v(p.label), 9, Ni))), 128))
4627
+ ], 8, Bi)), [
4637
4628
  [ze, r.values[l.key]]
4638
- ]) : l.type === "multiselect" ? (c(), u("div", Ni, [
4639
- (c(!0), u(B, null, D(l.options, (p) => (c(), u("label", {
4629
+ ]) : l.type === "multiselect" ? (c(), u("div", Pi, [
4630
+ (c(!0), u(B, null, U(l.options, (p) => (c(), u("label", {
4640
4631
  key: p.value,
4641
4632
  class: "wm-form__multiItem"
4642
4633
  }, [
@@ -4650,30 +4641,30 @@ function Hi(e, t, n, i, r, s) {
4650
4641
  p.value,
4651
4642
  k.target.checked
4652
4643
  )
4653
- }, null, 40, Pi),
4644
+ }, null, 40, Fi),
4654
4645
  o("span", null, v(p.label), 1)
4655
4646
  ]))), 128))
4656
4647
  ])) : y("", !0)
4657
4648
  ]))), 128)),
4658
- r.error ? (c(), u("div", Fi, v(r.error), 1)) : y("", !0),
4659
- n.readOnly ? (c(), u("div", ji, v(s.t("form.responseSent")), 1)) : (c(), u("button", {
4649
+ r.error ? (c(), u("div", Ui, v(r.error), 1)) : y("", !0),
4650
+ n.readOnly ? (c(), u("div", Hi, v(s.t("form.responseSent")), 1)) : (c(), u("button", {
4660
4651
  key: 1,
4661
4652
  type: "submit",
4662
4653
  class: "wm-form__submit",
4663
4654
  disabled: r.busy
4664
4655
  }, [
4665
- r.busy ? (c(), u("span", Di)) : y("", !0),
4656
+ r.busy ? (c(), u("span", ji)) : y("", !0),
4666
4657
  o("span", null, v(r.busy ? s.t("common.sending") : n.form.submit_label || s.t("common.send")), 1)
4667
- ], 8, Ui))
4658
+ ], 8, Di))
4668
4659
  ], 32)
4669
4660
  ]);
4670
4661
  }
4671
- const zi = /* @__PURE__ */ N(pi, [["render", Hi], ["__scopeId", "data-v-fe65cc56"]]), qi = {
4662
+ const qi = /* @__PURE__ */ N(vi, [["render", zi], ["__scopeId", "data-v-fe65cc56"]]), $i = {
4672
4663
  name: "WmFeedback",
4673
4664
  inject: {
4674
4665
  // Translator shared by the Messenger shell; French fallback when
4675
4666
  // the component is used standalone.
4676
- t: { default: () => j() }
4667
+ t: { default: () => D() }
4677
4668
  },
4678
4669
  props: {
4679
4670
  busy: { type: Boolean, default: !1 },
@@ -4702,13 +4693,13 @@ const zi = /* @__PURE__ */ N(pi, [["render", Hi], ["__scopeId", "data-v-fe65cc56
4702
4693
  !this.sel || this.busy || this.$emit("submit", { rating: this.sel });
4703
4694
  }
4704
4695
  }
4705
- }, $i = { class: "wm-fb" }, Ki = { class: "wm-fb__title" }, Vi = { class: "wm-fb__sub" }, Wi = { class: "wm-fb__row" }, Gi = ["onClick"], Yi = { class: "wm-fb__emoji" }, Ji = { class: "wm-fb__label" }, Qi = ["disabled"], Xi = {
4696
+ }, Ki = { class: "wm-fb" }, Vi = { class: "wm-fb__title" }, Wi = { class: "wm-fb__sub" }, Gi = { class: "wm-fb__row" }, Yi = ["onClick"], Ji = { class: "wm-fb__emoji" }, Qi = { class: "wm-fb__label" }, Xi = ["disabled"], Zi = {
4706
4697
  key: 1,
4707
4698
  class: "wm-fb__done"
4708
- }, Zi = { class: "wm-fb__doneTitle" }, ea = { class: "wm-fb__doneSub" };
4709
- function ta(e, t, n, i, r, s) {
4710
- return c(), u("div", $i, [
4711
- n.done ? (c(), u("div", Xi, [
4699
+ }, ea = { class: "wm-fb__doneTitle" }, ta = { class: "wm-fb__doneSub" };
4700
+ function na(e, t, n, i, r, s) {
4701
+ return c(), u("div", Ki, [
4702
+ n.done ? (c(), u("div", Zi, [
4712
4703
  t[1] || (t[1] = o("div", { class: "wm-fb__check" }, [
4713
4704
  o("svg", {
4714
4705
  width: "16",
@@ -4724,37 +4715,37 @@ function ta(e, t, n, i, r, s) {
4724
4715
  o("path", { d: "M20 6L9 17l-5-5" })
4725
4716
  ])
4726
4717
  ], -1)),
4727
- o("div", Zi, v(s.t("feedback.doneTitle")), 1),
4728
- o("div", ea, v(s.t("feedback.doneSubtitle")), 1)
4718
+ o("div", ea, v(s.t("feedback.doneTitle")), 1),
4719
+ o("div", ta, v(s.t("feedback.doneSubtitle")), 1)
4729
4720
  ])) : (c(), u(B, { key: 0 }, [
4730
- o("div", Ki, v(s.t("feedback.question")), 1),
4731
- o("div", Vi, v(s.t("feedback.subtitle")), 1),
4732
- o("div", Wi, [
4733
- (c(!0), u(B, null, D(s.options, (a) => (c(), u("button", {
4721
+ o("div", Vi, v(s.t("feedback.question")), 1),
4722
+ o("div", Wi, v(s.t("feedback.subtitle")), 1),
4723
+ o("div", Gi, [
4724
+ (c(!0), u(B, null, U(s.options, (a) => (c(), u("button", {
4734
4725
  key: a.v,
4735
4726
  type: "button",
4736
4727
  class: O(["wm-fb__opt", { "is-selected": r.sel === a.v }]),
4737
4728
  onClick: (l) => r.sel = a.v
4738
4729
  }, [
4739
- o("span", Yi, v(a.e), 1),
4740
- o("span", Ji, v(a.l), 1)
4741
- ], 10, Gi))), 128))
4730
+ o("span", Ji, v(a.e), 1),
4731
+ o("span", Qi, v(a.l), 1)
4732
+ ], 10, Yi))), 128))
4742
4733
  ]),
4743
4734
  o("button", {
4744
4735
  type: "button",
4745
4736
  class: "wm-fb__send",
4746
4737
  disabled: !r.sel || n.busy,
4747
4738
  onClick: t[0] || (t[0] = (...a) => s.onSend && s.onSend(...a))
4748
- }, v(n.busy ? s.t("common.sending") : s.t("feedback.submit")), 9, Qi)
4739
+ }, v(n.busy ? s.t("common.sending") : s.t("feedback.submit")), 9, Xi)
4749
4740
  ], 64))
4750
4741
  ]);
4751
4742
  }
4752
- const na = /* @__PURE__ */ N(qi, [["render", ta], ["__scopeId", "data-v-9b630564"]]), sa = {
4743
+ const sa = /* @__PURE__ */ N($i, [["render", na], ["__scopeId", "data-v-9b630564"]]), ra = {
4753
4744
  name: "WmMoreMenu",
4754
4745
  inject: {
4755
4746
  // Translator shared by the Messenger shell; French fallback when
4756
4747
  // the component is used standalone.
4757
- t: { default: () => j() }
4748
+ t: { default: () => D() }
4758
4749
  },
4759
4750
  props: {
4760
4751
  canRename: { type: Boolean, default: !0 },
@@ -4792,24 +4783,24 @@ const na = /* @__PURE__ */ N(qi, [["render", ta], ["__scopeId", "data-v-9b630564
4792
4783
  this.browserNotifOn = !this.browserNotifOn, this.$emit("browser-notif-toggle", this.browserNotifOn);
4793
4784
  }
4794
4785
  }
4795
- }, ra = { class: "wm-mm" }, ia = {
4786
+ }, ia = { class: "wm-mm" }, aa = {
4796
4787
  class: "wm-mm__pop",
4797
4788
  role: "menu"
4798
- }, aa = {
4789
+ }, oa = {
4799
4790
  key: 0,
4800
4791
  class: "wm-mm__section"
4801
- }, oa = { class: "wm-mm__label" }, la = { class: "wm-mm__label" }, ca = {
4792
+ }, la = { class: "wm-mm__label" }, ca = { class: "wm-mm__label" }, da = {
4802
4793
  key: 1,
4803
4794
  class: "wm-mm__sep"
4804
- }, da = { class: "wm-mm__section" }, ua = { class: "wm-mm__label" }, ha = { class: "wm-mm__label" }, ma = { class: "wm-mm__section" }, fa = { class: "wm-mm__label" }, ga = { class: "wm-mm__label" };
4805
- function _a(e, t, n, i, r, s) {
4806
- return c(), u("div", ra, [
4795
+ }, ua = { class: "wm-mm__section" }, ha = { class: "wm-mm__label" }, ma = { class: "wm-mm__label" }, fa = { class: "wm-mm__section" }, ga = { class: "wm-mm__label" }, _a = { class: "wm-mm__label" };
4796
+ function pa(e, t, n, i, r, s) {
4797
+ return c(), u("div", ia, [
4807
4798
  o("div", {
4808
4799
  class: "wm-mm__scrim",
4809
4800
  onClick: t[0] || (t[0] = (a) => e.$emit("close"))
4810
4801
  }),
4811
- o("div", ia, [
4812
- n.canRename || n.canExport ? (c(), u("div", aa, [
4802
+ o("div", aa, [
4803
+ n.canRename || n.canExport ? (c(), u("div", oa, [
4813
4804
  n.canRename ? (c(), u("button", {
4814
4805
  key: 0,
4815
4806
  type: "button",
@@ -4832,7 +4823,7 @@ function _a(e, t, n, i, r, s) {
4832
4823
  o("path", { d: "M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z" })
4833
4824
  ])
4834
4825
  ], -1)),
4835
- o("span", oa, v(s.t("moreMenu.editTitle")), 1)
4826
+ o("span", la, v(s.t("moreMenu.editTitle")), 1)
4836
4827
  ])) : y("", !0),
4837
4828
  n.canExport ? (c(), u("button", {
4838
4829
  key: 1,
@@ -4855,12 +4846,12 @@ function _a(e, t, n, i, r, s) {
4855
4846
  o("path", { d: "M4 12v8a2 2 0 002 2h12a2 2 0 002-2v-8M16 6l-4-4-4 4M12 2v13" })
4856
4847
  ])
4857
4848
  ], -1)),
4858
- o("span", la, v(s.t("moreMenu.exportTranscript")), 1),
4849
+ o("span", ca, v(s.t("moreMenu.exportTranscript")), 1),
4859
4850
  t[9] || (t[9] = o("span", { class: "wm-mm__hint" }, ".txt", -1))
4860
4851
  ])) : y("", !0)
4861
4852
  ])) : y("", !0),
4862
- n.canRename || n.canExport ? (c(), u("div", ca)) : y("", !0),
4863
- o("div", da, [
4853
+ n.canRename || n.canExport ? (c(), u("div", da)) : y("", !0),
4854
+ o("div", ua, [
4864
4855
  o("button", {
4865
4856
  type: "button",
4866
4857
  class: "wm-mm__item",
@@ -4882,7 +4873,7 @@ function _a(e, t, n, i, r, s) {
4882
4873
  o("path", { d: "M15.54 8.46a5 5 0 010 7.07M19.07 4.93a10 10 0 010 14.14" })
4883
4874
  ])
4884
4875
  ], -1)),
4885
- o("span", ua, v(s.t("moreMenu.sound")), 1),
4876
+ o("span", ha, v(s.t("moreMenu.sound")), 1),
4886
4877
  o("span", {
4887
4878
  class: O(["wm-mm__toggle", { "wm-mm__toggle--on": r.soundOn }])
4888
4879
  }, [...t[10] || (t[10] = [
@@ -4909,7 +4900,7 @@ function _a(e, t, n, i, r, s) {
4909
4900
  o("path", { d: "M15 17h5l-1.4-1.4A2 2 0 0118 14.2V11a6 6 0 10-12 0v3.2c0 .5-.2 1-.6 1.4L4 17h5m6 0a3 3 0 11-6 0" })
4910
4901
  ])
4911
4902
  ], -1)),
4912
- o("span", ha, v(s.t("moreMenu.browserNotifications")), 1),
4903
+ o("span", ma, v(s.t("moreMenu.browserNotifications")), 1),
4913
4904
  o("span", {
4914
4905
  class: O(["wm-mm__toggle", { "wm-mm__toggle--on": r.browserNotifOn }])
4915
4906
  }, [...t[12] || (t[12] = [
@@ -4918,7 +4909,7 @@ function _a(e, t, n, i, r, s) {
4918
4909
  ])
4919
4910
  ]),
4920
4911
  t[16] || (t[16] = o("div", { class: "wm-mm__sep" }, null, -1)),
4921
- o("div", ma, [
4912
+ o("div", fa, [
4922
4913
  n.statusUrl ? (c(), u("button", {
4923
4914
  key: 0,
4924
4915
  type: "button",
@@ -4940,7 +4931,7 @@ function _a(e, t, n, i, r, s) {
4940
4931
  o("path", { d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zM10 6v4l3 2" })
4941
4932
  ])
4942
4933
  ], -1)),
4943
- o("span", fa, v(s.t("moreMenu.serviceStatus")), 1)
4934
+ o("span", ga, v(s.t("moreMenu.serviceStatus")), 1)
4944
4935
  ])) : y("", !0),
4945
4936
  n.helpUrl ? (c(), u("button", {
4946
4937
  key: 1,
@@ -4963,18 +4954,18 @@ function _a(e, t, n, i, r, s) {
4963
4954
  o("path", { d: "M9 11a3 3 0 116 0c0 2-3 2-3 5M12 19h.01M12 22a10 10 0 110-20 10 10 0 010 20z" })
4964
4955
  ])
4965
4956
  ], -1)),
4966
- o("span", ga, v(s.t("moreMenu.helpCenter")), 1)
4957
+ o("span", _a, v(s.t("moreMenu.helpCenter")), 1)
4967
4958
  ])) : y("", !0)
4968
4959
  ])
4969
4960
  ])
4970
4961
  ]);
4971
4962
  }
4972
- const pa = /* @__PURE__ */ N(sa, [["render", _a], ["__scopeId", "data-v-76281e95"]]), va = {
4963
+ const va = /* @__PURE__ */ N(ra, [["render", pa], ["__scopeId", "data-v-76281e95"]]), ya = {
4973
4964
  name: "WmRenameDialog",
4974
4965
  inject: {
4975
4966
  // Translator shared by the Messenger shell; French fallback when
4976
4967
  // the component is used standalone.
4977
- t: { default: () => j() }
4968
+ t: { default: () => D() }
4978
4969
  },
4979
4970
  props: {
4980
4971
  // Empty defaults: the resolved fallback comes from the translator
@@ -5011,20 +5002,20 @@ const pa = /* @__PURE__ */ N(sa, [["render", _a], ["__scopeId", "data-v-76281e95
5011
5002
  this.canSubmit && this.$emit("submit", this.value.trim());
5012
5003
  }
5013
5004
  }
5014
- }, ya = { class: "wm-dialog" }, wa = {
5005
+ }, wa = { class: "wm-dialog" }, ba = {
5015
5006
  class: "wm-dialog__card",
5016
5007
  role: "dialog",
5017
5008
  "aria-modal": "true"
5018
- }, ba = { class: "wm-dialog__head" }, ka = { class: "wm-dialog__title" }, Ca = ["aria-label"], Aa = { class: "wm-dialog__body" }, Sa = ["placeholder"], Ma = { class: "wm-dialog__actions" }, Ta = ["disabled"];
5019
- function xa(e, t, n, i, r, s) {
5020
- return c(), u("div", ya, [
5009
+ }, ka = { class: "wm-dialog__head" }, Ca = { class: "wm-dialog__title" }, Aa = ["aria-label"], Sa = { class: "wm-dialog__body" }, Ma = ["placeholder"], Ta = { class: "wm-dialog__actions" }, xa = ["disabled"];
5010
+ function Oa(e, t, n, i, r, s) {
5011
+ return c(), u("div", wa, [
5021
5012
  o("div", {
5022
5013
  class: "wm-dialog__scrim",
5023
5014
  onClick: t[0] || (t[0] = (a) => e.$emit("close"))
5024
5015
  }),
5025
- o("div", wa, [
5026
- o("div", ba, [
5027
- o("div", ka, v(n.title || s.t("rename.title")), 1),
5016
+ o("div", ba, [
5017
+ o("div", ka, [
5018
+ o("div", Ca, v(n.title || s.t("rename.title")), 1),
5028
5019
  o("button", {
5029
5020
  type: "button",
5030
5021
  class: "wm-dialog__close",
@@ -5044,9 +5035,9 @@ function xa(e, t, n, i, r, s) {
5044
5035
  }, [
5045
5036
  o("path", { d: "M18 6L6 18M6 6l12 12" })
5046
5037
  ], -1)
5047
- ])], 8, Ca)
5038
+ ])], 8, Aa)
5048
5039
  ]),
5049
- o("div", Aa, [
5040
+ o("div", Sa, [
5050
5041
  V(o("input", {
5051
5042
  ref: "input",
5052
5043
  "onUpdate:modelValue": t[2] || (t[2] = (a) => r.value = a),
@@ -5058,11 +5049,11 @@ function xa(e, t, n, i, r, s) {
5058
5049
  t[3] || (t[3] = ue(G((...a) => s.onSubmit && s.onSubmit(...a), ["prevent"]), ["enter"])),
5059
5050
  t[4] || (t[4] = ue(G((a) => e.$emit("close"), ["prevent"]), ["esc"]))
5060
5051
  ]
5061
- }, null, 40, Sa), [
5052
+ }, null, 40, Ma), [
5062
5053
  [X, r.value]
5063
5054
  ])
5064
5055
  ]),
5065
- o("div", Ma, [
5056
+ o("div", Ta, [
5066
5057
  o("button", {
5067
5058
  type: "button",
5068
5059
  class: "wm-dialog__btn",
@@ -5073,25 +5064,25 @@ function xa(e, t, n, i, r, s) {
5073
5064
  class: "wm-dialog__btn wm-dialog__btn--primary",
5074
5065
  disabled: !s.canSubmit,
5075
5066
  onClick: t[6] || (t[6] = (...a) => s.onSubmit && s.onSubmit(...a))
5076
- }, v(s.t("common.save")), 9, Ta)
5067
+ }, v(s.t("common.save")), 9, xa)
5077
5068
  ])
5078
5069
  ])
5079
5070
  ]);
5080
5071
  }
5081
- const Oa = /* @__PURE__ */ N(va, [["render", xa], ["__scopeId", "data-v-6d5f94a8"]]), Le = "ww-messenger-tokens", La = {
5072
+ const La = /* @__PURE__ */ N(ya, [["render", Oa], ["__scopeId", "data-v-6d5f94a8"]]), Le = "ww-messenger-tokens", Ia = {
5082
5073
  name: "Messenger",
5083
5074
  components: {
5084
5075
  Launcher: Pt,
5085
5076
  Header: ln,
5086
- Onboarding: qn,
5087
- MessageList: Pr,
5088
- Composer: ti,
5089
- SuggestionChips: ii,
5090
- ApprovalCard: gi,
5091
- FormCard: zi,
5092
- Feedback: na,
5093
- MoreMenu: pa,
5094
- RenameDialog: Oa
5077
+ Onboarding: $n,
5078
+ MessageList: Fr,
5079
+ Composer: ni,
5080
+ SuggestionChips: ai,
5081
+ ApprovalCard: _i,
5082
+ FormCard: qi,
5083
+ Feedback: sa,
5084
+ MoreMenu: va,
5085
+ RenameDialog: La
5095
5086
  },
5096
5087
  mixins: [
5097
5088
  ot,
@@ -5242,7 +5233,7 @@ const Oa = /* @__PURE__ */ N(va, [["render", xa], ["__scopeId", "data-v-6d5f94a8
5242
5233
  // `locale` changes. `t()` below (and the provided closure) delegate
5243
5234
  // to it so every string resolves against the current language.
5244
5235
  translator() {
5245
- return j(this.locale);
5236
+ return D(this.locale);
5246
5237
  },
5247
5238
  error() {
5248
5239
  var e;
@@ -5276,8 +5267,8 @@ const Oa = /* @__PURE__ */ N(va, [["render", xa], ["__scopeId", "data-v-6d5f94a8
5276
5267
  var k;
5277
5268
  const r = e[i.id] || [], s = W(i.last_read_message_id);
5278
5269
  let a = 0, l = null;
5279
- for (let b = r.length - 1; b >= 0; b--) {
5280
- const T = r[b];
5270
+ for (let w = r.length - 1; w >= 0; w--) {
5271
+ const T = r[w];
5281
5272
  if (!T) continue;
5282
5273
  if (((k = T.author) == null ? void 0 : k.type) === "user") break;
5283
5274
  const E = W(T.id);
@@ -5287,11 +5278,11 @@ const Oa = /* @__PURE__ */ N(va, [["render", xa], ["__scopeId", "data-v-6d5f94a8
5287
5278
  }
5288
5279
  }
5289
5280
  if (!r.length) {
5290
- const b = W(i.last_message_id);
5291
- b != null && (s == null || b > s) && (a = 1, l = i.last_message_author || null);
5281
+ const w = W(i.last_message_id);
5282
+ w != null && (s == null || w > s) && (a = 1, l = i.last_message_author || null);
5292
5283
  }
5293
5284
  const p = r.filter(
5294
- (b) => !((b == null ? void 0 : b.id) != null && t[b.id] === 0)
5285
+ (w) => !((w == null ? void 0 : w.id) != null && t[w.id] === 0)
5295
5286
  );
5296
5287
  return {
5297
5288
  ...i,
@@ -5519,7 +5510,7 @@ const Oa = /* @__PURE__ */ N(va, [["render", xa], ["__scopeId", "data-v-6d5f94a8
5519
5510
  const t = (p = (l = (a = this.pendingApproval) == null ? void 0 : a.payload) == null ? void 0 : l.pending) == null ? void 0 : p.prepared_params;
5520
5511
  if (!t || typeof t != "object") return "";
5521
5512
  const n = Object.entries(t);
5522
- return n.length ? n.slice(0, 2).map(([k, b]) => `${k}: ${b}`).join(" · ") : "";
5513
+ return n.length ? n.slice(0, 2).map(([k, w]) => `${k}: ${w}`).join(" · ") : "";
5523
5514
  },
5524
5515
  actionInFlight() {
5525
5516
  var e, t;
@@ -5818,30 +5809,30 @@ const Oa = /* @__PURE__ */ N(va, [["render", xa], ["__scopeId", "data-v-6d5f94a8
5818
5809
  this.launcherHovered = e, this.sendCurrentLauncherSize();
5819
5810
  },
5820
5811
  sendCurrentLauncherSize() {
5821
- var T, E, A, H, S, P, I;
5812
+ var w, T, E, A, H, S, F;
5822
5813
  if (this.isOpen) return;
5823
- const e = (E = (T = this.$el) == null ? void 0 : T.querySelector) == null ? void 0 : E.call(T, ".wm-launcherWrap");
5814
+ const e = (T = (w = this.$el) == null ? void 0 : w.querySelector) == null ? void 0 : T.call(w, ".wm-launcherWrap");
5824
5815
  if (!e) return;
5825
5816
  const t = e.getBoundingClientRect();
5826
5817
  if (!t.width || !t.height) return;
5827
- const n = (((A = this.launcherPeeks) == null ? void 0 : A.length) ?? 0) > 0, i = this.launcherHovered ? 28 : 16, r = Math.ceil(t.width), s = Math.ceil(t.height), a = (S = (H = this.$el) == null ? void 0 : H.querySelector) == null ? void 0 : S.call(H, ".wm-launcher"), l = a == null ? void 0 : a.getBoundingClientRect(), p = (I = (P = this.$el) == null ? void 0 : P.querySelectorAll) == null ? void 0 : I.call(P, ".wm-peek"), k = p && p.length ? p[p.length - 1] : null;
5828
- let b = null;
5829
- if (k) {
5830
- const U = k.getBoundingClientRect();
5831
- b = {
5832
- width: Math.ceil(U.width),
5833
- height: Math.ceil(U.height),
5834
- rightOffset: Math.max(0, Math.ceil(t.right - U.right)),
5835
- bottomOffset: Math.max(0, Math.ceil(t.bottom - U.bottom))
5818
+ const n = (((E = this.launcherPeeks) == null ? void 0 : E.length) ?? 0) > 0, i = 16, r = Math.ceil(t.width), s = Math.ceil(t.height), a = (H = (A = this.$el) == null ? void 0 : A.querySelector) == null ? void 0 : H.call(A, ".wm-launcher"), l = (F = (S = this.$el) == null ? void 0 : S.querySelectorAll) == null ? void 0 : F.call(S, ".wm-peek"), p = l && l.length ? l[l.length - 1] : null;
5819
+ let k = null;
5820
+ if (p) {
5821
+ const L = p.getBoundingClientRect();
5822
+ k = {
5823
+ width: Math.ceil(L.width),
5824
+ height: Math.ceil(L.height),
5825
+ rightOffset: Math.max(0, Math.ceil(t.right - L.right)),
5826
+ bottomOffset: Math.max(0, Math.ceil(t.bottom - L.bottom))
5836
5827
  };
5837
5828
  }
5838
5829
  this.notifyParentResize("closed", {
5839
5830
  width: r + i,
5840
5831
  height: s + i,
5841
- launcherWidth: l ? Math.ceil(l.width) : null,
5842
- launcherHeight: l ? Math.ceil(l.height) : null,
5832
+ launcherWidth: (a == null ? void 0 : a.offsetWidth) || null,
5833
+ launcherHeight: (a == null ? void 0 : a.offsetHeight) || null,
5843
5834
  launcherHovered: this.launcherHovered,
5844
- peek: b,
5835
+ peek: k,
5845
5836
  peekHovered: this.launcherHovered && n
5846
5837
  });
5847
5838
  },
@@ -6080,33 +6071,33 @@ const Oa = /* @__PURE__ */ N(va, [["render", xa], ["__scopeId", "data-v-6d5f94a8
6080
6071
  }
6081
6072
  }
6082
6073
  }
6083
- }, Ia = {
6074
+ }, Ea = {
6084
6075
  key: 0,
6085
6076
  class: "wm-loading",
6086
6077
  "aria-busy": "true",
6087
6078
  "aria-live": "polite"
6088
- }, Ea = ["aria-label"], Ba = {
6079
+ }, Ba = ["aria-label"], Ra = {
6089
6080
  key: 0,
6090
6081
  class: "wm-state"
6091
- }, Ra = { class: "wm-state__err" }, Na = { class: "wm-state__errTitle" }, Pa = { class: "wm-state__errSub" }, Fa = { class: "wm-bottom" }, Ua = {
6082
+ }, Na = { class: "wm-state__err" }, Pa = { class: "wm-state__errTitle" }, Fa = { class: "wm-state__errSub" }, Ua = { class: "wm-bottom" }, Da = {
6092
6083
  key: 0,
6093
6084
  ref: "floatEl",
6094
6085
  class: "wm-float"
6095
- }, Da = {
6086
+ }, ja = {
6096
6087
  key: 1,
6097
6088
  class: "wm-actionWait",
6098
6089
  role: "status",
6099
6090
  "aria-live": "polite"
6100
- }, ja = { class: "wm-actionWait__lbl" }, Ha = {
6091
+ }, Ha = { class: "wm-actionWait__lbl" }, za = {
6101
6092
  key: 2,
6102
6093
  class: "wm-attached"
6103
- }, za = ["aria-label", "onClick"];
6104
- function qa(e, t, n, i, r, s) {
6105
- const a = R("Launcher"), l = R("Header"), p = R("Onboarding"), k = R("MessageList"), b = R("ApprovalCard"), T = R("FormCard"), E = R("Feedback"), A = R("SuggestionChips"), H = R("Composer"), S = R("MoreMenu"), P = R("RenameDialog");
6094
+ }, qa = ["aria-label", "onClick"];
6095
+ function $a(e, t, n, i, r, s) {
6096
+ const a = R("Launcher"), l = R("Header"), p = R("Onboarding"), k = R("MessageList"), w = R("ApprovalCard"), T = R("FormCard"), E = R("Feedback"), A = R("SuggestionChips"), H = R("Composer"), S = R("MoreMenu"), F = R("RenameDialog");
6106
6097
  return c(), u("div", {
6107
6098
  class: O(["wm-root", `wm-root--${n.displayMode}`])
6108
6099
  }, [
6109
- !r.isOpen && !s.isEmbedded ? (c(), F(a, {
6100
+ !r.isOpen && !s.isEmbedded ? (c(), P(a, {
6110
6101
  key: 0,
6111
6102
  "unread-count": s.unreadCount,
6112
6103
  peeks: s.launcherPeeks,
@@ -6124,15 +6115,15 @@ function qa(e, t, n, i, r, s) {
6124
6115
  style: q(r.floatHeight ? { "--wm-float-h": r.floatHeight + "px" } : null),
6125
6116
  role: "dialog",
6126
6117
  "aria-label": "Messenger",
6127
- onClick: t[5] || (t[5] = (...I) => s.onPanelClick && s.onPanelClick(...I))
6118
+ onClick: t[5] || (t[5] = (...L) => s.onPanelClick && s.onPanelClick(...L))
6128
6119
  }, [
6129
- !s.ready && !s.error ? (c(), u("div", Ia, [
6120
+ !s.ready && !s.error ? (c(), u("div", Ea, [
6130
6121
  s.isEmbedded ? y("", !0) : (c(), u("button", {
6131
6122
  key: 0,
6132
6123
  type: "button",
6133
6124
  class: "wm-loading__close",
6134
6125
  "aria-label": s.t("loading.minimize"),
6135
- onClick: t[0] || (t[0] = (...I) => s.close && s.close(...I))
6126
+ onClick: t[0] || (t[0] = (...L) => s.close && s.close(...L))
6136
6127
  }, [...t[6] || (t[6] = [
6137
6128
  o("svg", {
6138
6129
  width: "13",
@@ -6147,7 +6138,7 @@ function qa(e, t, n, i, r, s) {
6147
6138
  }, [
6148
6139
  o("path", { d: "M18 6L6 18M6 6l12 12" })
6149
6140
  ], -1)
6150
- ])], 8, Ea)),
6141
+ ])], 8, Ba)),
6151
6142
  t[7] || (t[7] = o("div", {
6152
6143
  class: "wm-loading__spinner",
6153
6144
  "aria-hidden": "true"
@@ -6167,8 +6158,8 @@ function qa(e, t, n, i, r, s) {
6167
6158
  onMore: s.toggleMore,
6168
6159
  onClose: s.close
6169
6160
  }, null, 8, ["title", "team-members", "response-label", "show-identity", "show-back", "show-close", "more-active", "agent-name", "agent-avatar-url", "onBack", "onMore", "onClose"]),
6170
- s.error ? (c(), u("div", Ba, [
6171
- o("div", Ra, [
6161
+ s.error ? (c(), u("div", Ra, [
6162
+ o("div", Na, [
6172
6163
  t[8] || (t[8] = o("div", { class: "wm-state__errIcon" }, [
6173
6164
  o("svg", {
6174
6165
  width: "14",
@@ -6185,8 +6176,8 @@ function qa(e, t, n, i, r, s) {
6185
6176
  ])
6186
6177
  ], -1)),
6187
6178
  o("div", null, [
6188
- o("div", Na, v(s.t("error.connectionFailed")), 1),
6189
- o("div", Pa, v(s.error), 1)
6179
+ o("div", Pa, v(s.t("error.connectionFailed")), 1),
6180
+ o("div", Fa, v(s.error), 1)
6190
6181
  ])
6191
6182
  ])
6192
6183
  ])) : s.currentConv ? (c(), u(B, { key: 2 }, [
@@ -6204,9 +6195,9 @@ function qa(e, t, n, i, r, s) {
6204
6195
  "ai-agent-avatar-url": s.agentAvatarUrl,
6205
6196
  onLoadMore: s.onLoadMore
6206
6197
  }, null, 8, ["messages", "streaming-active", "date-label", "conversation-id", "loading-more", "has-more", "unread-anchor-id", "unread-boundary-ts", "ai-agent-name", "ai-agent-avatar-url", "onLoadMore"]),
6207
- o("div", Fa, [
6208
- s.floatVisible ? (c(), u("div", Ua, [
6209
- s.approvalReady ? (c(), F(b, {
6198
+ o("div", Ua, [
6199
+ s.floatVisible ? (c(), u("div", Da, [
6200
+ s.approvalReady ? (c(), P(w, {
6210
6201
  key: 0,
6211
6202
  action: s.approvalTitle,
6212
6203
  detail: s.approvalDetail,
@@ -6214,36 +6205,36 @@ function qa(e, t, n, i, r, s) {
6214
6205
  "agent-name": s.agentName,
6215
6206
  "agent-avatar-url": s.agentAvatarUrl,
6216
6207
  onCallback: s.onApprovalCallback
6217
- }, null, 8, ["action", "detail", "callbacks", "agent-name", "agent-avatar-url", "onCallback"])) : s.pendingForm ? (c(), F(T, {
6208
+ }, null, 8, ["action", "detail", "callbacks", "agent-name", "agent-avatar-url", "onCallback"])) : s.pendingForm ? (c(), P(T, {
6218
6209
  key: s.pendingForm.message && s.pendingForm.message.id,
6219
6210
  form: s.pendingForm.form,
6220
6211
  "agent-name": s.agentName,
6221
6212
  "agent-avatar-url": s.agentAvatarUrl,
6222
6213
  onSubmit: s.onFormSubmit
6223
- }, null, 8, ["form", "agent-name", "agent-avatar-url", "onSubmit"])) : s.showFeedback ? (c(), F(E, {
6214
+ }, null, 8, ["form", "agent-name", "agent-avatar-url", "onSubmit"])) : s.showFeedback ? (c(), P(E, {
6224
6215
  key: 2,
6225
6216
  busy: r.feedbackBusy,
6226
6217
  done: r.feedbackDone,
6227
6218
  onSubmit: s.onFeedback
6228
- }, null, 8, ["busy", "done", "onSubmit"])) : (c(), F(A, {
6219
+ }, null, 8, ["busy", "done", "onSubmit"])) : (c(), P(A, {
6229
6220
  key: 3,
6230
6221
  items: s.suggestions,
6231
6222
  onSelect: s.onSuggestion
6232
6223
  }, null, 8, ["items", "onSelect"]))
6233
6224
  ], 512)) : y("", !0),
6234
- s.actionInFlight ? (c(), u("div", Da, [
6225
+ s.actionInFlight ? (c(), u("div", ja, [
6235
6226
  t[9] || (t[9] = o("span", {
6236
6227
  class: "wm-actionWait__spinner",
6237
6228
  "aria-hidden": "true"
6238
6229
  }, null, -1)),
6239
- o("span", ja, v(s.t("action.inProgress", {
6230
+ o("span", Ha, v(s.t("action.inProgress", {
6240
6231
  name: s.actionInFlightName
6241
6232
  })), 1)
6242
- ])) : (c(), F(H, {
6233
+ ])) : (c(), P(H, {
6243
6234
  key: 2,
6244
6235
  ref: "composer",
6245
6236
  modelValue: r.draft,
6246
- "onUpdate:modelValue": t[1] || (t[1] = (I) => r.draft = I),
6237
+ "onUpdate:modelValue": t[1] || (t[1] = (L) => r.draft = L),
6247
6238
  placeholder: s.composerPlaceholder,
6248
6239
  disabled: !!s.pendingApproval,
6249
6240
  "attach-label": s.t("composer.attachFile"),
@@ -6252,7 +6243,7 @@ function qa(e, t, n, i, r, s) {
6252
6243
  onAttach: s.onAttach
6253
6244
  }, null, 8, ["modelValue", "placeholder", "disabled", "attach-label", "display-mode", "onSend", "onAttach"]))
6254
6245
  ]),
6255
- r.moreOpen ? (c(), F(S, {
6246
+ r.moreOpen ? (c(), P(S, {
6256
6247
  key: 0,
6257
6248
  "can-rename": !!s.currentConv && !s.currentConv._draft,
6258
6249
  "can-export": !!s.currentConv && !s.currentConv._draft,
@@ -6260,21 +6251,21 @@ function qa(e, t, n, i, r, s) {
6260
6251
  "browser-notif-enabled": e.browserNotifEnabled,
6261
6252
  "status-url": s.statusUrl,
6262
6253
  "help-url": s.helpUrl,
6263
- onClose: t[2] || (t[2] = (I) => r.moreOpen = !1),
6254
+ onClose: t[2] || (t[2] = (L) => r.moreOpen = !1),
6264
6255
  onSoundToggle: e.onSoundToggle,
6265
6256
  onBrowserNotifToggle: e.onBrowserNotifToggle,
6266
6257
  onAction: s.onMoreAction
6267
6258
  }, null, 8, ["can-rename", "can-export", "sound-enabled", "browser-notif-enabled", "status-url", "help-url", "onSoundToggle", "onBrowserNotifToggle", "onAction"])) : y("", !0),
6268
- r.renameDialogOpen && s.currentConv && !s.currentConv._draft ? (c(), F(P, {
6259
+ r.renameDialogOpen && s.currentConv && !s.currentConv._draft ? (c(), P(F, {
6269
6260
  key: 1,
6270
6261
  "initial-value": s.currentConv.name || "",
6271
6262
  title: s.t("rename.dialogTitle"),
6272
- onClose: t[3] || (t[3] = (I) => r.renameDialogOpen = !1),
6263
+ onClose: t[3] || (t[3] = (L) => r.renameDialogOpen = !1),
6273
6264
  onSubmit: s.onRenameSubmit
6274
6265
  }, null, 8, ["initial-value", "title", "onSubmit"])) : y("", !0),
6275
- r.pendingAttachments.length ? (c(), u("div", Ha, [
6276
- (c(!0), u(B, null, D(r.pendingAttachments, (I, U) => (c(), u("div", {
6277
- key: U,
6266
+ r.pendingAttachments.length ? (c(), u("div", za, [
6267
+ (c(!0), u(B, null, U(r.pendingAttachments, (L, z) => (c(), u("div", {
6268
+ key: z,
6278
6269
  class: "wm-attached__chip"
6279
6270
  }, [
6280
6271
  t[11] || (t[11] = o("svg", {
@@ -6290,11 +6281,11 @@ function qa(e, t, n, i, r, s) {
6290
6281
  }, [
6291
6282
  o("path", { d: "M21.44 11.05l-9.19 9.19a6 6 0 01-8.49-8.49l9.19-9.19a4 4 0 015.66 5.66l-9.2 9.19a2 2 0 01-2.83-2.83l8.49-8.48" })
6292
6283
  ], -1)),
6293
- o("span", null, v(I.name), 1),
6284
+ o("span", null, v(L.name), 1),
6294
6285
  o("button", {
6295
6286
  type: "button",
6296
6287
  "aria-label": s.t("attachment.remove"),
6297
- onClick: (Y) => r.pendingAttachments.splice(U, 1)
6288
+ onClick: (Y) => r.pendingAttachments.splice(z, 1)
6298
6289
  }, [...t[10] || (t[10] = [
6299
6290
  o("svg", {
6300
6291
  width: "10",
@@ -6309,10 +6300,10 @@ function qa(e, t, n, i, r, s) {
6309
6300
  }, [
6310
6301
  o("path", { d: "M18 6L6 18M6 6l12 12" })
6311
6302
  ], -1)
6312
- ])], 8, za)
6303
+ ])], 8, qa)
6313
6304
  ]))), 128))
6314
6305
  ])) : y("", !0)
6315
- ], 64)) : (c(), F(p, {
6306
+ ], 64)) : (c(), P(p, {
6316
6307
  key: 1,
6317
6308
  "welcome-message": s.widgetWelcomeMessage,
6318
6309
  subtitle: s.widgetSubtitle,
@@ -6325,7 +6316,7 @@ function qa(e, t, n, i, r, s) {
6325
6316
  onSelect: s.onQuickLink,
6326
6317
  onResume: s.onDrawerPick
6327
6318
  }, null, 8, ["welcome-message", "subtitle", "agent-name", "default-icon-url", "quick-links", "open-threads", "busy", "onStart", "onSelect", "onResume"])),
6328
- r.moreOpen && !s.currentConv ? (c(), F(S, {
6319
+ r.moreOpen && !s.currentConv ? (c(), P(S, {
6329
6320
  key: 3,
6330
6321
  "can-rename": !1,
6331
6322
  "can-export": !1,
@@ -6333,7 +6324,7 @@ function qa(e, t, n, i, r, s) {
6333
6324
  "browser-notif-enabled": e.browserNotifEnabled,
6334
6325
  "status-url": s.statusUrl,
6335
6326
  "help-url": s.helpUrl,
6336
- onClose: t[4] || (t[4] = (I) => r.moreOpen = !1),
6327
+ onClose: t[4] || (t[4] = (L) => r.moreOpen = !1),
6337
6328
  onSoundToggle: e.onSoundToggle,
6338
6329
  onBrowserNotifToggle: e.onBrowserNotifToggle,
6339
6330
  onAction: s.onMoreAction
@@ -6342,53 +6333,53 @@ function qa(e, t, n, i, r, s) {
6342
6333
  ], 6)) : y("", !0)
6343
6334
  ], 2);
6344
6335
  }
6345
- const Va = /* @__PURE__ */ N(La, [["render", qa], ["__scopeId", "data-v-7f3d28ad"]]), Wa = "0.5.33";
6336
+ const Wa = /* @__PURE__ */ N(Ia, [["render", $a], ["__scopeId", "data-v-3c8435c2"]]), Ga = "0.5.35";
6346
6337
  export {
6347
6338
  le as AIAvatar,
6348
6339
  ge as AVATAR_COLORS,
6349
- ts as ActionResult,
6350
- gi as ApprovalCard,
6351
- ds as ArtifactFormResponse,
6352
- Cs as ArtifactInfoCard,
6353
- zs as ArtifactRenderer,
6354
- Us as ArtifactTicket,
6355
- er as AttachmentPreview,
6356
- rr as Bubble,
6357
- ti as Composer,
6340
+ ns as ActionResult,
6341
+ _i as ApprovalCard,
6342
+ us as ArtifactFormResponse,
6343
+ As as ArtifactInfoCard,
6344
+ qs as ArtifactRenderer,
6345
+ Ds as ArtifactTicket,
6346
+ tr as AttachmentPreview,
6347
+ ir as Bubble,
6348
+ ni as Composer,
6358
6349
  Ze as DEFAULT_BASE_URL,
6359
6350
  ae as DEFAULT_LANGUAGE,
6360
- na as Feedback,
6361
- zi as FormCard,
6351
+ sa as Feedback,
6352
+ qi as FormCard,
6362
6353
  ln as Header,
6363
6354
  Re as HumanAvatar,
6364
6355
  Pt as Launcher,
6365
6356
  ke as MEDIA_RECORDER_SUPPORTED,
6366
- Pr as MessageList,
6367
- Va as Messenger,
6368
- pa as MoreMenu,
6369
- qn as Onboarding,
6357
+ Fr as MessageList,
6358
+ Wa as Messenger,
6359
+ va as MoreMenu,
6360
+ $n as Onboarding,
6370
6361
  he as SCREEN_CAPTURE_SUPPORTED,
6371
6362
  et as SUPPORTED_LANGUAGES,
6372
- ii as SuggestionChips,
6363
+ ai as SuggestionChips,
6373
6364
  Gt as TeamAvatars,
6374
- lr as Typing,
6375
- Wa as VERSION,
6365
+ cr as Typing,
6366
+ Ga as VERSION,
6376
6367
  ye as avatarColor,
6377
6368
  we as avatarInitials,
6378
- Ur as captureScreenshotFile,
6379
- z as colors,
6369
+ Dr as captureScreenshotFile,
6370
+ j as colors,
6380
6371
  Qe as createStore,
6381
- j as createTranslator,
6372
+ D as createTranslator,
6382
6373
  We as createTransport,
6383
6374
  re as dateLocale,
6384
- Va as default,
6375
+ Wa as default,
6385
6376
  pe as formatTime,
6386
- Ka as guessAttachmentKind,
6387
- Fr as pickRecorderMime,
6377
+ Va as guessAttachmentKind,
6378
+ Ur as pickRecorderMime,
6388
6379
  dn as renderInlineMarkdown,
6389
6380
  un as renderMarkdown,
6390
6381
  be as resolveLanguage,
6391
- jr as startScreenRecording,
6382
+ Hr as startScreenRecording,
6392
6383
  Xe as tokensCss,
6393
6384
  Je as uuid,
6394
6385
  Je as v4