@_solaris/messenger-widget 0.5.61 → 0.5.63

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 Ve, openBlock as c, createElementBlock as d, normalizeStyle as z, normalizeClass as R, toDisplayString as v, resolveComponent as E, createVNode as V, Transition as Ue, withCtx as Fe, Fragment as L, renderList as F, withKeys as ge, withModifiers as J, createElementVNode as o, createCommentVNode as b, createBlock as P, resolveDynamicComponent as Ae, mergeProps as je, withDirectives as G, vModelText as te, createTextVNode as Se, renderSlot as Ke, vModelCheckbox as We, vModelSelect as Ge, markRaw as Re } from "vue";
1
+ import { reactive as Ve, openBlock as c, createElementBlock as d, normalizeStyle as z, normalizeClass as R, toDisplayString as v, resolveComponent as B, createVNode as V, Transition as Ne, withCtx as je, Fragment as I, renderList as j, withKeys as ge, withModifiers as J, createElementVNode as o, createCommentVNode as w, createBlock as U, resolveDynamicComponent as Ae, mergeProps as Fe, withDirectives as G, vModelText as te, createTextVNode as Se, renderSlot as Ke, vModelCheckbox as We, vModelSelect as Ge, markRaw as Re } from "vue";
2
2
  const Ye = [
3
3
  "connected",
4
4
  "message",
@@ -141,7 +141,7 @@ function Ze(e) {
141
141
  }
142
142
  async function k() {
143
143
  try {
144
- const u = await I();
144
+ const u = await E();
145
145
  t.lastActivityAt = u.reduce((_, p) => {
146
146
  const S = p == null ? void 0 : p.last_message_at;
147
147
  return S && (!_ || S > _) ? S : _;
@@ -150,7 +150,7 @@ function Ze(e) {
150
150
  console.error("[transport] initial /conversations failed", u);
151
151
  }
152
152
  }
153
- async function w() {
153
+ async function b() {
154
154
  const u = await i("GET", "/customers/me");
155
155
  return (u == null ? void 0 : u.customer) ?? null;
156
156
  }
@@ -158,7 +158,7 @@ function Ze(e) {
158
158
  const _ = await i("PATCH", "/customers/me", u);
159
159
  return (_ == null ? void 0 : _.customer) ?? null;
160
160
  }
161
- async function I() {
161
+ async function E() {
162
162
  const u = await i("GET", "/conversations");
163
163
  return (u == null ? void 0 : u.conversations) ?? [];
164
164
  }
@@ -178,14 +178,14 @@ function Ze(e) {
178
178
  _
179
179
  )).conversation;
180
180
  }
181
- async function N(u, _) {
181
+ async function D(u, _) {
182
182
  return i(
183
183
  "PATCH",
184
184
  `/conversations/${encodeURIComponent(u)}/read`,
185
185
  { message_id: _ }
186
186
  );
187
187
  }
188
- async function U(u, _ = {}) {
188
+ async function N(u, _ = {}) {
189
189
  const p = new URLSearchParams();
190
190
  _.before && p.set("before", _.before), _.since && p.set("since", _.since), _.limit && p.set("limit", String(_.limit));
191
191
  const S = p.toString() ? `?${p.toString()}` : "";
@@ -194,7 +194,7 @@ function Ze(e) {
194
194
  `/conversations/${encodeURIComponent(u)}/messages${S}`
195
195
  );
196
196
  }
197
- async function D(u, _) {
197
+ async function L(u, _) {
198
198
  ae();
199
199
  const p = {
200
200
  client_msg_id: _.client_msg_id,
@@ -280,7 +280,7 @@ function Ze(e) {
280
280
  }
281
281
  async function ye() {
282
282
  try {
283
- const u = await I(), _ = u.reduce((S, O) => {
283
+ const u = await E(), _ = u.reduce((S, O) => {
284
284
  const x = O == null ? void 0 : O.last_message_at;
285
285
  return x && (!S || x > S) ? x : S;
286
286
  }, null);
@@ -335,15 +335,15 @@ function Ze(e) {
335
335
  update: y,
336
336
  context: C,
337
337
  // REST
338
- getCustomer: w,
338
+ getCustomer: b,
339
339
  patchCustomer: T,
340
- listConversations: I,
340
+ listConversations: E,
341
341
  createConversation: A,
342
342
  getConversation: q,
343
343
  patchConversation: M,
344
- markConversationRead: N,
345
- listMessages: U,
346
- postMessage: D,
344
+ markConversationRead: D,
345
+ listMessages: N,
346
+ postMessage: L,
347
347
  postCallback: K,
348
348
  uploadAttachment: Q,
349
349
  signAttachment: se,
@@ -493,7 +493,7 @@ function st(e) {
493
493
  async function g(h) {
494
494
  const m = t.paginationByConv[h];
495
495
  if (!(m != null && m.loaded || m != null && m.loading)) {
496
- w(h, { nextCursor: null, loading: !0, loaded: !1 });
496
+ b(h, { nextCursor: null, loading: !0, loaded: !1 });
497
497
  try {
498
498
  const f = await e.listMessages(h, {
499
499
  limit: l
@@ -503,13 +503,13 @@ function st(e) {
503
503
  const _ = C.filter((p) => !((p == null ? void 0 : p.id) != null && u.has(`id:${String(p.id)}`) || p != null && p.client_msg_id && u.has(`c:${p.client_msg_id}`)));
504
504
  t.messagesByConv[h] = [...y, ..._].sort(
505
505
  me
506
- ), w(h, {
506
+ ), b(h, {
507
507
  nextCursor: (f == null ? void 0 : f.next_cursor) ?? null,
508
508
  loading: !1,
509
509
  loaded: !0
510
510
  });
511
511
  } catch (f) {
512
- console.error("[store] openConversation failed", f), w(h, {
512
+ console.error("[store] openConversation failed", f), b(h, {
513
513
  nextCursor: null,
514
514
  loading: !1,
515
515
  loaded: !1
@@ -523,7 +523,7 @@ function st(e) {
523
523
  if (!m || m.loading || !m.nextCursor) return;
524
524
  const y = (C = (t.messagesByConv[h] || []).find((u) => u == null ? void 0 : u.created_at)) == null ? void 0 : C.created_at;
525
525
  if (y) {
526
- w(h, { ...m, loading: !0 });
526
+ b(h, { ...m, loading: !0 });
527
527
  try {
528
528
  const u = await e.listMessages(h, {
529
529
  before: y,
@@ -532,24 +532,24 @@ function st(e) {
532
532
  for (const x of p)
533
533
  (x == null ? void 0 : x.id) != null && S.add(`id:${String(x.id)}`), x != null && x.client_msg_id && S.add(`c:${x.client_msg_id}`);
534
534
  const O = _.filter((x) => !((x == null ? void 0 : x.id) != null && S.has(`id:${String(x.id)}`) || x != null && x.client_msg_id && S.has(`c:${x.client_msg_id}`)));
535
- t.messagesByConv[h] = [...O, ...p], w(h, {
535
+ t.messagesByConv[h] = [...O, ...p], b(h, {
536
536
  nextCursor: (u == null ? void 0 : u.next_cursor) ?? null,
537
537
  loading: !1,
538
538
  loaded: !0
539
539
  });
540
540
  } catch (u) {
541
- console.error("[store] loadMore failed", u), w(h, { ...m, loading: !1 });
541
+ console.error("[store] loadMore failed", u), b(h, { ...m, loading: !1 });
542
542
  }
543
543
  }
544
544
  }
545
- function w(h, m) {
545
+ function b(h, m) {
546
546
  t.paginationByConv = { ...t.paginationByConv, [h]: m };
547
547
  }
548
548
  async function T(h, m) {
549
549
  const f = await e.patchConversation(h, m), y = t.conversations.findIndex((C) => C.id === h);
550
550
  y !== -1 && (t.conversations[y] = f);
551
551
  }
552
- async function I(h) {
552
+ async function E(h) {
553
553
  if (!h) return [];
554
554
  const m = t.messagesByConv[h] || [];
555
555
  let f = "";
@@ -630,10 +630,10 @@ function st(e) {
630
630
  console.error("[store] callback failed", y), h != null && delete t.awaitingCallback[h];
631
631
  }
632
632
  }
633
- const N = /* @__PURE__ */ new Map();
634
- async function U(h) {
633
+ const D = /* @__PURE__ */ new Map();
634
+ async function N(h) {
635
635
  if (!h) return null;
636
- const m = N.get(h);
636
+ const m = D.get(h);
637
637
  if (m != null && m.url) {
638
638
  const f = m.expires_at ? Date.parse(m.expires_at) : 0;
639
639
  if (!f || f - Date.now() > 6e4) return m.url;
@@ -641,7 +641,7 @@ function st(e) {
641
641
  try {
642
642
  const f = await e.signAttachment(h);
643
643
  if (f != null && f.signed_url)
644
- return N.set(h, {
644
+ return D.set(h, {
645
645
  url: f.signed_url,
646
646
  expires_at: f.expires_at
647
647
  }), f.signed_url;
@@ -650,7 +650,7 @@ function st(e) {
650
650
  }
651
651
  return null;
652
652
  }
653
- async function D(h, { rating: m, comment: f } = {}) {
653
+ async function L(h, { rating: m, comment: f } = {}) {
654
654
  const y = t.conversations.find((_) => _.id === h), u = {
655
655
  ...(y == null ? void 0 : y.metadata) || {},
656
656
  feedback: {
@@ -781,13 +781,13 @@ function st(e) {
781
781
  createConversation: i,
782
782
  openConversation: g,
783
783
  loadMore: k,
784
- fetchSinceLast: I,
784
+ fetchSinceLast: E,
785
785
  patchConversation: T,
786
786
  markConversationRead: A,
787
787
  send: q,
788
788
  clickCallback: M,
789
- signAttachment: U,
790
- submitFeedback: D,
789
+ signAttachment: N,
790
+ submitFeedback: L,
791
791
  getPendingApproval: K,
792
792
  getActionInFlight: se,
793
793
  getLatestSuggestions: re,
@@ -1150,7 +1150,7 @@ function xe(e) {
1150
1150
  function ne(e) {
1151
1151
  return Le[xe(e)] || Le[ue];
1152
1152
  }
1153
- function j(e) {
1153
+ function F(e) {
1154
1154
  const t = xe(e), n = ke[t] || ke[ue], r = ke[ue];
1155
1155
  return function(s, i) {
1156
1156
  let l = n[s];
@@ -1168,7 +1168,7 @@ function Ie(e, t) {
1168
1168
  function He(e, t, n) {
1169
1169
  return Array.isArray(t) ? t.map((r) => Ie(e, String(r))).join(", ") : typeof t == "boolean" ? n(t ? "common.yes" : "common.no") : Ie(e, String(t));
1170
1170
  }
1171
- function ht(e, t, n = j()) {
1171
+ function ht(e, t, n = F()) {
1172
1172
  if (!e || !t) return "";
1173
1173
  const r = Array.isArray(e.fields) ? e.fields : [], a = [];
1174
1174
  for (const s of r) {
@@ -1183,7 +1183,7 @@ ${l}`);
1183
1183
 
1184
1184
  `);
1185
1185
  }
1186
- function mt(e, t, n = j()) {
1186
+ function mt(e, t, n = F()) {
1187
1187
  const r = [], a = Array.isArray(e == null ? void 0 : e.fields) ? e.fields : [];
1188
1188
  for (const s of a) {
1189
1189
  if (!(s != null && s.key) || !(s != null && s.label)) continue;
@@ -1249,25 +1249,25 @@ function ft(e) {
1249
1249
  if (!T) break;
1250
1250
  k.push(T[1]), r++;
1251
1251
  }
1252
- const w = k.map((T) => `<li>${de(T)}</li>`).join("");
1252
+ const b = k.map((T) => `<li>${de(T)}</li>`).join("");
1253
1253
  n.push({
1254
1254
  type: "block",
1255
- html: `<ul class="wm-md-ul">${w}</ul>`
1255
+ html: `<ul class="wm-md-ul">${b}</ul>`
1256
1256
  });
1257
1257
  continue;
1258
1258
  }
1259
1259
  const l = /^\s*(\d+)\.\s+(.*)$/.exec(s);
1260
1260
  if (l) {
1261
- const k = parseInt(l[1], 10), w = [l[2]];
1261
+ const k = parseInt(l[1], 10), b = [l[2]];
1262
1262
  for (r++; r < t.length; ) {
1263
1263
  const A = /^\s*\d+\.\s+(.*)$/.exec(t[r]);
1264
1264
  if (!A) break;
1265
- w.push(A[1]), r++;
1265
+ b.push(A[1]), r++;
1266
1266
  }
1267
- const T = w.map((A) => `<li>${de(A)}</li>`).join(""), I = k !== 1 ? ` start="${k}"` : "";
1267
+ const T = b.map((A) => `<li>${de(A)}</li>`).join(""), E = k !== 1 ? ` start="${k}"` : "";
1268
1268
  n.push({
1269
1269
  type: "block",
1270
- html: `<ol class="wm-md-ol"${I}>${T}</ol>`
1270
+ html: `<ol class="wm-md-ol"${E}>${T}</ol>`
1271
1271
  });
1272
1272
  continue;
1273
1273
  }
@@ -1342,7 +1342,7 @@ function pt(e, t, n, r) {
1342
1342
  return a.join(`
1343
1343
  `);
1344
1344
  }
1345
- function vt(e, t, n = j(), r) {
1345
+ function vt(e, t, n = F(), r) {
1346
1346
  if (!e) return;
1347
1347
  const a = pt(e, t || [], n, ne(r)), s = new Blob([a], { type: "text/plain;charset=utf-8" });
1348
1348
  try {
@@ -1664,10 +1664,10 @@ const yt = {
1664
1664
  this.nextRevealAt + n.pauseBetweenMs
1665
1665
  ) + s;
1666
1666
  this.nextRevealAt = l;
1667
- const g = Math.max(0, l - r), k = e.id, w = setTimeout(() => {
1668
- this.revealedAt = { ...this.revealedAt, [k]: Date.now() }, this.revealTimers = this.revealTimers.filter((T) => T !== w), typeof this.onMessageRevealed == "function" && this.onMessageRevealed(e, t);
1667
+ const g = Math.max(0, l - r), k = e.id, b = setTimeout(() => {
1668
+ this.revealedAt = { ...this.revealedAt, [k]: Date.now() }, this.revealTimers = this.revealTimers.filter((T) => T !== b), typeof this.onMessageRevealed == "function" && this.onMessageRevealed(e, t);
1669
1669
  }, g);
1670
- this.revealTimers.push(w);
1670
+ this.revealTimers.push(b);
1671
1671
  },
1672
1672
  // Walk the message list and queue / instantly-reveal every new
1673
1673
  // entry according to its origin. Used by the `currentConvMessages`
@@ -1805,7 +1805,7 @@ function At(e) {
1805
1805
  }
1806
1806
  return null;
1807
1807
  }
1808
- const B = (e, t) => {
1808
+ const P = (e, t) => {
1809
1809
  const n = e.__vccOpts || e;
1810
1810
  for (const [r, a] of t)
1811
1811
  n[r] = a;
@@ -1851,13 +1851,13 @@ function Tt(e, t, n, r, a, s) {
1851
1851
  }, v(s.initials), 5))
1852
1852
  ], 6);
1853
1853
  }
1854
- const ve = /* @__PURE__ */ B(St, [["render", Tt], ["__scopeId", "data-v-14e10c0d"]]), xt = 3, Ot = {
1854
+ const ve = /* @__PURE__ */ P(St, [["render", Tt], ["__scopeId", "data-v-14e10c0d"]]), xt = 3, Ot = {
1855
1855
  name: "WmLauncher",
1856
1856
  components: { HumanAvatar: ve },
1857
1857
  inject: {
1858
1858
  // Translator shared by the Messenger shell; French fallback when
1859
1859
  // the component is used standalone.
1860
- t: { default: () => j() }
1860
+ t: { default: () => F() }
1861
1861
  },
1862
1862
  props: {
1863
1863
  // Nombre de conversations non lues — pilote la pastille.
@@ -1877,9 +1877,9 @@ const ve = /* @__PURE__ */ B(St, [["render", Tt], ["__scopeId", "data-v-14e10c0d
1877
1877
  return this.peeks.slice(0, xt).reverse();
1878
1878
  }
1879
1879
  }
1880
- }, Rt = ["aria-label", "onClick", "onKeydown"], Lt = ["aria-label", "onClick"], It = { class: "wm-peek__avatar" }, Et = ["aria-label"], Bt = { class: "wm-peek__body" }, Pt = { class: "wm-peek__head" }, Dt = { class: "wm-peek__name" }, Nt = { class: "wm-peek__action" }, Ut = { class: "wm-peek__text" }, Ft = ["onClick"], jt = ["aria-label"], Ht = ["aria-label"];
1880
+ }, Rt = ["aria-label", "onClick", "onKeydown"], Lt = ["aria-label", "onClick"], It = { class: "wm-peek__avatar" }, Et = ["aria-label"], Bt = { class: "wm-peek__body" }, Pt = { class: "wm-peek__head" }, Ut = { class: "wm-peek__name" }, Dt = { class: "wm-peek__action" }, Nt = { class: "wm-peek__text" }, jt = ["onClick"], Ft = ["aria-label"], Ht = ["aria-label"];
1881
1881
  function zt(e, t, n, r, a, s) {
1882
- const i = E("HumanAvatar");
1882
+ const i = B("HumanAvatar");
1883
1883
  return c(), d("div", {
1884
1884
  class: "wm-launcherWrap",
1885
1885
  onMouseenter: t[1] || (t[1] = (l) => e.$emit("hover", !0)),
@@ -1887,13 +1887,13 @@ function zt(e, t, n, r, a, s) {
1887
1887
  onFocusin: t[3] || (t[3] = (l) => e.$emit("hover", !0)),
1888
1888
  onFocusout: t[4] || (t[4] = (l) => e.$emit("hover", !1))
1889
1889
  }, [
1890
- V(Ue, { name: "wm-peek" }, {
1891
- default: Fe(() => [
1890
+ V(Ne, { name: "wm-peek" }, {
1891
+ default: je(() => [
1892
1892
  s.visiblePeeks.length ? (c(), d("div", {
1893
1893
  key: 0,
1894
1894
  class: R(["wm-peekStack", { "wm-peekStack--multi": s.visiblePeeks.length > 1 }])
1895
1895
  }, [
1896
- (c(!0), d(L, null, F(s.visiblePeeks, (l, g) => (c(), d("div", {
1896
+ (c(!0), d(I, null, j(s.visiblePeeks, (l, g) => (c(), d("div", {
1897
1897
  key: l.convId,
1898
1898
  class: "wm-peek",
1899
1899
  style: z({
@@ -1941,22 +1941,22 @@ function zt(e, t, n, r, a, s) {
1941
1941
  key: 0,
1942
1942
  class: "wm-peek__avatarBadge",
1943
1943
  "aria-label": s.t("launcher.unreadMessages", { count: l.count })
1944
- }, v(l.count > 9 ? "9+" : l.count), 9, Et)) : b("", !0)
1944
+ }, v(l.count > 9 ? "9+" : l.count), 9, Et)) : w("", !0)
1945
1945
  ]),
1946
1946
  o("div", Bt, [
1947
1947
  o("div", Pt, [
1948
- o("span", Dt, v(l.senderName || s.t("common.agent")), 1),
1949
- o("span", Nt, v(s.t("launcher.repliedToYou")), 1)
1948
+ o("span", Ut, v(l.senderName || s.t("common.agent")), 1),
1949
+ o("span", Dt, v(s.t("launcher.repliedToYou")), 1)
1950
1950
  ]),
1951
- o("p", Ut, v(l.preview), 1)
1951
+ o("p", Nt, v(l.preview), 1)
1952
1952
  ]),
1953
1953
  o("button", {
1954
1954
  type: "button",
1955
1955
  class: "wm-peek__open",
1956
1956
  onClick: J((k) => e.$emit("open", l.convId), ["stop"])
1957
- }, v(s.t("common.open")), 9, Ft)
1957
+ }, v(s.t("common.open")), 9, jt)
1958
1958
  ], 44, Rt))), 128))
1959
- ], 2)) : b("", !0)
1959
+ ], 2)) : w("", !0)
1960
1960
  ]),
1961
1961
  _: 1
1962
1962
  }),
@@ -1987,11 +1987,11 @@ function zt(e, t, n, r, a, s) {
1987
1987
  }) : s.t("launcher.unreadConversationsOne", {
1988
1988
  count: n.unreadCount
1989
1989
  })
1990
- }, v(n.unreadCount > 9 ? "9+" : n.unreadCount), 9, Ht)) : b("", !0)
1991
- ], 8, jt)
1990
+ }, v(n.unreadCount > 9 ? "9+" : n.unreadCount), 9, Ht)) : w("", !0)
1991
+ ], 8, Ft)
1992
1992
  ], 32);
1993
1993
  }
1994
- const qt = /* @__PURE__ */ B(Ot, [["render", zt], ["__scopeId", "data-v-44ddf1a1"]]), $t = {
1994
+ const qt = /* @__PURE__ */ P(Ot, [["render", zt], ["__scopeId", "data-v-44ddf1a1"]]), $t = {
1995
1995
  name: "WmAIAvatar",
1996
1996
  props: {
1997
1997
  size: { type: Number, default: 26 },
@@ -2033,7 +2033,7 @@ function Gt(e, t, n, r, a, s) {
2033
2033
  "--wm-avr": n.size * 0.32 + "px"
2034
2034
  })
2035
2035
  }, [
2036
- n.pulse ? (c(), d("div", Vt)) : b("", !0),
2036
+ n.pulse ? (c(), d("div", Vt)) : w("", !0),
2037
2037
  o("div", {
2038
2038
  class: R(["wm-aiav__inner", {
2039
2039
  "wm-aiav__inner--glow": n.pulse,
@@ -2082,7 +2082,7 @@ function Gt(e, t, n, r, a, s) {
2082
2082
  ], 6)
2083
2083
  ], 6);
2084
2084
  }
2085
- const oe = /* @__PURE__ */ B($t, [["render", Gt], ["__scopeId", "data-v-6f7f685d"]]), Yt = {
2085
+ const oe = /* @__PURE__ */ P($t, [["render", Gt], ["__scopeId", "data-v-6f7f685d"]]), Yt = {
2086
2086
  name: "WmTeamAvatars",
2087
2087
  props: {
2088
2088
  members: { type: Array, default: () => [] },
@@ -2117,7 +2117,7 @@ function en(e, t, n, r, a, s) {
2117
2117
  class: "wm-team__stack",
2118
2118
  style: z({ width: s.stackWidth + "px" })
2119
2119
  }, [
2120
- (c(!0), d(L, null, F(n.members.slice(0, 3), (i, l) => (c(), d("div", {
2120
+ (c(!0), d(I, null, j(n.members.slice(0, 3), (i, l) => (c(), d("div", {
2121
2121
  key: l,
2122
2122
  class: "wm-team__pill",
2123
2123
  style: z({
@@ -2133,16 +2133,16 @@ function en(e, t, n, r, a, s) {
2133
2133
  }, null, 8, Xt)) : (c(), d("span", Qt, v(s.initialsFor(i)), 1))
2134
2134
  ], 4))), 128))
2135
2135
  ], 4),
2136
- n.responseLabel ? (c(), d("span", Zt, v(n.responseLabel), 1)) : b("", !0)
2137
- ])) : b("", !0);
2136
+ n.responseLabel ? (c(), d("span", Zt, v(n.responseLabel), 1)) : w("", !0)
2137
+ ])) : w("", !0);
2138
2138
  }
2139
- const tn = /* @__PURE__ */ B(Yt, [["render", en], ["__scopeId", "data-v-e49a9063"]]), nn = {
2139
+ const tn = /* @__PURE__ */ P(Yt, [["render", en], ["__scopeId", "data-v-e49a9063"]]), nn = {
2140
2140
  name: "WmHeader",
2141
2141
  components: { AIAvatar: oe, TeamAvatars: tn },
2142
2142
  inject: {
2143
2143
  // Translator shared by the Messenger shell. Falls back to a French
2144
2144
  // translator when the component is used standalone (no provider).
2145
- t: { default: () => j() }
2145
+ t: { default: () => F() }
2146
2146
  },
2147
2147
  props: {
2148
2148
  title: { type: String, default: "Nouvelle conversation" },
@@ -2183,7 +2183,7 @@ const tn = /* @__PURE__ */ B(Yt, [["render", en], ["__scopeId", "data-v-e49a9063
2183
2183
  class: "wm-header__fill"
2184
2184
  }, un = { class: "wm-header__actions" }, hn = ["aria-label", "title"], mn = ["aria-label", "title"];
2185
2185
  function fn(e, t, n, r, a, s) {
2186
- const i = E("AIAvatar"), l = E("TeamAvatars");
2186
+ const i = B("AIAvatar"), l = B("TeamAvatars");
2187
2187
  return c(), d("div", sn, [
2188
2188
  n.showBack ? (c(), d("button", {
2189
2189
  key: 0,
@@ -2206,7 +2206,7 @@ function fn(e, t, n, r, a, s) {
2206
2206
  o("path", { d: "M19 12H5M12 5l-7 7 7 7" })
2207
2207
  ], -1)
2208
2208
  ])], 8, rn)) : (c(), d("div", an)),
2209
- n.showIdentity ? (c(), d(L, { key: 2 }, [
2209
+ n.showIdentity ? (c(), d(I, { key: 2 }, [
2210
2210
  o("div", on, [
2211
2211
  V(i, {
2212
2212
  size: 30,
@@ -2217,11 +2217,11 @@ function fn(e, t, n, r, a, s) {
2217
2217
  o("div", ln, [
2218
2218
  o("div", cn, v(n.title), 1)
2219
2219
  ]),
2220
- s.hasTeam ? (c(), P(l, {
2220
+ s.hasTeam ? (c(), U(l, {
2221
2221
  key: 0,
2222
2222
  members: s.displayedTeamMembers,
2223
2223
  "response-label": ""
2224
- }, null, 8, ["members"])) : b("", !0)
2224
+ }, null, 8, ["members"])) : w("", !0)
2225
2225
  ], 64)) : (c(), d("div", dn)),
2226
2226
  o("div", un, [
2227
2227
  n.showMore ? (c(), d("button", {
@@ -2255,7 +2255,7 @@ function fn(e, t, n, r, a, s) {
2255
2255
  r: "1.6"
2256
2256
  })
2257
2257
  ], -1)
2258
- ])], 10, hn)) : b("", !0),
2258
+ ])], 10, hn)) : w("", !0),
2259
2259
  n.showClose ? (c(), d("button", {
2260
2260
  key: 1,
2261
2261
  type: "button",
@@ -2277,11 +2277,11 @@ function fn(e, t, n, r, a, s) {
2277
2277
  }, [
2278
2278
  o("path", { d: "M18 6L6 18M6 6l12 12" })
2279
2279
  ], -1)
2280
- ])], 8, mn)) : b("", !0)
2280
+ ])], 8, mn)) : w("", !0)
2281
2281
  ])
2282
2282
  ]);
2283
2283
  }
2284
- const _n = /* @__PURE__ */ B(nn, [["render", fn], ["__scopeId", "data-v-7af4c118"]]), Pe = {
2284
+ const _n = /* @__PURE__ */ P(nn, [["render", fn], ["__scopeId", "data-v-7af4c118"]]), Pe = {
2285
2285
  book: "M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253",
2286
2286
  changelog: "M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2",
2287
2287
  status: "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z",
@@ -2295,7 +2295,7 @@ const _n = /* @__PURE__ */ B(nn, [["render", fn], ["__scopeId", "data-v-7af4c118
2295
2295
  // shell. The language getter feeds `formatTs` (relative date
2296
2296
  // labels on unread alerts) ; falls back to French when the
2297
2297
  // component is used standalone.
2298
- t: { default: () => j() },
2298
+ t: { default: () => F() },
2299
2299
  wmLocale: { default: () => () => "fr" }
2300
2300
  },
2301
2301
  props: {
@@ -2415,7 +2415,7 @@ const _n = /* @__PURE__ */ B(nn, [["render", fn], ["__scopeId", "data-v-7af4c118
2415
2415
  }, Rn = ["innerHTML"], Ln = { class: "wm-onb__alert-meta" }, In = {
2416
2416
  key: 0,
2417
2417
  class: "wm-onb__alert-time"
2418
- }, En = { class: "wm-onb__alert-resume" }, Bn = { class: "wm-onb__actions" }, Pn = ["disabled"], Dn = { class: "wm-onb__btn-label" }, Nn = ["onClick"], Un = { class: "wm-onb__btn-icon" }, Fn = ["aria-label"], jn = {
2418
+ }, En = { class: "wm-onb__alert-resume" }, Bn = { class: "wm-onb__actions" }, Pn = ["disabled"], Un = { class: "wm-onb__btn-label" }, Dn = ["onClick"], Nn = { class: "wm-onb__btn-icon" }, jn = ["aria-label"], Fn = {
2419
2419
  key: 1,
2420
2420
  width: "18",
2421
2421
  height: "18",
@@ -2450,7 +2450,7 @@ const _n = /* @__PURE__ */ B(nn, [["render", fn], ["__scopeId", "data-v-7af4c118
2450
2450
  "aria-hidden": "true"
2451
2451
  }, Kn = ["d"], Wn = { class: "wm-onb__btn-label" }, Gn = { class: "wm-onb__btn-count" };
2452
2452
  function Yn(e, t, n, r, a, s) {
2453
- const i = E("AIAvatar");
2453
+ const i = B("AIAvatar");
2454
2454
  return c(), d("div", pn, [
2455
2455
  o("div", vn, [
2456
2456
  t[2] || (t[2] = o("svg", {
@@ -2497,7 +2497,7 @@ function Yn(e, t, n, r, a, s) {
2497
2497
  ])
2498
2498
  ]),
2499
2499
  s.unreadThreads.length ? (c(), d("div", kn, [
2500
- (c(!0), d(L, null, F(s.unreadThreads, (l) => (c(), d("button", {
2500
+ (c(!0), d(I, null, j(s.unreadThreads, (l) => (c(), d("button", {
2501
2501
  key: l.id,
2502
2502
  type: "button",
2503
2503
  class: "wm-onb__alert",
@@ -2520,7 +2520,7 @@ function Yn(e, t, n, r, a, s) {
2520
2520
  }, [
2521
2521
  o("path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z" })
2522
2522
  ], -1)
2523
- ])])) : (c(), P(Ae(s.avatarComponent(l)), je({
2523
+ ])])) : (c(), U(Ae(s.avatarComponent(l)), Fe({
2524
2524
  key: 1,
2525
2525
  ref_for: !0
2526
2526
  }, s.avatarProps(l)), null, 16)),
@@ -2532,18 +2532,18 @@ function Yn(e, t, n, r, a, s) {
2532
2532
  o("span", Mn, [
2533
2533
  o("span", Tn, v(l.title), 1),
2534
2534
  o("span", xn, [
2535
- s.senderLabel(l) ? (c(), d("span", On, v(s.senderLabel(l)) + " · ", 1)) : b("", !0),
2535
+ s.senderLabel(l) ? (c(), d("span", On, v(s.senderLabel(l)) + " · ", 1)) : w("", !0),
2536
2536
  o("span", {
2537
2537
  innerHTML: s.renderPreview(l.preview)
2538
2538
  }, null, 8, Rn)
2539
2539
  ])
2540
2540
  ]),
2541
2541
  o("span", Ln, [
2542
- s.formatTs(l._ts) ? (c(), d("span", In, v(s.formatTs(l._ts)), 1)) : b("", !0),
2542
+ s.formatTs(l._ts) ? (c(), d("span", In, v(s.formatTs(l._ts)), 1)) : w("", !0),
2543
2543
  o("span", En, v(s.t("onboarding.resume")), 1)
2544
2544
  ])
2545
2545
  ], 8, Cn))), 128))
2546
- ])) : b("", !0),
2546
+ ])) : w("", !0),
2547
2547
  o("div", Bn, [
2548
2548
  o("button", {
2549
2549
  type: "button",
@@ -2566,22 +2566,22 @@ function Yn(e, t, n, r, a, s) {
2566
2566
  o("path", { d: "M12 5v14M5 12h14" })
2567
2567
  ])
2568
2568
  ], -1)),
2569
- o("span", Dn, v(n.busy ? "…" : s.t("onboarding.start")), 1)
2569
+ o("span", Un, v(n.busy ? "…" : s.t("onboarding.start")), 1)
2570
2570
  ], 8, Pn),
2571
- (c(!0), d(L, null, F(n.quickLinks, (l, g) => (c(), d("button", {
2571
+ (c(!0), d(I, null, j(n.quickLinks, (l, g) => (c(), d("button", {
2572
2572
  key: "ql-" + g,
2573
2573
  type: "button",
2574
2574
  class: "wm-onb__btn",
2575
2575
  onClick: (k) => e.$emit("select", l)
2576
2576
  }, [
2577
- o("span", Un, [
2577
+ o("span", Nn, [
2578
2578
  s.safeIconUrl(l) ? (c(), d("span", {
2579
2579
  key: 0,
2580
2580
  class: "wm-onb__btn-iconImg",
2581
2581
  style: z(s.iconUrlStyle(l)),
2582
2582
  role: "img",
2583
2583
  "aria-label": l.label || ""
2584
- }, null, 12, Fn)) : (c(), d("svg", jn, [
2584
+ }, null, 12, jn)) : (c(), d("svg", Fn, [
2585
2585
  o("path", {
2586
2586
  d: s.iconPath(l.icon)
2587
2587
  }, null, 8, Hn)
@@ -2590,8 +2590,8 @@ function Yn(e, t, n, r, a, s) {
2590
2590
  o("span", zn, v(l.label), 1),
2591
2591
  s.isExternalLink(l) ? (c(), d("svg", qn, [...t[5] || (t[5] = [
2592
2592
  o("path", { d: "M7 17L17 7M9 7h8v8" }, null, -1)
2593
- ])])) : b("", !0)
2594
- ], 8, Nn))), 128)),
2593
+ ])])) : w("", !0)
2594
+ ], 8, Dn))), 128)),
2595
2595
  n.openThreads.length ? (c(), d("button", {
2596
2596
  key: 0,
2597
2597
  type: "button",
@@ -2621,15 +2621,15 @@ function Yn(e, t, n, r, a, s) {
2621
2621
  }, [
2622
2622
  o("path", { d: "M9 18l6-6-6-6" })
2623
2623
  ], -1))
2624
- ])) : b("", !0)
2624
+ ])) : w("", !0)
2625
2625
  ])
2626
2626
  ]);
2627
2627
  }
2628
- const Jn = /* @__PURE__ */ B(gn, [["render", Yn], ["__scopeId", "data-v-136c3afe"]]), Xn = {
2628
+ const Jn = /* @__PURE__ */ P(gn, [["render", Yn], ["__scopeId", "data-v-136c3afe"]]), Xn = {
2629
2629
  name: "WmHistory",
2630
2630
  components: { AIAvatar: oe, HumanAvatar: ve },
2631
2631
  inject: {
2632
- t: { default: () => j() },
2632
+ t: { default: () => F() },
2633
2633
  wmLocale: { default: () => () => "fr" }
2634
2634
  },
2635
2635
  props: {
@@ -2732,7 +2732,7 @@ function us(e, t, n, r, a, s) {
2732
2732
  ])
2733
2733
  ]),
2734
2734
  o("div", ts, [
2735
- (c(!0), d(L, null, F(s.filteredThreads, (i) => (c(), d("button", {
2735
+ (c(!0), d(I, null, j(s.filteredThreads, (i) => (c(), d("button", {
2736
2736
  key: i.id,
2737
2737
  type: "button",
2738
2738
  class: R(["wm-hist__thread", { "wm-hist__thread--unread": i.unread }]),
@@ -2755,7 +2755,7 @@ function us(e, t, n, r, a, s) {
2755
2755
  }, [
2756
2756
  o("path", { d: "M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z" })
2757
2757
  ], -1)
2758
- ])])) : (c(), P(Ae(s.avatarComponent(i)), je({
2758
+ ])])) : (c(), U(Ae(s.avatarComponent(i)), Fe({
2759
2759
  key: 1,
2760
2760
  ref_for: !0
2761
2761
  }, s.avatarProps(i)), null, 16)),
@@ -2763,7 +2763,7 @@ function us(e, t, n, r, a, s) {
2763
2763
  key: 2,
2764
2764
  class: "wm-hist__thread-dot",
2765
2765
  "aria-label": s.t("onboarding.unread")
2766
- }, null, 8, rs)) : b("", !0)
2766
+ }, null, 8, rs)) : w("", !0)
2767
2767
  ], 2),
2768
2768
  o("span", is, [
2769
2769
  o("span", as, v(i.title), 1),
@@ -2773,7 +2773,7 @@ function us(e, t, n, r, a, s) {
2773
2773
  }, null, 8, os)
2774
2774
  ]),
2775
2775
  o("span", ls, [
2776
- s.formatTs(i._ts) ? (c(), d("span", cs, v(s.formatTs(i._ts)), 1)) : b("", !0),
2776
+ s.formatTs(i._ts) ? (c(), d("span", cs, v(s.formatTs(i._ts)), 1)) : w("", !0),
2777
2777
  t[3] || (t[3] = o("svg", {
2778
2778
  width: "14",
2779
2779
  height: "14",
@@ -2790,11 +2790,11 @@ function us(e, t, n, r, a, s) {
2790
2790
  ], -1))
2791
2791
  ])
2792
2792
  ], 10, ns))), 128)),
2793
- s.filteredThreads.length ? b("", !0) : (c(), d("div", ds, v(a.query ? s.t("onboarding.noResults", { query: a.query }) : s.t("onboarding.noConversations")), 1))
2793
+ s.filteredThreads.length ? w("", !0) : (c(), d("div", ds, v(a.query ? s.t("onboarding.noResults", { query: a.query }) : s.t("onboarding.noConversations")), 1))
2794
2794
  ])
2795
2795
  ]);
2796
2796
  }
2797
- const hs = /* @__PURE__ */ B(Xn, [["render", us], ["__scopeId", "data-v-6bf35ef1"]]);
2797
+ const hs = /* @__PURE__ */ P(Xn, [["render", us], ["__scopeId", "data-v-6bf35ef1"]]);
2798
2798
  function ms(e) {
2799
2799
  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();
2800
2800
  }
@@ -2889,22 +2889,22 @@ function Cs(e, t, n, r, a, s) {
2889
2889
  ]),
2890
2890
  o("span", ws, [
2891
2891
  o("span", bs, v(n.label), 1),
2892
- s.detailText ? (c(), d(L, { key: 0 }, [
2892
+ s.detailText ? (c(), d(I, { key: 0 }, [
2893
2893
  t[4] || (t[4] = o("span", {
2894
2894
  class: "wm-result__sep",
2895
2895
  "aria-hidden": "true"
2896
2896
  }, " · ", -1)),
2897
2897
  o("span", ks, v(s.detailText), 1)
2898
- ], 64)) : b("", !0)
2898
+ ], 64)) : w("", !0)
2899
2899
  ])
2900
2900
  ], 2);
2901
2901
  }
2902
- const As = /* @__PURE__ */ B(fs, [["render", Cs], ["__scopeId", "data-v-7284acd0"]]), Ss = {
2902
+ const As = /* @__PURE__ */ P(fs, [["render", Cs], ["__scopeId", "data-v-7284acd0"]]), Ss = {
2903
2903
  name: "WmArtifactFormResponse",
2904
2904
  inject: {
2905
2905
  // Translator shared by the Messenger shell; French fallback when
2906
2906
  // the component is used standalone.
2907
- t: { default: () => j() }
2907
+ t: { default: () => F() }
2908
2908
  },
2909
2909
  props: {
2910
2910
  data: { type: Object, required: !0 }
@@ -2938,7 +2938,7 @@ function Is(e, t, n, r, a, s) {
2938
2938
  ])
2939
2939
  ]),
2940
2940
  o("div", Rs, [
2941
- (c(!0), d(L, null, F(s.fields, (i, l) => (c(), d("div", {
2941
+ (c(!0), d(I, null, j(s.fields, (i, l) => (c(), d("div", {
2942
2942
  key: l,
2943
2943
  class: "wm-art__field"
2944
2944
  }, [
@@ -2953,7 +2953,7 @@ function Is(e, t, n, r, a, s) {
2953
2953
  ])
2954
2954
  ]);
2955
2955
  }
2956
- const Es = /* @__PURE__ */ B(Ss, [["render", Is], ["__scopeId", "data-v-713aecf1"]]), Bs = {
2956
+ const Es = /* @__PURE__ */ P(Ss, [["render", Is], ["__scopeId", "data-v-713aecf1"]]), Bs = {
2957
2957
  name: "WmArtifactInfoCard",
2958
2958
  props: {
2959
2959
  data: { type: Object, required: !0 }
@@ -2968,10 +2968,10 @@ const Es = /* @__PURE__ */ B(Ss, [["render", Is], ["__scopeId", "data-v-713aecf1
2968
2968
  return !!((e = this.data) != null && e.body) || this.fields.length > 0;
2969
2969
  }
2970
2970
  }
2971
- }, Ps = { class: "wm-art wm-art--infoCard" }, Ds = {
2971
+ }, Ps = { class: "wm-art wm-art--infoCard" }, Us = {
2972
2972
  key: 0,
2973
2973
  class: "wm-art__image"
2974
- }, Ns = ["src", "alt"], Us = { class: "wm-art__head" }, Fs = { class: "wm-art__headMain" }, js = { class: "wm-art__title" }, Hs = {
2974
+ }, Ds = ["src", "alt"], Ns = { class: "wm-art__head" }, js = { class: "wm-art__headMain" }, Fs = { class: "wm-art__title" }, Hs = {
2975
2975
  key: 0,
2976
2976
  class: "wm-art__subtitle"
2977
2977
  }, zs = {
@@ -2983,17 +2983,17 @@ const Es = /* @__PURE__ */ B(Ss, [["render", Is], ["__scopeId", "data-v-713aecf1
2983
2983
  }, $s = { class: "wm-art__fieldLabel" };
2984
2984
  function Vs(e, t, n, r, a, s) {
2985
2985
  return c(), d("div", Ps, [
2986
- n.data.image_url ? (c(), d("figure", Ds, [
2986
+ n.data.image_url ? (c(), d("figure", Us, [
2987
2987
  o("img", {
2988
2988
  src: n.data.image_url,
2989
2989
  alt: n.data.title || "",
2990
2990
  loading: "lazy"
2991
- }, null, 8, Ns)
2992
- ])) : b("", !0),
2993
- o("div", Us, [
2994
- o("div", Fs, [
2995
- o("div", js, v(n.data.title), 1),
2996
- n.data.subtitle ? (c(), d("div", Hs, v(n.data.subtitle), 1)) : b("", !0)
2991
+ }, null, 8, Ds)
2992
+ ])) : w("", !0),
2993
+ o("div", Ns, [
2994
+ o("div", js, [
2995
+ o("div", Fs, v(n.data.title), 1),
2996
+ n.data.subtitle ? (c(), d("div", Hs, v(n.data.subtitle), 1)) : w("", !0)
2997
2997
  ]),
2998
2998
  n.data.badge && n.data.badge.label ? (c(), d("span", {
2999
2999
  key: 0,
@@ -3001,11 +3001,11 @@ function Vs(e, t, n, r, a, s) {
3001
3001
  "wm-art__badge",
3002
3002
  `wm-art__badge--${n.data.badge.tone || "neutral"}`
3003
3003
  ])
3004
- }, v(n.data.badge.label), 3)) : b("", !0)
3004
+ }, v(n.data.badge.label), 3)) : w("", !0)
3005
3005
  ]),
3006
3006
  s.hasBody ? (c(), d("div", zs, [
3007
- n.data.body ? (c(), d("div", qs, v(n.data.body), 1)) : b("", !0),
3008
- s.fields.length ? (c(!0), d(L, { key: 1 }, F(s.fields, (i, l) => (c(), d("div", {
3007
+ n.data.body ? (c(), d("div", qs, v(n.data.body), 1)) : w("", !0),
3008
+ s.fields.length ? (c(!0), d(I, { key: 1 }, j(s.fields, (i, l) => (c(), d("div", {
3009
3009
  key: l,
3010
3010
  class: "wm-art__field"
3011
3011
  }, [
@@ -3016,11 +3016,11 @@ function Vs(e, t, n, r, a, s) {
3016
3016
  { "wm-art__fieldValue--multi": i.multiline }
3017
3017
  ])
3018
3018
  }, v(i.value), 3)
3019
- ]))), 128)) : b("", !0)
3020
- ])) : b("", !0)
3019
+ ]))), 128)) : w("", !0)
3020
+ ])) : w("", !0)
3021
3021
  ]);
3022
3022
  }
3023
- const Ks = /* @__PURE__ */ B(Bs, [["render", Vs], ["__scopeId", "data-v-7eae0e4a"]]);
3023
+ const Ks = /* @__PURE__ */ P(Bs, [["render", Vs], ["__scopeId", "data-v-7eae0e4a"]]);
3024
3024
  function Ws(e, t, n) {
3025
3025
  if (!e) return "";
3026
3026
  const r = new Date(e);
@@ -3040,7 +3040,7 @@ const Gs = {
3040
3040
  inject: {
3041
3041
  // Translator + resolved-language getter shared by the Messenger
3042
3042
  // shell. Fall back to French wording when used standalone.
3043
- t: { default: () => j() },
3043
+ t: { default: () => F() },
3044
3044
  wmLocale: { default: () => () => "fr" }
3045
3045
  },
3046
3046
  props: {
@@ -3139,10 +3139,10 @@ function ar(e, t, n, r, a, s) {
3139
3139
  Se(" " + v(n.data.status.label), 1)
3140
3140
  ], 2)
3141
3141
  ]),
3142
- n.data.body ? (c(), d("div", er, v(n.data.body), 1)) : b("", !0)
3142
+ n.data.body ? (c(), d("div", er, v(n.data.body), 1)) : w("", !0)
3143
3143
  ]),
3144
3144
  s.fields.length ? (c(), d("div", tr, [
3145
- (c(!0), d(L, null, F(s.fields, (i, l) => (c(), d("div", {
3145
+ (c(!0), d(I, null, j(s.fields, (i, l) => (c(), d("div", {
3146
3146
  key: l,
3147
3147
  class: "wm-art__field"
3148
3148
  }, [
@@ -3192,11 +3192,11 @@ function ar(e, t, n, r, a, s) {
3192
3192
  rx: "2"
3193
3193
  }, null, -1),
3194
3194
  o("path", { d: "M16 2v4M8 2v4M3 10h18" }, null, -1)
3195
- ])])) : b("", !0),
3195
+ ])])) : w("", !0),
3196
3196
  o("span", null, v(i.value), 1)
3197
3197
  ], 2)
3198
3198
  ]))), 128))
3199
- ])) : b("", !0),
3199
+ ])) : w("", !0),
3200
3200
  n.data.created_at ? (c(), d("div", ir, [
3201
3201
  t[4] || (t[4] = o("svg", {
3202
3202
  width: "11",
@@ -3219,10 +3219,10 @@ function ar(e, t, n, r, a, s) {
3219
3219
  o("path", { d: "M16 2v4M8 2v4M3 10h18" })
3220
3220
  ], -1)),
3221
3221
  o("span", null, v(s.formattedDate), 1)
3222
- ])) : b("", !0)
3222
+ ])) : w("", !0)
3223
3223
  ]);
3224
3224
  }
3225
- const or = /* @__PURE__ */ B(Gs, [["render", ar], ["__scopeId", "data-v-5f30c914"]]), lr = {
3225
+ const or = /* @__PURE__ */ P(Gs, [["render", ar], ["__scopeId", "data-v-5f30c914"]]), lr = {
3226
3226
  form_response: Es,
3227
3227
  info_card: Ks,
3228
3228
  ticket: or
@@ -3242,18 +3242,18 @@ const or = /* @__PURE__ */ B(Gs, [["render", ar], ["__scopeId", "data-v-5f30c914
3242
3242
  }
3243
3243
  };
3244
3244
  function dr(e, t, n, r, a, s) {
3245
- return s.component ? (c(), P(Ae(s.component), {
3245
+ return s.component ? (c(), U(Ae(s.component), {
3246
3246
  key: 0,
3247
3247
  data: n.artifact.data
3248
- }, null, 8, ["data"])) : b("", !0);
3248
+ }, null, 8, ["data"])) : w("", !0);
3249
3249
  }
3250
- const ur = /* @__PURE__ */ B(cr, [["render", dr]]), hr = {
3250
+ const ur = /* @__PURE__ */ P(cr, [["render", dr]]), hr = {
3251
3251
  name: "WmAttachmentPreview",
3252
3252
  inject: {
3253
3253
  signAttachmentFn: { default: null },
3254
3254
  // Translator shared by the Messenger shell; French fallback when
3255
3255
  // the component is used standalone.
3256
- t: { default: () => j() }
3256
+ t: { default: () => F() }
3257
3257
  },
3258
3258
  props: {
3259
3259
  attachment: { type: Object, required: !0 }
@@ -3376,13 +3376,13 @@ function kr(e, t, n, r, a, s) {
3376
3376
  ], -1)),
3377
3377
  o("span", vr, [
3378
3378
  o("span", yr, v(s.displayName), 1),
3379
- s.sizeLabel ? (c(), d("span", wr, v(s.sizeLabel), 1)) : b("", !0)
3379
+ s.sizeLabel ? (c(), d("span", wr, v(s.sizeLabel), 1)) : w("", !0)
3380
3380
  ]),
3381
- a.loading ? (c(), d("span", br)) : b("", !0)
3381
+ a.loading ? (c(), d("span", br)) : w("", !0)
3382
3382
  ], 8, pr))
3383
3383
  ], 2);
3384
3384
  }
3385
- const Cr = /* @__PURE__ */ B(hr, [["render", kr], ["__scopeId", "data-v-0c877a62"]]), Ar = {
3385
+ const Cr = /* @__PURE__ */ P(hr, [["render", kr], ["__scopeId", "data-v-0c3d5983"]]), Ar = {
3386
3386
  name: "WmBubble",
3387
3387
  props: {
3388
3388
  role: { type: String, default: "ai" },
@@ -3404,7 +3404,7 @@ function Mr(e, t, n, r, a, s) {
3404
3404
  ], !0)
3405
3405
  ], 2);
3406
3406
  }
3407
- const Tr = /* @__PURE__ */ B(Ar, [["render", Mr], ["__scopeId", "data-v-7ab13147"]]), xr = { name: "WmTyping" }, Or = { class: "wm-typing" };
3407
+ const Tr = /* @__PURE__ */ P(Ar, [["render", Mr], ["__scopeId", "data-v-7ab13147"]]), xr = { name: "WmTyping" }, Or = { class: "wm-typing" };
3408
3408
  function Rr(e, t, n, r, a, s) {
3409
3409
  return c(), d("div", Or, [...t[0] || (t[0] = [
3410
3410
  o("span", { style: { "animation-delay": "0s" } }, null, -1),
@@ -3412,7 +3412,7 @@ function Rr(e, t, n, r, a, s) {
3412
3412
  o("span", { style: { "animation-delay": "0.4s" } }, null, -1)
3413
3413
  ])]);
3414
3414
  }
3415
- const Lr = /* @__PURE__ */ B(xr, [["render", Rr], ["__scopeId", "data-v-df2447fd"]]);
3415
+ const Lr = /* @__PURE__ */ P(xr, [["render", Rr], ["__scopeId", "data-v-df2447fd"]]);
3416
3416
  function ee(e) {
3417
3417
  return e ? e.client_msg_id || e.id : "";
3418
3418
  }
@@ -3437,7 +3437,7 @@ const Ir = {
3437
3437
  inject: {
3438
3438
  // Translator + resolved-language getter shared by the Messenger
3439
3439
  // shell. Fall back to French wording when used standalone.
3440
- t: { default: () => j() },
3440
+ t: { default: () => F() },
3441
3441
  wmLocale: { default: () => () => "fr" }
3442
3442
  },
3443
3443
  props: {
@@ -3507,8 +3507,8 @@ const Ir = {
3507
3507
  const l = this.roleOf(i);
3508
3508
  if (l === "system") {
3509
3509
  if (((n = i == null ? void 0 : i.payload) == null ? void 0 : n.event) === "action_admin_pending") {
3510
- const w = e[e.length - 1];
3511
- w && w.role === "ai" ? w.messages.push(i) : e.push({
3510
+ const b = e[e.length - 1];
3511
+ b && b.role === "ai" ? b.messages.push(i) : e.push({
3512
3512
  key: `g-${ee(i)}`,
3513
3513
  role: "ai",
3514
3514
  agentName: "",
@@ -3827,9 +3827,9 @@ const Ir = {
3827
3827
  // doit garder son arrondi.
3828
3828
  cornersFor(e, t) {
3829
3829
  var Q, se, re;
3830
- const n = e.items, r = (Q = n[t]) == null ? void 0 : Q.kind, a = (se = n[t - 1]) == null ? void 0 : se.kind, s = (re = n[t + 1]) == null ? void 0 : re.kind, i = e.role === "user", l = 14, g = 4, k = a == null ? void 0 : a.bottom, w = s == null ? void 0 : s.top, T = this.widthByKey[this.rowKeyOf(e, t)], I = this.widthByKey[this.rowKeyOf(e, t - 1)], A = this.widthByKey[this.rowKeyOf(e, t + 1)], q = 0.5, M = (W, ie, X) => W != null && T != null ? W + q >= T : ie === X || ie === "card" && X === "bubble";
3831
- let N = l, U = l, D = l, K = l;
3832
- return i ? (k && (U = g), (w || !s) && (D = g), k && M(I, k, r == null ? void 0 : r.top) && (N = g), w && M(A, w, r == null ? void 0 : r.bottom) && (K = g)) : (k && (N = g), (w || !s) && (K = g), k && M(I, k, r == null ? void 0 : r.top) && (U = g), w && M(A, w, r == null ? void 0 : r.bottom) && (D = g)), { tl: N, tr: U, br: D, bl: K };
3830
+ const n = e.items, r = (Q = n[t]) == null ? void 0 : Q.kind, a = (se = n[t - 1]) == null ? void 0 : se.kind, s = (re = n[t + 1]) == null ? void 0 : re.kind, i = e.role === "user", l = 14, g = 4, k = a == null ? void 0 : a.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)], q = 0.5, M = (W, ie, X) => W != null && T != null ? W + q >= T : ie === X || ie === "card" && X === "bubble";
3831
+ let D = l, N = l, L = l, K = l;
3832
+ return i ? (k && (N = g), (b || !s) && (L = g), k && M(E, k, r == null ? void 0 : r.top) && (D = g), b && M(A, b, r == null ? void 0 : r.bottom) && (K = g)) : (k && (D = g), (b || !s) && (K = g), k && M(E, k, r == null ? void 0 : r.top) && (N = g), b && M(A, b, r == null ? void 0 : r.bottom) && (L = g)), { tl: D, tr: N, br: L, bl: K };
3833
3833
  },
3834
3834
  // Inline style emitting the four corner CSS variables. Set on
3835
3835
  // `.wm-list__row` so they cascade to Bubble/ActionResult/
@@ -3979,15 +3979,15 @@ const Ir = {
3979
3979
  e && (typeof e.scrollTo == "function" ? e.scrollTo({ top: e.scrollHeight, behavior: "smooth" }) : e.scrollTop = e.scrollHeight, this.showScrollDown = !1);
3980
3980
  }
3981
3981
  }
3982
- }, Dr = { class: "wm-list__wrap" }, Nr = {
3982
+ }, Ur = { class: "wm-list__wrap" }, Dr = {
3983
3983
  key: 0,
3984
3984
  class: "wm-list__loadMore",
3985
3985
  role: "status",
3986
3986
  "aria-live": "polite"
3987
- }, Ur = { class: "wm-list__loadMore-lbl" }, Fr = {
3987
+ }, Nr = { class: "wm-list__loadMore-lbl" }, jr = {
3988
3988
  key: 1,
3989
3989
  class: "wm-list__historyEnd"
3990
- }, jr = {
3990
+ }, Fr = {
3991
3991
  key: 2,
3992
3992
  class: "wm-list__sep"
3993
3993
  }, Hr = { class: "wm-list__sep-label" }, zr = {
@@ -3999,47 +3999,44 @@ const Ir = {
3999
3999
  }, Vr = { class: "wm-list__sysep-label" }, Kr = ["data-row-key", "onPointerdown"], Wr = {
4000
4000
  key: 0,
4001
4001
  class: "wm-list__avatarSlot"
4002
- }, Gr = {
4003
- key: 5,
4004
- class: "wm-list__body"
4005
- }, Yr = { key: 0 }, Jr = {
4002
+ }, Gr = { key: 0 }, Yr = {
4006
4003
  key: 1,
4007
4004
  "aria-hidden": "true"
4008
- }, Xr = { key: 2 }, Qr = { key: 0 }, Zr = {
4005
+ }, Jr = { key: 2 }, Xr = { key: 0 }, Qr = {
4009
4006
  key: 1,
4010
4007
  "aria-hidden": "true"
4011
- }, ei = { key: 2 }, ti = {
4008
+ }, Zr = { key: 2 }, ei = {
4012
4009
  key: 3,
4013
4010
  class: "wm-list__row wm-list__row--ai fade-up"
4014
- }, ni = { class: "wm-list__avatarSlot" }, si = ["aria-label", "title"];
4015
- function ri(e, t, n, r, a, s) {
4016
- const i = E("AIAvatar"), l = E("HumanAvatar"), g = E("ActionResult"), k = E("ArtifactRenderer"), w = E("Bubble"), T = E("AttachmentPreview"), I = E("Typing");
4017
- return c(), d("div", Dr, [
4011
+ }, ti = { class: "wm-list__avatarSlot" }, ni = ["aria-label", "title"];
4012
+ function si(e, t, n, r, a, s) {
4013
+ const i = B("AIAvatar"), l = B("HumanAvatar"), g = B("ActionResult"), k = B("ArtifactRenderer"), b = B("Bubble"), T = B("AttachmentPreview"), E = B("Typing");
4014
+ return c(), d("div", Ur, [
4018
4015
  o("div", {
4019
4016
  ref: "scrollEl",
4020
4017
  class: R(["wm-list", { "wm-list--silent": a.silentFades }]),
4021
4018
  onScrollPassive: t[4] || (t[4] = (...A) => s.onScroll && s.onScroll(...A))
4022
4019
  }, [
4023
- n.loadingMore ? (c(), d("div", Nr, [
4020
+ n.loadingMore ? (c(), d("div", Dr, [
4024
4021
  t[6] || (t[6] = o("span", {
4025
4022
  class: "wm-list__loadMore-spinner",
4026
4023
  "aria-hidden": "true"
4027
4024
  }, null, -1)),
4028
- o("span", Ur, v(s.t("messageList.loadingHistory")), 1)
4029
- ])) : s.historyExhausted ? (c(), d("div", Fr, v(s.t("messageList.conversationStart")), 1)) : b("", !0),
4030
- n.dateLabel ? (c(), d("div", jr, [
4025
+ o("span", Nr, v(s.t("messageList.loadingHistory")), 1)
4026
+ ])) : s.historyExhausted ? (c(), d("div", jr, v(s.t("messageList.conversationStart")), 1)) : w("", !0),
4027
+ n.dateLabel ? (c(), d("div", Fr, [
4031
4028
  t[7] || (t[7] = o("div", { class: "wm-list__line" }, null, -1)),
4032
4029
  o("span", Hr, v(n.dateLabel), 1),
4033
4030
  t[8] || (t[8] = o("div", { class: "wm-list__line" }, null, -1))
4034
- ])) : b("", !0),
4035
- (c(!0), d(L, null, F(s.groups, (A, q) => (c(), d(L, {
4031
+ ])) : w("", !0),
4032
+ (c(!0), d(I, null, j(s.groups, (A, q) => (c(), d(I, {
4036
4033
  key: A.key
4037
4034
  }, [
4038
4035
  A.key === s.unreadGroupKey ? (c(), d("div", zr, [
4039
4036
  t[9] || (t[9] = o("div", { class: "wm-list__line wm-list__line--unread" }, null, -1)),
4040
4037
  o("span", qr, v(s.t("messageList.unread")), 1),
4041
4038
  t[10] || (t[10] = o("div", { class: "wm-list__line wm-list__line--unread" }, null, -1))
4042
- ])) : b("", !0),
4039
+ ])) : w("", !0),
4043
4040
  A.role === "system" || A.items.length ? (c(), d("div", {
4044
4041
  key: 1,
4045
4042
  class: R(["wm-list__group", "wm-list__group--" + A.role])
@@ -4048,8 +4045,8 @@ function ri(e, t, n, r, a, s) {
4048
4045
  t[11] || (t[11] = o("div", { class: "wm-list__line wm-list__line--strong" }, null, -1)),
4049
4046
  o("span", Vr, v(A.systemLabel), 1),
4050
4047
  t[12] || (t[12] = o("div", { class: "wm-list__line wm-list__line--strong" }, null, -1))
4051
- ])) : (c(), d(L, { key: 1 }, [
4052
- (c(!0), d(L, null, F(A.items, (M, N) => (c(), d(L, {
4048
+ ])) : (c(), d(I, { key: 1 }, [
4049
+ (c(!0), d(I, null, j(A.items, (M, D) => (c(), d(I, {
4053
4050
  key: `${s.messageKey(M.message)}-${M.partKey}`
4054
4051
  }, [
4055
4052
  o("div", {
@@ -4061,90 +4058,95 @@ function ri(e, t, n, r, a, s) {
4061
4058
  "is-failed": M.message._failed
4062
4059
  }
4063
4060
  ]]),
4064
- style: z(s.cornersStyle(A, N)),
4065
- onPointerdown: (U) => s.onPressStart(`${s.messageKey(M.message)}-${M.partKey}`),
4066
- onPointerup: t[0] || (t[0] = (U) => s.onPressEnd()),
4067
- onPointercancel: t[1] || (t[1] = (U) => s.onPressEnd()),
4068
- onPointerleave: t[2] || (t[2] = (U) => s.onPressEnd()),
4061
+ style: z(s.cornersStyle(A, D)),
4062
+ onPointerdown: (N) => s.onPressStart(`${s.messageKey(M.message)}-${M.partKey}`),
4063
+ onPointerup: t[0] || (t[0] = (N) => s.onPressEnd()),
4064
+ onPointercancel: t[1] || (t[1] = (N) => s.onPressEnd()),
4065
+ onPointerleave: t[2] || (t[2] = (N) => s.onPressEnd()),
4069
4066
  onContextmenu: t[3] || (t[3] = J(() => {
4070
4067
  }, ["prevent"]))
4071
4068
  }, [
4072
4069
  A.role !== "user" ? (c(), d("div", Wr, [
4073
- N === A.items.length - 1 ? (c(), d(L, { key: 0 }, [
4074
- A.role === "ai" ? (c(), P(i, {
4070
+ D === A.items.length - 1 ? (c(), d(I, { key: 0 }, [
4071
+ A.role === "ai" ? (c(), U(i, {
4075
4072
  key: 0,
4076
4073
  size: 26,
4077
4074
  tail: !0,
4078
4075
  name: n.aiAgentName,
4079
4076
  "image-url": n.aiAgentAvatarUrl
4080
- }, null, 8, ["name", "image-url"])) : (c(), P(l, {
4077
+ }, null, 8, ["name", "image-url"])) : (c(), U(l, {
4081
4078
  key: 1,
4082
4079
  name: A.agentName,
4083
4080
  "avatar-url": A.agentAvatarUrl,
4084
4081
  size: 26,
4085
4082
  tail: !0
4086
4083
  }, null, 8, ["name", "avatar-url"]))
4087
- ], 64)) : b("", !0)
4088
- ])) : b("", !0),
4089
- M.renderAs === "action" ? (c(), P(g, {
4084
+ ], 64)) : w("", !0)
4085
+ ])) : w("", !0),
4086
+ M.renderAs === "action" ? (c(), U(g, {
4090
4087
  key: 1,
4091
4088
  state: M.message.payload.state,
4092
4089
  label: s.actionLabel(M.message),
4093
4090
  detail: s.actionDetail(M.message)
4094
- }, null, 8, ["state", "label", "detail"])) : M.renderAs === "admin-pending" ? (c(), P(g, {
4091
+ }, null, 8, ["state", "label", "detail"])) : M.renderAs === "admin-pending" ? (c(), U(g, {
4095
4092
  key: 2,
4096
4093
  state: "awaiting",
4097
4094
  label: s.t("messageList.approvalRequestSent"),
4098
4095
  detail: M.message.text_md || ""
4099
- }, null, 8, ["label", "detail"])) : M.renderAs === "artifact-of-action" ? (c(), P(k, {
4096
+ }, null, 8, ["label", "detail"])) : M.renderAs === "artifact-of-action" ? (c(), U(k, {
4100
4097
  key: 3,
4101
4098
  artifact: s.actionArtifact(M.message)
4102
- }, null, 8, ["artifact"])) : M.renderAs === "artifact" ? (c(), P(k, {
4099
+ }, null, 8, ["artifact"])) : M.renderAs === "artifact" ? (c(), U(k, {
4103
4100
  key: 4,
4104
4101
  artifact: s.artifactOf(M.message)
4105
- }, null, 8, ["artifact"])) : (c(), d("div", Gr, [
4106
- M.message.text_md ? (c(), P(w, {
4102
+ }, null, 8, ["artifact"])) : (c(), d("div", {
4103
+ key: 5,
4104
+ class: R(["wm-list__body", {
4105
+ "wm-list__body--mixed": !!M.message.text_md && s.attachmentsOf(M.message).length > 0
4106
+ }])
4107
+ }, [
4108
+ M.message.text_md ? (c(), U(b, {
4107
4109
  key: 0,
4108
4110
  role: A.role,
4109
4111
  text: M.message.text_md
4110
- }, null, 8, ["role", "text"])) : b("", !0),
4112
+ }, null, 8, ["role", "text"])) : w("", !0),
4111
4113
  s.attachmentsOf(M.message).length ? (c(), d("div", {
4112
4114
  key: 1,
4113
4115
  class: R(["wm-list__atts", {
4114
4116
  "wm-list__atts--align-end": A.role === "user"
4115
4117
  }])
4116
4118
  }, [
4117
- (c(!0), d(L, null, F(s.attachmentsOf(
4119
+ (c(!0), d(I, null, j(s.attachmentsOf(
4118
4120
  M.message
4119
- ), (U, D) => (c(), P(T, {
4120
- key: `${s.messageKey(M.message)}-att-${D}`,
4121
- attachment: U
4121
+ ), (N, L) => (c(), U(T, {
4122
+ key: `${s.messageKey(M.message)}-att-${L}`,
4123
+ attachment: N
4122
4124
  }, null, 8, ["attachment"]))), 128))
4123
- ], 2)) : b("", !0)
4124
- ]))
4125
+ ], 2)) : w("", !0)
4126
+ ], 2))
4125
4127
  ], 46, Kr),
4126
- N < A.items.length - 1 && a.pressedItemKey === `${s.messageKey(M.message)}-${M.partKey}` && (A.role !== "user" || s.timeOf(M.message)) ? (c(), d("div", {
4128
+ D < A.items.length - 1 && a.pressedItemKey === `${s.messageKey(M.message)}-${M.partKey}` && (A.role !== "user" || s.timeOf(M.message)) ? (c(), d("div", {
4127
4129
  key: 0,
4128
4130
  class: R(["wm-list__meta wm-list__meta--press", { "wm-list__meta--right": A.role === "user" }])
4129
4131
  }, [
4130
- A.role !== "user" ? (c(), d("span", Yr, v(s.roleLabel(A)), 1)) : b("", !0),
4131
- A.role !== "user" && s.timeOf(M.message) ? (c(), d("span", Jr, "•")) : b("", !0),
4132
- s.timeOf(M.message) ? (c(), d("span", Xr, v(s.timeOf(M.message)), 1)) : b("", !0)
4133
- ], 2)) : b("", !0)
4132
+ A.role !== "user" ? (c(), d("span", Gr, v(s.roleLabel(A)), 1)) : w("", !0),
4133
+ A.role !== "user" && s.timeOf(M.message) ? (c(), d("span", Yr, "•")) : w("", !0),
4134
+ s.timeOf(M.message) ? (c(), d("span", Jr, v(s.timeOf(M.message)), 1)) : w("", !0)
4135
+ ], 2)) : w("", !0)
4134
4136
  ], 64))), 128)),
4135
4137
  (A.role !== "user" || s.lastTimeOf(A)) && !s.hasTrailingOverlay(A) ? (c(), d("div", {
4136
4138
  key: 0,
4137
4139
  class: R(["wm-list__meta", { "wm-list__meta--right": A.role === "user" }])
4138
4140
  }, [
4139
- A.role !== "user" ? (c(), d("span", Qr, v(s.roleLabel(A)), 1)) : b("", !0),
4140
- A.role !== "user" && s.lastTimeOf(A) ? (c(), d("span", Zr, "•")) : b("", !0),
4141
- s.lastTimeOf(A) ? (c(), d("span", ei, v(s.lastTimeOf(A)), 1)) : b("", !0)
4142
- ], 2)) : b("", !0)
4141
+ A.role !== "user" ? (c(), d("span", Xr, v(s.roleLabel(A)), 1)) : w("", !0),
4142
+ A.role !== "user" && s.lastTimeOf(A) ? (c(), d("span", Qr, "•")) : w("", !0),
4143
+ s.lastTimeOf(A) ? (c(), d("span", Zr, v(s.lastTimeOf(A)), 1)) : w("", !0)
4144
+ ], 2)) : w("", !0)
4143
4145
  ], 64))
4144
- ], 2)) : b("", !0)
4146
+ ], 2)) : w("", !0)
4145
4147
  ], 64))), 128)),
4146
- n.streamingActive ? (c(), d("div", ti, [
4147
- o("div", ni, [
4148
+ n.streamingActive ? (c(), d("div", ei, [
4149
+ o("div", ti, [
4148
4150
  V(i, {
4149
4151
  size: 26,
4150
4152
  tail: !0,
@@ -4152,11 +4154,11 @@ function ri(e, t, n, r, a, s) {
4152
4154
  "image-url": n.aiAgentAvatarUrl
4153
4155
  }, null, 8, ["name", "image-url"])
4154
4156
  ]),
4155
- V(I)
4156
- ])) : b("", !0)
4157
+ V(E)
4158
+ ])) : w("", !0)
4157
4159
  ], 34),
4158
- V(Ue, { name: "wm-scrollDown" }, {
4159
- default: Fe(() => [
4160
+ V(Ne, { name: "wm-scrollDown" }, {
4161
+ default: je(() => [
4160
4162
  a.showScrollDown ? (c(), d("button", {
4161
4163
  key: 0,
4162
4164
  type: "button",
@@ -4178,14 +4180,14 @@ function ri(e, t, n, r, a, s) {
4178
4180
  }, [
4179
4181
  o("path", { d: "M6 9l6 6 6-6" })
4180
4182
  ], -1)
4181
- ])], 8, si)) : b("", !0)
4183
+ ])], 8, ni)) : w("", !0)
4182
4184
  ]),
4183
4185
  _: 1
4184
4186
  })
4185
4187
  ]);
4186
4188
  }
4187
- const ii = /* @__PURE__ */ B(Pr, [["render", ri], ["__scopeId", "data-v-cf20685c"]]), pe = typeof navigator < "u" && !!navigator.mediaDevices && typeof navigator.mediaDevices.getDisplayMedia == "function", Oe = typeof window < "u" && typeof window.MediaRecorder < "u";
4188
- function ai() {
4189
+ const ri = /* @__PURE__ */ P(Pr, [["render", si], ["__scopeId", "data-v-7486891c"]]), pe = typeof navigator < "u" && !!navigator.mediaDevices && typeof navigator.mediaDevices.getDisplayMedia == "function", Oe = typeof window < "u" && typeof window.MediaRecorder < "u";
4190
+ function ii() {
4189
4191
  return Oe && [
4190
4192
  "video/webm;codecs=vp9,opus",
4191
4193
  "video/webm;codecs=vp8,opus",
@@ -4205,10 +4207,10 @@ function $e({ audio: e }) {
4205
4207
  systemAudio: e ? "include" : "exclude"
4206
4208
  };
4207
4209
  }
4208
- function fo(e) {
4210
+ function vo(e) {
4209
4211
  return e ? e.startsWith("image/") ? "image" : e.startsWith("video/") ? "video" : "file" : "file";
4210
4212
  }
4211
- async function oi() {
4213
+ async function ai() {
4212
4214
  if (!pe) return null;
4213
4215
  let e;
4214
4216
  try {
@@ -4219,7 +4221,7 @@ async function oi() {
4219
4221
  return (t == null ? void 0 : t.name) !== "NotAllowedError" && console.error("[media] screenshot picker", t), null;
4220
4222
  }
4221
4223
  try {
4222
- return await li(e);
4224
+ return await oi(e);
4223
4225
  } catch (t) {
4224
4226
  return console.error("[media] screenshot capture", t), null;
4225
4227
  } finally {
@@ -4228,7 +4230,7 @@ async function oi() {
4228
4230
  });
4229
4231
  }
4230
4232
  }
4231
- async function li(e) {
4233
+ async function oi(e) {
4232
4234
  const t = document.createElement("video");
4233
4235
  t.muted = !0, t.playsInline = !0, t.srcObject = e, await t.play(), await new Promise((l) => requestAnimationFrame(l));
4234
4236
  const n = t.videoWidth || 1280, r = t.videoHeight || 720, a = document.createElement("canvas");
@@ -4241,7 +4243,7 @@ async function li(e) {
4241
4243
  }), i = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-").slice(0, 19);
4242
4244
  return new File([s], `capture-${i}.png`, { type: "image/png" });
4243
4245
  }
4244
- async function ci(e = {}) {
4246
+ async function li(e = {}) {
4245
4247
  var k;
4246
4248
  if (!pe || !Oe) return null;
4247
4249
  let t;
@@ -4249,56 +4251,56 @@ async function ci(e = {}) {
4249
4251
  t = await navigator.mediaDevices.getDisplayMedia(
4250
4252
  $e({ audio: !0 })
4251
4253
  );
4252
- } catch (w) {
4253
- return (w == null ? void 0 : w.name) !== "NotAllowedError" && console.error("[media] record picker", w), null;
4254
+ } catch (b) {
4255
+ return (b == null ? void 0 : b.name) !== "NotAllowedError" && console.error("[media] record picker", b), null;
4254
4256
  }
4255
- const n = ai();
4257
+ const n = ii();
4256
4258
  let r;
4257
4259
  try {
4258
4260
  r = n ? new window.MediaRecorder(t, { mimeType: n }) : new window.MediaRecorder(t);
4259
- } catch (w) {
4260
- return console.error("[media] recorder init", w), t.getTracks().forEach((T) => {
4261
+ } catch (b) {
4262
+ return console.error("[media] recorder init", b), t.getTracks().forEach((T) => {
4261
4263
  T.stop();
4262
4264
  }), null;
4263
4265
  }
4264
4266
  const a = [];
4265
4267
  let s = null, i = !1;
4266
- r.addEventListener("dataavailable", (w) => {
4267
- w.data && w.data.size > 0 && a.push(w.data);
4268
+ r.addEventListener("dataavailable", (b) => {
4269
+ b.data && b.data.size > 0 && a.push(b.data);
4268
4270
  }), r.addEventListener("stop", () => {
4269
- var w, T;
4270
- if (s && clearInterval(s), t.getTracks().forEach((I) => {
4271
- I.stop();
4271
+ var b, T;
4272
+ if (s && clearInterval(s), t.getTracks().forEach((E) => {
4273
+ E.stop();
4272
4274
  }), a.length) {
4273
- const I = r.mimeType || n || "video/webm", A = new Blob(a, { type: I }), q = /mp4/.test(I) ? "mp4" : "webm", M = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-").slice(0, 19), N = new File([A], `ecran-${M}.${q}`, {
4274
- type: I
4275
+ const E = r.mimeType || n || "video/webm", A = new Blob(a, { type: E }), q = /mp4/.test(E) ? "mp4" : "webm", M = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-").slice(0, 19), D = new File([A], `ecran-${M}.${q}`, {
4276
+ type: E
4275
4277
  });
4276
- (w = e.onfinalize) == null || w.call(e, N);
4278
+ (b = e.onfinalize) == null || b.call(e, D);
4277
4279
  } else
4278
4280
  (T = e.oncancel) == null || T.call(e);
4279
- }), t.getVideoTracks().forEach((w) => {
4280
- w.addEventListener("ended", () => l(), { once: !0 });
4281
+ }), t.getVideoTracks().forEach((b) => {
4282
+ b.addEventListener("ended", () => l(), { once: !0 });
4281
4283
  });
4282
4284
  function l() {
4283
4285
  if (!i && (i = !0, r.state !== "inactive"))
4284
4286
  try {
4285
4287
  r.stop();
4286
- } catch (w) {
4287
- console.error("[media] recorder stop", w);
4288
+ } catch (b) {
4289
+ console.error("[media] recorder stop", b);
4288
4290
  }
4289
4291
  }
4290
4292
  try {
4291
4293
  r.start(1e3);
4292
- } catch (w) {
4293
- return console.error("[media] recorder start", w), t.getTracks().forEach((T) => {
4294
+ } catch (b) {
4295
+ return console.error("[media] recorder start", b), t.getTracks().forEach((T) => {
4294
4296
  T.stop();
4295
4297
  }), null;
4296
4298
  }
4297
4299
  (k = e.onstart) == null || k.call(e);
4298
4300
  const g = Date.now();
4299
4301
  return s = setInterval(() => {
4300
- var w;
4301
- (w = e.ontick) == null || w.call(e, Date.now() - g);
4302
+ var b;
4303
+ (b = e.ontick) == null || b.call(e, Date.now() - g);
4302
4304
  }, 500), {
4303
4305
  stop: l,
4304
4306
  get state() {
@@ -4306,7 +4308,7 @@ async function ci(e = {}) {
4306
4308
  }
4307
4309
  };
4308
4310
  }
4309
- const di = [
4311
+ const ci = [
4310
4312
  {
4311
4313
  action: "file",
4312
4314
  labelKey: "composer.attachFile",
@@ -4322,12 +4324,12 @@ const di = [
4322
4324
  labelKey: "composer.recordScreen",
4323
4325
  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"
4324
4326
  }
4325
- ], ui = {
4327
+ ], di = {
4326
4328
  name: "WmComposer",
4327
4329
  inject: {
4328
4330
  // Translator shared by the Messenger shell; French fallback when
4329
4331
  // the component is used standalone.
4330
- t: { default: () => j() }
4332
+ t: { default: () => F() }
4331
4333
  },
4332
4334
  props: {
4333
4335
  modelValue: { type: String, default: "" },
@@ -4356,7 +4358,7 @@ const di = [
4356
4358
  return !this.disabled && !!this.local.trim();
4357
4359
  },
4358
4360
  attachItems() {
4359
- return di.map((e) => ({
4361
+ return ci.map((e) => ({
4360
4362
  ...e,
4361
4363
  label: this.t(e.labelKey),
4362
4364
  disabled: e.action === "screenshot" && !pe || e.action === "record" && (!pe || !Oe)
@@ -4430,13 +4432,13 @@ const di = [
4430
4432
  },
4431
4433
  async captureScreenshot() {
4432
4434
  if (this.disabled) return;
4433
- const e = await oi();
4435
+ const e = await ai();
4434
4436
  e && this.$emit("attach", e);
4435
4437
  },
4436
4438
  async startRecording() {
4437
4439
  if (this.recording || this.disabled) return;
4438
4440
  this.recordingElapsed = 0;
4439
- const e = await ci({
4441
+ const e = await li({
4440
4442
  onstart: () => {
4441
4443
  this.recording = !0;
4442
4444
  },
@@ -4478,36 +4480,36 @@ const di = [
4478
4480
  !e || !this._vvHandler || (e.removeEventListener("resize", this._vvHandler), e.removeEventListener("scroll", this._vvHandler), this._vvHandler = null);
4479
4481
  }
4480
4482
  }
4481
- }, hi = {
4483
+ }, ui = {
4482
4484
  key: 0,
4483
4485
  class: "wm-rec"
4484
- }, mi = { class: "wm-rec__lbl" }, fi = {
4486
+ }, hi = { class: "wm-rec__lbl" }, mi = {
4485
4487
  key: 1,
4486
4488
  class: "wm-compose__menu",
4487
4489
  role: "menu"
4488
- }, _i = ["disabled", "onClick"], gi = { class: "wm-compose__menuIcon" }, pi = {
4490
+ }, fi = ["disabled", "onClick"], _i = { class: "wm-compose__menuIcon" }, gi = {
4489
4491
  viewBox: "0 0 24 24",
4490
4492
  width: "14",
4491
4493
  height: "14",
4492
4494
  "aria-hidden": "true"
4493
- }, vi = ["d"], yi = ["placeholder", "disabled"], wi = { class: "wm-compose__actions" }, bi = ["title", "aria-label", "disabled"], ki = ["disabled", "aria-label"];
4494
- function Ci(e, t, n, r, a, s) {
4495
+ }, pi = ["d"], vi = ["placeholder", "disabled"], yi = { class: "wm-compose__actions" }, wi = ["title", "aria-label", "disabled"], bi = ["disabled", "aria-label"];
4496
+ function ki(e, t, n, r, a, s) {
4495
4497
  return c(), d("div", {
4496
4498
  class: R(["wm-compose-wrap", { "wm-compose-wrap--sheet": n.displayMode === "sheet" }]),
4497
4499
  style: z(a.kbOffset ? { transform: `translateY(-${a.kbOffset}px)` } : null)
4498
4500
  }, [
4499
- a.recording ? (c(), d("div", hi, [
4501
+ a.recording ? (c(), d("div", ui, [
4500
4502
  t[8] || (t[8] = o("span", {
4501
4503
  class: "wm-rec__dot",
4502
4504
  "aria-hidden": "true"
4503
4505
  }, null, -1)),
4504
- o("span", mi, v(s.t("composer.recording", { time: s.recordingElapsedLabel })), 1),
4506
+ o("span", hi, v(s.t("composer.recording", { time: s.recordingElapsedLabel })), 1),
4505
4507
  o("button", {
4506
4508
  type: "button",
4507
4509
  class: "wm-rec__stop",
4508
4510
  onClick: t[0] || (t[0] = (...i) => s.stopRecording && s.stopRecording(...i))
4509
4511
  }, v(s.t("composer.stop")), 1)
4510
- ])) : b("", !0),
4512
+ ])) : w("", !0),
4511
4513
  o("form", {
4512
4514
  class: R(["wm-compose", { "has-attach": a.attachOpen }]),
4513
4515
  onSubmit: t[7] || (t[7] = J((...i) => s.onSubmit && s.onSubmit(...i), ["prevent"]))
@@ -4523,17 +4525,17 @@ function Ci(e, t, n, r, a, s) {
4523
4525
  key: 0,
4524
4526
  class: "wm-compose__overlay",
4525
4527
  onClick: t[2] || (t[2] = (i) => a.attachOpen = !1)
4526
- })) : b("", !0),
4527
- a.attachOpen ? (c(), d("div", fi, [
4528
- (c(!0), d(L, null, F(s.attachItems, (i) => (c(), d("button", {
4528
+ })) : w("", !0),
4529
+ a.attachOpen ? (c(), d("div", mi, [
4530
+ (c(!0), d(I, null, j(s.attachItems, (i) => (c(), d("button", {
4529
4531
  key: i.action,
4530
4532
  type: "button",
4531
4533
  class: "wm-compose__menuItem",
4532
4534
  disabled: i.disabled,
4533
4535
  onClick: (l) => s.onAttachAction(i.action)
4534
4536
  }, [
4535
- o("span", gi, [
4536
- (c(), d("svg", pi, [
4537
+ o("span", _i, [
4538
+ (c(), d("svg", gi, [
4537
4539
  o("path", {
4538
4540
  d: i.path,
4539
4541
  stroke: "currentColor",
@@ -4541,12 +4543,12 @@ function Ci(e, t, n, r, a, s) {
4541
4543
  "stroke-linecap": "round",
4542
4544
  "stroke-linejoin": "round",
4543
4545
  fill: "none"
4544
- }, null, 8, vi)
4546
+ }, null, 8, pi)
4545
4547
  ]))
4546
4548
  ]),
4547
4549
  o("span", null, v(i.label), 1)
4548
- ], 8, _i))), 128))
4549
- ])) : b("", !0),
4550
+ ], 8, fi))), 128))
4551
+ ])) : w("", !0),
4550
4552
  G(o("textarea", {
4551
4553
  ref: "inputEl",
4552
4554
  "onUpdate:modelValue": t[3] || (t[3] = (i) => a.local = i),
@@ -4556,10 +4558,10 @@ function Ci(e, t, n, r, a, s) {
4556
4558
  disabled: n.disabled,
4557
4559
  onKeydown: t[4] || (t[4] = (...i) => s.onKeydown && s.onKeydown(...i)),
4558
4560
  onInput: t[5] || (t[5] = (...i) => s.autosize && s.autosize(...i))
4559
- }, null, 40, yi), [
4561
+ }, null, 40, vi), [
4560
4562
  [te, a.local]
4561
4563
  ]),
4562
- o("div", wi, [
4564
+ o("div", yi, [
4563
4565
  o("button", {
4564
4566
  type: "button",
4565
4567
  class: R(["wm-compose__icon", { "is-open": a.attachOpen }]),
@@ -4581,7 +4583,7 @@ function Ci(e, t, n, r, a, s) {
4581
4583
  }, [
4582
4584
  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" })
4583
4585
  ], -1)
4584
- ])], 10, bi),
4586
+ ])], 10, wi),
4585
4587
  o("button", {
4586
4588
  type: "submit",
4587
4589
  class: R(["wm-compose__send", { "is-empty": !s.canSend }]),
@@ -4601,12 +4603,12 @@ function Ci(e, t, n, r, a, s) {
4601
4603
  }, [
4602
4604
  o("path", { d: "M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z" })
4603
4605
  ], -1)
4604
- ])], 10, ki)
4606
+ ])], 10, bi)
4605
4607
  ])
4606
4608
  ], 34)
4607
4609
  ], 6);
4608
4610
  }
4609
- const Ai = /* @__PURE__ */ B(ui, [["render", Ci], ["__scopeId", "data-v-01e81a27"]]), Si = {
4611
+ const Ci = /* @__PURE__ */ P(di, [["render", ki], ["__scopeId", "data-v-01e81a27"]]), Ai = {
4610
4612
  name: "WmSuggestionChips",
4611
4613
  props: {
4612
4614
  items: { type: Array, default: () => [] },
@@ -4623,28 +4625,28 @@ const Ai = /* @__PURE__ */ B(ui, [["render", Ci], ["__scopeId", "data-v-01e81a27
4623
4625
  return this.items.map((e) => (e == null ? void 0 : e.label) || (e == null ? void 0 : e.text) || "").join("§");
4624
4626
  }
4625
4627
  }
4626
- }, Mi = ["onClick"];
4627
- function Ti(e, t, n, r, a, s) {
4628
+ }, Si = ["onClick"];
4629
+ function Mi(e, t, n, r, a, s) {
4628
4630
  return n.items.length ? (c(), d("div", {
4629
4631
  key: s.batchKey,
4630
4632
  class: "wm-chips"
4631
4633
  }, [
4632
- (c(!0), d(L, null, F(n.items, (i, l) => (c(), d("button", {
4634
+ (c(!0), d(I, null, j(n.items, (i, l) => (c(), d("button", {
4633
4635
  key: l,
4634
4636
  type: "button",
4635
4637
  class: "wm-chip",
4636
4638
  style: z({ animationDelay: n.baseDelay + l * n.stepDelay + "ms" }),
4637
4639
  onClick: (g) => e.$emit("select", i)
4638
- }, v(i.label), 13, Mi))), 128))
4639
- ])) : b("", !0);
4640
+ }, v(i.label), 13, Si))), 128))
4641
+ ])) : w("", !0);
4640
4642
  }
4641
- const xi = /* @__PURE__ */ B(Si, [["render", Ti], ["__scopeId", "data-v-47ad8085"]]), Oi = {
4643
+ const Ti = /* @__PURE__ */ P(Ai, [["render", Mi], ["__scopeId", "data-v-47ad8085"]]), xi = {
4642
4644
  name: "WmApprovalCard",
4643
4645
  components: { AIAvatar: oe },
4644
4646
  inject: {
4645
4647
  // Translator shared by the Messenger shell; French fallback when
4646
4648
  // the component is used standalone.
4647
- t: { default: () => j() }
4649
+ t: { default: () => F() }
4648
4650
  },
4649
4651
  props: {
4650
4652
  action: { type: String, required: !0 },
@@ -4682,45 +4684,45 @@ const xi = /* @__PURE__ */ B(Si, [["render", Ti], ["__scopeId", "data-v-47ad8085
4682
4684
  return ((e = this.rejectCallback) == null ? void 0 : e.label) || this.t("approval.reject");
4683
4685
  }
4684
4686
  }
4685
- }, Ri = { class: "wm-approval" }, Li = { class: "wm-approval__head" }, Ii = { class: "wm-approval__icon" }, Ei = { class: "wm-approval__main" }, Bi = { class: "wm-approval__title" }, Pi = {
4687
+ }, Oi = { class: "wm-approval" }, Ri = { class: "wm-approval__head" }, Li = { class: "wm-approval__icon" }, Ii = { class: "wm-approval__main" }, Ei = { class: "wm-approval__title" }, Bi = {
4686
4688
  key: 0,
4687
4689
  class: "wm-approval__detail"
4688
- }, Di = { class: "wm-approval__actions" };
4689
- function Ni(e, t, n, r, a, s) {
4690
- const i = E("AIAvatar");
4691
- return c(), d("div", Ri, [
4692
- o("div", Li, [
4693
- o("div", Ii, [
4690
+ }, Pi = { class: "wm-approval__actions" };
4691
+ function Ui(e, t, n, r, a, s) {
4692
+ const i = B("AIAvatar");
4693
+ return c(), d("div", Oi, [
4694
+ o("div", Ri, [
4695
+ o("div", Li, [
4694
4696
  V(i, {
4695
4697
  size: 24,
4696
4698
  name: n.agentName,
4697
4699
  "image-url": n.agentAvatarUrl
4698
4700
  }, null, 8, ["name", "image-url"])
4699
4701
  ]),
4700
- o("div", Ei, [
4701
- o("div", Bi, v(n.action), 1),
4702
- n.detail ? (c(), d("div", Pi, v(n.detail), 1)) : b("", !0)
4702
+ o("div", Ii, [
4703
+ o("div", Ei, v(n.action), 1),
4704
+ n.detail ? (c(), d("div", Bi, v(n.detail), 1)) : w("", !0)
4703
4705
  ])
4704
4706
  ]),
4705
- o("div", Di, [
4707
+ o("div", Pi, [
4706
4708
  s.rejectId ? (c(), d("button", {
4707
4709
  key: 0,
4708
4710
  type: "button",
4709
4711
  class: "wm-approval__btn wm-approval__btn--neutral",
4710
4712
  onClick: t[0] || (t[0] = (l) => e.$emit("callback", s.rejectId))
4711
- }, v(s.rejectLabel), 1)) : b("", !0),
4713
+ }, v(s.rejectLabel), 1)) : w("", !0),
4712
4714
  s.approveId ? (c(), d("button", {
4713
4715
  key: 1,
4714
4716
  type: "button",
4715
4717
  class: "wm-approval__btn wm-approval__btn--primary",
4716
4718
  onClick: t[1] || (t[1] = (l) => e.$emit("callback", s.approveId))
4717
- }, v(s.approveLabel), 1)) : b("", !0)
4719
+ }, v(s.approveLabel), 1)) : w("", !0)
4718
4720
  ])
4719
4721
  ]);
4720
4722
  }
4721
- const Ui = /* @__PURE__ */ B(Oi, [["render", Ni], ["__scopeId", "data-v-a2bed37e"]]);
4722
- let De = 0;
4723
- const Fi = /* @__PURE__ */ new Set([
4723
+ const Di = /* @__PURE__ */ P(xi, [["render", Ui], ["__scopeId", "data-v-a2bed37e"]]);
4724
+ let Ue = 0;
4725
+ const Ni = /* @__PURE__ */ new Set([
4724
4726
  "text",
4725
4727
  "textarea",
4726
4728
  "number",
@@ -4734,7 +4736,7 @@ const Fi = /* @__PURE__ */ new Set([
4734
4736
  inject: {
4735
4737
  // Translator shared by the Messenger shell; French fallback when
4736
4738
  // the component is used standalone.
4737
- t: { default: () => j() }
4739
+ t: { default: () => F() }
4738
4740
  },
4739
4741
  props: {
4740
4742
  form: { type: Object, required: !0 },
@@ -4745,8 +4747,8 @@ const Fi = /* @__PURE__ */ new Set([
4745
4747
  },
4746
4748
  emits: ["submit"],
4747
4749
  data() {
4748
- return De += 1, {
4749
- _uid: De,
4750
+ return Ue += 1, {
4751
+ _uid: Ue,
4750
4752
  values: {},
4751
4753
  busy: !1,
4752
4754
  error: ""
@@ -4758,7 +4760,7 @@ const Fi = /* @__PURE__ */ new Set([
4758
4760
  // douteux.
4759
4761
  normalizedFields() {
4760
4762
  var t;
4761
- return (Array.isArray((t = this.form) == null ? void 0 : t.fields) ? this.form.fields : []).filter((n) => !(!(n != null && n.key) || !(n != null && n.label) || !Fi.has(n == null ? void 0 : n.type) || (n.type === "select" || n.type === "multiselect") && (!Array.isArray(n.options) || n.options.length === 0)));
4763
+ return (Array.isArray((t = this.form) == null ? void 0 : t.fields) ? this.form.fields : []).filter((n) => !(!(n != null && n.key) || !(n != null && n.label) || !Ni.has(n == null ? void 0 : n.type) || (n.type === "select" || n.type === "multiselect") && (!Array.isArray(n.options) || n.options.length === 0)));
4762
4764
  }
4763
4765
  },
4764
4766
  created() {
@@ -4811,54 +4813,54 @@ const Fi = /* @__PURE__ */ new Set([
4811
4813
  }
4812
4814
  }
4813
4815
  }
4814
- }, Hi = { class: "wm-form" }, zi = { class: "wm-form__head" }, qi = { class: "wm-form__icon" }, $i = { class: "wm-form__main" }, Vi = { class: "wm-form__title" }, Ki = {
4816
+ }, Fi = { class: "wm-form" }, Hi = { class: "wm-form__head" }, zi = { class: "wm-form__icon" }, qi = { class: "wm-form__main" }, $i = { class: "wm-form__title" }, Vi = {
4815
4817
  key: 0,
4816
4818
  class: "wm-form__detail"
4817
- }, Wi = ["for"], Gi = {
4819
+ }, Ki = ["for"], Wi = {
4818
4820
  key: 0,
4819
4821
  class: "wm-form__req",
4820
4822
  "aria-hidden": "true"
4821
- }, Yi = ["id", "onUpdate:modelValue", "placeholder", "required", "disabled"], Ji = ["id", "onUpdate:modelValue", "placeholder", "required", "disabled"], Xi = ["id", "onUpdate:modelValue", "placeholder", "required", "disabled"], Qi = ["id", "onUpdate:modelValue", "required", "disabled"], Zi = {
4823
+ }, Gi = ["id", "onUpdate:modelValue", "placeholder", "required", "disabled"], Yi = ["id", "onUpdate:modelValue", "placeholder", "required", "disabled"], Ji = ["id", "onUpdate:modelValue", "placeholder", "required", "disabled"], Xi = ["id", "onUpdate:modelValue", "required", "disabled"], Qi = {
4822
4824
  key: 4,
4823
4825
  class: "wm-form__bool"
4824
- }, ea = ["id", "onUpdate:modelValue", "disabled"], ta = ["id", "onUpdate:modelValue", "required", "disabled"], na = {
4826
+ }, Zi = ["id", "onUpdate:modelValue", "disabled"], ea = ["id", "onUpdate:modelValue", "required", "disabled"], ta = {
4825
4827
  value: "",
4826
4828
  disabled: ""
4827
- }, sa = ["value"], ra = {
4829
+ }, na = ["value"], sa = {
4828
4830
  key: 6,
4829
4831
  class: "wm-form__multi"
4830
- }, ia = ["value", "checked", "disabled", "onChange"], aa = {
4832
+ }, ra = ["value", "checked", "disabled", "onChange"], ia = {
4831
4833
  key: 0,
4832
4834
  class: "wm-form__err"
4833
- }, oa = ["disabled"], la = {
4835
+ }, aa = ["disabled"], oa = {
4834
4836
  key: 0,
4835
4837
  class: "wm-form__spinner",
4836
4838
  "aria-hidden": "true"
4837
- }, ca = {
4839
+ }, la = {
4838
4840
  key: 2,
4839
4841
  class: "wm-form__doneLbl"
4840
4842
  };
4841
- function da(e, t, n, r, a, s) {
4842
- const i = E("AIAvatar");
4843
- return c(), d("div", Hi, [
4844
- o("div", zi, [
4845
- o("div", qi, [
4843
+ function ca(e, t, n, r, a, s) {
4844
+ const i = B("AIAvatar");
4845
+ return c(), d("div", Fi, [
4846
+ o("div", Hi, [
4847
+ o("div", zi, [
4846
4848
  V(i, {
4847
4849
  size: 24,
4848
4850
  name: n.agentName,
4849
4851
  "image-url": n.agentAvatarUrl
4850
4852
  }, null, 8, ["name", "image-url"])
4851
4853
  ]),
4852
- o("div", $i, [
4853
- o("div", Vi, v(n.form.title || s.t("form.title")), 1),
4854
- n.form.description ? (c(), d("div", Ki, v(n.form.description), 1)) : b("", !0)
4854
+ o("div", qi, [
4855
+ o("div", $i, v(n.form.title || s.t("form.title")), 1),
4856
+ n.form.description ? (c(), d("div", Vi, v(n.form.description), 1)) : w("", !0)
4855
4857
  ])
4856
4858
  ]),
4857
4859
  o("form", {
4858
4860
  class: "wm-form__body",
4859
4861
  onSubmit: t[0] || (t[0] = J((...l) => s.onSubmit && s.onSubmit(...l), ["prevent"]))
4860
4862
  }, [
4861
- (c(!0), d(L, null, F(s.normalizedFields, (l) => (c(), d("div", {
4863
+ (c(!0), d(I, null, j(s.normalizedFields, (l) => (c(), d("div", {
4862
4864
  key: l.key,
4863
4865
  class: "wm-form__field"
4864
4866
  }, [
@@ -4867,8 +4869,8 @@ function da(e, t, n, r, a, s) {
4867
4869
  class: "wm-form__label"
4868
4870
  }, [
4869
4871
  Se(v(l.label), 1),
4870
- l.required ? (c(), d("span", Gi, "*")) : b("", !0)
4871
- ], 8, Wi),
4872
+ l.required ? (c(), d("span", Wi, "*")) : w("", !0)
4873
+ ], 8, Ki),
4872
4874
  l.type === "text" ? G((c(), d("input", {
4873
4875
  key: 0,
4874
4876
  id: `wm-f-${a._uid}-${l.key}`,
@@ -4878,7 +4880,7 @@ function da(e, t, n, r, a, s) {
4878
4880
  placeholder: l.placeholder || "",
4879
4881
  required: l.required,
4880
4882
  disabled: n.readOnly || a.busy
4881
- }, null, 8, Yi)), [
4883
+ }, null, 8, Gi)), [
4882
4884
  [te, a.values[l.key]]
4883
4885
  ]) : l.type === "textarea" ? G((c(), d("textarea", {
4884
4886
  key: 1,
@@ -4889,7 +4891,7 @@ function da(e, t, n, r, a, s) {
4889
4891
  placeholder: l.placeholder || "",
4890
4892
  required: l.required,
4891
4893
  disabled: n.readOnly || a.busy
4892
- }, null, 8, Ji)), [
4894
+ }, null, 8, Yi)), [
4893
4895
  [te, a.values[l.key]]
4894
4896
  ]) : l.type === "number" ? G((c(), d("input", {
4895
4897
  key: 2,
@@ -4900,7 +4902,7 @@ function da(e, t, n, r, a, s) {
4900
4902
  placeholder: l.placeholder || "",
4901
4903
  required: l.required,
4902
4904
  disabled: n.readOnly || a.busy
4903
- }, null, 8, Xi)), [
4905
+ }, null, 8, Ji)), [
4904
4906
  [
4905
4907
  te,
4906
4908
  a.values[l.key],
@@ -4915,15 +4917,15 @@ function da(e, t, n, r, a, s) {
4915
4917
  class: "wm-form__input",
4916
4918
  required: l.required,
4917
4919
  disabled: n.readOnly || a.busy
4918
- }, null, 8, Qi)), [
4920
+ }, null, 8, Xi)), [
4919
4921
  [te, a.values[l.key]]
4920
- ]) : l.type === "boolean" ? (c(), d("label", Zi, [
4922
+ ]) : l.type === "boolean" ? (c(), d("label", Qi, [
4921
4923
  G(o("input", {
4922
4924
  id: `wm-f-${a._uid}-${l.key}`,
4923
4925
  "onUpdate:modelValue": (g) => a.values[l.key] = g,
4924
4926
  type: "checkbox",
4925
4927
  disabled: n.readOnly || a.busy
4926
- }, null, 8, ea), [
4928
+ }, null, 8, Zi), [
4927
4929
  [We, a.values[l.key]]
4928
4930
  ]),
4929
4931
  o("span", null, v(l.placeholder || s.t("common.yes")), 1)
@@ -4935,15 +4937,15 @@ function da(e, t, n, r, a, s) {
4935
4937
  required: l.required,
4936
4938
  disabled: n.readOnly || a.busy
4937
4939
  }, [
4938
- o("option", na, v(l.placeholder || s.t("form.choose")), 1),
4939
- (c(!0), d(L, null, F(l.options, (g) => (c(), d("option", {
4940
+ o("option", ta, v(l.placeholder || s.t("form.choose")), 1),
4941
+ (c(!0), d(I, null, j(l.options, (g) => (c(), d("option", {
4940
4942
  key: g.value,
4941
4943
  value: g.value
4942
- }, v(g.label), 9, sa))), 128))
4943
- ], 8, ta)), [
4944
+ }, v(g.label), 9, na))), 128))
4945
+ ], 8, ea)), [
4944
4946
  [Ge, a.values[l.key]]
4945
- ]) : l.type === "multiselect" ? (c(), d("div", ra, [
4946
- (c(!0), d(L, null, F(l.options, (g) => (c(), d("label", {
4947
+ ]) : l.type === "multiselect" ? (c(), d("div", sa, [
4948
+ (c(!0), d(I, null, j(l.options, (g) => (c(), d("label", {
4947
4949
  key: g.value,
4948
4950
  class: "wm-form__multiItem"
4949
4951
  }, [
@@ -4957,30 +4959,30 @@ function da(e, t, n, r, a, s) {
4957
4959
  g.value,
4958
4960
  k.target.checked
4959
4961
  )
4960
- }, null, 40, ia),
4962
+ }, null, 40, ra),
4961
4963
  o("span", null, v(g.label), 1)
4962
4964
  ]))), 128))
4963
- ])) : b("", !0)
4965
+ ])) : w("", !0)
4964
4966
  ]))), 128)),
4965
- a.error ? (c(), d("div", aa, v(a.error), 1)) : b("", !0),
4966
- n.readOnly ? (c(), d("div", ca, v(s.t("form.responseSent")), 1)) : (c(), d("button", {
4967
+ a.error ? (c(), d("div", ia, v(a.error), 1)) : w("", !0),
4968
+ n.readOnly ? (c(), d("div", la, v(s.t("form.responseSent")), 1)) : (c(), d("button", {
4967
4969
  key: 1,
4968
4970
  type: "submit",
4969
4971
  class: "wm-form__submit",
4970
4972
  disabled: a.busy
4971
4973
  }, [
4972
- a.busy ? (c(), d("span", la)) : b("", !0),
4974
+ a.busy ? (c(), d("span", oa)) : w("", !0),
4973
4975
  o("span", null, v(a.busy ? s.t("common.sending") : n.form.submit_label || s.t("common.send")), 1)
4974
- ], 8, oa))
4976
+ ], 8, aa))
4975
4977
  ], 32)
4976
4978
  ]);
4977
4979
  }
4978
- const ua = /* @__PURE__ */ B(ji, [["render", da], ["__scopeId", "data-v-fe65cc56"]]), ha = {
4980
+ const da = /* @__PURE__ */ P(ji, [["render", ca], ["__scopeId", "data-v-fe65cc56"]]), ua = {
4979
4981
  name: "WmFeedback",
4980
4982
  inject: {
4981
4983
  // Translator shared by the Messenger shell; French fallback when
4982
4984
  // the component is used standalone.
4983
- t: { default: () => j() }
4985
+ t: { default: () => F() }
4984
4986
  },
4985
4987
  props: {
4986
4988
  busy: { type: Boolean, default: !1 },
@@ -5009,13 +5011,13 @@ const ua = /* @__PURE__ */ B(ji, [["render", da], ["__scopeId", "data-v-fe65cc56
5009
5011
  !this.sel || this.busy || this.$emit("submit", { rating: this.sel });
5010
5012
  }
5011
5013
  }
5012
- }, ma = { class: "wm-fb" }, fa = { class: "wm-fb__title" }, _a = { class: "wm-fb__sub" }, ga = { class: "wm-fb__row" }, pa = ["onClick"], va = { class: "wm-fb__emoji" }, ya = { class: "wm-fb__label" }, wa = ["disabled"], ba = {
5014
+ }, ha = { class: "wm-fb" }, ma = { class: "wm-fb__title" }, fa = { class: "wm-fb__sub" }, _a = { class: "wm-fb__row" }, ga = ["onClick"], pa = { class: "wm-fb__emoji" }, va = { class: "wm-fb__label" }, ya = ["disabled"], wa = {
5013
5015
  key: 1,
5014
5016
  class: "wm-fb__done"
5015
- }, ka = { class: "wm-fb__doneTitle" }, Ca = { class: "wm-fb__doneSub" };
5016
- function Aa(e, t, n, r, a, s) {
5017
- return c(), d("div", ma, [
5018
- n.done ? (c(), d("div", ba, [
5017
+ }, ba = { class: "wm-fb__doneTitle" }, ka = { class: "wm-fb__doneSub" };
5018
+ function Ca(e, t, n, r, a, s) {
5019
+ return c(), d("div", ha, [
5020
+ n.done ? (c(), d("div", wa, [
5019
5021
  t[1] || (t[1] = o("div", { class: "wm-fb__check" }, [
5020
5022
  o("svg", {
5021
5023
  width: "16",
@@ -5031,37 +5033,37 @@ function Aa(e, t, n, r, a, s) {
5031
5033
  o("path", { d: "M20 6L9 17l-5-5" })
5032
5034
  ])
5033
5035
  ], -1)),
5034
- o("div", ka, v(s.t("feedback.doneTitle")), 1),
5035
- o("div", Ca, v(s.t("feedback.doneSubtitle")), 1)
5036
- ])) : (c(), d(L, { key: 0 }, [
5037
- o("div", fa, v(s.t("feedback.question")), 1),
5038
- o("div", _a, v(s.t("feedback.subtitle")), 1),
5039
- o("div", ga, [
5040
- (c(!0), d(L, null, F(s.options, (i) => (c(), d("button", {
5036
+ o("div", ba, v(s.t("feedback.doneTitle")), 1),
5037
+ o("div", ka, v(s.t("feedback.doneSubtitle")), 1)
5038
+ ])) : (c(), d(I, { key: 0 }, [
5039
+ o("div", ma, v(s.t("feedback.question")), 1),
5040
+ o("div", fa, v(s.t("feedback.subtitle")), 1),
5041
+ o("div", _a, [
5042
+ (c(!0), d(I, null, j(s.options, (i) => (c(), d("button", {
5041
5043
  key: i.v,
5042
5044
  type: "button",
5043
5045
  class: R(["wm-fb__opt", { "is-selected": a.sel === i.v }]),
5044
5046
  onClick: (l) => a.sel = i.v
5045
5047
  }, [
5046
- o("span", va, v(i.e), 1),
5047
- o("span", ya, v(i.l), 1)
5048
- ], 10, pa))), 128))
5048
+ o("span", pa, v(i.e), 1),
5049
+ o("span", va, v(i.l), 1)
5050
+ ], 10, ga))), 128))
5049
5051
  ]),
5050
5052
  o("button", {
5051
5053
  type: "button",
5052
5054
  class: "wm-fb__send",
5053
5055
  disabled: !a.sel || n.busy,
5054
5056
  onClick: t[0] || (t[0] = (...i) => s.onSend && s.onSend(...i))
5055
- }, v(n.busy ? s.t("common.sending") : s.t("feedback.submit")), 9, wa)
5057
+ }, v(n.busy ? s.t("common.sending") : s.t("feedback.submit")), 9, ya)
5056
5058
  ], 64))
5057
5059
  ]);
5058
5060
  }
5059
- const Sa = /* @__PURE__ */ B(ha, [["render", Aa], ["__scopeId", "data-v-9b630564"]]), Ma = {
5061
+ const Aa = /* @__PURE__ */ P(ua, [["render", Ca], ["__scopeId", "data-v-9b630564"]]), Sa = {
5060
5062
  name: "WmMoreMenu",
5061
5063
  inject: {
5062
5064
  // Translator shared by the Messenger shell; French fallback when
5063
5065
  // the component is used standalone.
5064
- t: { default: () => j() }
5066
+ t: { default: () => F() }
5065
5067
  },
5066
5068
  props: {
5067
5069
  canRename: { type: Boolean, default: !0 },
@@ -5091,24 +5093,24 @@ const Sa = /* @__PURE__ */ B(ha, [["render", Aa], ["__scopeId", "data-v-9b630564
5091
5093
  this.soundOn = !this.soundOn, this.$emit("sound-toggle", this.soundOn);
5092
5094
  }
5093
5095
  }
5094
- }, Ta = { class: "wm-mm" }, xa = {
5096
+ }, Ma = { class: "wm-mm" }, Ta = {
5095
5097
  class: "wm-mm__pop",
5096
5098
  role: "menu"
5097
- }, Oa = {
5099
+ }, xa = {
5098
5100
  key: 0,
5099
5101
  class: "wm-mm__section"
5100
- }, Ra = { class: "wm-mm__label" }, La = { class: "wm-mm__label" }, Ia = {
5102
+ }, Oa = { class: "wm-mm__label" }, Ra = { class: "wm-mm__label" }, La = {
5101
5103
  key: 1,
5102
5104
  class: "wm-mm__sep"
5103
- }, Ea = { class: "wm-mm__section" }, Ba = { class: "wm-mm__label" }, Pa = { class: "wm-mm__section" }, Da = { class: "wm-mm__label" }, Na = { class: "wm-mm__label" };
5104
- function Ua(e, t, n, r, a, s) {
5105
- return c(), d("div", Ta, [
5105
+ }, Ia = { class: "wm-mm__section" }, Ea = { class: "wm-mm__label" }, Ba = { class: "wm-mm__section" }, Pa = { class: "wm-mm__label" }, Ua = { class: "wm-mm__label" };
5106
+ function Da(e, t, n, r, a, s) {
5107
+ return c(), d("div", Ma, [
5106
5108
  o("div", {
5107
5109
  class: "wm-mm__scrim",
5108
5110
  onClick: t[0] || (t[0] = (i) => e.$emit("close"))
5109
5111
  }),
5110
- o("div", xa, [
5111
- n.canRename || n.canExport ? (c(), d("div", Oa, [
5112
+ o("div", Ta, [
5113
+ n.canRename || n.canExport ? (c(), d("div", xa, [
5112
5114
  n.canRename ? (c(), d("button", {
5113
5115
  key: 0,
5114
5116
  type: "button",
@@ -5131,8 +5133,8 @@ function Ua(e, t, n, r, a, s) {
5131
5133
  o("path", { d: "M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z" })
5132
5134
  ])
5133
5135
  ], -1)),
5134
- o("span", Ra, v(s.t("moreMenu.editTitle")), 1)
5135
- ])) : b("", !0),
5136
+ o("span", Oa, v(s.t("moreMenu.editTitle")), 1)
5137
+ ])) : w("", !0),
5136
5138
  n.canExport ? (c(), d("button", {
5137
5139
  key: 1,
5138
5140
  type: "button",
@@ -5154,12 +5156,12 @@ function Ua(e, t, n, r, a, s) {
5154
5156
  o("path", { d: "M4 12v8a2 2 0 002 2h12a2 2 0 002-2v-8M16 6l-4-4-4 4M12 2v13" })
5155
5157
  ])
5156
5158
  ], -1)),
5157
- o("span", La, v(s.t("moreMenu.exportTranscript")), 1),
5159
+ o("span", Ra, v(s.t("moreMenu.exportTranscript")), 1),
5158
5160
  t[8] || (t[8] = o("span", { class: "wm-mm__hint" }, ".txt", -1))
5159
- ])) : b("", !0)
5160
- ])) : b("", !0),
5161
- n.canRename || n.canExport ? (c(), d("div", Ia)) : b("", !0),
5162
- o("div", Ea, [
5161
+ ])) : w("", !0)
5162
+ ])) : w("", !0),
5163
+ n.canRename || n.canExport ? (c(), d("div", La)) : w("", !0),
5164
+ o("div", Ia, [
5163
5165
  o("button", {
5164
5166
  type: "button",
5165
5167
  class: "wm-mm__item",
@@ -5181,7 +5183,7 @@ function Ua(e, t, n, r, a, s) {
5181
5183
  o("path", { d: "M15.54 8.46a5 5 0 010 7.07M19.07 4.93a10 10 0 010 14.14" })
5182
5184
  ])
5183
5185
  ], -1)),
5184
- o("span", Ba, v(s.t("moreMenu.sound")), 1),
5186
+ o("span", Ea, v(s.t("moreMenu.sound")), 1),
5185
5187
  o("span", {
5186
5188
  class: R(["wm-mm__toggle", { "wm-mm__toggle--on": a.soundOn }])
5187
5189
  }, [...t[9] || (t[9] = [
@@ -5190,7 +5192,7 @@ function Ua(e, t, n, r, a, s) {
5190
5192
  ])
5191
5193
  ]),
5192
5194
  t[13] || (t[13] = o("div", { class: "wm-mm__sep" }, null, -1)),
5193
- o("div", Pa, [
5195
+ o("div", Ba, [
5194
5196
  n.statusUrl ? (c(), d("button", {
5195
5197
  key: 0,
5196
5198
  type: "button",
@@ -5212,8 +5214,8 @@ function Ua(e, t, n, r, a, s) {
5212
5214
  o("path", { d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zM10 6v4l3 2" })
5213
5215
  ])
5214
5216
  ], -1)),
5215
- o("span", Da, v(s.t("moreMenu.serviceStatus")), 1)
5216
- ])) : b("", !0),
5217
+ o("span", Pa, v(s.t("moreMenu.serviceStatus")), 1)
5218
+ ])) : w("", !0),
5217
5219
  n.helpUrl ? (c(), d("button", {
5218
5220
  key: 1,
5219
5221
  type: "button",
@@ -5235,18 +5237,18 @@ function Ua(e, t, n, r, a, s) {
5235
5237
  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" })
5236
5238
  ])
5237
5239
  ], -1)),
5238
- o("span", Na, v(s.t("moreMenu.helpCenter")), 1)
5239
- ])) : b("", !0)
5240
+ o("span", Ua, v(s.t("moreMenu.helpCenter")), 1)
5241
+ ])) : w("", !0)
5240
5242
  ])
5241
5243
  ])
5242
5244
  ]);
5243
5245
  }
5244
- const Fa = /* @__PURE__ */ B(Ma, [["render", Ua], ["__scopeId", "data-v-4cf6d578"]]), ja = {
5246
+ const Na = /* @__PURE__ */ P(Sa, [["render", Da], ["__scopeId", "data-v-4cf6d578"]]), ja = {
5245
5247
  name: "WmRenameDialog",
5246
5248
  inject: {
5247
5249
  // Translator shared by the Messenger shell; French fallback when
5248
5250
  // the component is used standalone.
5249
- t: { default: () => j() }
5251
+ t: { default: () => F() }
5250
5252
  },
5251
5253
  props: {
5252
5254
  // Empty defaults: the resolved fallback comes from the translator
@@ -5283,20 +5285,20 @@ const Fa = /* @__PURE__ */ B(Ma, [["render", Ua], ["__scopeId", "data-v-4cf6d578
5283
5285
  this.canSubmit && this.$emit("submit", this.value.trim());
5284
5286
  }
5285
5287
  }
5286
- }, Ha = { class: "wm-dialog" }, za = {
5288
+ }, Fa = { class: "wm-dialog" }, Ha = {
5287
5289
  class: "wm-dialog__card",
5288
5290
  role: "dialog",
5289
5291
  "aria-modal": "true"
5290
- }, qa = { class: "wm-dialog__head" }, $a = { class: "wm-dialog__title" }, Va = ["aria-label"], Ka = { class: "wm-dialog__body" }, Wa = ["placeholder"], Ga = { class: "wm-dialog__actions" }, Ya = ["disabled"];
5291
- function Ja(e, t, n, r, a, s) {
5292
- return c(), d("div", Ha, [
5292
+ }, za = { class: "wm-dialog__head" }, qa = { class: "wm-dialog__title" }, $a = ["aria-label"], Va = { class: "wm-dialog__body" }, Ka = ["placeholder"], Wa = { class: "wm-dialog__actions" }, Ga = ["disabled"];
5293
+ function Ya(e, t, n, r, a, s) {
5294
+ return c(), d("div", Fa, [
5293
5295
  o("div", {
5294
5296
  class: "wm-dialog__scrim",
5295
5297
  onClick: t[0] || (t[0] = (i) => e.$emit("close"))
5296
5298
  }),
5297
- o("div", za, [
5298
- o("div", qa, [
5299
- o("div", $a, v(n.title || s.t("rename.title")), 1),
5299
+ o("div", Ha, [
5300
+ o("div", za, [
5301
+ o("div", qa, v(n.title || s.t("rename.title")), 1),
5300
5302
  o("button", {
5301
5303
  type: "button",
5302
5304
  class: "wm-dialog__close",
@@ -5316,9 +5318,9 @@ function Ja(e, t, n, r, a, s) {
5316
5318
  }, [
5317
5319
  o("path", { d: "M18 6L6 18M6 6l12 12" })
5318
5320
  ], -1)
5319
- ])], 8, Va)
5321
+ ])], 8, $a)
5320
5322
  ]),
5321
- o("div", Ka, [
5323
+ o("div", Va, [
5322
5324
  G(o("input", {
5323
5325
  ref: "input",
5324
5326
  "onUpdate:modelValue": t[2] || (t[2] = (i) => a.value = i),
@@ -5330,11 +5332,11 @@ function Ja(e, t, n, r, a, s) {
5330
5332
  t[3] || (t[3] = ge(J((...i) => s.onSubmit && s.onSubmit(...i), ["prevent"]), ["enter"])),
5331
5333
  t[4] || (t[4] = ge(J((i) => e.$emit("close"), ["prevent"]), ["esc"]))
5332
5334
  ]
5333
- }, null, 40, Wa), [
5335
+ }, null, 40, Ka), [
5334
5336
  [te, a.value]
5335
5337
  ])
5336
5338
  ]),
5337
- o("div", Ga, [
5339
+ o("div", Wa, [
5338
5340
  o("button", {
5339
5341
  type: "button",
5340
5342
  class: "wm-dialog__btn",
@@ -5345,26 +5347,26 @@ function Ja(e, t, n, r, a, s) {
5345
5347
  class: "wm-dialog__btn wm-dialog__btn--primary",
5346
5348
  disabled: !s.canSubmit,
5347
5349
  onClick: t[6] || (t[6] = (...i) => s.onSubmit && s.onSubmit(...i))
5348
- }, v(s.t("common.save")), 9, Ya)
5350
+ }, v(s.t("common.save")), 9, Ga)
5349
5351
  ])
5350
5352
  ])
5351
5353
  ]);
5352
5354
  }
5353
- const Xa = /* @__PURE__ */ B(ja, [["render", Ja], ["__scopeId", "data-v-6d5f94a8"]]), Ne = "ww-messenger-tokens", Qa = {
5355
+ const Ja = /* @__PURE__ */ P(ja, [["render", Ya], ["__scopeId", "data-v-6d5f94a8"]]), De = "ww-messenger-tokens", Xa = {
5354
5356
  name: "Messenger",
5355
5357
  components: {
5356
5358
  Launcher: qt,
5357
5359
  Header: _n,
5358
5360
  Onboarding: Jn,
5359
5361
  History: hs,
5360
- MessageList: ii,
5361
- Composer: Ai,
5362
- SuggestionChips: xi,
5363
- ApprovalCard: Ui,
5364
- FormCard: ua,
5365
- Feedback: Sa,
5366
- MoreMenu: Fa,
5367
- RenameDialog: Xa
5362
+ MessageList: ri,
5363
+ Composer: Ci,
5364
+ SuggestionChips: Ti,
5365
+ ApprovalCard: Di,
5366
+ FormCard: da,
5367
+ Feedback: Aa,
5368
+ MoreMenu: Na,
5369
+ RenameDialog: Ja
5368
5370
  },
5369
5371
  mixins: [
5370
5372
  yt,
@@ -5541,7 +5543,7 @@ const Xa = /* @__PURE__ */ B(ja, [["render", Ja], ["__scopeId", "data-v-6d5f94a8
5541
5543
  // `locale` changes. `t()` below (and the provided closure) delegate
5542
5544
  // to it so every string resolves against the current language.
5543
5545
  translator() {
5544
- return j(this.locale);
5546
+ return F(this.locale);
5545
5547
  },
5546
5548
  error() {
5547
5549
  var e;
@@ -5575,22 +5577,22 @@ const Xa = /* @__PURE__ */ B(ja, [["render", Ja], ["__scopeId", "data-v-6d5f94a8
5575
5577
  var k;
5576
5578
  const a = e[r.id] || [], s = Y(r.last_read_message_id);
5577
5579
  let i = 0, l = null;
5578
- for (let w = a.length - 1; w >= 0; w--) {
5579
- const T = a[w];
5580
+ for (let b = a.length - 1; b >= 0; b--) {
5581
+ const T = a[b];
5580
5582
  if (!T) continue;
5581
5583
  if (((k = T.author) == null ? void 0 : k.type) === "user") break;
5582
- const I = Y(T.id);
5583
- if (I != null) {
5584
- if (s != null && I <= s) break;
5584
+ const E = Y(T.id);
5585
+ if (E != null) {
5586
+ if (s != null && E <= s) break;
5585
5587
  t[T.id] !== 0 && (!l && T.author && (l = T.author), i++);
5586
5588
  }
5587
5589
  }
5588
5590
  if (!a.length) {
5589
- const w = Y(r.last_message_id);
5590
- w != null && (s == null || w > s) && (i = 1, l = r.last_message_author || null);
5591
+ const b = Y(r.last_message_id);
5592
+ b != null && (s == null || b > s) && (i = 1, l = r.last_message_author || null);
5591
5593
  }
5592
5594
  const g = a.filter(
5593
- (w) => !((w == null ? void 0 : w.id) != null && t[w.id] === 0)
5595
+ (b) => !((b == null ? void 0 : b.id) != null && t[b.id] === 0)
5594
5596
  );
5595
5597
  return {
5596
5598
  ...r,
@@ -5797,8 +5799,8 @@ const Xa = /* @__PURE__ */ B(ja, [["render", Ja], ["__scopeId", "data-v-6d5f94a8
5797
5799
  if (!(i != null && i.loaded)) return t;
5798
5800
  }
5799
5801
  const n = this.revealedAt, r = (this.s.messagesByConv[e.id] || []).filter((i) => {
5800
- var l, g, k, w, T;
5801
- return (i == null ? void 0 : i.type) === "action" && ((l = i == null ? void 0 : i.payload) == null ? void 0 : l.state) === "pending" || he(i) && !(n[i.id] > 0) ? !1 : (i == null ? void 0 : i.type) === "action" || (i == null ? void 0 : i.type) === "system" || ((g = i == null ? void 0 : i.payload) == null ? void 0 : g.type) === "system" || Array.isArray((k = i == null ? void 0 : i.payload) == null ? void 0 : k.attachments) && i.payload.attachments.length || (w = i == null ? void 0 : i.metadata) != null && w.artifact || (T = i == null ? void 0 : i.metadata) != null && T.form ? !0 : typeof (i == null ? void 0 : i.text_md) == "string" && i.text_md.trim().length > 0;
5802
+ var l, g, k, b, T;
5803
+ return (i == null ? void 0 : i.type) === "action" && ((l = i == null ? void 0 : i.payload) == null ? void 0 : l.state) === "pending" || he(i) && !(n[i.id] > 0) ? !1 : (i == null ? void 0 : i.type) === "action" || (i == null ? void 0 : i.type) === "system" || ((g = i == null ? void 0 : i.payload) == null ? void 0 : g.type) === "system" || Array.isArray((k = i == null ? void 0 : i.payload) == null ? void 0 : k.attachments) && i.payload.attachments.length || (b = i == null ? void 0 : i.metadata) != null && b.artifact || (T = i == null ? void 0 : i.metadata) != null && T.form ? !0 : typeof (i == null ? void 0 : i.text_md) == "string" && i.text_md.trim().length > 0;
5802
5804
  });
5803
5805
  return t.length ? [...t, ...r] : r;
5804
5806
  },
@@ -5842,7 +5844,7 @@ const Xa = /* @__PURE__ */ B(ja, [["render", Ja], ["__scopeId", "data-v-6d5f94a8
5842
5844
  const t = (g = (l = (i = this.pendingApproval) == null ? void 0 : i.payload) == null ? void 0 : l.pending) == null ? void 0 : g.prepared_params;
5843
5845
  if (!t || typeof t != "object") return "";
5844
5846
  const n = Object.entries(t);
5845
- return n.length ? n.slice(0, 2).map(([k, w]) => `${k}: ${w}`).join(" · ") : "";
5847
+ return n.length ? n.slice(0, 2).map(([k, b]) => `${k}: ${b}`).join(" · ") : "";
5846
5848
  },
5847
5849
  actionInFlight() {
5848
5850
  var e, t;
@@ -6024,9 +6026,9 @@ const Xa = /* @__PURE__ */ B(ja, [["render", Ja], ["__scopeId", "data-v-6d5f94a8
6024
6026
  }
6025
6027
  },
6026
6028
  async mounted() {
6027
- if (typeof document < "u" && !document.getElementById(Ne)) {
6029
+ if (typeof document < "u" && !document.getElementById(De)) {
6028
6030
  const e = document.createElement("style");
6029
- e.id = Ne, e.textContent = rt, document.head.appendChild(e);
6031
+ e.id = De, e.textContent = rt, document.head.appendChild(e);
6030
6032
  }
6031
6033
  this._parentMessageHandler = this.onParentMessage.bind(this), window.addEventListener("message", this._parentMessageHandler), window.parent && window.parent !== window && window.parent.postMessage({ type: "READY" }, "*"), this.isEmbedded ? (await this.boot(), this.store && await this.open()) : (await this.$nextTick(), this.sendCurrentLauncherSize(), this.observeLauncherSize());
6032
6034
  },
@@ -6116,7 +6118,14 @@ const Xa = /* @__PURE__ */ B(ja, [["render", Ja], ["__scopeId", "data-v-6d5f94a8
6116
6118
  }
6117
6119
  },
6118
6120
  async refresh() {
6119
- this.store && this.store.destroy(), this.cancelReveals(), this.cancelWelcomeTimers(), this.welcomeRevealedAt = {}, this.teardownLiveReveal(), this.teardownNotifications(), this.convOpenedAt = 0, this.transport = null, this.store = null, this.isOpen = !1, this.draft = "", this.busy = !1, this.bootError = null, this.pendingAttachments = [], this.feedbackBusy = !1, this.feedbackDone = !1, this.moreOpen = !1, this.renameDialogOpen = !1, this.draftConv = null, this.activeConvId = null, this.showOnboarding = !1, this.showHistory = !1, this.backToHistory = !1, await this.boot(), this.isEmbedded && this.store && await this.open();
6121
+ this.store && this.store.destroy(), this.cancelReveals(), this.cancelWelcomeTimers(), this.welcomeRevealedAt = {}, this.teardownLiveReveal(), this.teardownNotifications(), this.convOpenedAt = 0, this.transport = null, this.store = null, this.isOpen = !1, this.draft = "", this.busy = !1, this.bootError = null;
6122
+ for (const e of this.pendingAttachments)
6123
+ if (e != null && e._previewUrl)
6124
+ try {
6125
+ URL.revokeObjectURL(e._previewUrl);
6126
+ } catch {
6127
+ }
6128
+ this.pendingAttachments = [], this.feedbackBusy = !1, this.feedbackDone = !1, this.moreOpen = !1, this.renameDialogOpen = !1, this.draftConv = null, this.activeConvId = null, this.showOnboarding = !1, this.showHistory = !1, this.backToHistory = !1, await this.boot(), this.isEmbedded && this.store && await this.open();
6120
6129
  },
6121
6130
  // ── Float overlay measurement ────────────────────────────────────
6122
6131
  syncFloatObserver(e) {
@@ -6192,21 +6201,21 @@ const Xa = /* @__PURE__ */ B(ja, [["render", Ja], ["__scopeId", "data-v-6d5f94a8
6192
6201
  this.launcherHovered = e, this.sendCurrentLauncherSize();
6193
6202
  },
6194
6203
  sendCurrentLauncherSize() {
6195
- var w, T, I, A, q, M, N;
6204
+ var b, T, E, A, q, M, D;
6196
6205
  if (this.isOpen) return;
6197
- const e = (T = (w = this.$el) == null ? void 0 : w.querySelector) == null ? void 0 : T.call(w, ".wm-launcherWrap");
6206
+ const e = (T = (b = this.$el) == null ? void 0 : b.querySelector) == null ? void 0 : T.call(b, ".wm-launcherWrap");
6198
6207
  if (!e) return;
6199
6208
  const t = e.getBoundingClientRect();
6200
6209
  if (!t.width || !t.height) return;
6201
- const n = (((I = this.launcherPeeks) == null ? void 0 : I.length) ?? 0) > 0, r = 16, a = Math.ceil(t.width), s = Math.ceil(t.height), i = (q = (A = this.$el) == null ? void 0 : A.querySelector) == null ? void 0 : q.call(A, ".wm-launcher"), l = (N = (M = this.$el) == null ? void 0 : M.querySelectorAll) == null ? void 0 : N.call(M, ".wm-peek"), g = l && l.length ? l[l.length - 1] : null;
6210
+ const n = (((E = this.launcherPeeks) == null ? void 0 : E.length) ?? 0) > 0, r = 16, a = Math.ceil(t.width), s = Math.ceil(t.height), i = (q = (A = this.$el) == null ? void 0 : A.querySelector) == null ? void 0 : q.call(A, ".wm-launcher"), l = (D = (M = this.$el) == null ? void 0 : M.querySelectorAll) == null ? void 0 : D.call(M, ".wm-peek"), g = l && l.length ? l[l.length - 1] : null;
6202
6211
  let k = null;
6203
6212
  if (g) {
6204
- const U = g.getBoundingClientRect();
6213
+ const N = g.getBoundingClientRect();
6205
6214
  k = {
6206
- width: Math.ceil(U.width),
6207
- height: Math.ceil(U.height),
6208
- rightOffset: Math.max(0, Math.ceil(t.right - U.right)),
6209
- bottomOffset: Math.max(0, Math.ceil(t.bottom - U.bottom))
6215
+ width: Math.ceil(N.width),
6216
+ height: Math.ceil(N.height),
6217
+ rightOffset: Math.max(0, Math.ceil(t.right - N.right)),
6218
+ bottomOffset: Math.max(0, Math.ceil(t.bottom - N.bottom))
6210
6219
  };
6211
6220
  }
6212
6221
  this.notifyParentResize("closed", {
@@ -6432,8 +6441,18 @@ const Xa = /* @__PURE__ */ B(ja, [["render", Ja], ["__scopeId", "data-v-6d5f94a8
6432
6441
  if (!t && (this.startConv(), t = this.currentConv, !t) || t._draft && (t = await this.ensureRealConv(), !t))
6433
6442
  return;
6434
6443
  const n = t.id, r = this.pendingAttachments.slice();
6435
- this.pendingAttachments = [], this.unreadAnchorId = null, this.unreadBoundaryTs = "", await this.store.send(n, e, {
6436
- attachments: r.length ? r : void 0
6444
+ this.pendingAttachments = [], this.unreadAnchorId = null, this.unreadBoundaryTs = "";
6445
+ const a = r.map((s) => {
6446
+ const { _previewUrl: i, ...l } = s;
6447
+ if (i)
6448
+ try {
6449
+ URL.revokeObjectURL(i);
6450
+ } catch {
6451
+ }
6452
+ return l;
6453
+ });
6454
+ await this.store.send(n, e, {
6455
+ attachments: a.length ? a : void 0
6437
6456
  });
6438
6457
  },
6439
6458
  async onSuggestion(e) {
@@ -6465,20 +6484,55 @@ const Xa = /* @__PURE__ */ B(ja, [["render", Ja], ["__scopeId", "data-v-6d5f94a8
6465
6484
  }
6466
6485
  }));
6467
6486
  },
6468
- async onAttach(e) {
6469
- if (!(!e || !this.transport))
6487
+ // True for attachments whose mime type makes them eligible for a
6488
+ // local-blob thumbnail in the pending strip.
6489
+ isPendingImage(e) {
6490
+ return ((e == null ? void 0 : e.mime_type) || "").toLowerCase().startsWith("image/");
6491
+ },
6492
+ // Human-readable size label (bytes / KB / MB) for the pending
6493
+ // file-card footer. Returns an empty string when the size is
6494
+ // unknown so the row keeps a single-line layout.
6495
+ formatAttachmentSize(e) {
6496
+ return e ? e < 1024 ? this.t("attachment.bytes", { size: e }) : e < 1024 * 1024 ? this.t("attachment.kilobytes", {
6497
+ size: (e / 1024).toFixed(0)
6498
+ }) : this.t("attachment.megabytes", {
6499
+ size: (e / (1024 * 1024)).toFixed(1)
6500
+ }) : "";
6501
+ },
6502
+ // Drop a pending attachment from the strip, revoking the blob URL
6503
+ // we created at attach time so the browser releases the underlying
6504
+ // memory. Safe to call on non-image attachments (the field is
6505
+ // simply absent).
6506
+ removePendingAttachment(e) {
6507
+ const t = this.pendingAttachments[e];
6508
+ if (t != null && t._previewUrl)
6470
6509
  try {
6471
- const t = await this.transport.uploadAttachment(e);
6472
- this.pendingAttachments.push({
6473
- type: t.type || "file",
6474
- path: t.path,
6475
- name: e.name || this.t("attachment.fileFallbackName"),
6476
- mime_type: e.type,
6477
- size_bytes: e.size
6478
- });
6479
- } catch (t) {
6480
- console.error("[ww-messenger] attachment upload failed", t);
6510
+ URL.revokeObjectURL(t._previewUrl);
6511
+ } catch {
6481
6512
  }
6513
+ this.pendingAttachments.splice(e, 1);
6514
+ },
6515
+ async onAttach(e) {
6516
+ if (!e || !this.transport) return;
6517
+ const n = (e.type || "").toLowerCase().startsWith("image/") ? URL.createObjectURL(e) : null;
6518
+ try {
6519
+ const r = await this.transport.uploadAttachment(e);
6520
+ this.pendingAttachments.push({
6521
+ type: r.type || "file",
6522
+ path: r.path,
6523
+ name: e.name || this.t("attachment.fileFallbackName"),
6524
+ mime_type: e.type,
6525
+ size_bytes: e.size,
6526
+ _previewUrl: n
6527
+ });
6528
+ } catch (r) {
6529
+ if (n)
6530
+ try {
6531
+ URL.revokeObjectURL(n);
6532
+ } catch {
6533
+ }
6534
+ console.error("[ww-messenger] attachment upload failed", r);
6535
+ }
6482
6536
  },
6483
6537
  // Délégation des clics sur les liens `<a href="#...">` rendus dans le
6484
6538
  // panel (typiquement par le markdown des messages agent). On capture
@@ -6540,41 +6594,47 @@ const Xa = /* @__PURE__ */ B(ja, [["render", Ja], ["__scopeId", "data-v-6d5f94a8
6540
6594
  }
6541
6595
  }
6542
6596
  }
6543
- }, Za = {
6597
+ }, Qa = {
6544
6598
  key: 0,
6545
6599
  class: "wm-loading",
6546
6600
  "aria-busy": "true",
6547
6601
  "aria-live": "polite"
6548
- }, eo = ["aria-label"], to = {
6602
+ }, Za = ["aria-label"], eo = {
6549
6603
  key: 0,
6550
6604
  class: "wm-state"
6551
- }, no = { class: "wm-state__err" }, so = { class: "wm-state__errTitle" }, ro = { class: "wm-state__errSub" }, io = { class: "wm-bottom" }, ao = {
6605
+ }, to = { class: "wm-state__err" }, no = { class: "wm-state__errTitle" }, so = { class: "wm-state__errSub" }, ro = { class: "wm-bottom" }, io = {
6552
6606
  key: 0,
6553
6607
  ref: "floatEl",
6554
6608
  class: "wm-float"
6555
- }, oo = {
6609
+ }, ao = {
6556
6610
  key: 1,
6557
6611
  class: "wm-actionWait",
6558
6612
  role: "status",
6559
6613
  "aria-live": "polite"
6560
- }, lo = { class: "wm-actionWait__lbl" }, co = {
6614
+ }, oo = { class: "wm-actionWait__lbl" }, lo = {
6561
6615
  key: 2,
6562
6616
  class: "wm-attached"
6563
- }, uo = ["aria-label", "onClick"];
6564
- function ho(e, t, n, r, a, s) {
6565
- const i = E("Launcher"), l = E("Header"), g = E("History"), k = E("Onboarding"), w = E("MessageList"), T = E("ApprovalCard"), I = E("FormCard"), A = E("Feedback"), q = E("SuggestionChips"), M = E("Composer"), N = E("MoreMenu"), U = E("RenameDialog");
6617
+ }, co = ["src", "alt"], uo = {
6618
+ key: 1,
6619
+ class: "wm-attached__file"
6620
+ }, ho = { class: "wm-attached__fileMeta" }, mo = { class: "wm-attached__fileName" }, fo = {
6621
+ key: 0,
6622
+ class: "wm-attached__fileSize"
6623
+ }, _o = ["aria-label", "onClick"];
6624
+ function go(e, t, n, r, a, s) {
6625
+ const i = B("Launcher"), l = B("Header"), g = B("History"), k = B("Onboarding"), b = B("MessageList"), T = B("ApprovalCard"), E = B("FormCard"), A = B("Feedback"), q = B("SuggestionChips"), M = B("Composer"), D = B("MoreMenu"), N = B("RenameDialog");
6566
6626
  return c(), d("div", {
6567
6627
  class: R(["wm-root", `wm-root--${n.displayMode}`]),
6568
6628
  style: z(s.rootStyle)
6569
6629
  }, [
6570
- !a.isOpen && !s.isEmbedded ? (c(), P(i, {
6630
+ !a.isOpen && !s.isEmbedded ? (c(), U(i, {
6571
6631
  key: 0,
6572
6632
  "unread-count": s.unreadCount,
6573
6633
  peeks: s.launcherPeeks,
6574
6634
  onOpen: s.openFromPeek,
6575
6635
  onDismiss: s.dismissPeek,
6576
6636
  onHover: s.onLauncherHover
6577
- }, null, 8, ["unread-count", "peeks", "onOpen", "onDismiss", "onHover"])) : b("", !0),
6637
+ }, null, 8, ["unread-count", "peeks", "onOpen", "onDismiss", "onHover"])) : w("", !0),
6578
6638
  a.isOpen || s.isEmbedded ? (c(), d("section", {
6579
6639
  key: 1,
6580
6640
  class: R([
@@ -6585,15 +6645,15 @@ function ho(e, t, n, r, a, s) {
6585
6645
  style: z(a.floatHeight ? { "--wm-float-h": a.floatHeight + "px" } : null),
6586
6646
  role: "dialog",
6587
6647
  "aria-label": "Messenger",
6588
- onClick: t[6] || (t[6] = (...D) => s.onPanelClick && s.onPanelClick(...D))
6648
+ onClick: t[6] || (t[6] = (...L) => s.onPanelClick && s.onPanelClick(...L))
6589
6649
  }, [
6590
- !s.ready && !s.error ? (c(), d("div", Za, [
6591
- s.isEmbedded ? b("", !0) : (c(), d("button", {
6650
+ !s.ready && !s.error ? (c(), d("div", Qa, [
6651
+ s.isEmbedded ? w("", !0) : (c(), d("button", {
6592
6652
  key: 0,
6593
6653
  type: "button",
6594
6654
  class: "wm-loading__close",
6595
6655
  "aria-label": s.t("loading.minimize"),
6596
- onClick: t[0] || (t[0] = (...D) => s.close && s.close(...D))
6656
+ onClick: t[0] || (t[0] = (...L) => s.close && s.close(...L))
6597
6657
  }, [...t[7] || (t[7] = [
6598
6658
  o("svg", {
6599
6659
  width: "13",
@@ -6608,12 +6668,12 @@ function ho(e, t, n, r, a, s) {
6608
6668
  }, [
6609
6669
  o("path", { d: "M18 6L6 18M6 6l12 12" })
6610
6670
  ], -1)
6611
- ])], 8, eo)),
6671
+ ])], 8, Za)),
6612
6672
  t[8] || (t[8] = o("div", {
6613
6673
  class: "wm-loading__spinner",
6614
6674
  "aria-hidden": "true"
6615
6675
  }, null, -1))
6616
- ])) : (c(), d(L, { key: 1 }, [
6676
+ ])) : (c(), d(I, { key: 1 }, [
6617
6677
  V(l, {
6618
6678
  title: s.headerTitle,
6619
6679
  "team-members": s.teamMembers,
@@ -6628,8 +6688,8 @@ function ho(e, t, n, r, a, s) {
6628
6688
  onMore: s.toggleMore,
6629
6689
  onClose: s.close
6630
6690
  }, null, 8, ["title", "team-members", "response-label", "show-identity", "show-back", "show-close", "more-active", "agent-name", "agent-avatar-url", "onBack", "onMore", "onClose"]),
6631
- s.error ? (c(), d("div", to, [
6632
- o("div", no, [
6691
+ s.error ? (c(), d("div", eo, [
6692
+ o("div", to, [
6633
6693
  t[9] || (t[9] = o("div", { class: "wm-state__errIcon" }, [
6634
6694
  o("svg", {
6635
6695
  width: "14",
@@ -6646,16 +6706,16 @@ function ho(e, t, n, r, a, s) {
6646
6706
  ])
6647
6707
  ], -1)),
6648
6708
  o("div", null, [
6649
- o("div", so, v(s.t("error.connectionFailed")), 1),
6650
- o("div", ro, v(s.error), 1)
6709
+ o("div", no, v(s.t("error.connectionFailed")), 1),
6710
+ o("div", so, v(s.error), 1)
6651
6711
  ])
6652
6712
  ])
6653
- ])) : !s.currentConv && a.showHistory ? (c(), P(g, {
6713
+ ])) : !s.currentConv && a.showHistory ? (c(), U(g, {
6654
6714
  key: 1,
6655
6715
  threads: s.openThreads,
6656
6716
  onResume: s.onDrawerPick
6657
- }, null, 8, ["threads", "onResume"])) : s.currentConv ? (c(), d(L, { key: 3 }, [
6658
- V(w, {
6717
+ }, null, 8, ["threads", "onResume"])) : s.currentConv ? (c(), d(I, { key: 3 }, [
6718
+ V(b, {
6659
6719
  ref: "messageList",
6660
6720
  messages: s.displayedMessages,
6661
6721
  "streaming-active": s.streamingActive,
@@ -6669,9 +6729,9 @@ function ho(e, t, n, r, a, s) {
6669
6729
  "ai-agent-avatar-url": s.agentAvatarUrl,
6670
6730
  onLoadMore: s.onLoadMore
6671
6731
  }, 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"]),
6672
- o("div", io, [
6673
- s.floatVisible ? (c(), d("div", ao, [
6674
- s.approvalReady ? (c(), P(T, {
6732
+ o("div", ro, [
6733
+ s.floatVisible ? (c(), d("div", io, [
6734
+ s.approvalReady ? (c(), U(T, {
6675
6735
  key: 0,
6676
6736
  action: s.approvalTitle,
6677
6737
  detail: s.approvalDetail,
@@ -6679,36 +6739,93 @@ function ho(e, t, n, r, a, s) {
6679
6739
  "agent-name": s.agentName,
6680
6740
  "agent-avatar-url": s.agentAvatarUrl,
6681
6741
  onCallback: s.onApprovalCallback
6682
- }, null, 8, ["action", "detail", "callbacks", "agent-name", "agent-avatar-url", "onCallback"])) : s.pendingForm ? (c(), P(I, {
6742
+ }, null, 8, ["action", "detail", "callbacks", "agent-name", "agent-avatar-url", "onCallback"])) : s.pendingForm ? (c(), U(E, {
6683
6743
  key: s.pendingForm.message && s.pendingForm.message.id,
6684
6744
  form: s.pendingForm.form,
6685
6745
  "agent-name": s.agentName,
6686
6746
  "agent-avatar-url": s.agentAvatarUrl,
6687
6747
  onSubmit: s.onFormSubmit
6688
- }, null, 8, ["form", "agent-name", "agent-avatar-url", "onSubmit"])) : s.showFeedback ? (c(), P(A, {
6748
+ }, null, 8, ["form", "agent-name", "agent-avatar-url", "onSubmit"])) : s.showFeedback ? (c(), U(A, {
6689
6749
  key: 2,
6690
6750
  busy: a.feedbackBusy,
6691
6751
  done: a.feedbackDone,
6692
6752
  onSubmit: s.onFeedback
6693
- }, null, 8, ["busy", "done", "onSubmit"])) : (c(), P(q, {
6753
+ }, null, 8, ["busy", "done", "onSubmit"])) : (c(), U(q, {
6694
6754
  key: 3,
6695
6755
  items: s.suggestions,
6696
6756
  onSelect: s.onSuggestion
6697
6757
  }, null, 8, ["items", "onSelect"]))
6698
- ], 512)) : b("", !0),
6699
- s.actionInFlight ? (c(), d("div", oo, [
6758
+ ], 512)) : w("", !0),
6759
+ s.actionInFlight ? (c(), d("div", ao, [
6700
6760
  t[10] || (t[10] = o("span", {
6701
6761
  class: "wm-actionWait__spinner",
6702
6762
  "aria-hidden": "true"
6703
6763
  }, null, -1)),
6704
- o("span", lo, v(s.t("action.inProgress", {
6764
+ o("span", oo, v(s.t("action.inProgress", {
6705
6765
  name: s.actionInFlightName
6706
6766
  })), 1)
6707
- ])) : (c(), P(M, {
6708
- key: 2,
6767
+ ])) : w("", !0),
6768
+ a.pendingAttachments.length ? (c(), d("div", lo, [
6769
+ (c(!0), d(I, null, j(a.pendingAttachments, (L, K) => (c(), d("div", {
6770
+ key: L.path || K,
6771
+ class: "wm-attached__item"
6772
+ }, [
6773
+ s.isPendingImage(L) && L._previewUrl ? (c(), d("img", {
6774
+ key: 0,
6775
+ class: "wm-attached__thumb",
6776
+ src: L._previewUrl,
6777
+ alt: L.name
6778
+ }, null, 8, co)) : (c(), d("div", uo, [
6779
+ t[11] || (t[11] = o("span", { class: "wm-attached__fileIcon" }, [
6780
+ o("svg", {
6781
+ width: "16",
6782
+ height: "16",
6783
+ viewBox: "0 0 24 24",
6784
+ fill: "none",
6785
+ stroke: "currentColor",
6786
+ "stroke-width": "1.7",
6787
+ "stroke-linecap": "round",
6788
+ "stroke-linejoin": "round",
6789
+ "aria-hidden": "true"
6790
+ }, [
6791
+ o("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z" }),
6792
+ o("path", { d: "M14 2v6h6" })
6793
+ ])
6794
+ ], -1)),
6795
+ o("span", ho, [
6796
+ o("span", mo, v(L.name), 1),
6797
+ s.formatAttachmentSize(L.size_bytes) ? (c(), d("span", fo, v(s.formatAttachmentSize(
6798
+ L.size_bytes
6799
+ )), 1)) : w("", !0)
6800
+ ])
6801
+ ])),
6802
+ o("button", {
6803
+ type: "button",
6804
+ class: "wm-attached__remove",
6805
+ "aria-label": s.t("attachment.remove"),
6806
+ onClick: (Q) => s.removePendingAttachment(K)
6807
+ }, [...t[12] || (t[12] = [
6808
+ o("svg", {
6809
+ width: "10",
6810
+ height: "10",
6811
+ viewBox: "0 0 24 24",
6812
+ fill: "none",
6813
+ stroke: "currentColor",
6814
+ "stroke-width": "2.4",
6815
+ "stroke-linecap": "round",
6816
+ "stroke-linejoin": "round",
6817
+ "aria-hidden": "true"
6818
+ }, [
6819
+ o("path", { d: "M18 6L6 18M6 6l12 12" })
6820
+ ], -1)
6821
+ ])], 8, _o)
6822
+ ]))), 128))
6823
+ ])) : w("", !0),
6824
+ s.actionInFlight ? w("", !0) : (c(), U(M, {
6825
+ key: 3,
6709
6826
  ref: "composer",
6710
6827
  modelValue: a.draft,
6711
- "onUpdate:modelValue": t[2] || (t[2] = (D) => a.draft = D),
6828
+ "onUpdate:modelValue": t[2] || (t[2] = (L) => a.draft = L),
6712
6829
  placeholder: s.composerPlaceholder,
6713
6830
  disabled: !!s.pendingApproval,
6714
6831
  "attach-label": s.t("composer.attachFile"),
@@ -6717,65 +6834,25 @@ function ho(e, t, n, r, a, s) {
6717
6834
  onAttach: s.onAttach
6718
6835
  }, null, 8, ["modelValue", "placeholder", "disabled", "attach-label", "display-mode", "onSend", "onAttach"]))
6719
6836
  ]),
6720
- a.moreOpen ? (c(), P(N, {
6837
+ a.moreOpen ? (c(), U(D, {
6721
6838
  key: 0,
6722
6839
  "can-rename": !!s.currentConv && !s.currentConv._draft,
6723
6840
  "can-export": !!s.currentConv && !s.currentConv._draft,
6724
6841
  "sound-enabled": e.soundEnabled,
6725
6842
  "status-url": s.statusUrl,
6726
6843
  "help-url": s.helpUrl,
6727
- onClose: t[3] || (t[3] = (D) => a.moreOpen = !1),
6844
+ onClose: t[3] || (t[3] = (L) => a.moreOpen = !1),
6728
6845
  onSoundToggle: e.onSoundToggle,
6729
6846
  onAction: s.onMoreAction
6730
- }, null, 8, ["can-rename", "can-export", "sound-enabled", "status-url", "help-url", "onSoundToggle", "onAction"])) : b("", !0),
6731
- a.renameDialogOpen && s.currentConv && !s.currentConv._draft ? (c(), P(U, {
6847
+ }, null, 8, ["can-rename", "can-export", "sound-enabled", "status-url", "help-url", "onSoundToggle", "onAction"])) : w("", !0),
6848
+ a.renameDialogOpen && s.currentConv && !s.currentConv._draft ? (c(), U(N, {
6732
6849
  key: 1,
6733
6850
  "initial-value": s.currentConv.name || "",
6734
6851
  title: s.t("rename.dialogTitle"),
6735
- onClose: t[4] || (t[4] = (D) => a.renameDialogOpen = !1),
6852
+ onClose: t[4] || (t[4] = (L) => a.renameDialogOpen = !1),
6736
6853
  onSubmit: s.onRenameSubmit
6737
- }, null, 8, ["initial-value", "title", "onSubmit"])) : b("", !0),
6738
- a.pendingAttachments.length ? (c(), d("div", co, [
6739
- (c(!0), d(L, null, F(a.pendingAttachments, (D, K) => (c(), d("div", {
6740
- key: K,
6741
- class: "wm-attached__chip"
6742
- }, [
6743
- t[12] || (t[12] = o("svg", {
6744
- width: "11",
6745
- height: "11",
6746
- viewBox: "0 0 24 24",
6747
- fill: "none",
6748
- stroke: "currentColor",
6749
- "stroke-width": "1.8",
6750
- "stroke-linecap": "round",
6751
- "stroke-linejoin": "round",
6752
- "aria-hidden": "true"
6753
- }, [
6754
- 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" })
6755
- ], -1)),
6756
- o("span", null, v(D.name), 1),
6757
- o("button", {
6758
- type: "button",
6759
- "aria-label": s.t("attachment.remove"),
6760
- onClick: (Q) => a.pendingAttachments.splice(K, 1)
6761
- }, [...t[11] || (t[11] = [
6762
- o("svg", {
6763
- width: "10",
6764
- height: "10",
6765
- viewBox: "0 0 24 24",
6766
- fill: "none",
6767
- stroke: "currentColor",
6768
- "stroke-width": "2",
6769
- "stroke-linecap": "round",
6770
- "stroke-linejoin": "round",
6771
- "aria-hidden": "true"
6772
- }, [
6773
- o("path", { d: "M18 6L6 18M6 6l12 12" })
6774
- ], -1)
6775
- ])], 8, uo)
6776
- ]))), 128))
6777
- ])) : b("", !0)
6778
- ], 64)) : (c(), P(k, {
6854
+ }, null, 8, ["initial-value", "title", "onSubmit"])) : w("", !0)
6855
+ ], 64)) : (c(), U(k, {
6779
6856
  key: 2,
6780
6857
  title: s.widgetTitle,
6781
6858
  subtitle: s.widgetSubtitle,
@@ -6787,70 +6864,70 @@ function ho(e, t, n, r, a, s) {
6787
6864
  onStart: s.startConv,
6788
6865
  onSelect: s.onQuickLink,
6789
6866
  onResume: s.onDrawerPick,
6790
- onViewHistory: t[1] || (t[1] = (D) => a.showHistory = !0)
6867
+ onViewHistory: t[1] || (t[1] = (L) => a.showHistory = !0)
6791
6868
  }, null, 8, ["title", "subtitle", "agent-name", "default-icon-url", "quick-links", "open-threads", "busy", "onStart", "onSelect", "onResume"])),
6792
- a.moreOpen && !s.currentConv ? (c(), P(N, {
6869
+ a.moreOpen && !s.currentConv ? (c(), U(D, {
6793
6870
  key: 4,
6794
6871
  "can-rename": !1,
6795
6872
  "can-export": !1,
6796
6873
  "sound-enabled": e.soundEnabled,
6797
6874
  "status-url": s.statusUrl,
6798
6875
  "help-url": s.helpUrl,
6799
- onClose: t[5] || (t[5] = (D) => a.moreOpen = !1),
6876
+ onClose: t[5] || (t[5] = (L) => a.moreOpen = !1),
6800
6877
  onSoundToggle: e.onSoundToggle,
6801
6878
  onAction: s.onMoreAction
6802
- }, null, 8, ["sound-enabled", "status-url", "help-url", "onSoundToggle", "onAction"])) : b("", !0)
6879
+ }, null, 8, ["sound-enabled", "status-url", "help-url", "onSoundToggle", "onAction"])) : w("", !0)
6803
6880
  ], 64))
6804
- ], 6)) : b("", !0)
6881
+ ], 6)) : w("", !0)
6805
6882
  ], 6);
6806
6883
  }
6807
- const _o = /* @__PURE__ */ B(Qa, [["render", ho], ["__scopeId", "data-v-a3812812"]]), go = "0.5.61";
6884
+ const yo = /* @__PURE__ */ P(Xa, [["render", go], ["__scopeId", "data-v-b87f85e6"]]), wo = "0.5.63";
6808
6885
  export {
6809
6886
  oe as AIAvatar,
6810
6887
  be as AVATAR_COLORS,
6811
6888
  As as ActionResult,
6812
- Ui as ApprovalCard,
6889
+ Di as ApprovalCard,
6813
6890
  Es as ArtifactFormResponse,
6814
6891
  Ks as ArtifactInfoCard,
6815
6892
  ur as ArtifactRenderer,
6816
6893
  or as ArtifactTicket,
6817
6894
  Cr as AttachmentPreview,
6818
6895
  Tr as Bubble,
6819
- Ai as Composer,
6896
+ Ci as Composer,
6820
6897
  it as DEFAULT_BASE_URL,
6821
6898
  ue as DEFAULT_LANGUAGE,
6822
- Sa as Feedback,
6823
- ua as FormCard,
6899
+ Aa as Feedback,
6900
+ da as FormCard,
6824
6901
  _n as Header,
6825
6902
  ve as HumanAvatar,
6826
6903
  qt as Launcher,
6827
6904
  Oe as MEDIA_RECORDER_SUPPORTED,
6828
- ii as MessageList,
6829
- _o as Messenger,
6830
- Fa as MoreMenu,
6905
+ ri as MessageList,
6906
+ yo as Messenger,
6907
+ Na as MoreMenu,
6831
6908
  Jn as Onboarding,
6832
6909
  pe as SCREEN_CAPTURE_SUPPORTED,
6833
6910
  ut as SUPPORTED_LANGUAGES,
6834
- xi as SuggestionChips,
6911
+ Ti as SuggestionChips,
6835
6912
  tn as TeamAvatars,
6836
6913
  Lr as Typing,
6837
- go as VERSION,
6914
+ wo as VERSION,
6838
6915
  Me as avatarColor,
6839
6916
  Te as avatarInitials,
6840
- oi as captureScreenshotFile,
6917
+ ai as captureScreenshotFile,
6841
6918
  H as colors,
6842
6919
  st as createStore,
6843
- j as createTranslator,
6920
+ F as createTranslator,
6844
6921
  Ze as createTransport,
6845
6922
  ne as dateLocale,
6846
- _o as default,
6923
+ yo as default,
6847
6924
  Ce as formatTime,
6848
- fo as guessAttachmentKind,
6849
- ai as pickRecorderMime,
6925
+ vo as guessAttachmentKind,
6926
+ ii as pickRecorderMime,
6850
6927
  qe as renderInlineMarkdown,
6851
6928
  ft as renderMarkdown,
6852
6929
  xe as resolveLanguage,
6853
- ci as startScreenRecording,
6930
+ li as startScreenRecording,
6854
6931
  rt as tokensCss,
6855
6932
  nt as uuid,
6856
6933
  nt as v4