@vc-shell/framework 2.5.0-pr323.ada2f14 → 2.5.0-pr325.8e7347f

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.
@@ -1,6 +1,6 @@
1
1
  import { inject as c, computed as b, watch as m, onUnmounted as _ } from "vue";
2
2
  import { A as v, B as y, c as p } from "./VcAiAgentPanel.vue_vue_type_style_index_0_lang-0llGMIi1.js";
3
- import { D as C, A as x } from "./VcAiAgentPanel.vue_vue_type_script_setup_true_lang-BYfxqcoO.js";
3
+ import { D as C, A as x } from "./VcAiAgentPanel.vue_vue_type_script_setup_true_lang-BUqJaQp0.js";
4
4
  const s = p("use-ai-agent-context");
5
5
  function D(e) {
6
6
  return Array.isArray(e.value);
@@ -1 +1 @@
1
- {"version":3,"file":"index-CbnJj8ZU.js","sources":["../../core/plugins/ai-agent/composables/useAiAgentContext.ts","../../core/plugins/ai-agent/index.ts"],"sourcesContent":["import { inject, computed, watch, onUnmounted, type Ref } from \"vue\";\nimport { AiAgentServiceKey } from \"@framework/injection-keys\";\nimport { BladeDescriptorKey } from \"@core/blade-navigation/types\";\nimport type { IAiAgentServiceInternal } from \"@core/plugins/ai-agent/services/ai-agent-service\";\nimport type { UseAiAgentContextOptions, AiAgentContextType } from \"@core/plugins/ai-agent/types\";\nimport { createLogger } from \"@core/utilities\";\n\nconst logger = createLogger(\"use-ai-agent-context\");\n\n/**\n * Checks if the ref value is an array\n */\nfunction isArrayRef<T>(dataRef: Ref<T> | Ref<T[]>): dataRef is Ref<T[]> {\n return Array.isArray(dataRef.value);\n}\n\n/**\n * Normalizes any ref value to an array for sending to the AI agent\n */\nfunction normalizeToArray<T>(value: T | T[]): T[] {\n if (Array.isArray(value)) {\n return value;\n }\n return value != null ? [value] : [];\n}\n\n/**\n * Composable for binding blade data to AI agent context.\n *\n * Sends data updates to the AI agent when dataRef changes and normalizes\n * single objects to arrays for the agent protocol.\n *\n * @example List blade (array of selected items)\n * ```typescript\n * const { selectedItems } = useTableSelection<Offer>();\n *\n * useAiAgentContext({ dataRef: selectedItems });\n * ```\n *\n * @example Details blade (single object - automatically wrapped in array)\n * ```typescript\n * const offer = ref<Offer>({});\n *\n * useAiAgentContext({ dataRef: offer });\n * ```\n *\n * @example With custom suggestions\n * ```typescript\n * useAiAgentContext({\n * dataRef: offer,\n * suggestions: [\n * {\n * id: \"translate\",\n * title: \"Translate description\",\n * icon: \"translation\",\n * iconColor: \"#FF4A4A\",\n * prompt: \"Translate the offer description to English\"\n * },\n * ],\n * });\n * ```\n */\nexport function useAiAgentContext<\n T extends {\n id?: string | undefined;\n objectType?: string | undefined;\n name?: string | undefined;\n },\n>(options: UseAiAgentContextOptions<T>): void {\n const { dataRef, suggestions } = options;\n\n // Try to get the service (may not be available if plugin not installed)\n const service = inject(AiAgentServiceKey) as IAiAgentServiceInternal | undefined;\n\n // Get current blade descriptor to identify which blade this context belongs to\n const bladeDescriptor = inject(BladeDescriptorKey, null);\n const bladeId = computed(() => bladeDescriptor?.value?.id);\n\n // If service is not available, nothing to bind\n if (!service) {\n logger.debug(\"AiAgentService not available, context binding disabled\");\n return;\n }\n\n // Determine context type based on dataRef type\n // Array ref = list blade (multiple selected items)\n // Single object ref = details blade (single item being edited)\n const detectedContextType: AiAgentContextType = isArrayRef(dataRef) ? \"list\" : \"details\";\n\n // Set context data in service (items, contextType, and suggestions)\n // Always sends an array to the service, normalizing single objects\n // Context is bound to specific blade ID\n const updateContextData = () => {\n const raw = normalizeToArray(dataRef.value);\n const items =\n detectedContextType === \"details\"\n ? raw.map((item) => ({ ...item }))\n : raw.map((item) => ({ id: item.id, objectType: item.objectType, name: item.name }));\n service._setContextData(items, detectedContextType, suggestions, bladeId.value);\n logger.debug(`Context updated: ${items.length} items, type: ${detectedContextType}, blade: ${bladeId.value}`);\n };\n\n // Watch dataRef for changes and update context\n const stopWatch = watch(dataRef, updateContextData, { deep: true, immediate: true });\n\n // Cleanup on unmount\n onUnmounted(() => {\n stopWatch();\n // Clear context for this specific blade when component unmounts\n service._setContextData([], \"list\", undefined, bladeId.value);\n logger.debug(`Context cleared on unmount for blade: ${bladeId.value}`);\n });\n}\n","import type { App } from \"vue\";\nimport type { IAiAgentConfig } from \"@core/plugins/ai-agent/types\";\nimport { DEFAULT_AI_AGENT_CONFIG, AI_AGENT_URL_ENV_KEY } from \"@core/plugins/ai-agent/constants\";\nimport { createLogger } from \"@core/utilities\";\n\nconst logger = createLogger(\"ai-agent-plugin\");\n\n/**\n * Options for the AI Agent Plugin\n */\nexport interface AiAgentPluginOptions {\n /**\n * AI Agent configuration.\n * URL can also be set via APP_AI_AGENT_URL environment variable.\n */\n config?: Partial<IAiAgentConfig>;\n\n /**\n * Whether to add the AI button to all blade toolbars automatically.\n * Default: true\n */\n addGlobalToolbarButton?: boolean;\n}\n\n/**\n * Vue plugin for AI Agent integration.\n *\n * @example\n * ```typescript\n * import { createApp } from \"vue\";\n * import { aiAgentPlugin } from \"@vc-shell/framework\";\n *\n * const app = createApp(App);\n *\n * // Install with options\n * app.use(aiAgentPlugin, {\n * config: {\n * title: \"AI Assistant\",\n * width: 400,\n * },\n * addGlobalToolbarButton: true,\n * });\n * ```\n */\nexport const aiAgentPlugin = {\n install(app: App, options: AiAgentPluginOptions = {}) {\n const { config = {}, addGlobalToolbarButton = true } = options;\n\n // Get URL from environment variable if not provided\n let url = config.url || \"\";\n if (!url && typeof import.meta !== \"undefined\" && import.meta.env) {\n url = import.meta.env[AI_AGENT_URL_ENV_KEY] || \"\";\n }\n\n // Skip installation if no URL configured\n if (!url) {\n logger.info(\n \"AI Agent plugin skipped: no URL configured. Set APP_AI_AGENT_URL env variable or pass config.url option.\",\n );\n return;\n }\n\n // Merge config with defaults\n const finalConfig: IAiAgentConfig = {\n ...DEFAULT_AI_AGENT_CONFIG,\n ...config,\n url,\n };\n\n // Store config in app global properties for access during service creation\n app.config.globalProperties.$aiAgentConfig = finalConfig;\n app.provide(\"aiAgentConfig\", finalConfig);\n app.provide(\"aiAgentAddGlobalToolbarButton\", addGlobalToolbarButton);\n\n logger.info(`AI Agent plugin installed. URL: ${url}, addGlobalToolbarButton: ${addGlobalToolbarButton}`);\n },\n};\n\n// Re-export all types\nexport * from \"@core/plugins/ai-agent/types\";\nexport * from \"@core/plugins/ai-agent/constants\";\n\n// Re-export composables\nexport {\n useAiAgent,\n provideAiAgentService,\n createAiAgentToolbarButton,\n} from \"@core/plugins/ai-agent/composables/useAiAgent\";\nexport type { UseAiAgentReturn, ProvideAiAgentServiceOptions } from \"@core/plugins/ai-agent/composables/useAiAgent\";\n\nexport { useAiAgentContext } from \"@core/plugins/ai-agent/composables/useAiAgentContext\";\n\n// Re-export components\nexport { VcAiAgentPanel } from \"@core/plugins/ai-agent/components\";\n\n// Re-export service types\nexport type {\n IAiAgentServiceInternal,\n CreateAiAgentServiceOptions,\n} from \"@core/plugins/ai-agent/services/ai-agent-service\";\n"],"names":["logger","createLogger","isArrayRef","dataRef","normalizeToArray","value","useAiAgentContext","options","suggestions","service","inject","AiAgentServiceKey","bladeDescriptor","BladeDescriptorKey","bladeId","computed","detectedContextType","stopWatch","watch","raw","items","item","onUnmounted","aiAgentPlugin","app","config","addGlobalToolbarButton","url","__vite_import_meta_env__","AI_AGENT_URL_ENV_KEY","finalConfig","DEFAULT_AI_AGENT_CONFIG"],"mappings":";;;AAOA,MAAMA,IAASC,EAAa,sBAAsB;AAKlD,SAASC,EAAcC,GAAiD;AACtE,SAAO,MAAM,QAAQA,EAAQ,KAAK;AACpC;AAKA,SAASC,EAAoBC,GAAqB;AAChD,SAAI,MAAM,QAAQA,CAAK,IACdA,IAEFA,KAAS,OAAO,CAACA,CAAK,IAAI,CAAA;AACnC;AAsCO,SAASC,EAMdC,GAA4C;AAC5C,QAAM,EAAE,SAAAJ,GAAS,aAAAK,EAAA,IAAgBD,GAG3BE,IAAUC,EAAOC,CAAiB,GAGlCC,IAAkBF,EAAOG,GAAoB,IAAI,GACjDC,IAAUC,EAAS,MAAMH,GAAiB,OAAO,EAAE;AAGzD,MAAI,CAACH,GAAS;AACZT,IAAAA,EAAO,MAAM,wDAAwD;AACrE;AAAA,EACF;AAKA,QAAMgB,IAA0Cd,EAAWC,CAAO,IAAI,SAAS,WAgBzEc,IAAYC,EAAMf,GAXE,MAAM;AAC9B,UAAMgB,IAAMf,EAAiBD,EAAQ,KAAK,GACpCiB,IACJJ,MAAwB,YACpBG,EAAI,IAAI,CAACE,OAAU,EAAE,GAAGA,IAAO,IAC/BF,EAAI,IAAI,CAACE,OAAU,EAAE,IAAIA,EAAK,IAAI,YAAYA,EAAK,YAAY,MAAMA,EAAK,KAAA,EAAO;AACvF,IAAAZ,EAAQ,gBAAgBW,GAAOJ,GAAqBR,GAAaM,EAAQ,KAAK,GAC9Ed,EAAO,MAAM,oBAAoBoB,EAAM,MAAM,iBAAiBJ,CAAmB,YAAYF,EAAQ,KAAK,EAAE;AAAA,EAC9G,GAGoD,EAAE,MAAM,IAAM,WAAW,IAAM;AAGnF,EAAAQ,EAAY,MAAM;AAChB,IAAAL,EAAA,GAEAR,EAAQ,gBAAgB,CAAA,GAAI,QAAQ,QAAWK,EAAQ,KAAK,GAC5Dd,EAAO,MAAM,yCAAyCc,EAAQ,KAAK,EAAE;AAAA,EACvE,CAAC;AACH;6EC3GMd,IAASC,EAAa,iBAAiB,GAuChCsB,IAAgB;AAAA,EAC3B,QAAQC,GAAUjB,IAAgC,IAAI;AACpD,UAAM,EAAE,QAAAkB,IAAS,CAAA,GAAI,wBAAAC,IAAyB,OAASnB;AAGvD,QAAIoB,IAAMF,EAAO,OAAO;AAMxB,QALI,CAACE,KAAO,OAAO,cAAgB,OAAeC,MAChDD,IAAMC,EAAgBC,CAAoB,KAAK,KAI7C,CAACF,GAAK;AACR,MAAA3B,EAAO;AAAA,QACL;AAAA,MAAA;AAEF;AAAA,IACF;AAGA,UAAM8B,IAA8B;AAAA,MAClC,GAAGC;AAAA,MACH,GAAGN;AAAA,MACH,KAAAE;AAAA,IAAA;AAIF,IAAAH,EAAI,OAAO,iBAAiB,iBAAiBM,GAC7CN,EAAI,QAAQ,iBAAiBM,CAAW,GACxCN,EAAI,QAAQ,iCAAiCE,CAAsB,GAEnE1B,EAAO,KAAK,mCAAmC2B,CAAG,6BAA6BD,CAAsB,EAAE;AAAA,EACzG;AACF;"}
1
+ {"version":3,"file":"index-CpPgch-Q.js","sources":["../../core/plugins/ai-agent/composables/useAiAgentContext.ts","../../core/plugins/ai-agent/index.ts"],"sourcesContent":["import { inject, computed, watch, onUnmounted, type Ref } from \"vue\";\nimport { AiAgentServiceKey } from \"@framework/injection-keys\";\nimport { BladeDescriptorKey } from \"@core/blade-navigation/types\";\nimport type { IAiAgentServiceInternal } from \"@core/plugins/ai-agent/services/ai-agent-service\";\nimport type { UseAiAgentContextOptions, AiAgentContextType } from \"@core/plugins/ai-agent/types\";\nimport { createLogger } from \"@core/utilities\";\n\nconst logger = createLogger(\"use-ai-agent-context\");\n\n/**\n * Checks if the ref value is an array\n */\nfunction isArrayRef<T>(dataRef: Ref<T> | Ref<T[]>): dataRef is Ref<T[]> {\n return Array.isArray(dataRef.value);\n}\n\n/**\n * Normalizes any ref value to an array for sending to the AI agent\n */\nfunction normalizeToArray<T>(value: T | T[]): T[] {\n if (Array.isArray(value)) {\n return value;\n }\n return value != null ? [value] : [];\n}\n\n/**\n * Composable for binding blade data to AI agent context.\n *\n * Sends data updates to the AI agent when dataRef changes and normalizes\n * single objects to arrays for the agent protocol.\n *\n * @example List blade (array of selected items)\n * ```typescript\n * const { selectedItems } = useTableSelection<Offer>();\n *\n * useAiAgentContext({ dataRef: selectedItems });\n * ```\n *\n * @example Details blade (single object - automatically wrapped in array)\n * ```typescript\n * const offer = ref<Offer>({});\n *\n * useAiAgentContext({ dataRef: offer });\n * ```\n *\n * @example With custom suggestions\n * ```typescript\n * useAiAgentContext({\n * dataRef: offer,\n * suggestions: [\n * {\n * id: \"translate\",\n * title: \"Translate description\",\n * icon: \"translation\",\n * iconColor: \"#FF4A4A\",\n * prompt: \"Translate the offer description to English\"\n * },\n * ],\n * });\n * ```\n */\nexport function useAiAgentContext<\n T extends {\n id?: string | undefined;\n objectType?: string | undefined;\n name?: string | undefined;\n },\n>(options: UseAiAgentContextOptions<T>): void {\n const { dataRef, suggestions } = options;\n\n // Try to get the service (may not be available if plugin not installed)\n const service = inject(AiAgentServiceKey) as IAiAgentServiceInternal | undefined;\n\n // Get current blade descriptor to identify which blade this context belongs to\n const bladeDescriptor = inject(BladeDescriptorKey, null);\n const bladeId = computed(() => bladeDescriptor?.value?.id);\n\n // If service is not available, nothing to bind\n if (!service) {\n logger.debug(\"AiAgentService not available, context binding disabled\");\n return;\n }\n\n // Determine context type based on dataRef type\n // Array ref = list blade (multiple selected items)\n // Single object ref = details blade (single item being edited)\n const detectedContextType: AiAgentContextType = isArrayRef(dataRef) ? \"list\" : \"details\";\n\n // Set context data in service (items, contextType, and suggestions)\n // Always sends an array to the service, normalizing single objects\n // Context is bound to specific blade ID\n const updateContextData = () => {\n const raw = normalizeToArray(dataRef.value);\n const items =\n detectedContextType === \"details\"\n ? raw.map((item) => ({ ...item }))\n : raw.map((item) => ({ id: item.id, objectType: item.objectType, name: item.name }));\n service._setContextData(items, detectedContextType, suggestions, bladeId.value);\n logger.debug(`Context updated: ${items.length} items, type: ${detectedContextType}, blade: ${bladeId.value}`);\n };\n\n // Watch dataRef for changes and update context\n const stopWatch = watch(dataRef, updateContextData, { deep: true, immediate: true });\n\n // Cleanup on unmount\n onUnmounted(() => {\n stopWatch();\n // Clear context for this specific blade when component unmounts\n service._setContextData([], \"list\", undefined, bladeId.value);\n logger.debug(`Context cleared on unmount for blade: ${bladeId.value}`);\n });\n}\n","import type { App } from \"vue\";\nimport type { IAiAgentConfig } from \"@core/plugins/ai-agent/types\";\nimport { DEFAULT_AI_AGENT_CONFIG, AI_AGENT_URL_ENV_KEY } from \"@core/plugins/ai-agent/constants\";\nimport { createLogger } from \"@core/utilities\";\n\nconst logger = createLogger(\"ai-agent-plugin\");\n\n/**\n * Options for the AI Agent Plugin\n */\nexport interface AiAgentPluginOptions {\n /**\n * AI Agent configuration.\n * URL can also be set via APP_AI_AGENT_URL environment variable.\n */\n config?: Partial<IAiAgentConfig>;\n\n /**\n * Whether to add the AI button to all blade toolbars automatically.\n * Default: true\n */\n addGlobalToolbarButton?: boolean;\n}\n\n/**\n * Vue plugin for AI Agent integration.\n *\n * @example\n * ```typescript\n * import { createApp } from \"vue\";\n * import { aiAgentPlugin } from \"@vc-shell/framework\";\n *\n * const app = createApp(App);\n *\n * // Install with options\n * app.use(aiAgentPlugin, {\n * config: {\n * title: \"AI Assistant\",\n * width: 400,\n * },\n * addGlobalToolbarButton: true,\n * });\n * ```\n */\nexport const aiAgentPlugin = {\n install(app: App, options: AiAgentPluginOptions = {}) {\n const { config = {}, addGlobalToolbarButton = true } = options;\n\n // Get URL from environment variable if not provided\n let url = config.url || \"\";\n if (!url && typeof import.meta !== \"undefined\" && import.meta.env) {\n url = import.meta.env[AI_AGENT_URL_ENV_KEY] || \"\";\n }\n\n // Skip installation if no URL configured\n if (!url) {\n logger.info(\n \"AI Agent plugin skipped: no URL configured. Set APP_AI_AGENT_URL env variable or pass config.url option.\",\n );\n return;\n }\n\n // Merge config with defaults\n const finalConfig: IAiAgentConfig = {\n ...DEFAULT_AI_AGENT_CONFIG,\n ...config,\n url,\n };\n\n // Store config in app global properties for access during service creation\n app.config.globalProperties.$aiAgentConfig = finalConfig;\n app.provide(\"aiAgentConfig\", finalConfig);\n app.provide(\"aiAgentAddGlobalToolbarButton\", addGlobalToolbarButton);\n\n logger.info(`AI Agent plugin installed. URL: ${url}, addGlobalToolbarButton: ${addGlobalToolbarButton}`);\n },\n};\n\n// Re-export all types\nexport * from \"@core/plugins/ai-agent/types\";\nexport * from \"@core/plugins/ai-agent/constants\";\n\n// Re-export composables\nexport {\n useAiAgent,\n provideAiAgentService,\n createAiAgentToolbarButton,\n} from \"@core/plugins/ai-agent/composables/useAiAgent\";\nexport type { UseAiAgentReturn, ProvideAiAgentServiceOptions } from \"@core/plugins/ai-agent/composables/useAiAgent\";\n\nexport { useAiAgentContext } from \"@core/plugins/ai-agent/composables/useAiAgentContext\";\n\n// Re-export components\nexport { VcAiAgentPanel } from \"@core/plugins/ai-agent/components\";\n\n// Re-export service types\nexport type {\n IAiAgentServiceInternal,\n CreateAiAgentServiceOptions,\n} from \"@core/plugins/ai-agent/services/ai-agent-service\";\n"],"names":["logger","createLogger","isArrayRef","dataRef","normalizeToArray","value","useAiAgentContext","options","suggestions","service","inject","AiAgentServiceKey","bladeDescriptor","BladeDescriptorKey","bladeId","computed","detectedContextType","stopWatch","watch","raw","items","item","onUnmounted","aiAgentPlugin","app","config","addGlobalToolbarButton","url","__vite_import_meta_env__","AI_AGENT_URL_ENV_KEY","finalConfig","DEFAULT_AI_AGENT_CONFIG"],"mappings":";;;AAOA,MAAMA,IAASC,EAAa,sBAAsB;AAKlD,SAASC,EAAcC,GAAiD;AACtE,SAAO,MAAM,QAAQA,EAAQ,KAAK;AACpC;AAKA,SAASC,EAAoBC,GAAqB;AAChD,SAAI,MAAM,QAAQA,CAAK,IACdA,IAEFA,KAAS,OAAO,CAACA,CAAK,IAAI,CAAA;AACnC;AAsCO,SAASC,EAMdC,GAA4C;AAC5C,QAAM,EAAE,SAAAJ,GAAS,aAAAK,EAAA,IAAgBD,GAG3BE,IAAUC,EAAOC,CAAiB,GAGlCC,IAAkBF,EAAOG,GAAoB,IAAI,GACjDC,IAAUC,EAAS,MAAMH,GAAiB,OAAO,EAAE;AAGzD,MAAI,CAACH,GAAS;AACZT,IAAAA,EAAO,MAAM,wDAAwD;AACrE;AAAA,EACF;AAKA,QAAMgB,IAA0Cd,EAAWC,CAAO,IAAI,SAAS,WAgBzEc,IAAYC,EAAMf,GAXE,MAAM;AAC9B,UAAMgB,IAAMf,EAAiBD,EAAQ,KAAK,GACpCiB,IACJJ,MAAwB,YACpBG,EAAI,IAAI,CAACE,OAAU,EAAE,GAAGA,IAAO,IAC/BF,EAAI,IAAI,CAACE,OAAU,EAAE,IAAIA,EAAK,IAAI,YAAYA,EAAK,YAAY,MAAMA,EAAK,KAAA,EAAO;AACvF,IAAAZ,EAAQ,gBAAgBW,GAAOJ,GAAqBR,GAAaM,EAAQ,KAAK,GAC9Ed,EAAO,MAAM,oBAAoBoB,EAAM,MAAM,iBAAiBJ,CAAmB,YAAYF,EAAQ,KAAK,EAAE;AAAA,EAC9G,GAGoD,EAAE,MAAM,IAAM,WAAW,IAAM;AAGnF,EAAAQ,EAAY,MAAM;AAChB,IAAAL,EAAA,GAEAR,EAAQ,gBAAgB,CAAA,GAAI,QAAQ,QAAWK,EAAQ,KAAK,GAC5Dd,EAAO,MAAM,yCAAyCc,EAAQ,KAAK,EAAE;AAAA,EACvE,CAAC;AACH;6EC3GMd,IAASC,EAAa,iBAAiB,GAuChCsB,IAAgB;AAAA,EAC3B,QAAQC,GAAUjB,IAAgC,IAAI;AACpD,UAAM,EAAE,QAAAkB,IAAS,CAAA,GAAI,wBAAAC,IAAyB,OAASnB;AAGvD,QAAIoB,IAAMF,EAAO,OAAO;AAMxB,QALI,CAACE,KAAO,OAAO,cAAgB,OAAeC,MAChDD,IAAMC,EAAgBC,CAAoB,KAAK,KAI7C,CAACF,GAAK;AACR,MAAA3B,EAAO;AAAA,QACL;AAAA,MAAA;AAEF;AAAA,IACF;AAGA,UAAM8B,IAA8B;AAAA,MAClC,GAAGC;AAAA,MACH,GAAGN;AAAA,MACH,KAAAE;AAAA,IAAA;AAIF,IAAAH,EAAI,OAAO,iBAAiB,iBAAiBM,GAC7CN,EAAI,QAAQ,iBAAiBM,CAAW,GACxCN,EAAI,QAAQ,iCAAiCE,CAAsB,GAEnE1B,EAAO,KAAK,mCAAmC2B,CAAG,6BAA6BD,CAAsB,EAAE;AAAA,EACzG;AACF;"}
package/dist/framework.js CHANGED
@@ -2,16 +2,16 @@ import { b as ya, c as Ba } from "./chunks/vendor-vueuse-core-BFa9je5E.js";
2
2
  import { N as nt, O as se, P as q, Q as X, l as x, R as Pe, S as Ma, T as yt, p as st, q as $, n as Ae, A as ka, U as Va, W as Ua, X as Fa, V as Ee, Y as Wa, Z as Ha, $ as Ga, a0 as xa, a1 as $a, a2 as Ka, a3 as za, a4 as qa, a5 as Ya } from "./chunks/VcScheduler.vue_vue_type_style_index_0_lang-CwXsJo6H.js";
3
3
  import { B as ql, a6 as Yl, a as jl, _ as Zl, b as Xl, c as Jl, d as Ql, e as eu, f as tu, g as au, h as nu, i as su, j as ou, k as ru, a7 as iu, a8 as lu, a9 as uu, aa as cu, ab as du, ac as Eu, ad as fu, m as mu, o as gu, r as Su, s as pu, t as Au, u as Tu, v as hu, w as Lu, x as Ou, y as Ru, z as _u, ae as Iu, af as vu, ag as wu, ah as Cu, ai as Pu, aj as bu, ak as Nu, al as Du, am as yu, an as Bu, ao as Mu, ap as ku, aq as Vu, ar as Uu, as as Fu, at as Wu, au as Hu, av as Gu, aw as xu, ax as $u, ay as Ku, C as zu, az as qu, aA as Yu, aB as ju, aC as Zu, D as Xu, aD as Ju, aE as Qu, aF as ec, aG as tc, aH as ac, aI as nc, aJ as sc, aK as oc, aL as rc, E as ic, F as lc, G as uc, L as cc, aM as dc, H as Ec, I as fc, aN as mc, J as gc, aO as Sc, aP as pc, aQ as Ac } from "./chunks/VcScheduler.vue_vue_type_style_index_0_lang-CwXsJo6H.js";
4
4
  import { getCurrentScope as ot, onScopeDispose as rt, computed as C, inject as Q, watch as ae, defineComponent as H, openBlock as b, createBlock as D, createSlots as Oe, withCtx as A, renderSlot as Y, createElementVNode as V, normalizeClass as ja, createElementBlock as W, Fragment as ne, createVNode as I, unref as i, createTextVNode as M, toDisplayString as y, shallowReactive as Za, ref as N, readonly as Me, onMounted as Re, onBeforeMount as Xa, onBeforeUnmount as Ja, onUnmounted as Qa, provide as Bt, toValue as Mt, isRef as kt, normalizeStyle as Vt, createCommentVNode as z, withDirectives as en, withModifiers as He, reactive as ie, createApp as tn, nextTick as be, renderList as Fe, withKeys as it, mergeProps as re, getCurrentInstance as an, warn as nn, h as ee, toRaw as sn } from "vue";
5
- import { aS as me, aT as on, aU as rn, aV as Ut, aW as Ge, aX as ln, aY as un, aZ as cn, a_ as dn, a$ as En, ab as fn, b0 as xe, b1 as mn, b2 as gn, b3 as Ft, F as Wt, M as Sn, Y as ge, W as $e, am as pn, N as An, ai as Tn, B as _e, a3 as Ht, E as hn, b4 as Ln, b5 as On, an as ft, b6 as Rn, b7 as _n } from "./chunks/VcScheduler.vue_vue_type_script_setup_true_lang-BoLdzHCP.js";
6
- import { b8 as hc, b9 as Lc, C as Oc, ba as Rc, bb as _c, bc as Ic, _ as vc, bd as wc, be as Cc, S as Pc, bf as bc, bg as Nc, a as Dc, b as yc, c as Bc, d as Mc, e as kc, f as Vc, T as Uc, g as Fc, h as Wc, i as Hc, j as Gc, k as xc, l as $c, m as Kc, bh as zc, bi as qc, V as Yc, n as jc, o as Zc, p as Xc, q as Jc, r as Qc, s as ed, t as td, u as ad, v as nd, w as sd, x as od, y as rd, z as id, A as ld, D as ud, bj as cd, bj as dd, bk as Ed, G as fd, H as md, I as gd, J as Sd, K as pd, L as Ad, O as Td, P as hd, Q as Ld, R as Od, U as Rd, X as _d, Z as Id, $ as vd, a0 as wd, a1 as Cd, a2 as Pd, a4 as bd, a5 as Nd, a6 as Dd, a7 as yd, a8 as Bd, a9 as Md, aa as kd, ac as Vd, ad as Ud, ae as Fd, af as Wd, ag as Hd, ah as Gd, aj as xd, ak as $d, al as Kd, ao as zd, ap as qd, bl as Yd, aq as jd, bm as Zd, bn as Xd, bo as Jd, bp as Qd, bq as eE, br as tE, bs as aE, bt as nE, bu as sE, bv as oE, bw as rE, ar as iE, as as lE, at as uE, bx as cE, au as dE, av as EE, by as fE, bz as mE, aw as gE, ax as SE, ay as pE, az as AE, bA as TE, aA as hE, aB as LE, aC as OE, bB as RE, aD as _E, aE as IE, aF as vE, aG as wE, bC as CE, aH as PE, aI as bE, aJ as NE, aK as DE, aL as yE, aM as BE, aN as ME, aO as kE, aP as VE, aQ as UE, aR as FE, aq as WE } from "./chunks/VcScheduler.vue_vue_type_script_setup_true_lang-BoLdzHCP.js";
5
+ import { aS as me, aT as on, aU as rn, aV as Ut, aW as Ge, aX as ln, aY as un, aZ as cn, a_ as dn, a$ as En, ab as fn, b0 as xe, b1 as mn, b2 as gn, b3 as Ft, F as Wt, M as Sn, Y as ge, W as $e, am as pn, N as An, ai as Tn, B as _e, a3 as Ht, E as hn, b4 as Ln, b5 as On, an as ft, b6 as Rn, b7 as _n } from "./chunks/VcScheduler.vue_vue_type_script_setup_true_lang-KiYomASz.js";
6
+ import { b8 as hc, b9 as Lc, C as Oc, ba as Rc, bb as _c, bc as Ic, _ as vc, bd as wc, be as Cc, S as Pc, bf as bc, bg as Nc, a as Dc, b as yc, c as Bc, d as Mc, e as kc, f as Vc, T as Uc, g as Fc, h as Wc, i as Hc, j as Gc, k as xc, l as $c, m as Kc, bh as zc, bi as qc, V as Yc, n as jc, o as Zc, p as Xc, q as Jc, r as Qc, s as ed, t as td, u as ad, v as nd, w as sd, x as od, y as rd, z as id, A as ld, D as ud, bj as cd, bj as dd, bk as Ed, G as fd, H as md, I as gd, J as Sd, K as pd, L as Ad, O as Td, P as hd, Q as Ld, R as Od, U as Rd, X as _d, Z as Id, $ as vd, a0 as wd, a1 as Cd, a2 as Pd, a4 as bd, a5 as Nd, a6 as Dd, a7 as yd, a8 as Bd, a9 as Md, aa as kd, ac as Vd, ad as Ud, ae as Fd, af as Wd, ag as Hd, ah as Gd, aj as xd, ak as $d, al as Kd, ao as zd, ap as qd, bl as Yd, aq as jd, bm as Zd, bn as Xd, bo as Jd, bp as Qd, bq as eE, br as tE, bs as aE, bt as nE, bu as sE, bv as oE, bw as rE, ar as iE, as as lE, at as uE, bx as cE, au as dE, av as EE, by as fE, bz as mE, aw as gE, ax as SE, ay as pE, az as AE, bA as TE, aA as hE, aB as LE, aC as OE, bB as RE, aD as _E, aE as IE, aF as vE, aG as wE, bC as CE, aH as PE, aI as bE, aJ as NE, aK as DE, aL as yE, aM as BE, aN as ME, aO as kE, aP as VE, aQ as UE, aR as FE, aq as WE } from "./chunks/VcScheduler.vue_vue_type_script_setup_true_lang-KiYomASz.js";
7
7
  import { _ as In } from "./chunks/vendor-cypress-signalr-mock-itnm2wpA.js";
8
8
  import { c as U, b as vn, d as wn, i as Qe, S as Cn, W as Gt, B as xt, h as Pn, j as $t, m as bn, k as Nn, l as Kt, n as Dn, _ as yn, L as Bn, I as Mn, o as kn, p as Vn, q as Un, r as Fn, s as Wn, T as Hn, t as Gn, v as xn, w as $n, x as Kn } from "./chunks/VcAiAgentPanel.vue_vue_type_style_index_0_lang-0llGMIi1.js";
9
9
  import { A as GE, y as xE, z as $E, C as KE, D as zE, F as qE, G as YE, H as jE, J as ZE, K as XE, e as JE, f as QE, O as ef, P as tf, Q as af, R as nf, U as sf, V as of, X as rf, Y as lf, Z as uf, $ as cf, a0 as df, E as Ef, a1 as ff, a2 as mf, a3 as gf, a4 as Sf, a5 as pf, a6 as Af, a7 as Tf, a8 as hf, M as Lf, N as Of, a9 as Rf, aa as _f, ab as If, ac as vf, ad as wf, ae as Cf, af as Pf, ag as bf, a as Nf, ah as Df, ai as yf, aj as Bf, ak as Mf, u as kf, g as Vf } from "./chunks/VcAiAgentPanel.vue_vue_type_style_index_0_lang-0llGMIi1.js";
10
10
  import { H as zn, L as qn } from "./chunks/vendor-microsoft-signalr-Bgpbb4fW.js";
11
- import { a as Yn } from "./chunks/index-CbnJj8ZU.js";
12
- import { u as Ff } from "./chunks/index-CbnJj8ZU.js";
13
- import { a as jn, s as Zn, b as Xn, d as Jn, e as Qn, f as lt, g as es, h as ts, i as as, j as ns } from "./chunks/VcAiAgentPanel.vue_vue_type_script_setup_true_lang-BYfxqcoO.js";
14
- import { A as Hf, D as Gf, E as xf, H as $f, _ as Kf, c as zf, k as qf, l as Yf, m as jf, n as Zf, o as Xf, p as Jf, u as Qf, q as em, r as tm, t as am } from "./chunks/VcAiAgentPanel.vue_vue_type_script_setup_true_lang-BYfxqcoO.js";
11
+ import { a as Yn } from "./chunks/index-CpPgch-Q.js";
12
+ import { u as Ff } from "./chunks/index-CpPgch-Q.js";
13
+ import { a as jn, s as Zn, b as Xn, d as Jn, e as Qn, f as lt, g as es, h as ts, i as as, j as ns } from "./chunks/VcAiAgentPanel.vue_vue_type_script_setup_true_lang-BUqJaQp0.js";
14
+ import { A as Hf, D as Gf, E as xf, H as $f, _ as Kf, c as zf, k as qf, l as Yf, m as jf, n as Zf, o as Xf, p as Jf, u as Qf, q as em, r as tm, t as am } from "./chunks/VcAiAgentPanel.vue_vue_type_script_setup_true_lang-BUqJaQp0.js";
15
15
  import "./chunks/ExtensionPoint.vue_vue_type_style_index_0_lang-B1R06zHa.js";
16
16
  import "./chunks/vendor-dompurify-DpIUMBYC.js";
17
17
  import { u as le } from "./chunks/vendor-vue-i18n-LO-EJStU.js";
@@ -2097,12 +2097,12 @@ function xo() {
2097
2097
  hasNotification: (t) => e.hasNotification(t)
2098
2098
  });
2099
2099
  }
2100
- const $o = "2.5.0-pr323.ada2f14";
2100
+ const $o = "2.5.0-pr325.8e7347f";
2101
2101
  function Ko() {
2102
2102
  return {
2103
2103
  version: $o,
2104
- buildDate: "2026-08-26T18:41:18.267Z",
2105
- gitHash: "ada2f1406"
2104
+ buildDate: "2026-08-27T09:20:44.838Z",
2105
+ gitHash: "8e7347f06"
2106
2106
  };
2107
2107
  }
2108
2108
  function zo(e = Ko()) {