@vc-shell/framework 2.6.0-pr372.a9e0b2c → 2.6.0-pr373.38b0925

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/dist/ai-agent/index.js +2 -2
  2. package/dist/chunks/{VcAiAgentPanel.vue_vue_type_script_setup_true_lang-y-eKcMMU.js → VcAiAgentPanel.vue_vue_type_script_setup_true_lang-CMRryvQd.js} +340 -334
  3. package/dist/chunks/{VcAiAgentPanel.vue_vue_type_script_setup_true_lang-y-eKcMMU.js.map → VcAiAgentPanel.vue_vue_type_script_setup_true_lang-CMRryvQd.js.map} +1 -1
  4. package/dist/chunks/{VcScheduler.vue_vue_type_script_setup_true_lang-BSW54H_m.js → VcScheduler.vue_vue_type_script_setup_true_lang-DLu3i4Km.js} +2380 -2374
  5. package/dist/chunks/VcScheduler.vue_vue_type_script_setup_true_lang-DLu3i4Km.js.map +1 -0
  6. package/dist/chunks/VcScheduler.vue_vue_type_style_index_0_lang-Cjmi5lAM.js.map +1 -1
  7. package/dist/chunks/{index-DLsURdJp.js → index-C8gcYcme.js} +1 -1
  8. package/dist/chunks/{index-DLsURdJp.js.map → index-C8gcYcme.js.map} +1 -1
  9. package/dist/core/plugins/ai-agent/components/_internal/VcAiAgentHeader.vue.d.ts.map +1 -1
  10. package/dist/framework.js +10 -10
  11. package/dist/framework.js.map +1 -1
  12. package/dist/index.css +1 -1
  13. package/dist/tsconfig.tsbuildinfo +1 -1
  14. package/dist/ui/components/organisms/vc-blade/_internal/BladeHeader.vue.d.ts.map +1 -1
  15. package/dist/ui/components/organisms/vc-blade/_internal/toolbar/ShortcutKbd.vue.d.ts +9 -5
  16. package/dist/ui/components/organisms/vc-blade/_internal/toolbar/ShortcutKbd.vue.d.ts.map +1 -1
  17. package/dist/ui/components/organisms/vc-blade/_internal/toolbar/ToolbarBaseButton.vue.d.ts.map +1 -1
  18. package/dist/ui/components/organisms/vc-data-table/VcDataTable.vue.d.ts.map +1 -1
  19. package/dist/ui/components/organisms/vc-data-table/types.d.ts +1 -1
  20. package/dist/ui/components/organisms/vc-data-table/types.d.ts.map +1 -1
  21. package/dist/ui/index.js +1 -1
  22. package/package.json +4 -4
  23. package/dist/chunks/VcScheduler.vue_vue_type_script_setup_true_lang-BSW54H_m.js.map +0 -1
@@ -1,8 +1,8 @@
1
- import { ref as N, computed as E, shallowRef as ze, watch as Z, getCurrentInstance as ie, inject as F, isRef as qe, provide as De, defineComponent as Y, openBlock as B, createElementBlock as k, createElementVNode as b, createCommentVNode as X, createStaticVNode as Ze, Fragment as Te, renderList as Xe, toDisplayString as q, createVNode as L, createBlock as pe, unref as O, withCtx as G, withKeys as H, withModifiers as W, createTextVNode as Ae, Transition as Le, normalizeClass as Ne, onUnmounted as Ye, normalizeStyle as je } from "vue";
2
- import { c as j, b as Fe, d as Qe, B as Je, e as et, f as tt, N as nt, A as xe, L as at, g as ot, T as it, a as be, _ as ue, E as rt } from "./VcAiAgentPanel.vue_vue_type_style_index_0_lang-JB7OKRk6.js";
1
+ import { ref as N, computed as E, shallowRef as qe, watch as Z, getCurrentInstance as ie, inject as F, isRef as Ze, provide as Me, defineComponent as Y, openBlock as B, createElementBlock as k, createElementVNode as b, createCommentVNode as X, createStaticVNode as Xe, Fragment as Se, renderList as Ye, toDisplayString as q, createVNode as M, createBlock as pe, unref as T, withCtx as G, withKeys as H, withModifiers as W, createTextVNode as Ae, Transition as Ne, normalizeClass as Fe, onUnmounted as je, normalizeStyle as Qe } from "vue";
2
+ import { c as j, b as $e, d as Je, B as et, e as tt, f as nt, N as at, A as xe, L as ot, g as it, T as rt, a as be, _ as ue, E as st } from "./VcAiAgentPanel.vue_vue_type_style_index_0_lang-JB7OKRk6.js";
3
3
  import { c as re } from "./vendor-lodash-es-D2n90GJy.js";
4
- import { u as st } from "./vendor-vueuse-core-_wFDcFkI.js";
5
- import { u as lt } from "./vendor-vue-i18n-LO-EJStU.js";
4
+ import { u as lt } from "./vendor-vueuse-core-_wFDcFkI.js";
5
+ import { u as dt } from "./vendor-vue-i18n-LO-EJStU.js";
6
6
  const ct = {
7
7
  url: "",
8
8
  title: "Virto OZ",
@@ -10,19 +10,19 @@ const ct = {
10
10
  expandedWidth: 500,
11
11
  // Secure by default: no origins trusted until the embedder configures them.
12
12
  allowedOrigins: []
13
- }, yn = "APP_AI_AGENT_URL", Bn = {
13
+ }, Bn = "APP_AI_AGENT_URL", In = {
14
14
  EMBEDDED_APP_READY: "EMBEDDED_APP_READY",
15
15
  AI_TOGGLE_PANEL: "AI_TOGGLE_PANEL",
16
16
  AI_CONTEXT_UPDATE: "AI_CONTEXT_UPDATE",
17
17
  AI_CONTEXT_CLEAR: "AI_CONTEXT_CLEAR"
18
- }, In = {
18
+ }, Tn = {
19
19
  EMBEDDED_HOST_READY: "EMBEDDED_HOST_READY",
20
20
  AI_CHAT_MESSAGE: "AI_CHAT_MESSAGE"
21
- }, dt = "ai-agent-toggle", ut = "lucide-sparkles", pt = "AI Assistant", se = j("ai-agent-panel");
22
- function ft() {
21
+ }, ut = "ai-agent-toggle", pt = "lucide-sparkles", ft = "AI Assistant", se = j("ai-agent-panel");
22
+ function gt() {
23
23
  const e = N("closed"), r = N(!1), a = E(() => e.value !== "closed"), t = E(() => e.value === "expanded"), o = () => {
24
24
  e.value === "closed" && (e.value = "open", se.debug("Panel opened"));
25
- }, c = () => {
25
+ }, d = () => {
26
26
  e.value = "closed", r.value = !1, se.debug("Panel closed, reset initialized state");
27
27
  };
28
28
  return {
@@ -31,9 +31,9 @@ function ft() {
31
31
  isExpanded: t,
32
32
  isInitialized: r,
33
33
  open: o,
34
- close: c,
34
+ close: d,
35
35
  toggle: () => {
36
- e.value === "closed" ? o() : c();
36
+ e.value === "closed" ? o() : d();
37
37
  },
38
38
  expand: () => {
39
39
  e.value === "open" && (e.value = "expanded", se.debug("Panel expanded"));
@@ -47,7 +47,7 @@ function ft() {
47
47
  };
48
48
  }
49
49
  const ye = j("ai-agent-context");
50
- function Se(e) {
50
+ function Oe(e) {
51
51
  return e ? {
52
52
  id: e.id,
53
53
  name: e.name,
@@ -55,10 +55,10 @@ function Se(e) {
55
55
  param: e.param
56
56
  } : { id: "unknown", name: "unknown", title: "Unknown" };
57
57
  }
58
- function gt(e) {
59
- const { userGetter: r, bladeGetter: a, localeGetter: t, tokenGetter: o } = e, c = N(/* @__PURE__ */ new Map()), C = () => {
58
+ function vt(e) {
59
+ const { userGetter: r, bladeGetter: a, localeGetter: t, tokenGetter: o } = e, d = N(/* @__PURE__ */ new Map()), C = () => {
60
60
  const v = a();
61
- return v ? c.value.get(v.id) ?? {
61
+ return v ? d.value.get(v.id) ?? {
62
62
  items: [],
63
63
  type: "list",
64
64
  suggestions: void 0
@@ -67,24 +67,24 @@ function gt(e) {
67
67
  type: "list",
68
68
  suggestions: void 0
69
69
  };
70
- }, d = E(() => C().items), l = E(() => C().type), u = E(() => C().suggestions), g = E(() => d.value.length);
70
+ }, c = E(() => C().items), l = E(() => C().type), u = E(() => C().suggestions), g = E(() => c.value.length);
71
71
  return {
72
- contextItems: d,
72
+ contextItems: c,
73
73
  contextType: l,
74
74
  contextSuggestions: u,
75
75
  totalItemsCount: g,
76
- setContextData: (v, _, x, M) => {
77
- const D = a()?.id || M;
78
- return D ? v.length === 0 && !x ? (c.value.delete(D), ye.debug(`Context cleared for blade: ${D}`), { cleared: !0 }) : (c.value.set(D, { items: v, type: _, suggestions: x }), ye.debug(`Context set for blade: ${D}, items: ${v.length}, type: ${_}`), { cleared: !1 }) : (ye.warn("Cannot set context data: no blade id available"), { cleared: !1 });
76
+ setContextData: (v, h, x, L) => {
77
+ const D = a()?.id || L;
78
+ return D ? v.length === 0 && !x ? (d.value.delete(D), ye.debug(`Context cleared for blade: ${D}`), { cleared: !0 }) : (d.value.set(D, { items: v, type: h, suggestions: x }), ye.debug(`Context set for blade: ${D}, items: ${v.length}, type: ${h}`), { cleared: !1 }) : (ye.warn("Cannot set context data: no blade id available"), { cleared: !1 });
79
79
  },
80
80
  buildInitPayload: async () => {
81
81
  const v = o ? await o() ?? void 0 : void 0;
82
82
  return {
83
83
  userId: r()?.id || "",
84
84
  locale: t(),
85
- blade: Se(a()),
85
+ blade: Oe(a()),
86
86
  contextType: l.value,
87
- items: re(d.value),
87
+ items: re(c.value),
88
88
  suggestions: u.value ? re(u.value) : void 0,
89
89
  accessToken: v
90
90
  };
@@ -92,9 +92,9 @@ function gt(e) {
92
92
  buildUpdatePayload: async () => {
93
93
  const v = o ? await o() ?? void 0 : void 0;
94
94
  return {
95
- blade: Se(a()),
95
+ blade: Oe(a()),
96
96
  contextType: l.value,
97
- items: re(d.value),
97
+ items: re(c.value),
98
98
  suggestions: u.value ? re(u.value) : void 0,
99
99
  locale: t(),
100
100
  accessToken: v
@@ -103,13 +103,13 @@ function gt(e) {
103
103
  };
104
104
  }
105
105
  const P = j("ai-agent-transport");
106
- function vt(e) {
107
- const { getConfig: r, isEmbedded: a, navigateToBlade: t, closePanel: o } = e, c = ze(null), C = N(!1), d = N(!1), l = /* @__PURE__ */ new Set(), u = /* @__PURE__ */ new Set();
106
+ function Ct(e) {
107
+ const { getConfig: r, isEmbedded: a, navigateToBlade: t, closePanel: o } = e, d = qe(null), C = N(!1), c = N(!1), l = /* @__PURE__ */ new Set(), u = /* @__PURE__ */ new Set();
108
108
  function g(f, A) {
109
109
  switch (f) {
110
110
  case "NAVIGATE_TO_APP": {
111
- const _ = A;
112
- t && _?.bladeName && (t(_.bladeName, _.param, _.options), P.debug(`Navigation requested to: ${_.bladeName}`));
111
+ const h = A;
112
+ t && h?.bladeName && (t(h.bladeName, h.param, h.options), P.debug(`Navigation requested to: ${h.bladeName}`));
113
113
  break;
114
114
  }
115
115
  // The panel's own Escape handler listens on the host document, which never sees a
@@ -126,9 +126,9 @@ function vt(e) {
126
126
  payload: A,
127
127
  timestamp: Date.now()
128
128
  };
129
- l.forEach((_) => {
129
+ l.forEach((h) => {
130
130
  try {
131
- _(v);
131
+ h(v);
132
132
  } catch (x) {
133
133
  P.error("Handler error:", x);
134
134
  }
@@ -151,8 +151,8 @@ function vt(e) {
151
151
  }
152
152
  if (!v.includes(f.origin))
153
153
  return;
154
- const _ = a ? window.parent : c.value?.contentWindow;
155
- if (!_ || f.source !== _)
154
+ const h = a ? window.parent : d.value?.contentWindow;
155
+ if (!h || f.source !== h)
156
156
  return;
157
157
  const x = f.data;
158
158
  if (!(!x?.type || typeof x.type != "string"))
@@ -160,16 +160,16 @@ function vt(e) {
160
160
  // Embedded: parent forwards chat messages wrapped in AI_CHAT_MESSAGE
161
161
  case "AI_CHAT_MESSAGE": {
162
162
  if (a) {
163
- const M = x.payload;
164
- M?.type && g(M.type, M.payload);
163
+ const L = x.payload;
164
+ L?.type && g(L.type, L.payload);
165
165
  }
166
166
  return;
167
167
  }
168
168
  // Normal: chatbot signals it's ready
169
169
  case "CHAT_READY":
170
- u.forEach((M) => {
170
+ u.forEach((L) => {
171
171
  try {
172
- M();
172
+ L();
173
173
  } catch (D) {
174
174
  P.error("ChatReady handler error:", D);
175
175
  }
@@ -182,14 +182,14 @@ function vt(e) {
182
182
  }
183
183
  }
184
184
  return {
185
- iframeRef: c,
185
+ iframeRef: d,
186
186
  pendingInitContext: C,
187
- isListenerRegistered: d,
187
+ isListenerRegistered: c,
188
188
  setIframeRef(f) {
189
- c.value = f, P.debug("Iframe ref set:", f ? "available" : "null");
189
+ d.value = f, P.debug("Iframe ref set:", f ? "available" : "null");
190
190
  },
191
191
  sendToIframe(f) {
192
- if (!c.value?.contentWindow) {
192
+ if (!d.value?.contentWindow) {
193
193
  P.warn("Cannot send message: iframe not available");
194
194
  return;
195
195
  }
@@ -201,7 +201,7 @@ function vt(e) {
201
201
  );
202
202
  return;
203
203
  }
204
- c.value.contentWindow.postMessage(f, A), P.debug(`Sent to iframe: ${f.type}`);
204
+ d.value.contentWindow.postMessage(f, A), P.debug(`Sent to iframe: ${f.type}`);
205
205
  },
206
206
  sendToParent(f) {
207
207
  if (!window.parent || window.parent === window) {
@@ -219,10 +219,10 @@ function vt(e) {
219
219
  window.parent.postMessage(f, A), P.debug(`Sent to parent: ${f.type}`);
220
220
  },
221
221
  startListening() {
222
- d.value || (window.addEventListener("message", p), d.value = !0);
222
+ c.value || (window.addEventListener("message", p), c.value = !0);
223
223
  },
224
224
  stopListening() {
225
- d.value && (window.removeEventListener("message", p), d.value = !1);
225
+ c.value && (window.removeEventListener("message", p), c.value = !1);
226
226
  },
227
227
  onChatReady(f) {
228
228
  return u.add(f), () => {
@@ -237,24 +237,24 @@ function vt(e) {
237
237
  };
238
238
  }
239
239
  const le = j("ai-agent-service");
240
- function Ct(e) {
240
+ function mt(e) {
241
241
  const {
242
242
  userGetter: r,
243
243
  bladeGetter: a,
244
244
  localeGetter: t,
245
245
  tokenGetter: o,
246
- navigateToBlade: c,
246
+ navigateToBlade: d,
247
247
  initialConfig: C,
248
- isEmbedded: d = !1
249
- } = e, l = N({ ...ct, ...C }), u = ft(), g = gt({
248
+ isEmbedded: c = !1
249
+ } = e, l = N({ ...ct, ...C }), u = gt(), g = vt({
250
250
  userGetter: r,
251
251
  bladeGetter: a,
252
252
  localeGetter: t,
253
253
  tokenGetter: o
254
- }), p = vt({
254
+ }), p = Ct({
255
255
  getConfig: () => l.value,
256
- isEmbedded: d,
257
- navigateToBlade: c,
256
+ isEmbedded: c,
257
+ navigateToBlade: d,
258
258
  closePanel: () => u.close()
259
259
  }), f = E(() => ({
260
260
  user: r(),
@@ -274,7 +274,7 @@ function Ct(e) {
274
274
  }), Z(p.iframeRef, () => A()), Z(
275
275
  () => ({ currentBlade: f.value.currentBlade, items: f.value.items }),
276
276
  async () => {
277
- if (d) {
277
+ if (c) {
278
278
  const I = await g.buildInitPayload();
279
279
  p.sendToParent({ type: "AI_CONTEXT_UPDATE", payload: I });
280
280
  return;
@@ -286,13 +286,13 @@ function Ct(e) {
286
286
  },
287
287
  { deep: !0 }
288
288
  );
289
- const v = () => d ? p.sendToParent({ type: "AI_TOGGLE_PANEL" }) : u.open(), _ = () => d ? p.sendToParent({ type: "AI_TOGGLE_PANEL" }) : u.close(), x = () => d ? p.sendToParent({ type: "AI_TOGGLE_PANEL" }) : u.toggle(), M = (I) => {
289
+ const v = () => c ? p.sendToParent({ type: "AI_TOGGLE_PANEL" }) : u.open(), h = () => c ? p.sendToParent({ type: "AI_TOGGLE_PANEL" }) : u.close(), x = () => c ? p.sendToParent({ type: "AI_TOGGLE_PANEL" }) : u.toggle(), L = (I) => {
290
290
  p.setIframeRef(I), A();
291
291
  }, D = (I, U, Q, $) => {
292
292
  const { cleared: J } = g.setContextData(I, U, Q, $);
293
- d && J && p.sendToParent({ type: "AI_CONTEXT_CLEAR" });
293
+ c && J && p.sendToParent({ type: "AI_CONTEXT_CLEAR" });
294
294
  };
295
- return p.startListening(), d && (p.sendToParent({
295
+ return p.startListening(), c && (p.sendToParent({
296
296
  type: "EMBEDDED_APP_READY",
297
297
  payload: { supportedFeatures: ["ai-agent"] }
298
298
  }), le.info("Embedded mode: sent EMBEDDED_APP_READY to parent")), {
@@ -300,12 +300,12 @@ function Ct(e) {
300
300
  panelState: u.panelState,
301
301
  config: l,
302
302
  context: f,
303
- isOpen: E(() => !d && u.isOpen.value),
303
+ isOpen: E(() => !c && u.isOpen.value),
304
304
  isExpanded: u.isExpanded,
305
305
  totalItemsCount: g.totalItemsCount,
306
306
  // Panel control
307
307
  openPanel: v,
308
- closePanel: _,
308
+ closePanel: h,
309
309
  togglePanel: x,
310
310
  expandPanel: () => u.expand(),
311
311
  collapsePanel: () => u.collapse(),
@@ -320,25 +320,25 @@ function Ct(e) {
320
320
  onMessage: p.onMessage,
321
321
  // Internal API
322
322
  iframeRef: p.iframeRef,
323
- _setIframeRef: M,
323
+ _setIframeRef: L,
324
324
  _startListening: p.startListening,
325
325
  _stopListening: p.stopListening,
326
326
  _setContextData: D
327
327
  };
328
328
  }
329
- const mt = /* @__PURE__ */ new Set(["mod", "ctrl", "meta", "alt", "shift"]);
330
- function $e(e) {
329
+ const _t = /* @__PURE__ */ new Set(["mod", "ctrl", "meta", "alt", "shift"]);
330
+ function Re(e) {
331
331
  return new Proxy(
332
332
  {},
333
333
  {
334
334
  get(r, a) {
335
335
  if (!(typeof a != "string" || a === "then"))
336
- return mt.has(a) ? $e({ ...e, [a]: !0 }) : { key: a, ...e };
336
+ return _t.has(a) ? Re({ ...e, [a]: !0 }) : { key: a, ...e };
337
337
  }
338
338
  }
339
339
  );
340
340
  }
341
- const ee = $e({}), ce = { ctrl: "⌃", alt: "⌥", shift: "⇧", meta: "⌘" }, de = { ctrl: "Ctrl", alt: "Alt", shift: "Shift", meta: "Meta" }, Oe = {
341
+ const ee = Re({}), de = { ctrl: "⌃", alt: "⌥", shift: "⇧", meta: "⌘" }, ce = { ctrl: "Ctrl", alt: "Alt", shift: "Shift", meta: "Meta" }, ke = {
342
342
  escape: "Esc",
343
343
  enter: "Enter",
344
344
  tab: "Tab",
@@ -353,7 +353,7 @@ const ee = $e({}), ce = { ctrl: "⌃", alt: "⌥", shift: "⇧", meta: "⌘" },
353
353
  period: ".",
354
354
  comma: ",",
355
355
  slash: "/"
356
- }, ke = {
356
+ }, Pe = {
357
357
  escape: "Escape",
358
358
  enter: "Enter",
359
359
  tab: "Tab",
@@ -370,23 +370,23 @@ const ee = $e({}), ce = { ctrl: "⌃", alt: "⌥", shift: "⇧", meta: "⌘" },
370
370
  slash: "/"
371
371
  };
372
372
  function ht(e) {
373
- return e in Oe ? Oe[e] : (e.length === 1, e.toUpperCase());
373
+ return e in ke ? ke[e] : (e.length === 1, e.toUpperCase());
374
374
  }
375
- function _t(e) {
376
- return e in ke ? ke[e] : e.length === 1 ? e.toUpperCase() : e.charAt(0).toUpperCase() + e.slice(1);
375
+ function Et(e) {
376
+ return e in Pe ? Pe[e] : e.length === 1 ? e.toUpperCase() : e.charAt(0).toUpperCase() + e.slice(1);
377
377
  }
378
- function Ie(e, r) {
379
- const a = !!e.ctrl || !!e.mod && !r, t = !!e.meta || !!e.mod && r, o = [], c = [];
380
- r ? (a && o.push(ce.ctrl), e.alt && o.push(ce.alt), e.shift && o.push(ce.shift), t && o.push(ce.meta)) : (a && o.push(de.ctrl), t && o.push(de.meta), e.alt && o.push(de.alt), e.shift && o.push(de.shift)), a && c.push("Control"), t && c.push("Meta"), e.alt && c.push("Alt"), e.shift && c.push("Shift"), o.push(ht(e.key));
381
- const C = [...c, _t(e.key)].join("+");
378
+ function Te(e, r) {
379
+ const a = !!e.ctrl || !!e.mod && !r, t = !!e.meta || !!e.mod && r, o = [], d = [];
380
+ r ? (a && o.push(de.ctrl), e.alt && o.push(de.alt), e.shift && o.push(de.shift), t && o.push(de.meta)) : (a && o.push(ce.ctrl), t && o.push(ce.meta), e.alt && o.push(ce.alt), e.shift && o.push(ce.shift)), a && d.push("Control"), t && d.push("Meta"), e.alt && d.push("Alt"), e.shift && d.push("Shift"), o.push(ht(e.key));
381
+ const C = [...d, Et(e.key)].join("+");
382
382
  return { parts: o, aria: C };
383
383
  }
384
- const Pe = {
384
+ const Le = {
385
385
  backslash: "Backslash",
386
386
  period: "Period",
387
387
  comma: "Comma",
388
388
  slash: "Slash"
389
- }, Me = {
389
+ }, De = {
390
390
  enter: "Enter",
391
391
  escape: "Escape",
392
392
  tab: "Tab",
@@ -398,33 +398,33 @@ const Pe = {
398
398
  arrowleft: "ArrowLeft",
399
399
  arrowright: "ArrowRight"
400
400
  };
401
- function Et(e) {
402
- return e.length === 1 && e >= "a" && e <= "z";
403
- }
404
401
  function wt(e) {
405
- return e.length === 1 && e >= "0" && e <= "9";
402
+ return e.length === 1 && e >= "a" && e <= "z";
406
403
  }
407
404
  function At(e) {
408
- return /^f([1-9]|1[0-2])$/.test(e);
405
+ return e.length === 1 && e >= "0" && e <= "9";
409
406
  }
410
407
  function bt(e) {
411
- if (Et(e)) return `Key${e.toUpperCase()}`;
412
- if (wt(e)) return `Digit${e}`;
413
- if (e in Pe) return Pe[e];
408
+ return /^f([1-9]|1[0-2])$/.test(e);
414
409
  }
415
410
  function yt(e) {
416
- if (e in Me) return Me[e];
417
- if (At(e)) return e.toUpperCase();
411
+ if (wt(e)) return `Key${e.toUpperCase()}`;
412
+ if (At(e)) return `Digit${e}`;
413
+ if (e in Le) return Le[e];
414
+ }
415
+ function Bt(e) {
416
+ if (e in De) return De[e];
417
+ if (bt(e)) return e.toUpperCase();
418
418
  }
419
- function Bt(e, r) {
420
- const a = bt(e.key);
419
+ function It(e, r) {
420
+ const a = yt(e.key);
421
421
  if (a !== void 0) return r.code === a;
422
- const t = yt(e.key);
422
+ const t = Bt(e.key);
423
423
  return t !== void 0 ? r.key === t : !1;
424
424
  }
425
- function It(e, r, a) {
426
- const t = !!e.ctrl || !!e.mod && !a, o = !!e.meta || !!e.mod && a, c = !!e.alt, C = !!e.shift;
427
- return r.ctrlKey !== t || r.metaKey !== o || r.altKey !== c || r.shiftKey !== C ? !1 : Bt(e, r);
425
+ function Tt(e, r, a) {
426
+ const t = !!e.ctrl || !!e.mod && !a, o = !!e.meta || !!e.mod && a, d = !!e.alt, C = !!e.shift;
427
+ return r.ctrlKey !== t || r.metaKey !== o || r.altKey !== d || r.shiftKey !== C ? !1 : It(e, r);
428
428
  }
429
429
  const xt = /* @__PURE__ */ new Set([
430
430
  "button",
@@ -446,48 +446,48 @@ function xn() {
446
446
  const a = e.getAttribute("contenteditable");
447
447
  return a === "true" || a === "";
448
448
  }
449
- function Tt() {
449
+ function St() {
450
450
  return typeof navigator > "u" ? !1 : /Mac|iPhone|iPad|iPod/i.test(navigator.userAgent);
451
451
  }
452
- function Re() {
453
- const e = Tt();
452
+ function Ge() {
453
+ const e = St();
454
454
  return {
455
455
  hotkey: ee,
456
456
  isMac: e,
457
- formatShortcut: (r) => Ie(r, e)
457
+ formatShortcut: (r) => Te(r, e)
458
458
  };
459
459
  }
460
- let St, Ge, Ue, Ot;
461
- function Tn(e) {
462
- St = e;
463
- }
460
+ let Ot, Ue, Ve, kt;
464
461
  function Sn(e) {
465
- Ge = e;
462
+ Ot = e;
466
463
  }
467
464
  function On(e) {
468
465
  Ue = e;
469
466
  }
470
467
  function kn(e) {
471
- Ot = e;
468
+ Ve = e;
469
+ }
470
+ function Pn(e) {
471
+ kt = e;
472
472
  }
473
- const kt = "useBlade() was called outside a blade. Navigation methods (openBlade) work everywhere, but blade-specific methods require the component to be rendered inside VcBladeSlot.";
473
+ const Pt = "useBlade() was called outside a blade. Navigation methods (openBlade) work everywhere, but blade-specific methods require the component to be rendered inside VcBladeSlot.";
474
474
  function y(e) {
475
475
  throw new Error(`[vc-shell] ${e} requires blade context.
476
- ${kt}`);
476
+ ${Pt}`);
477
477
  }
478
- function Pt() {
479
- const e = (ie() ? F(Fe, void 0) : void 0) ?? Ge, r = (ie() ? F(Qe, void 0) : void 0) ?? Ue;
478
+ function Lt() {
479
+ const e = (ie() ? F($e, void 0) : void 0) ?? Ue, r = (ie() ? F(Je, void 0) : void 0) ?? Ve;
480
480
  if (!e || !r)
481
481
  throw new Error(
482
482
  "[vc-shell] useBlade() failed: BladeStack or BladeMessaging not available. Ensure BladeNavigationPlugin (plugin-v2) is installed."
483
483
  );
484
- const a = e, t = r, o = ie() ? F(Je, void 0) : void 0, c = ie() ? F(et, void 0) : void 0, C = E(() => (o || y("id"), o.value.id)), d = E(() => (o || y("param"), o.value.param)), l = E(() => (o || y("options"), o.value.options)), u = E(() => (o || y("query"), o.value.query)), g = E(() => (o || y("closable"), o.value.parentId !== void 0)), p = E(() => (o || y("expanded"), a.activeBlade.value?.id === o.value.id)), f = E(() => (o || y("name"), o.value.name)), A = E(() => {
484
+ const a = e, t = r, o = ie() ? F(et, void 0) : void 0, d = ie() ? F(tt, void 0) : void 0, C = E(() => (o || y("id"), o.value.id)), c = E(() => (o || y("param"), o.value.param)), l = E(() => (o || y("options"), o.value.options)), u = E(() => (o || y("query"), o.value.query)), g = E(() => (o || y("closable"), o.value.parentId !== void 0)), p = E(() => (o || y("expanded"), a.activeBlade.value?.id === o.value.id)), f = E(() => (o || y("name"), o.value.name)), A = E(() => {
485
485
  if (!o) return;
486
- const h = o.value.id;
487
- return a.blades.value.find((T) => T.parentId === h)?.param;
486
+ const _ = o.value.id;
487
+ return a.blades.value.find((S) => S.parentId === _)?.param;
488
488
  });
489
489
  let v = !1;
490
- function _(h) {
490
+ function h(_) {
491
491
  if (v) {
492
492
  console.warn(
493
493
  "[vc-shell] provideBladeData() called more than once in the same blade. Only the first call takes effect."
@@ -495,106 +495,106 @@ function Pt() {
495
495
  return;
496
496
  }
497
497
  v = !0;
498
- const T = qe(h) ? h : N(h);
499
- De(tt, T);
498
+ const S = Ze(_) ? _ : N(_);
499
+ Me(nt, S);
500
500
  }
501
- async function x(h) {
502
- const { isWorkspace: T, ...V } = h;
503
- if (T)
501
+ async function x(_) {
502
+ const { isWorkspace: S, ...V } = _;
503
+ if (S)
504
504
  await a.openWorkspace(V);
505
505
  else {
506
506
  const oe = o?.value.id;
507
507
  oe ? await a.openBlade({ ...V, parentId: oe }) : await a.openBlade(V);
508
508
  }
509
509
  }
510
- async function M() {
510
+ async function L() {
511
511
  return o || y("closeSelf()"), a.closeBlade(o.value.id);
512
512
  }
513
513
  async function D() {
514
514
  o || y("closeChildren()"), await a.closeChildren(o.value.id);
515
515
  }
516
- async function I(h) {
516
+ async function I(_) {
517
517
  o || y("replaceWith()"), await a.replaceCurrentBlade({
518
- ...h,
518
+ ..._,
519
519
  parentId: o.value.parentId
520
520
  });
521
521
  }
522
- async function U(h) {
522
+ async function U(_) {
523
523
  o || y("coverWith()"), await a.coverCurrentBlade({
524
- ...h,
524
+ ..._,
525
525
  parentId: o.value.parentId
526
526
  });
527
527
  }
528
- async function Q(h, T) {
529
- return o || y("callParent()"), t.callParent(o.value.id, h, T);
528
+ async function Q(_, S) {
529
+ return o || y("callParent()"), t.callParent(o.value.id, _, S);
530
530
  }
531
- function $(h) {
532
- o || y("exposeToChildren()"), t.exposeToChildren(o.value.id, h);
531
+ function $(_) {
532
+ o || y("exposeToChildren()"), t.exposeToChildren(o.value.id, _);
533
533
  }
534
- function J(h) {
535
- o || y("onBeforeClose()"), a.registerBeforeClose(o.value.id, h);
534
+ function J(_) {
535
+ o || y("onBeforeClose()"), a.registerBeforeClose(o.value.id, _);
536
536
  }
537
- function fe(h) {
538
- o || y("setError()"), a.setBladeError(o.value.id, h);
537
+ function fe(_) {
538
+ o || y("setError()"), a.setBladeError(o.value.id, _);
539
539
  }
540
540
  function ge() {
541
541
  o || y("clearError()"), a.clearBladeError(o.value.id);
542
542
  }
543
543
  let ve = 0;
544
- function Ce(h) {
545
- c || y("addBanner()");
546
- const T = `banner-${o.value.id}-${++ve}`;
547
- return c.value.push({
548
- ...h,
549
- id: T,
550
- dismissible: h.dismissible ?? !1
551
- }), T;
544
+ function Ce(_) {
545
+ d || y("addBanner()");
546
+ const S = `banner-${o.value.id}-${++ve}`;
547
+ return d.value.push({
548
+ ..._,
549
+ id: S,
550
+ dismissible: _.dismissible ?? !1
551
+ }), S;
552
552
  }
553
- function te(h) {
554
- c || y("removeBanner()"), c.value = c.value.filter((T) => T.id !== h);
553
+ function te(_) {
554
+ d || y("removeBanner()"), d.value = d.value.filter((S) => S.id !== _);
555
555
  }
556
556
  function me() {
557
- c || y("clearBanners()"), c.value = c.value.filter((h) => h._system);
557
+ d || y("clearBanners()"), d.value = d.value.filter((_) => _._system);
558
558
  }
559
559
  let ne = !1, ae = !1;
560
- function he(h) {
560
+ function _e(_) {
561
561
  if (o || y("onActivated()"), ne) {
562
562
  console.warn("[useBlade] onActivated() already registered in this blade.");
563
563
  return;
564
564
  }
565
- ne = !0, Z(p, (T) => {
566
- T && h();
565
+ ne = !0, Z(p, (S) => {
566
+ S && _();
567
567
  });
568
568
  }
569
- function _e(h) {
569
+ function he(_) {
570
570
  if (o || y("onDeactivated()"), ae) {
571
571
  console.warn("[useBlade] onDeactivated() already registered in this blade.");
572
572
  return;
573
573
  }
574
- ae = !0, Z(p, (T) => {
575
- T || h();
574
+ ae = !0, Z(p, (S) => {
575
+ S || _();
576
576
  });
577
577
  }
578
578
  return {
579
579
  id: C,
580
- param: d,
580
+ param: c,
581
581
  activeChildParam: A,
582
582
  options: l,
583
583
  query: u,
584
584
  closable: g,
585
585
  expanded: p,
586
586
  name: f,
587
- provideBladeData: _,
587
+ provideBladeData: h,
588
588
  openBlade: x,
589
- closeSelf: M,
589
+ closeSelf: L,
590
590
  closeChildren: D,
591
591
  replaceWith: I,
592
592
  coverWith: U,
593
593
  callParent: Q,
594
594
  exposeToChildren: $,
595
595
  onBeforeClose: J,
596
- onActivated: he,
597
- onDeactivated: _e,
596
+ onActivated: _e,
597
+ onDeactivated: he,
598
598
  setError: fe,
599
599
  clearError: ge,
600
600
  addBanner: Ce,
@@ -602,7 +602,7 @@ function Pt() {
602
602
  clearBanners: me
603
603
  };
604
604
  }
605
- function Mt(e, r) {
605
+ function Dt(e, r) {
606
606
  return {
607
607
  id: r.generateId(),
608
608
  name: e.name,
@@ -613,7 +613,7 @@ function Mt(e, r) {
613
613
  visible: !0
614
614
  };
615
615
  }
616
- function Dt(e, r, a) {
616
+ function Mt(e, r, a) {
617
617
  return {
618
618
  id: a.generateId(),
619
619
  name: e.name,
@@ -625,7 +625,7 @@ function Dt(e, r, a) {
625
625
  visible: !0
626
626
  };
627
627
  }
628
- function Lt(e, r, a) {
628
+ function Nt(e, r, a) {
629
629
  return {
630
630
  id: a.generateId(),
631
631
  name: e.name,
@@ -637,7 +637,7 @@ function Lt(e, r, a) {
637
637
  visible: !0
638
638
  };
639
639
  }
640
- function Nt(e, r, a) {
640
+ function Ft(e, r, a) {
641
641
  return {
642
642
  id: a.generateId(),
643
643
  name: e.name,
@@ -649,17 +649,17 @@ function Nt(e, r, a) {
649
649
  visible: !0
650
650
  };
651
651
  }
652
- let Ft = 0;
653
- function $t() {
654
- return `blade_${++Ft}_${Math.random().toString(36).slice(2, 8)}`;
652
+ let $t = 0;
653
+ function Rt() {
654
+ return `blade_${++$t}_${Math.random().toString(36).slice(2, 8)}`;
655
655
  }
656
- function Pn(e, r, a = nt) {
657
- const t = N([]), o = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map(), C = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map(), l = E(() => t.value[0]), u = E(() => t.value), g = E(() => {
656
+ function Ln(e, r, a = at) {
657
+ const t = N([]), o = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map(), C = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map(), l = E(() => t.value[0]), u = E(() => t.value), g = E(() => {
658
658
  for (let n = t.value.length - 1; n >= 0; n--)
659
659
  if (t.value[n].visible) return t.value[n];
660
660
  });
661
661
  function p(n) {
662
- o.delete(n), c.delete(n), C.delete(n), d.delete(n);
662
+ o.delete(n), d.delete(n), C.delete(n), c.delete(n);
663
663
  }
664
664
  function f(n) {
665
665
  const i = e.getBlade(n);
@@ -667,7 +667,7 @@ function Pn(e, r, a = nt) {
667
667
  return i.route;
668
668
  }
669
669
  const A = {
670
- generateId: $t,
670
+ generateId: Rt,
671
671
  resolveUrl: f
672
672
  };
673
673
  async function v(n) {
@@ -678,7 +678,7 @@ function Pn(e, r, a = nt) {
678
678
  }
679
679
  return !1;
680
680
  }
681
- function _(n) {
681
+ function h(n) {
682
682
  for (const i of n)
683
683
  C.get(i.id)?.(), p(i.id);
684
684
  }
@@ -689,36 +689,36 @@ function Pn(e, r, a = nt) {
689
689
  throw new Error(`[BladeStack] Blade '${n.name}' not found in registry`);
690
690
  if (r && s.permissions && !r(s.permissions))
691
691
  return console.warn(`[BladeStack] Access denied to workspace '${n.name}'`), !1;
692
- _([...t.value]);
693
- const m = Mt(n, A);
694
- return t.value = [m], n.onOpen && c.set(m.id, n.onOpen), n.onClose && C.set(m.id, n.onClose), n.onOpen?.(), !0;
692
+ h([...t.value]);
693
+ const m = Dt(n, A);
694
+ return t.value = [m], n.onOpen && d.set(m.id, n.onOpen), n.onClose && C.set(m.id, n.onClose), n.onOpen?.(), !0;
695
695
  }
696
- async function M(n) {
696
+ async function L(n) {
697
697
  if (!e.getBlade(n.name))
698
698
  throw new Error(`[BladeStack] Blade '${n.name}' not found in registry`);
699
699
  const i = n.parentId ?? g.value?.id ?? l.value?.id;
700
700
  if (!i)
701
701
  throw new Error("[BladeStack] Cannot open blade: no parent blade found");
702
- const s = t.value.findIndex((S) => S.id === i);
702
+ const s = t.value.findIndex((O) => O.id === i);
703
703
  if (s === -1)
704
704
  throw new Error(`[BladeStack] Parent blade '${i}' not found in stack`);
705
705
  const m = t.value.slice(s + 1);
706
706
  if (m.length > 0 && await v(m))
707
707
  return !1;
708
- _(m);
709
- const w = Dt(n, i, A);
710
- return t.value = [...t.value.slice(0, s + 1), w], n.onOpen && c.set(w.id, n.onOpen), n.onClose && C.set(w.id, n.onClose), n.onOpen?.(), !0;
708
+ h(m);
709
+ const w = Mt(n, i, A);
710
+ return t.value = [...t.value.slice(0, s + 1), w], n.onOpen && d.set(w.id, n.onOpen), n.onClose && C.set(w.id, n.onClose), n.onOpen?.(), !0;
711
711
  }
712
712
  async function D(n) {
713
- const i = t.value.findIndex((S) => S.id === n);
713
+ const i = t.value.findIndex((O) => O.id === n);
714
714
  if (i === -1 || i === 0) return "refused";
715
715
  const s = t.value.slice(i);
716
716
  if (await v(s)) return "prevented";
717
- _(s), t.value = t.value.slice(0, i);
717
+ h(s), t.value = t.value.slice(0, i);
718
718
  const w = t.value.length - 1;
719
719
  if (w > 0 && !t.value[w].visible) {
720
- const S = [...t.value];
721
- S[w] = { ...S[w], visible: !0 }, t.value = S;
720
+ const O = [...t.value];
721
+ O[w] = { ...O[w], visible: !0 }, t.value = O;
722
722
  }
723
723
  return "closed";
724
724
  }
@@ -734,12 +734,12 @@ function Pn(e, r, a = nt) {
734
734
  const m = t.value.slice(s + 1);
735
735
  if (m.length > 0) {
736
736
  if (await v(m)) return !1;
737
- _(m);
737
+ h(m);
738
738
  }
739
- const w = Lt(n, i.parentId, A);
740
- _([i]);
741
- const S = [...t.value.slice(0, s), w, ...t.value.slice(s + 1)];
742
- return t.value = S, n.onOpen && c.set(w.id, n.onOpen), n.onClose && C.set(w.id, n.onClose), n.onOpen?.(), !0;
739
+ const w = Nt(n, i.parentId, A);
740
+ h([i]);
741
+ const O = [...t.value.slice(0, s), w, ...t.value.slice(s + 1)];
742
+ return t.value = O, n.onOpen && d.set(w.id, n.onOpen), n.onClose && C.set(w.id, n.onClose), n.onOpen?.(), !0;
743
743
  }
744
744
  async function U(n) {
745
745
  const i = g.value;
@@ -753,16 +753,16 @@ function Pn(e, r, a = nt) {
753
753
  const m = t.value.slice(s + 1);
754
754
  if (m.length > 0) {
755
755
  if (await v(m)) return !1;
756
- _(m);
756
+ h(m);
757
757
  }
758
- const w = Nt(n, i.id, A), S = t.value.slice(0, s);
759
- return S.push({ ...i, visible: !1 }), S.push(w), t.value = S, n.onOpen && c.set(w.id, n.onOpen), n.onClose && C.set(w.id, n.onClose), n.onOpen?.(), !0;
758
+ const w = Ft(n, i.id, A), O = t.value.slice(0, s);
759
+ return O.push({ ...i, visible: !1 }), O.push(w), t.value = O, n.onOpen && d.set(w.id, n.onOpen), n.onClose && C.set(w.id, n.onClose), n.onOpen?.(), !0;
760
760
  }
761
761
  async function Q(n) {
762
762
  const i = t.value.findIndex((w) => w.id === n);
763
763
  if (i === -1) return !1;
764
764
  const s = t.value.slice(i + 1);
765
- return s.length === 0 || await v(s) ? !1 : (_(s), t.value = t.value.slice(0, i + 1), !0);
765
+ return s.length === 0 || await v(s) ? !1 : (h(s), t.value = t.value.slice(0, i + 1), !0);
766
766
  }
767
767
  function $(n) {
768
768
  g.value?.url && a[n]();
@@ -771,7 +771,7 @@ function Pn(e, r, a = nt) {
771
771
  await x(n) && $("push");
772
772
  }
773
773
  async function fe(n) {
774
- await M(n) && $("push");
774
+ await L(n) && $("push");
775
775
  }
776
776
  async function ge(n) {
777
777
  await I(n) && $("replace");
@@ -798,19 +798,19 @@ function Pn(e, r, a = nt) {
798
798
  const m = [...t.value];
799
799
  m[s] = { ...m[s], error: i }, t.value = m;
800
800
  }
801
- function he(n) {
801
+ function _e(n) {
802
802
  const i = t.value.findIndex((m) => m.id === n);
803
803
  if (i === -1) return;
804
804
  const s = [...t.value];
805
805
  s[i] = { ...s[i], error: void 0 }, t.value = s;
806
806
  }
807
- function _e(n, i) {
807
+ function he(n, i) {
808
808
  const s = t.value.findIndex((w) => w.id === n);
809
809
  if (s === -1 || t.value[s].title === i) return;
810
810
  const m = [...t.value];
811
811
  m[s] = { ...m[s], title: i }, t.value = m;
812
812
  }
813
- function h(n) {
813
+ function _(n) {
814
814
  const i = t.value.findIndex((s) => s.id === n);
815
815
  return i === -1 ? [] : t.value.slice(0, i).filter((s) => s.visible).map((s) => ({
816
816
  id: s.id,
@@ -820,33 +820,33 @@ function Pn(e, r, a = nt) {
820
820
  }
821
821
  }));
822
822
  }
823
- function T(n, i) {
823
+ function S(n, i) {
824
824
  const s = t.value.findIndex((K) => K.id === n);
825
825
  if (s === -1) return;
826
826
  const m = t.value[s].query ?? {}, w = { ...m };
827
827
  for (const [K, we] of Object.entries(i))
828
828
  we === "" || we == null ? delete w[K] : w[K] = we;
829
- const S = Object.keys(m), R = Object.keys(w);
830
- if (S.length === R.length && R.every((K) => m[K] === w[K]))
829
+ const O = Object.keys(m), R = Object.keys(w);
830
+ if (O.length === R.length && R.every((K) => m[K] === w[K]))
831
831
  return;
832
832
  const Ee = [...t.value];
833
833
  Ee[s] = { ...Ee[s], query: w }, t.value = Ee;
834
834
  }
835
835
  function V(n) {
836
- let i = d.get(n);
837
- return i || (i = N(!1), d.set(n, i)), i;
836
+ let i = c.get(n);
837
+ return i || (i = N(!1), c.set(n, i)), i;
838
838
  }
839
839
  function oe(n) {
840
- return d.get(n)?.value ?? !1;
840
+ return c.get(n)?.value ?? !1;
841
841
  }
842
- function Ke(n, i) {
842
+ function He(n, i) {
843
843
  V(n).value = i;
844
844
  }
845
- function He(n) {
845
+ function We(n) {
846
846
  const i = V(n);
847
847
  i.value = !i.value;
848
848
  }
849
- function We(n) {
849
+ function ze(n) {
850
850
  for (const i of t.value)
851
851
  p(i.id);
852
852
  t.value = n;
@@ -864,26 +864,26 @@ function Pn(e, r, a = nt) {
864
864
  registerBeforeClose: me,
865
865
  unregisterBeforeClose: ne,
866
866
  setBladeError: ae,
867
- clearBladeError: he,
868
- setBladeTitle: _e,
869
- trailFor: h,
870
- updateBladeQuery: T,
867
+ clearBladeError: _e,
868
+ setBladeTitle: he,
869
+ trailFor: _,
870
+ updateBladeQuery: S,
871
871
  getMaximizedRef: V,
872
872
  isMaximized: oe,
873
- setMaximized: Ke,
874
- toggleMaximized: He,
875
- _restoreStack: We
873
+ setMaximized: He,
874
+ toggleMaximized: We,
875
+ _restoreStack: ze
876
876
  };
877
877
  }
878
- function Rt() {
879
- const e = F(Fe);
878
+ function Gt() {
879
+ const e = F($e);
880
880
  if (!e)
881
881
  throw new Error("[useBladeStack] BladeStack not found. Ensure BladeNavigationPlugin is installed.");
882
882
  return e;
883
883
  }
884
884
  const z = j("use-ai-agent");
885
- function Mn(e) {
886
- const r = F(at), { user: a, getAccessToken: t } = ot(), { openBlade: o } = Pt(), { blades: c, activeBlade: C } = Rt(), d = e?.isEmbedded, l = Ct({
885
+ function Dn(e) {
886
+ const r = F(ot), { user: a, getAccessToken: t } = it(), { openBlade: o } = Lt(), { blades: d, activeBlade: C } = Gt(), c = e?.isEmbedded, l = mt({
887
887
  userGetter: () => {
888
888
  if (a.value)
889
889
  return {
@@ -894,7 +894,7 @@ function Mn(e) {
894
894
  };
895
895
  },
896
896
  bladeGetter: () => {
897
- const g = C.value ?? c.value[c.value.length - 1];
897
+ const g = C.value ?? d.value[d.value.length - 1];
898
898
  return g ? {
899
899
  id: g.id,
900
900
  name: g.name,
@@ -913,15 +913,15 @@ function Mn(e) {
913
913
  });
914
914
  },
915
915
  initialConfig: e?.config,
916
- isEmbedded: d
916
+ isEmbedded: c
917
917
  });
918
- if (De(xe, l), z.debug("AiAgentService provided"), e?.addGlobalToolbarButton ?? !0) {
919
- const g = F(it, null);
918
+ if (Me(xe, l), z.debug("AiAgentService provided"), e?.addGlobalToolbarButton ?? !0) {
919
+ const g = F(rt, null);
920
920
  g ? (g.registerToolbarItem(
921
921
  {
922
- id: dt,
923
- icon: ut,
924
- title: pt,
922
+ id: ut,
923
+ icon: pt,
924
+ title: ft,
925
925
  shortcut: ee.mod.i,
926
926
  clickHandler: () => {
927
927
  l.togglePanel();
@@ -933,7 +933,7 @@ function Mn(e) {
933
933
  }
934
934
  return l;
935
935
  }
936
- function Dn() {
936
+ function Mn() {
937
937
  const e = F(xe);
938
938
  if (!e) {
939
939
  z.error("AiAgentService not found. Did you forget to call provideAiAgentService()?");
@@ -960,7 +960,7 @@ function Dn() {
960
960
  onMessage: e.onMessage
961
961
  };
962
962
  }
963
- function Ln(e) {
963
+ function Nn(e) {
964
964
  return {
965
965
  id: "ai-agent-toggle",
966
966
  icon: e?.icon ?? "lucide-sparkles",
@@ -970,11 +970,11 @@ function Ln(e) {
970
970
  }
971
971
  };
972
972
  }
973
- const Gt = ["width", "height"], Ut = ["clip-path"], Vt = {
973
+ const Ut = ["width", "height"], Vt = ["clip-path"], Kt = {
974
974
  key: 1,
975
975
  d: "M72.9199 46.4165C73.2527 46.9495 73.5831 47.4996 73.9092 48.0679C78.4022 55.8976 79.0605 66.3551 76.7793 76.6079C74.5635 86.5668 69.6096 96.1504 62.9795 102.692L58.1514 105.48C52.5725 108.701 45.699 108.701 40.1201 105.48L21.665 94.8247C29.1398 95.4723 37.0781 94.4072 44.3848 91.9233C54.5984 88.4512 63.7463 82.1497 68.6807 73.6548C75.124 62.5619 75.4351 53.2694 72.9199 46.4165ZM56.5205 29.5093C65.5697 29.5331 75.1259 33.9964 83.0215 40.8853C89.9848 46.9608 95.5441 54.8286 98.2715 62.9478V71.9058C98.2715 78.3478 94.8348 84.301 89.2559 87.522L69.4658 98.9468C74.0688 92.6731 77.4601 84.9996 79.207 77.1479C81.5723 66.517 80.9666 55.3703 76.0654 46.8296C69.6817 35.7054 61.7917 30.789 54.6006 29.5396C55.2271 29.5179 55.867 29.5076 56.5205 29.5093ZM0 50.688C3.16812 57.476 8.04614 63.7935 13.8389 68.853C21.9305 75.9204 31.9368 80.6465 41.7578 80.6724C54.5833 80.706 62.7851 76.3308 67.4629 70.728C67.1684 71.2812 66.8584 71.8408 66.5303 72.4058C61.9844 80.2318 53.417 86.2251 43.584 89.5679C34.4355 92.6779 24.3375 93.4401 15.6328 91.3423L9.01562 87.522C3.43667 84.301 0 78.3478 0 71.9058V50.688ZM26.7559 10.1313C22.5672 16.2131 19.6599 23.483 18.2695 30.9126C16.3077 41.3962 17.3358 52.3558 22.2188 60.8647C28.6034 71.9905 36.4946 76.9061 43.6865 78.1548C43.0594 78.1765 42.4188 78.1868 41.7646 78.1851C32.7113 78.1612 23.2602 73.7801 15.4746 66.98C8.2197 60.6434 2.52684 52.3035 0 43.7075V35.9897C6.33247e-05 29.5479 3.43687 23.5955 9.01562 20.3745L26.7559 10.1313ZM51.2432 31.6978C54.0287 31.7659 57.0796 32.4389 60.1875 33.9976C58.8529 33.7029 57.5584 33.677 56.3965 33.9722L57.0088 36.3833C58.4774 36.0102 60.6741 36.4134 63.0332 37.8237C65.3553 39.212 67.6865 41.4953 69.375 44.5923C70.7081 47.0376 71.6489 50.015 71.8535 53.4839C71.4414 52.1828 70.818 51.0505 69.9824 50.1929L68.2012 51.9282C69.2585 53.0135 70.0076 55.1176 69.9658 57.8657C69.9246 60.5708 69.1121 63.731 67.2744 66.7417C65.8225 69.1203 63.7129 71.4251 60.8086 73.3374C61.7311 72.329 62.4012 71.2217 62.7266 70.0679L60.333 69.3931C59.9218 70.8514 58.4742 72.5523 56.0732 73.8901C53.71 75.207 50.5672 76.0837 47.041 75.9976C44.2551 75.9294 41.204 75.2549 38.0957 73.6958C39.4307 73.9907 40.7254 74.0184 41.8877 73.7231L41.2754 71.312C39.8069 71.6851 37.6101 71.2818 35.251 69.8716C32.9289 68.4834 30.5977 66.2 28.9092 63.103C27.5754 60.6565 26.6337 57.6775 26.4297 54.2065C26.8418 55.5096 27.4661 56.6438 28.3027 57.5024L30.084 55.7661C29.0267 54.6807 28.2775 52.5767 28.3193 49.8286C28.3606 47.1236 29.173 43.9633 31.0107 40.9526C32.4621 38.5751 34.5702 36.2706 37.4727 34.3589C36.5514 35.3666 35.8827 36.4736 35.5576 37.6265L37.9512 38.3013C38.3625 36.8429 39.8101 35.142 42.2109 33.8042C44.5742 32.4874 47.717 31.6116 51.2432 31.6978ZM40.1201 2.4165C45.6991 -0.804509 52.5724 -0.804509 58.1514 2.4165L75.6777 12.5356C68.4683 12.0708 60.8765 13.1991 53.8691 15.6333C43.6671 19.1774 34.5353 25.5492 29.6035 34.0396C23.1612 45.1305 22.8486 54.4223 25.3623 61.2749C25.0301 60.7429 24.7004 60.1936 24.375 59.6265C19.8639 51.765 18.8286 41.4457 20.7139 31.3706C22.4486 22.1007 26.633 13.1734 32.6709 6.71631L40.1201 2.4165ZM54.6855 17.9829C63.3703 14.966 72.9092 14.0715 81.3008 15.7817L89.2559 20.3745C94.8346 23.5955 98.2714 29.5479 98.2715 35.9897V56.4692C95.0606 49.9731 90.2759 43.9144 84.6562 39.0112C76.4636 31.8632 66.3524 27.0488 56.5273 27.0229C43.6978 26.9893 35.4935 31.3659 30.8164 36.9712C31.1117 36.4161 31.4247 35.8554 31.7539 35.2886C36.3024 27.4582 44.8633 21.395 54.6855 17.9829Z",
976
976
  fill: "url(#virto-oz-gradient-animated)"
977
- }, Kt = ["id"], Ht = {
977
+ }, Ht = ["id"], Wt = {
978
978
  key: 1,
979
979
  id: "virto-oz-gradient-animated",
980
980
  gradientUnits: "userSpaceOnUse",
@@ -982,7 +982,7 @@ const Gt = ["width", "height"], Ut = ["clip-path"], Vt = {
982
982
  y1: "0",
983
983
  x2: "99",
984
984
  y2: "108"
985
- }, Ve = /* @__PURE__ */ Y({
985
+ }, Ke = /* @__PURE__ */ Y({
986
986
  __name: "VcVirtoOzLogo",
987
987
  props: {
988
988
  width: { default: 22 },
@@ -1003,7 +1003,7 @@ const Gt = ["width", "height"], Ut = ["clip-path"], Vt = {
1003
1003
  d: "M40.1199 2.41576C45.6989 -0.805254 52.5724 -0.805253 58.1514 2.41576L89.2556 20.3738C94.8345 23.5948 98.2713 29.5475 98.2713 35.9895V71.9055C98.2713 78.3475 94.8345 84.3002 89.2556 87.5212L58.1514 105.479C52.5724 108.7 45.6989 108.7 40.1199 105.479L9.01574 87.5212C3.43678 84.3002 0 78.3475 0 71.9055V35.9895C0 29.5475 3.43678 23.5948 9.01574 20.3738L40.1199 2.41576Z",
1004
1004
  fill: "white"
1005
1005
  }, null, -1)),
1006
- e.animated ? (B(), k("path", Vt)) : (B(), k("g", {
1006
+ e.animated ? (B(), k("path", Kt)) : (B(), k("g", {
1007
1007
  key: 0,
1008
1008
  "clip-path": `url(#${r.value})`
1009
1009
  }, [...t[0] || (t[0] = [
@@ -1028,7 +1028,7 @@ const Gt = ["width", "height"], Ut = ["clip-path"], Vt = {
1028
1028
  })
1029
1029
  ])
1030
1030
  ], -1)
1031
- ])], 8, Ut)),
1031
+ ])], 8, Vt)),
1032
1032
  t[4] || (t[4] = b("path", {
1033
1033
  d: "M72.1266 54.0945C72.1266 60.0873 74.3028 71.0379 60.6238 82.8517C65.2871 73.0587 55.8339 77.1002 49.1209 77.1002C36.4152 77.1002 26.1152 66.8002 26.1152 54.0945C26.1152 41.3889 36.4152 31.0889 49.1209 31.0889C61.8266 31.0889 72.1266 41.3889 72.1266 54.0945Z",
1034
1034
  fill: "white"
@@ -1060,31 +1060,31 @@ const Gt = ["width", "height"], Ut = ["clip-path"], Vt = {
1060
1060
  id: r.value
1061
1061
  }, [...t[1] || (t[1] = [
1062
1062
  b("path", { d: "M72.9199 46.4165C73.2527 46.9495 73.5831 47.4996 73.9092 48.0679C78.4022 55.8976 79.0605 66.3551 76.7793 76.6079C74.5635 86.5668 69.6096 96.1504 62.9795 102.692L58.1514 105.48C52.5725 108.701 45.699 108.701 40.1201 105.48L21.665 94.8247C29.1398 95.4723 37.0781 94.4072 44.3848 91.9233C54.5984 88.4512 63.7463 82.1497 68.6807 73.6548C75.124 62.5619 75.4351 53.2694 72.9199 46.4165ZM56.5205 29.5093C65.5697 29.5331 75.1259 33.9964 83.0215 40.8853C89.9848 46.9608 95.5441 54.8286 98.2715 62.9478V71.9058C98.2715 78.3478 94.8348 84.301 89.2559 87.522L69.4658 98.9468C74.0688 92.6731 77.4601 84.9996 79.207 77.1479C81.5723 66.517 80.9666 55.3703 76.0654 46.8296C69.6817 35.7054 61.7917 30.789 54.6006 29.5396C55.2271 29.5179 55.867 29.5076 56.5205 29.5093ZM0 50.688C3.16812 57.476 8.04614 63.7935 13.8389 68.853C21.9305 75.9204 31.9368 80.6465 41.7578 80.6724C54.5833 80.706 62.7851 76.3308 67.4629 70.728C67.1684 71.2812 66.8584 71.8408 66.5303 72.4058C61.9844 80.2318 53.417 86.2251 43.584 89.5679C34.4355 92.6779 24.3375 93.4401 15.6328 91.3423L9.01562 87.522C3.43667 84.301 0 78.3478 0 71.9058V50.688ZM26.7559 10.1313C22.5672 16.2131 19.6599 23.483 18.2695 30.9126C16.3077 41.3962 17.3358 52.3558 22.2188 60.8647C28.6034 71.9905 36.4946 76.9061 43.6865 78.1548C43.0594 78.1765 42.4188 78.1868 41.7646 78.1851C32.7113 78.1612 23.2602 73.7801 15.4746 66.98C8.2197 60.6434 2.52684 52.3035 0 43.7075V35.9897C6.33247e-05 29.5479 3.43687 23.5955 9.01562 20.3745L26.7559 10.1313ZM51.2432 31.6978C54.0287 31.7659 57.0796 32.4389 60.1875 33.9976C58.8529 33.7029 57.5584 33.677 56.3965 33.9722L57.0088 36.3833C58.4774 36.0102 60.6741 36.4134 63.0332 37.8237C65.3553 39.212 67.6865 41.4953 69.375 44.5923C70.7081 47.0376 71.6489 50.015 71.8535 53.4839C71.4414 52.1828 70.818 51.0505 69.9824 50.1929L68.2012 51.9282C69.2585 53.0135 70.0076 55.1176 69.9658 57.8657C69.9246 60.5708 69.1121 63.731 67.2744 66.7417C65.8225 69.1203 63.7129 71.4251 60.8086 73.3374C61.7311 72.329 62.4012 71.2217 62.7266 70.0679L60.333 69.3931C59.9218 70.8514 58.4742 72.5523 56.0732 73.8901C53.71 75.207 50.5672 76.0837 47.041 75.9976C44.2551 75.9294 41.204 75.2549 38.0957 73.6958C39.4307 73.9907 40.7254 74.0184 41.8877 73.7231L41.2754 71.312C39.8069 71.6851 37.6101 71.2818 35.251 69.8716C32.9289 68.4834 30.5977 66.2 28.9092 63.103C27.5754 60.6565 26.6337 57.6775 26.4297 54.2065C26.8418 55.5096 27.4661 56.6438 28.3027 57.5024L30.084 55.7661C29.0267 54.6807 28.2775 52.5767 28.3193 49.8286C28.3606 47.1236 29.173 43.9633 31.0107 40.9526C32.4621 38.5751 34.5702 36.2706 37.4727 34.3589C36.5514 35.3666 35.8827 36.4736 35.5576 37.6265L37.9512 38.3013C38.3625 36.8429 39.8101 35.142 42.2109 33.8042C44.5742 32.4874 47.717 31.6116 51.2432 31.6978ZM40.1201 2.4165C45.6991 -0.804509 52.5724 -0.804509 58.1514 2.4165L75.6777 12.5356C68.4683 12.0708 60.8765 13.1991 53.8691 15.6333C43.6671 19.1774 34.5353 25.5492 29.6035 34.0396C23.1612 45.1305 22.8486 54.4223 25.3623 61.2749C25.0301 60.7429 24.7004 60.1936 24.375 59.6265C19.8639 51.765 18.8286 41.4457 20.7139 31.3706C22.4486 22.1007 26.633 13.1734 32.6709 6.71631L40.1201 2.4165ZM54.6855 17.9829C63.3703 14.966 72.9092 14.0715 81.3008 15.7817L89.2559 20.3745C94.8346 23.5955 98.2714 29.5479 98.2715 35.9897V56.4692C95.0606 49.9731 90.2759 43.9144 84.6562 39.0112C76.4636 31.8632 66.3524 27.0488 56.5273 27.0229C43.6978 26.9893 35.4935 31.3659 30.8164 36.9712C31.1117 36.4161 31.4247 35.8554 31.7539 35.2886C36.3024 27.4582 44.8633 21.395 54.6855 17.9829Z" }, null, -1)
1063
- ])], 8, Kt)),
1064
- e.animated ? (B(), k("linearGradient", Ht, [...t[2] || (t[2] = [
1065
- Ze('<stop offset="0%" stop-color="#FF9533"><animate attributeName="stop-color" values="#FF9533;#FF4FBB;#EAFF4F;#1C91FC;#9A2DF8;#FF9533" dur="4s" repeatCount="indefinite"></animate></stop><stop offset="25%" stop-color="#FF4FBB"><animate attributeName="stop-color" values="#FF4FBB;#EAFF4F;#1C91FC;#9A2DF8;#FF9533;#FF4FBB" dur="4s" repeatCount="indefinite"></animate></stop><stop offset="50%" stop-color="#EAFF4F"><animate attributeName="stop-color" values="#EAFF4F;#1C91FC;#9A2DF8;#FF9533;#FF4FBB;#EAFF4F" dur="4s" repeatCount="indefinite"></animate></stop><stop offset="75%" stop-color="#1C91FC"><animate attributeName="stop-color" values="#1C91FC;#9A2DF8;#FF9533;#FF4FBB;#EAFF4F;#1C91FC" dur="4s" repeatCount="indefinite"></animate></stop><stop offset="100%" stop-color="#9A2DF8"><animate attributeName="stop-color" values="#9A2DF8;#FF9533;#FF4FBB;#EAFF4F;#1C91FC;#9A2DF8" dur="4s" repeatCount="indefinite"></animate></stop>', 5)
1063
+ ])], 8, Ht)),
1064
+ e.animated ? (B(), k("linearGradient", Wt, [...t[2] || (t[2] = [
1065
+ Xe('<stop offset="0%" stop-color="#FF9533"><animate attributeName="stop-color" values="#FF9533;#FF4FBB;#EAFF4F;#1C91FC;#9A2DF8;#FF9533" dur="4s" repeatCount="indefinite"></animate></stop><stop offset="25%" stop-color="#FF4FBB"><animate attributeName="stop-color" values="#FF4FBB;#EAFF4F;#1C91FC;#9A2DF8;#FF9533;#FF4FBB" dur="4s" repeatCount="indefinite"></animate></stop><stop offset="50%" stop-color="#EAFF4F"><animate attributeName="stop-color" values="#EAFF4F;#1C91FC;#9A2DF8;#FF9533;#FF4FBB;#EAFF4F" dur="4s" repeatCount="indefinite"></animate></stop><stop offset="75%" stop-color="#1C91FC"><animate attributeName="stop-color" values="#1C91FC;#9A2DF8;#FF9533;#FF4FBB;#EAFF4F;#1C91FC" dur="4s" repeatCount="indefinite"></animate></stop><stop offset="100%" stop-color="#9A2DF8"><animate attributeName="stop-color" values="#9A2DF8;#FF9533;#FF4FBB;#EAFF4F;#1C91FC;#9A2DF8" dur="4s" repeatCount="indefinite"></animate></stop>', 5)
1066
1066
  ])])) : X("", !0)
1067
1067
  ])
1068
- ], 8, Gt));
1068
+ ], 8, Ut));
1069
1069
  }
1070
- }), Wt = { class: "vc-shortcut-kbd" }, zt = {
1070
+ }), zt = { class: "vc-shortcut-kbd" }, qt = {
1071
1071
  key: 0,
1072
1072
  class: "vc-shortcut-kbd__plus"
1073
- }, qt = { class: "vc-shortcut-kbd__key" }, Be = /* @__PURE__ */ Y({
1073
+ }, Zt = { class: "vc-shortcut-kbd__key" }, Be = 500, Ie = /* @__PURE__ */ Y({
1074
1074
  __name: "ShortcutKbd",
1075
1075
  props: {
1076
1076
  parts: {},
1077
1077
  separated: { type: Boolean, default: !1 }
1078
1078
  },
1079
1079
  setup(e) {
1080
- return (r, a) => (B(), k("span", Wt, [
1081
- (B(!0), k(Te, null, Xe(e.parts, (t, o) => (B(), k(Te, { key: o }, [
1082
- e.separated && o > 0 ? (B(), k("span", zt, "+")) : X("", !0),
1083
- b("kbd", qt, q(t), 1)
1080
+ return (r, a) => (B(), k("span", zt, [
1081
+ (B(!0), k(Se, null, Ye(e.parts, (t, o) => (B(), k(Se, { key: o }, [
1082
+ e.separated && o > 0 ? (B(), k("span", qt, "+")) : X("", !0),
1083
+ b("kbd", Zt, q(t), 1)
1084
1084
  ], 64))), 128))
1085
1085
  ]));
1086
1086
  }
1087
- }), Zt = { class: "vc-ai-agent-header" }, Xt = { class: "vc-ai-agent-header__icon" }, Yt = { class: "vc-ai-agent-header__wrapper" }, jt = { class: "vc-ai-agent-header__content" }, Qt = { class: "vc-ai-agent-header__title" }, Jt = { class: "vc-ai-agent-header__controls" }, en = ["aria-label", "aria-keyshortcuts"], tn = { class: "tw-inline-flex tw-items-center tw-gap-2" }, nn = ["aria-label", "aria-keyshortcuts"], an = { class: "tw-inline-flex tw-items-center tw-gap-2" }, on = ["aria-label", "aria-keyshortcuts"], rn = { class: "tw-inline-flex tw-items-center tw-gap-2" }, sn = /* @__PURE__ */ Y({
1087
+ }), Xt = { class: "vc-ai-agent-header" }, Yt = { class: "vc-ai-agent-header__icon" }, jt = { class: "vc-ai-agent-header__wrapper" }, Qt = { class: "vc-ai-agent-header__content" }, Jt = { class: "vc-ai-agent-header__title" }, en = { class: "vc-ai-agent-header__controls" }, tn = ["aria-label", "aria-keyshortcuts"], nn = { class: "tw-inline-flex tw-items-center tw-gap-2" }, an = ["aria-label", "aria-keyshortcuts"], on = { class: "tw-inline-flex tw-items-center tw-gap-2" }, rn = ["aria-label", "aria-keyshortcuts"], sn = { class: "tw-inline-flex tw-items-center tw-gap-2" }, ln = /* @__PURE__ */ Y({
1088
1088
  __name: "VcAiAgentHeader",
1089
1089
  props: {
1090
1090
  title: {},
@@ -1093,31 +1093,32 @@ const Gt = ["width", "height"], Ut = ["clip-path"], Vt = {
1093
1093
  },
1094
1094
  emits: ["close", "expand", "collapse"],
1095
1095
  setup(e) {
1096
- const { t: r } = lt(), { isMac: a } = Re(), t = E(() => Ie(ee.escape, a)), o = E(() => Ie(ee.mod.backslash, a)), c = E(() => t.value.aria), C = E(() => o.value.aria);
1097
- return (d, l) => (B(), k("div", Zt, [
1098
- b("div", Xt, [
1099
- L(Ve, {
1096
+ const { t: r } = dt(), { isMac: a } = Ge(), t = E(() => Te(ee.escape, a)), o = E(() => Te(ee.mod.backslash, a)), d = E(() => t.value.aria), C = E(() => o.value.aria);
1097
+ return (c, l) => (B(), k("div", Xt, [
1098
+ b("div", Yt, [
1099
+ M(Ke, {
1100
1100
  width: 22,
1101
1101
  height: 24,
1102
1102
  "show-dots": ""
1103
1103
  })
1104
1104
  ]),
1105
- b("div", Yt, [
1106
- b("div", jt, [
1107
- b("div", Qt, q(e.title), 1)
1105
+ b("div", jt, [
1106
+ b("div", Qt, [
1107
+ b("div", Jt, q(e.title), 1)
1108
1108
  ])
1109
1109
  ]),
1110
- b("div", Jt, [
1111
- e.isExpanded ? (B(), pe(O(be), {
1110
+ b("div", en, [
1111
+ e.isExpanded ? (B(), pe(T(be), {
1112
1112
  key: 0,
1113
- placement: "bottom"
1113
+ placement: "bottom",
1114
+ delay: T(Be)
1114
1115
  }, {
1115
1116
  tooltip: G(() => [
1116
- b("span", tn, [
1117
- Ae(q(O(r)("COMPONENTS.ORGANISMS.VC_BLADE_HEADER.RESTORE")) + " ", 1),
1118
- L(Be, {
1117
+ b("span", nn, [
1118
+ Ae(q(T(r)("COMPONENTS.ORGANISMS.VC_BLADE_HEADER.RESTORE")) + " ", 1),
1119
+ M(Ie, {
1119
1120
  parts: o.value.parts,
1120
- separated: !O(a)
1121
+ separated: !T(a)
1121
1122
  }, null, 8, ["parts", "separated"])
1122
1123
  ])
1123
1124
  ]),
@@ -1126,28 +1127,29 @@ const Gt = ["width", "height"], Ut = ["clip-path"], Vt = {
1126
1127
  class: "vc-ai-agent-header__button",
1127
1128
  role: "button",
1128
1129
  tabindex: "0",
1129
- "aria-label": O(r)("COMPONENTS.ORGANISMS.VC_BLADE_HEADER.RESTORE"),
1130
+ "aria-label": T(r)("COMPONENTS.ORGANISMS.VC_BLADE_HEADER.RESTORE"),
1130
1131
  "aria-keyshortcuts": C.value,
1131
- onClick: l[0] || (l[0] = (u) => d.$emit("collapse")),
1132
+ onClick: l[0] || (l[0] = (u) => c.$emit("collapse")),
1132
1133
  onKeydown: [
1133
- l[1] || (l[1] = H(W((u) => d.$emit("collapse"), ["prevent"]), ["enter"])),
1134
- l[2] || (l[2] = H(W((u) => d.$emit("collapse"), ["prevent"]), ["space"]))
1134
+ l[1] || (l[1] = H(W((u) => c.$emit("collapse"), ["prevent"]), ["enter"])),
1135
+ l[2] || (l[2] = H(W((u) => c.$emit("collapse"), ["prevent"]), ["space"]))
1135
1136
  ]
1136
1137
  }, [
1137
- L(O(ue), { icon: "lucide-minus" })
1138
- ], 40, en)
1138
+ M(T(ue), { icon: "lucide-minus" })
1139
+ ], 40, tn)
1139
1140
  ]),
1140
1141
  _: 1
1141
- })) : (B(), pe(O(be), {
1142
+ }, 8, ["delay"])) : (B(), pe(T(be), {
1142
1143
  key: 1,
1143
- placement: "bottom"
1144
+ placement: "bottom",
1145
+ delay: T(Be)
1144
1146
  }, {
1145
1147
  tooltip: G(() => [
1146
- b("span", an, [
1147
- Ae(q(O(r)("COMPONENTS.ORGANISMS.VC_BLADE_HEADER.MAXIMIZE")) + " ", 1),
1148
- L(Be, {
1148
+ b("span", on, [
1149
+ Ae(q(T(r)("COMPONENTS.ORGANISMS.VC_BLADE_HEADER.MAXIMIZE")) + " ", 1),
1150
+ M(Ie, {
1149
1151
  parts: o.value.parts,
1150
- separated: !O(a)
1152
+ separated: !T(a)
1151
1153
  }, null, 8, ["parts", "separated"])
1152
1154
  ])
1153
1155
  ]),
@@ -1156,26 +1158,29 @@ const Gt = ["width", "height"], Ut = ["clip-path"], Vt = {
1156
1158
  class: "vc-ai-agent-header__button",
1157
1159
  role: "button",
1158
1160
  tabindex: "0",
1159
- "aria-label": O(r)("COMPONENTS.ORGANISMS.VC_BLADE_HEADER.MAXIMIZE"),
1161
+ "aria-label": T(r)("COMPONENTS.ORGANISMS.VC_BLADE_HEADER.MAXIMIZE"),
1160
1162
  "aria-keyshortcuts": C.value,
1161
- onClick: l[3] || (l[3] = (u) => d.$emit("expand")),
1163
+ onClick: l[3] || (l[3] = (u) => c.$emit("expand")),
1162
1164
  onKeydown: [
1163
- l[4] || (l[4] = H(W((u) => d.$emit("expand"), ["prevent"]), ["enter"])),
1164
- l[5] || (l[5] = H(W((u) => d.$emit("expand"), ["prevent"]), ["space"]))
1165
+ l[4] || (l[4] = H(W((u) => c.$emit("expand"), ["prevent"]), ["enter"])),
1166
+ l[5] || (l[5] = H(W((u) => c.$emit("expand"), ["prevent"]), ["space"]))
1165
1167
  ]
1166
1168
  }, [
1167
- L(O(ue), { icon: "lucide-panel-top" })
1168
- ], 40, nn)
1169
+ M(T(ue), { icon: "lucide-panel-top" })
1170
+ ], 40, an)
1169
1171
  ]),
1170
1172
  _: 1
1171
- })),
1172
- L(O(be), { placement: "bottom" }, {
1173
+ }, 8, ["delay"])),
1174
+ M(T(be), {
1175
+ placement: "bottom",
1176
+ delay: T(Be)
1177
+ }, {
1173
1178
  tooltip: G(() => [
1174
- b("span", rn, [
1175
- Ae(q(O(r)("COMPONENTS.ORGANISMS.VC_BLADE_HEADER.CLOSE")) + " ", 1),
1176
- L(Be, {
1179
+ b("span", sn, [
1180
+ Ae(q(T(r)("COMPONENTS.ORGANISMS.VC_BLADE_HEADER.CLOSE")) + " ", 1),
1181
+ M(Ie, {
1177
1182
  parts: t.value.parts,
1178
- separated: !O(a)
1183
+ separated: !T(a)
1179
1184
  }, null, 8, ["parts", "separated"])
1180
1185
  ])
1181
1186
  ]),
@@ -1184,63 +1189,63 @@ const Gt = ["width", "height"], Ut = ["clip-path"], Vt = {
1184
1189
  class: "vc-ai-agent-header__button",
1185
1190
  role: "button",
1186
1191
  tabindex: "0",
1187
- "aria-label": O(r)("COMPONENTS.ORGANISMS.VC_BLADE_HEADER.CLOSE"),
1188
- "aria-keyshortcuts": c.value,
1189
- onClick: l[6] || (l[6] = (u) => d.$emit("close")),
1192
+ "aria-label": T(r)("COMPONENTS.ORGANISMS.VC_BLADE_HEADER.CLOSE"),
1193
+ "aria-keyshortcuts": d.value,
1194
+ onClick: l[6] || (l[6] = (u) => c.$emit("close")),
1190
1195
  onKeydown: [
1191
- l[7] || (l[7] = H(W((u) => d.$emit("close"), ["prevent"]), ["enter"])),
1192
- l[8] || (l[8] = H(W((u) => d.$emit("close"), ["prevent"]), ["space"]))
1196
+ l[7] || (l[7] = H(W((u) => c.$emit("close"), ["prevent"]), ["enter"])),
1197
+ l[8] || (l[8] = H(W((u) => c.$emit("close"), ["prevent"]), ["space"]))
1193
1198
  ]
1194
1199
  }, [
1195
- L(O(ue), { icon: "lucide-x" })
1196
- ], 40, on)
1200
+ M(T(ue), { icon: "lucide-x" })
1201
+ ], 40, rn)
1197
1202
  ]),
1198
1203
  _: 1
1199
- })
1204
+ }, 8, ["delay"])
1200
1205
  ])
1201
1206
  ]));
1202
1207
  }
1203
- }), ln = { class: "vc-ai-agent-loader" }, cn = { class: "vc-ai-agent-loader__content" }, dn = { class: "vc-ai-agent-loader__logo" }, un = {
1208
+ }), dn = { class: "vc-ai-agent-loader" }, cn = { class: "vc-ai-agent-loader__content" }, un = { class: "vc-ai-agent-loader__logo" }, pn = {
1204
1209
  key: 0,
1205
1210
  class: "vc-ai-agent-loader__text"
1206
- }, pn = /* @__PURE__ */ Y({
1211
+ }, fn = /* @__PURE__ */ Y({
1207
1212
  __name: "VcAiAgentLoader",
1208
1213
  props: {
1209
1214
  text: {}
1210
1215
  },
1211
1216
  setup(e) {
1212
- return (r, a) => (B(), k("div", ln, [
1217
+ return (r, a) => (B(), k("div", dn, [
1213
1218
  b("div", cn, [
1214
- b("div", dn, [
1215
- L(Ve, {
1219
+ b("div", un, [
1220
+ M(Ke, {
1216
1221
  width: 80,
1217
1222
  height: 87,
1218
1223
  animated: ""
1219
1224
  })
1220
1225
  ]),
1221
- e.text ? (B(), k("p", un, q(e.text), 1)) : X("", !0)
1226
+ e.text ? (B(), k("p", pn, q(e.text), 1)) : X("", !0)
1222
1227
  ])
1223
1228
  ]));
1224
1229
  }
1225
- }), fn = { class: "vc-ai-agent-iframe" }, gn = ["src"], vn = {
1230
+ }), gn = { class: "vc-ai-agent-iframe" }, vn = ["src"], Cn = {
1226
1231
  key: 1,
1227
1232
  class: "vc-ai-agent-iframe__placeholder"
1228
- }, Cn = /* @__PURE__ */ Y({
1233
+ }, mn = /* @__PURE__ */ Y({
1229
1234
  __name: "VcAiAgentIframe",
1230
1235
  props: {
1231
1236
  url: {}
1232
1237
  },
1233
1238
  emits: ["iframe-ready"],
1234
1239
  setup(e, { emit: r }) {
1235
- const a = j("ai-agent-iframe"), t = e, o = r, c = N(null), C = N(!0);
1240
+ const a = j("ai-agent-iframe"), t = e, o = r, d = N(null), C = N(!0);
1236
1241
  Z(
1237
- c,
1242
+ d,
1238
1243
  (l) => {
1239
1244
  l && o("iframe-ready", l);
1240
1245
  },
1241
1246
  { immediate: !0 }
1242
1247
  );
1243
- const d = () => {
1248
+ const c = () => {
1244
1249
  C.value = !1, a.debug("Iframe loaded");
1245
1250
  };
1246
1251
  return Z(
@@ -1248,10 +1253,10 @@ const Gt = ["width", "height"], Ut = ["clip-path"], Vt = {
1248
1253
  () => {
1249
1254
  C.value = !0;
1250
1255
  }
1251
- ), (l, u) => (B(), k("div", fn, [
1252
- L(Le, { name: "fade" }, {
1256
+ ), (l, u) => (B(), k("div", gn, [
1257
+ M(Ne, { name: "fade" }, {
1253
1258
  default: G(() => [
1254
- C.value && e.url ? (B(), pe(pn, {
1259
+ C.value && e.url ? (B(), pe(fn, {
1255
1260
  key: 0,
1256
1261
  text: l.$t("AI_AGENT.LOADING")
1257
1262
  }, null, 8, ["text"])) : X("", !0)
@@ -1261,14 +1266,14 @@ const Gt = ["width", "height"], Ut = ["clip-path"], Vt = {
1261
1266
  e.url ? (B(), k("iframe", {
1262
1267
  key: 0,
1263
1268
  ref_key: "iframeRef",
1264
- ref: c,
1269
+ ref: d,
1265
1270
  src: e.url,
1266
- class: Ne(["vc-ai-agent-iframe__frame", { "vc-ai-agent-iframe__frame--loading": C.value }]),
1271
+ class: Fe(["vc-ai-agent-iframe__frame", { "vc-ai-agent-iframe__frame--loading": C.value }]),
1267
1272
  sandbox: "allow-scripts allow-same-origin allow-forms allow-popups allow-popups-to-escape-sandbox",
1268
1273
  allow: "clipboard-read; clipboard-write",
1269
- onLoad: d
1270
- }, null, 42, gn)) : (B(), k("div", vn, [
1271
- L(O(ue), {
1274
+ onLoad: c
1275
+ }, null, 42, vn)) : (B(), k("div", Cn, [
1276
+ M(T(ue), {
1272
1277
  icon: "lucide-sparkles",
1273
1278
  size: "xl",
1274
1279
  class: "vc-ai-agent-iframe__placeholder-icon"
@@ -1277,28 +1282,28 @@ const Gt = ["width", "height"], Ut = ["clip-path"], Vt = {
1277
1282
  ]))
1278
1283
  ]));
1279
1284
  }
1280
- }), mn = ["inert"], hn = { class: "vc-ai-agent-panel__content" }, Nn = /* @__PURE__ */ Y({
1285
+ }), _n = ["inert"], hn = { class: "vc-ai-agent-panel__content" }, Fn = /* @__PURE__ */ Y({
1281
1286
  __name: "VcAiAgentPanel",
1282
1287
  props: {
1283
1288
  inert: { type: Boolean }
1284
1289
  },
1285
1290
  setup(e) {
1286
- const { isMac: r } = Re(), a = F(xe), t = F(rt, !1);
1291
+ const { isMac: r } = Ge(), a = F(xe), t = F(st, !1);
1287
1292
  a || console.error("[VcAiAgentPanel] AiAgentService not provided");
1288
1293
  const o = E(
1289
1294
  () => a?.config.value ?? { url: "", title: "AI Assistant", width: 362, expandedWidth: 500 }
1290
- ), c = E(() => !t && (a?.isOpen.value ?? !1)), C = E(() => a?.isExpanded.value ?? !1), d = E(() => a?.totalItemsCount.value ?? 0), l = E(() => ({
1295
+ ), d = E(() => !t && (a?.isOpen.value ?? !1)), C = E(() => a?.isExpanded.value ?? !1), c = E(() => a?.totalItemsCount.value ?? 0), l = E(() => ({
1291
1296
  width: C.value ? `${o.value.expandedWidth ?? 500}px` : `${o.value.width ?? 362}px`
1292
1297
  })), u = () => a?.closePanel(), g = () => a?.expandPanel(), p = () => a?.collapsePanel(), f = N(null);
1293
- st(document, "keydown", (v) => {
1294
- if (c.value && !v.isComposing && !v.defaultPrevented) {
1298
+ lt(document, "keydown", (v) => {
1299
+ if (d.value && !v.isComposing && !v.defaultPrevented) {
1295
1300
  if (v.key === "Escape") {
1296
1301
  v.preventDefault(), u();
1297
1302
  return;
1298
1303
  }
1299
- if (It(ee.mod.backslash, v, r)) {
1300
- const _ = document.activeElement;
1301
- if (!_ || !f.value?.contains(_)) return;
1304
+ if (Tt(ee.mod.backslash, v, r)) {
1305
+ const h = document.activeElement;
1306
+ if (!h || !f.value?.contains(h)) return;
1302
1307
  v.preventDefault(), C.value ? p() : g();
1303
1308
  }
1304
1309
  }
@@ -1306,67 +1311,68 @@ const Gt = ["width", "height"], Ut = ["clip-path"], Vt = {
1306
1311
  const A = (v) => {
1307
1312
  a?._setIframeRef(v);
1308
1313
  };
1309
- return Ye(() => {
1314
+ return je(() => {
1310
1315
  a?._setIframeRef(null);
1311
- }), (v, _) => (B(), pe(Le, { name: "ai-panel-slide" }, {
1316
+ }), (v, h) => (B(), pe(Ne, { name: "ai-panel-slide" }, {
1312
1317
  default: G(() => [
1313
- c.value ? (B(), k("div", {
1318
+ d.value ? (B(), k("div", {
1314
1319
  key: 0,
1315
1320
  ref_key: "panelRef",
1316
1321
  ref: f,
1317
- class: Ne(["vc-ai-agent-panel", {
1322
+ class: Fe(["vc-ai-agent-panel", {
1318
1323
  "vc-ai-agent-panel--expanded": C.value
1319
1324
  }]),
1320
- style: je(l.value),
1325
+ style: Qe(l.value),
1321
1326
  inert: e.inert || void 0
1322
1327
  }, [
1323
- L(sn, {
1328
+ M(ln, {
1324
1329
  title: o.value.title,
1325
1330
  "is-expanded": C.value,
1326
- "items-count": d.value,
1331
+ "items-count": c.value,
1327
1332
  onClose: u,
1328
1333
  onExpand: g,
1329
1334
  onCollapse: p
1330
1335
  }, null, 8, ["title", "is-expanded", "items-count"]),
1331
1336
  b("div", hn, [
1332
- L(Cn, {
1337
+ M(mn, {
1333
1338
  url: o.value.url,
1334
1339
  onIframeReady: A
1335
1340
  }, null, 8, ["url"])
1336
1341
  ])
1337
- ], 14, mn)) : X("", !0)
1342
+ ], 14, _n)) : X("", !0)
1338
1343
  ]),
1339
1344
  _: 1
1340
1345
  }));
1341
1346
  }
1342
1347
  });
1343
1348
  export {
1344
- yn as A,
1349
+ Bn as A,
1345
1350
  ct as D,
1346
- Bn as E,
1347
- In as H,
1348
- Nn as _,
1349
- Pn as a,
1350
- On as b,
1351
- Ln as c,
1352
- Tn as d,
1353
- kn as e,
1354
- Pt as f,
1355
- St as g,
1356
- Ge as h,
1357
- Ot as i,
1358
- Ue as j,
1359
- bt as k,
1360
- yt as l,
1361
- Ie as m,
1351
+ In as E,
1352
+ Tn as H,
1353
+ Be as S,
1354
+ Fn as _,
1355
+ Ln as a,
1356
+ kn as b,
1357
+ Nn as c,
1358
+ Sn as d,
1359
+ Pn as e,
1360
+ Lt as f,
1361
+ Ot as g,
1362
+ Ue as h,
1363
+ kt as i,
1364
+ Ve as j,
1365
+ yt as k,
1366
+ Bt as l,
1367
+ Te as m,
1362
1368
  ee as n,
1363
1369
  xn as o,
1364
- It as p,
1365
- Rt as q,
1366
- Tt as r,
1367
- Sn as s,
1368
- Re as t,
1369
- Dn as u,
1370
- Be as v,
1371
- Mn as w
1370
+ Tt as p,
1371
+ Gt as q,
1372
+ St as r,
1373
+ On as s,
1374
+ Ge as t,
1375
+ Mn as u,
1376
+ Ie as v,
1377
+ Dn as w
1372
1378
  };