@trilogy-data/trilogy-studio-components 0.1.25 → 0.1.27

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 (200) hide show
  1. package/dist/AssetAutoImporter-OHphsfW9.js +403 -0
  2. package/dist/ChatCreatorModal-CuXha6Dg.js +218 -0
  3. package/dist/ChatModelSelect-Cz7axWjP.js +40 -0
  4. package/dist/{CodeBlock-PT4no49I.js → CodeBlock-BBsaC6hX.js} +4 -4
  5. package/dist/{CommunityModels-D7zWnHgG.js → CommunityModels-CIQQhO-y.js} +106 -75
  6. package/dist/{ConnectionErrorPopup-FSs7U-Yl.js → ConnectionErrorPopup-7vpqgF0s.js} +1 -1
  7. package/dist/{ConnectionView-COnTTuA4.js → ConnectionView-7Jj_Ggdi.js} +49 -49
  8. package/dist/{CreateEditorFromDatasourcePopup-snOh1d5h.js → CreateEditorFromDatasourcePopup-CrVHUWFl.js} +4 -4
  9. package/dist/{Dashboard-D1ZCTw5r.js → Dashboard-DxSi9W6Q.js} +276 -280
  10. package/dist/{DashboardImportSelector-CNxibXlS.js → DashboardImportSelector-kuDRDYi8.js} +2 -2
  11. package/dist/{DashboardMobile-D_m0xv17.js → DashboardMobile-CZEgTb0R.js} +39 -39
  12. package/dist/{DrilldownPane-CBs5ZojS.js → DrilldownPane-BheRHJMs.js} +5 -7
  13. package/dist/{Editor-DhsP18KE.js → Editor-D6tdutTm.js} +106 -104
  14. package/dist/{ErrorMessage-XMn_08gJ.js → ErrorMessage-D5JeF3Iz.js} +4 -4
  15. package/dist/{GlobalChatPanel-DFx9A4yP.js → GlobalChatPanel-BXZh0sdD.js} +169 -134
  16. package/dist/{IDE-BRMLxTfP.js → IDE-T8PmyAQ_.js} +200 -203
  17. package/dist/{JobsView-C9PYS6pZ.js → JobsView-Ca97MiSd.js} +12 -13
  18. package/dist/{LLMChat-Cqg6pTgC.js → LLMChat-Cch33Yd_.js} +3 -3
  19. package/dist/{LLMView-VkJpP-49.js → LLMView-BDb6wD74.js} +26 -26
  20. package/dist/{LoadingView-s1uznGwG.js → LoadingView-B-xFwd2N.js} +2 -2
  21. package/dist/{MarkdownRenderer-BNDuEyG-.js → MarkdownRenderer-BWvdx0k3.js} +531 -430
  22. package/dist/MobileIDE-DpdEQEqc.js +783 -0
  23. package/dist/{ModelCard-D8tKkK9-.js → ModelCard-DkAMP4X9.js} +19 -20
  24. package/dist/{ModelView-rAurf9n8.js → ModelView-DomyhN8g.js} +7 -7
  25. package/dist/PageLoading-BAvKGo9h.js +5937 -0
  26. package/dist/{ResultComponent-_-1qZCfv.js → ResultComponent-zoOSoRLe.js} +8 -8
  27. package/dist/{Results-CQGpFmPQ.js → Results-dq-SlJbU.js} +17 -19
  28. package/dist/{StatusIcon-BylPx2EO.js → StatusIcon-AbxNvJ6p.js} +2 -2
  29. package/dist/{StoreTokenModal-zCSYhfrw.js → StoreTokenModal-CM8WXdu1.js} +2 -2
  30. package/dist/{SymbolsPane-BpmL___H.js → SymbolsPane-DfaxeaPS.js} +6 -3
  31. package/dist/{TrilogyEmbedProvider-WA_dlv9e.js → TrilogyEmbedProvider-D3h0gYnX.js} +9 -9
  32. package/dist/{TutorialPage-CZGBRJdq.js → TutorialPage-BtEJG7cT.js} +27 -28
  33. package/dist/{VegaLiteChart-CmkOw6yD.js → VegaLiteChart-BVyAab-o.js} +12191 -10975
  34. package/dist/{WelcomePage-CLKvAvk-.js → WelcomePage-BoqzYBLr.js} +5 -5
  35. package/dist/{embedTheme-Bub46ILG.js → _plugin-vue_export-helper-f9Rw-Il4.js} +14 -6
  36. package/dist/assets/{css.worker-9aDGcEUy.js → css.worker-niORQtzO.js} +14 -14
  37. package/dist/assets/{html.worker-D2LKDpnG.js → html.worker-CO5LvJpF.js} +17 -17
  38. package/dist/assets/json.worker-BezHzWUV.js +58 -0
  39. package/dist/assets/{ts.worker-Bz0-EaKK.js → ts.worker-CYhxGg0r.js} +107 -107
  40. package/dist/{results-DTgAKr5j.js → base-DuKnVD-A.js} +216 -45
  41. package/dist/components/AssetAutoImporter.vue.d.ts.map +1 -1
  42. package/dist/components/FeedbackBanner.vue.d.ts +4 -0
  43. package/dist/components/FeedbackBanner.vue.d.ts.map +1 -0
  44. package/dist/components/TipsCTA.vue.d.ts +1 -1
  45. package/dist/components/VegaLiteChart.vue.d.ts.map +1 -1
  46. package/dist/components/chartHelpers.d.ts +9 -1
  47. package/dist/components/chartHelpers.d.ts.map +1 -1
  48. package/dist/components/chartRenderManager.d.ts +4 -1
  49. package/dist/components/chartRenderManager.d.ts.map +1 -1
  50. package/dist/components/community/AddStoreModal.vue.d.ts +1 -1
  51. package/dist/components/community/AddStoreModal.vue.d.ts.map +1 -1
  52. package/dist/components/community/CommunityModelCard.vue.d.ts.map +1 -1
  53. package/dist/components/dashboard/DashboardCreatorIcon.vue.d.ts +54 -0
  54. package/dist/components/dashboard/DashboardCreatorIcon.vue.d.ts.map +1 -0
  55. package/dist/components/dashboard/DashboardProvenance.vue.d.ts +30 -0
  56. package/dist/components/dashboard/DashboardProvenance.vue.d.ts.map +1 -0
  57. package/dist/components/dashboard/ReportLayout.vue.d.ts +19 -0
  58. package/dist/components/dashboard/ReportLayout.vue.d.ts.map +1 -0
  59. package/dist/components/editor/Editor.vue.d.ts +3 -3
  60. package/dist/components/editor/Editor.vue.d.ts.map +1 -1
  61. package/dist/components/editor/EditorCreatorIcon.vue.d.ts +62 -0
  62. package/dist/components/editor/EditorCreatorIcon.vue.d.ts.map +1 -0
  63. package/dist/components/editor/ValidationComponent.vue.d.ts +50 -0
  64. package/dist/components/editor/ValidationComponent.vue.d.ts.map +1 -0
  65. package/dist/components/jobs/JobsAddStoreModal.vue.d.ts.map +1 -1
  66. package/dist/components/llm/ChatCreatorModal.vue.d.ts +17 -1
  67. package/dist/components/llm/ChatCreatorModal.vue.d.ts.map +1 -1
  68. package/dist/components/llm/ChatModelSelect.vue.d.ts +13 -0
  69. package/dist/components/llm/ChatModelSelect.vue.d.ts.map +1 -0
  70. package/dist/components/llm/GlobalChatPanel.vue.d.ts.map +1 -1
  71. package/dist/components/model/ModelCard.vue.d.ts +3 -3
  72. package/dist/components/sidebar/CommunityModelList.vue.d.ts +33 -50
  73. package/dist/components/sidebar/CommunityModelList.vue.d.ts.map +1 -1
  74. package/dist/components/sidebar/CommunityModelListItem.vue.d.ts.map +1 -1
  75. package/dist/components/sidebar/EditorList.vue.d.ts +32 -49
  76. package/dist/components/sidebar/EditorList.vue.d.ts.map +1 -1
  77. package/dist/components/sidebar/LLMConnectionList.vue.d.ts.map +1 -1
  78. package/dist/components/sidebar/Sidebar.vue.d.ts +65 -99
  79. package/dist/components/sidebar/Sidebar.vue.d.ts.map +1 -1
  80. package/dist/components/tutorial/TutorialPrompt.vue.d.ts +3 -3
  81. package/dist/components/tutorial/TutorialPrompt.vue.d.ts.map +1 -1
  82. package/dist/{remoteWorker-Dkv3TJ0j.js → connections-CWH3zwH2.js} +4544 -4126
  83. package/dist/connections.js +3 -4
  84. package/dist/{cssMode-D4Rzr1Cu.js → cssMode-zpO2ap2B.js} +5 -6
  85. package/dist/dashboard.js +54 -57
  86. package/dist/dashboards/layerSpec.d.ts +38 -4
  87. package/dist/dashboards/layerSpec.d.ts.map +1 -1
  88. package/dist/dashboards/lineAreaSpec.d.ts +8 -80
  89. package/dist/dashboards/lineAreaSpec.d.ts.map +1 -1
  90. package/dist/dashboards/mapSpec.d.ts +1 -0
  91. package/dist/dashboards/mapSpec.d.ts.map +1 -1
  92. package/dist/dashboards/spec.d.ts.map +1 -1
  93. package/dist/data/tutorial/documentation.d.ts.map +1 -1
  94. package/dist/data/tutorial/startupScripts.d.ts +3 -0
  95. package/dist/data/tutorial/startupScripts.d.ts.map +1 -0
  96. package/dist/{dist-CXoL8kXK.js → dist-1z5KURzS.js} +55 -50
  97. package/dist/{dist-DKkuvbPb.js → dist-Bv3D2p5A.js} +20 -18
  98. package/dist/{editor.main-Cl8i7rHY.js → editor.main-BQh6DxDB.js} +33 -33
  99. package/dist/{editorRefinementRuntime-C_YmXRy4.js → editorStore-CAlMJftt.js} +2084 -946
  100. package/dist/embed.js +2 -2
  101. package/dist/entry.dashboard.d.ts +1 -0
  102. package/dist/entry.dashboard.d.ts.map +1 -1
  103. package/dist/{freemarker2-fW5NBILf.js → freemarker2-DQBqlEXc.js} +1 -1
  104. package/dist/{globalChatRuntime-oMLiPLNC.js → globalChatRuntime-CyS7vH51.js} +18 -18
  105. package/dist/{handlebars-dG4w8UUY.js → handlebars-tgYxaM70.js} +1 -1
  106. package/dist/{helpers-DcWCa6bX.js → helpers-BbVlA3Pf.js} +39 -39
  107. package/dist/{html-1Dq70BdU.js → html-jJahD3Mi.js} +1 -1
  108. package/dist/{htmlMode--IQmLBeh.js → htmlMode-BA1-8l2e.js} +5 -6
  109. package/dist/{javascript-CTzBM4sF.js → javascript-Cypfo7va.js} +1 -1
  110. package/dist/{jsonMode-DzeJjIEH.js → jsonMode-xJye8PWS.js} +25 -25
  111. package/dist/{liquid-DlHThiki.js → liquid-BGDrv5da.js} +1 -1
  112. package/dist/llm/data/constants.d.ts +1 -1
  113. package/dist/llm/data/constants.d.ts.map +1 -1
  114. package/dist/llm/data/trilogySyntax.generated.d.ts +7 -1
  115. package/dist/llm/data/trilogySyntax.generated.d.ts.map +1 -1
  116. package/dist/llm/docsIndex.d.ts.map +1 -1
  117. package/dist/llm/openai.d.ts +2 -1
  118. package/dist/llm/openai.d.ts.map +1 -1
  119. package/dist/llm-ClU-2rgk.js +18493 -0
  120. package/dist/llm.js +2 -3
  121. package/dist/{localStorage-CSuYS7QE.js → localStorage-CGQ1iJXt.js} +39 -42
  122. package/dist/{lspLanguageFeatures-Cdfs3EKq.js → lspLanguageFeatures-V3e_p9oN.js} +32 -32
  123. package/dist/{mdx-fn3g4PH5.js → mdx-BUR1aImW.js} +1 -1
  124. package/dist/models/helpers.d.ts.map +1 -1
  125. package/dist/monaco.js +3 -3
  126. package/dist/{python-CCVj0pFt.js → python-YLkl0pc6.js} +1 -1
  127. package/dist/{razor-Cj3flYnk.js → razor-BP8TRMDY.js} +1 -1
  128. package/dist/{reconcile-Bk7M797_.js → reconcile-DXIvGwBk.js} +1 -1
  129. package/dist/{remoteStoreSync-CLvZJrTK.js → remoteStoreSync-CuQBWpWf.js} +3 -3
  130. package/dist/remotes/displayHelpers.d.ts.map +1 -1
  131. package/dist/remotes/genericStoreMetadata.d.ts +1 -0
  132. package/dist/remotes/genericStoreMetadata.d.ts.map +1 -1
  133. package/dist/remotes/models.d.ts +37 -5
  134. package/dist/remotes/models.d.ts.map +1 -1
  135. package/dist/remotes/staticStorePresets.d.ts +22 -0
  136. package/dist/remotes/staticStorePresets.d.ts.map +1 -0
  137. package/dist/remotes/storeService.d.ts +25 -4
  138. package/dist/remotes/storeService.d.ts.map +1 -1
  139. package/dist/{rolldown-runtime-Dqa2HsxW.js → rolldown-runtime-B0aSnxlc.js} +2 -2
  140. package/dist/static/test_import.vue.d.ts +4 -0
  141. package/dist/static/test_import.vue.d.ts.map +1 -0
  142. package/dist/stores/communityApiStore.d.ts +32 -60
  143. package/dist/stores/communityApiStore.d.ts.map +1 -1
  144. package/dist/stores/connectionStore.d.ts.map +1 -1
  145. package/dist/stores/resolver.d.ts +5 -0
  146. package/dist/stores/resolver.d.ts.map +1 -1
  147. package/dist/stores/urlStore.d.ts +1 -0
  148. package/dist/stores/urlStore.d.ts.map +1 -1
  149. package/dist/stores-LlyiwSbK.js +2604 -0
  150. package/dist/stores.js +4 -7
  151. package/dist/trilogy-studio-components.css +1 -1
  152. package/dist/{tsMode-GI4xMYAl.js → tsMode-BH9HS_sH.js} +64 -66
  153. package/dist/{typescript-CPibXi3J.js → typescript-BM-ynfk9.js} +1 -1
  154. package/dist/{useChatWithTools-GV1ufcqw.js → useChatWithTools-m3Jn_SV-.js} +11 -11
  155. package/dist/{useDashboard-OoBKkkuQ.js → useDashboard-BOAuvVEw.js} +1013 -1021
  156. package/dist/{tabulator_esm-CxLvGDp8.js → useGlobalChatPanel-DuP1q7_f.js} +1729 -711
  157. package/dist/{useResizableDialog-B0ePSts4.js → useResizableDialog-Cs90WJdF.js} +2 -2
  158. package/dist/views/MobileIDE.vue.d.ts.map +1 -1
  159. package/dist/views/ModelView.vue.d.ts +6 -6
  160. package/dist/views/ModelView.vue.d.ts.map +1 -1
  161. package/dist/views/TutorialPage.vue.d.ts +41 -58
  162. package/dist/views/TutorialPage.vue.d.ts.map +1 -1
  163. package/dist/views.js +193 -195
  164. package/dist/{editor.api2-ClD5pp8H.js → workers-B9Eybl-M.js} +16252 -15926
  165. package/dist/{xml-BNyphceI.js → xml-M5WFPSpA.js} +1 -1
  166. package/dist/{yaml-DE5Vz0PH.js → yaml-CEeFwjz9.js} +1 -1
  167. package/package.json +29 -20
  168. package/dist/AssetAutoImporter-DfMd_DSk.js +0 -403
  169. package/dist/ChatCreatorModal-BTqY06B6.js +0 -177
  170. package/dist/DashboardCreatorInline-LWvf--2x.js +0 -129
  171. package/dist/DataTable-DoRDynP1.js +0 -365
  172. package/dist/EditorCreatorInline-D6_y1H_h.js +0 -125
  173. package/dist/LoadingButton-OH3frQuO.js +0 -138
  174. package/dist/MobileIDE-CHGJoh05.js +0 -781
  175. package/dist/ModalDialog-D1EOG4rl.js +0 -42
  176. package/dist/ModelCreator-DrxLxeyH.js +0 -253
  177. package/dist/PageLoading-I6mr-7NB.js +0 -2666
  178. package/dist/Tooltip-Dihir4zs.js +0 -103
  179. package/dist/_plugin-vue_export-helper-B3ysoDQm.js +0 -8
  180. package/dist/assets/json.worker-CJ5MmO5Q.js +0 -58
  181. package/dist/base-C8IuZWqY.js +0 -164
  182. package/dist/connectionHistoryStorage-DKJHiKJY.js +0 -111
  183. package/dist/connectionHistoryStore-DQeBvStZ.js +0 -61
  184. package/dist/connections-CJSb1TZl.js +0 -229
  185. package/dist/constants-DgFEYN2b.js +0 -7
  186. package/dist/dashboardStore-CNkWQ4r7.js +0 -641
  187. package/dist/demoSetup-DiW3ROFQ.js +0 -2941
  188. package/dist/editorRefinementToolExecutor-mX8ClQ63.js +0 -4498
  189. package/dist/editorStore-Ch7k-gse.js +0 -972
  190. package/dist/formatting-BbJ5ICgh.js +0 -6
  191. package/dist/llm-_807I79k.js +0 -11965
  192. package/dist/llmStore-CSzM1IZd.js +0 -153
  193. package/dist/monaco.contribution-ikesdolO.js +0 -128
  194. package/dist/stores-C1wUWiFm.js +0 -1708
  195. package/dist/trilogy-BroD2Qmp.js +0 -4
  196. package/dist/urlStore-Dgmwx1YI.js +0 -54
  197. package/dist/useGlobalChatPanel-CIeUyZba.js +0 -85
  198. package/dist/useIsMobile-CNpUQAvk.js +0 -8
  199. package/dist/usePrismHighlight-DVyDiDAL.js +0 -183
  200. package/dist/workers-Br7ThUKL.js +0 -47
@@ -1,21 +1,21 @@
1
- import { t as e } from "./_plugin-vue_export-helper-B3ysoDQm.js";
2
- import { r as t, t as n } from "./results-DTgAKr5j.js";
3
- import { a as r, i, r as a, t as o } from "./globalChatRuntime-oMLiPLNC.js";
4
- import { t as s } from "./VegaLiteChart-CmkOw6yD.js";
5
- import { t as c } from "./MarkdownRenderer-BNDuEyG-.js";
6
- import { t as l } from "./DataTable-DoRDynP1.js";
7
- import { t as u } from "./useGlobalChatPanel-CIeUyZba.js";
8
- import { t as d } from "./CodeBlock-PT4no49I.js";
9
- import { n as f, t as p } from "./LLMChat-Cqg6pTgC.js";
10
- import { Fragment as m, computed as h, createBlock as g, createCommentVNode as _, createElementBlock as v, createElementVNode as y, createTextVNode as b, createVNode as x, defineComponent as S, inject as C, nextTick as ee, normalizeClass as w, normalizeStyle as T, onBeforeUnmount as E, onMounted as te, openBlock as D, ref as O, renderList as k, renderSlot as A, resolveComponent as j, toDisplayString as M, unref as N, vModelSelect as ne, watch as re, withCtx as ie, withDirectives as ae, withModifiers as P } from "vue";
1
+ import { t as e } from "./_plugin-vue_export-helper-f9Rw-Il4.js";
2
+ import { c as t, u as n } from "./base-DuKnVD-A.js";
3
+ import { a as r, i, r as a, t as o } from "./globalChatRuntime-CyS7vH51.js";
4
+ import { r as s, t as c } from "./useGlobalChatPanel-DuP1q7_f.js";
5
+ import { t as l } from "./VegaLiteChart-BVyAab-o.js";
6
+ import { t as u } from "./MarkdownRenderer-BWvdx0k3.js";
7
+ import { t as d } from "./CodeBlock-BBsaC6hX.js";
8
+ import { n as f, t as p } from "./LLMChat-Cch33Yd_.js";
9
+ import { t as ee } from "./ChatModelSelect-Cz7axWjP.js";
10
+ import { Fragment as m, computed as h, createBlock as g, createCommentVNode as _, createElementBlock as v, createElementVNode as y, createTextVNode as b, createVNode as x, defineComponent as S, inject as C, nextTick as te, normalizeClass as w, normalizeStyle as T, onBeforeUnmount as E, onMounted as ne, openBlock as D, ref as O, renderList as k, renderSlot as A, resolveComponent as j, toDisplayString as M, unref as N, vModelSelect as re, watch as P, withCtx as ie, withDirectives as ae, withModifiers as F } from "vue";
11
11
  //#region components/llm/ChatArtifact.vue?vue&type=script&lang.ts
12
- var F = S({
12
+ var I = S({
13
13
  name: "ChatArtifactComponent",
14
14
  components: {
15
- DataTable: l,
16
- VegaLiteChart: s,
15
+ DataTable: s,
16
+ VegaLiteChart: l,
17
17
  CodeBlock: d,
18
- MarkdownRenderer: c
18
+ MarkdownRenderer: u
19
19
  },
20
20
  props: {
21
21
  artifact: {
@@ -54,13 +54,13 @@ var F = S({
54
54
  case "markdown": return "mdi mdi-language-markdown";
55
55
  default: return "mdi mdi-file-document-outline";
56
56
  }
57
- }), c = h(() => e.artifact.data ? e.artifact.data instanceof t ? e.artifact.data : e.artifact.data.headers && e.artifact.data.data ? t.fromJSON(e.artifact.data) : null : null), l = h(() => e.artifact.config?.chartConfig), u = h(() => {
57
+ }), c = h(() => e.artifact.data ? e.artifact.data instanceof n ? e.artifact.data : e.artifact.data.headers && e.artifact.data.data ? n.fromJSON(e.artifact.data) : null : null), l = h(() => e.artifact.config?.chartConfig), u = h(() => {
58
58
  if (e.artifact.type !== "markdown") return null;
59
- let n = e.artifact.data?.queryResults;
60
- return n ? n instanceof t ? n : n?.headers && n?.data ? t.fromJSON(n) : null : null;
59
+ let t = e.artifact.data?.queryResults;
60
+ return t ? t instanceof n ? t : t?.headers && t?.data ? n.fromJSON(t) : null : null;
61
61
  }), d = h(() => {
62
62
  if (!c.value) return !1;
63
- for (let e of c.value.headers.values()) if (e.type === n.ARRAY || e.type === n.STRUCT) return !0;
63
+ for (let e of c.value.headers.values()) if (e.type === t.ARRAY || e.type === t.STRUCT) return !0;
64
64
  return !1;
65
65
  });
66
66
  return {
@@ -88,35 +88,35 @@ var F = S({
88
88
  }
89
89
  };
90
90
  }
91
- }), I = { class: "artifact-type-icon" }, L = { class: "artifact-title" }, R = { class: "artifact-actions" }, z = ["title"], B = {
91
+ }), L = { class: "artifact-type-icon" }, R = { class: "artifact-title" }, z = { class: "artifact-actions" }, B = ["title"], V = {
92
92
  key: 0,
93
93
  class: "artifact-content"
94
- }, V = { class: "artifact-tabs" }, H = {
94
+ }, H = { class: "artifact-tabs" }, U = {
95
95
  key: 2,
96
96
  class: "artifact-markdown"
97
- }, U = {
97
+ }, W = {
98
98
  key: 4,
99
99
  class: "artifact-custom"
100
100
  };
101
- function W(e, t, n, r, i, a) {
101
+ function oe(e, t, n, r, i, a) {
102
102
  let o = j("data-table"), s = j("vega-lite-chart"), c = j("markdown-renderer"), l = j("code-block");
103
103
  return D(), v("div", { class: w(["chat-artifact", { expanded: e.isExpanded }]) }, [y("div", {
104
104
  class: "artifact-header",
105
105
  onClick: t[2] ||= (...t) => e.toggleExpanded && e.toggleExpanded(...t)
106
106
  }, [
107
- y("span", I, [y("i", { class: w(e.typeIcon) }, null, 2)]),
108
- y("span", L, M(e.title), 1),
109
- y("div", R, [e.canExpand ? (D(), v("button", {
107
+ y("span", L, [y("i", { class: w(e.typeIcon) }, null, 2)]),
108
+ y("span", R, M(e.title), 1),
109
+ y("div", z, [e.canExpand ? (D(), v("button", {
110
110
  key: 0,
111
111
  class: "artifact-action-btn",
112
- onClick: t[0] ||= P((t) => e.$emit("expand", e.artifact), ["stop"]),
112
+ onClick: t[0] ||= F((t) => e.$emit("expand", e.artifact), ["stop"]),
113
113
  title: "Open in full view"
114
114
  }, [...t[5] ||= [y("i", { class: "mdi mdi-arrow-expand" }, null, -1)]])) : _("", !0), y("button", {
115
115
  class: "artifact-action-btn",
116
- onClick: t[1] ||= P((...t) => e.toggleExpanded && e.toggleExpanded(...t), ["stop"]),
116
+ onClick: t[1] ||= F((...t) => e.toggleExpanded && e.toggleExpanded(...t), ["stop"]),
117
117
  title: e.isExpanded ? "Collapse" : "Expand"
118
- }, [y("i", { class: w(e.isExpanded ? "mdi mdi-chevron-up" : "mdi mdi-chevron-down") }, null, 2)], 8, z)])
119
- ]), e.isExpanded ? (D(), v("div", B, [e.artifact.type === "results" && e.results ? (D(), v(m, { key: 0 }, [y("div", V, [y("button", {
118
+ }, [y("i", { class: w(e.isExpanded ? "mdi mdi-chevron-up" : "mdi mdi-chevron-down") }, null, 2)], 8, B)])
119
+ ]), e.isExpanded ? (D(), v("div", V, [e.artifact.type === "results" && e.results ? (D(), v(m, { key: 0 }, [y("div", H, [y("button", {
120
120
  class: w(["artifact-tab", { active: e.activeTab === "table" }]),
121
121
  onClick: t[3] ||= (t) => e.activeTab = "table"
122
122
  }, " Table (" + M(e.results.data.length) + ") ", 3), y("button", {
@@ -165,7 +165,7 @@ function W(e, t, n, r, i, a) {
165
165
  "containerHeight",
166
166
  "initialConfig",
167
167
  "onConfigChange"
168
- ])], 4)) : e.artifact.type === "markdown" ? (D(), v("div", H, [x(c, {
168
+ ])], 4)) : e.artifact.type === "markdown" ? (D(), v("div", U, [x(c, {
169
169
  markdown: e.artifact.data?.markdown || "",
170
170
  results: e.markdownResults,
171
171
  loading: !1
@@ -173,35 +173,35 @@ function W(e, t, n, r, i, a) {
173
173
  key: 3,
174
174
  language: e.artifact.config?.language || "sql",
175
175
  content: e.artifact.data || ""
176
- }, null, 8, ["language", "content"])) : (D(), v("div", U, [A(e.$slots, "default", { artifact: e.artifact }, () => [y("pre", null, M(JSON.stringify(e.artifact.data, null, 2)), 1)], !0)]))])) : _("", !0)], 2);
176
+ }, null, 8, ["language", "content"])) : (D(), v("div", W, [A(e.$slots, "default", { artifact: e.artifact }, () => [y("pre", null, M(JSON.stringify(e.artifact.data, null, 2)), 1)], !0)]))])) : _("", !0)], 2);
177
177
  }
178
- var oe = /*#__PURE__*/ e(F, [["render", W], ["__scopeId", "data-v-12ad0967"]]), G = {
178
+ var se = /*#__PURE__*/ e(I, [["render", oe], ["__scopeId", "data-v-12ad0967"]]), G = {
179
179
  class: "conversation-list",
180
180
  "data-testid": "global-chat-conversations"
181
181
  }, K = {
182
182
  key: 0,
183
183
  class: "empty-state"
184
- }, q = ["onClick", "data-testid"], J = { class: "conversation-main" }, Y = { class: "conversation-title-line" }, X = {
184
+ }, q = ["onClick", "data-testid"], J = { class: "conversation-main" }, Y = { class: "conversation-title-line" }, ce = {
185
185
  key: 0,
186
186
  class: "running-spinner",
187
187
  title: "Running"
188
- }, Z = { class: "conversation-name" }, Q = {
188
+ }, le = { class: "conversation-name" }, X = {
189
189
  key: 0,
190
190
  class: "conversation-preview"
191
- }, $ = { class: "conversation-meta" }, se = {
191
+ }, ue = { class: "conversation-meta" }, de = {
192
192
  key: 0,
193
193
  class: "connection-badge"
194
- }, ce = { class: "conversation-time" }, le = ["onClick", "data-testid"], ue = ["onClick", "data-testid"], de = { class: "conversation-main" }, fe = { class: "conversation-title-line" }, pe = {
194
+ }, Z = { class: "conversation-time" }, Q = ["onClick", "data-testid"], fe = ["onClick", "data-testid"], $ = { class: "conversation-main" }, pe = { class: "conversation-title-line" }, me = {
195
195
  key: 0,
196
196
  class: "running-spinner",
197
197
  title: "Running"
198
- }, me = { class: "conversation-name" }, he = {
198
+ }, he = { class: "conversation-name" }, ge = {
199
199
  key: 0,
200
200
  class: "conversation-preview"
201
- }, ge = { class: "conversation-meta" }, _e = {
201
+ }, _e = { class: "conversation-meta" }, ve = {
202
202
  key: 0,
203
203
  class: "connection-badge"
204
- }, ve = { class: "conversation-time" }, ye = ["onClick", "data-testid"], be = /*#__PURE__*/ e(/* @__PURE__ */ S({
204
+ }, ye = { class: "conversation-time" }, be = ["onClick", "data-testid"], xe = /*#__PURE__*/ e(/* @__PURE__ */ S({
205
205
  __name: "GlobalChatConversationList",
206
206
  props: { activeChatId: {} },
207
207
  emits: ["select", "new-chat"],
@@ -243,139 +243,161 @@ var oe = /*#__PURE__*/ e(F, [["render", W], ["__scopeId", "data-v-12ad0967"]]),
243
243
  onClick: (t) => r("select", e.id),
244
244
  "data-testid": `global-chat-conversation-${e.id}`
245
245
  }, [y("div", J, [
246
- y("div", Y, [N(i).isChatExecuting(e.id) ? (D(), v("span", X)) : _("", !0), y("span", Z, M(e.name), 1)]),
247
- f(e) ? (D(), v("div", Q, M(f(e)), 1)) : _("", !0),
248
- y("div", $, [e.llmConnectionName ? (D(), v("span", se, M(e.llmConnectionName), 1)) : _("", !0), y("span", ce, M(d(e.updatedAt)), 1)])
246
+ y("div", Y, [N(i).isChatExecuting(e.id) ? (D(), v("span", ce)) : _("", !0), y("span", le, M(e.name), 1)]),
247
+ f(e) ? (D(), v("div", X, M(f(e)), 1)) : _("", !0),
248
+ y("div", ue, [e.llmConnectionName ? (D(), v("span", de, M(e.llmConnectionName), 1)) : _("", !0), y("span", Z, M(d(e.updatedAt)), 1)])
249
249
  ]), y("button", {
250
250
  class: "conversation-delete",
251
- onClick: P((t) => p(e), ["stop"]),
251
+ onClick: F((t) => p(e), ["stop"]),
252
252
  title: "Delete conversation",
253
253
  "data-testid": `global-chat-delete-${e.id}`
254
- }, [...t[2] ||= [y("i", { class: "mdi mdi-trash-can-outline" }, null, -1)]], 8, le)], 10, q))), 128)),
254
+ }, [...t[2] ||= [y("i", { class: "mdi mdi-trash-can-outline" }, null, -1)]], 8, Q)], 10, q))), 128)),
255
255
  l.value.length > 0 ? (D(), v(m, { key: 1 }, [t[5] ||= y("div", { class: "section-header" }, "Dashboard sessions", -1), (D(!0), v(m, null, k(l.value, (e) => (D(), v("div", {
256
256
  key: e.id,
257
257
  class: w(["conversation-row", { active: e.id === n.activeChatId }]),
258
258
  onClick: (t) => r("select", e.id),
259
259
  "data-testid": `global-chat-conversation-${e.id}`
260
- }, [y("div", de, [
261
- y("div", fe, [
262
- N(i).isChatExecuting(e.id) ? (D(), v("span", pe)) : _("", !0),
260
+ }, [y("div", $, [
261
+ y("div", pe, [
262
+ N(i).isChatExecuting(e.id) ? (D(), v("span", me)) : _("", !0),
263
263
  t[3] ||= y("i", {
264
264
  class: "mdi mdi-chart-multiple dashboard-chat-icon",
265
265
  "aria-hidden": "true"
266
266
  }, null, -1),
267
- y("span", me, M(u(e)), 1)
267
+ y("span", he, M(u(e)), 1)
268
268
  ]),
269
- f(e) ? (D(), v("div", he, M(f(e)), 1)) : _("", !0),
270
- y("div", ge, [e.llmConnectionName ? (D(), v("span", _e, M(e.llmConnectionName), 1)) : _("", !0), y("span", ve, M(d(e.updatedAt)), 1)])
269
+ f(e) ? (D(), v("div", ge, M(f(e)), 1)) : _("", !0),
270
+ y("div", _e, [e.llmConnectionName ? (D(), v("span", ve, M(e.llmConnectionName), 1)) : _("", !0), y("span", ye, M(d(e.updatedAt)), 1)])
271
271
  ]), y("button", {
272
272
  class: "conversation-delete",
273
- onClick: P((t) => p(e), ["stop"]),
273
+ onClick: F((t) => p(e), ["stop"]),
274
274
  title: "Delete conversation",
275
275
  "data-testid": `global-chat-delete-${e.id}`
276
- }, [...t[4] ||= [y("i", { class: "mdi mdi-trash-can-outline" }, null, -1)]], 8, ye)], 10, ue))), 128))], 64)) : _("", !0)
276
+ }, [...t[4] ||= [y("i", { class: "mdi mdi-trash-can-outline" }, null, -1)]], 8, be)], 10, fe))), 128))], 64)) : _("", !0)
277
277
  ]));
278
278
  }
279
- }), [["__scopeId", "data-v-1819b525"]]), xe = { class: "panel-body" }, Se = { class: "panel-header" }, Ce = {
279
+ }), [["__scopeId", "data-v-1819b525"]]), Se = { class: "panel-body" }, Ce = { class: "panel-header" }, we = {
280
280
  key: 0,
281
281
  class: "running-badge"
282
- }, we = {
282
+ }, Te = {
283
283
  key: 0,
284
284
  class: "panel-title"
285
- }, Te = {
285
+ }, Ee = {
286
286
  key: 1,
287
287
  class: "panel-title panel-title-static"
288
- }, Ee = { class: "panel-actions" }, De = ["value"], Oe = {
288
+ }, De = { class: "panel-actions" }, Oe = ["disabled"], ke = ["value"], Ae = {
289
+ key: 0,
290
+ class: "panel-model-picker"
291
+ }, je = {
289
292
  key: 0,
293
+ role: "alert"
294
+ }, Me = {
295
+ key: 1,
290
296
  class: "backoff-banner"
291
- }, ke = /*#__PURE__*/ e(/* @__PURE__ */ S({
297
+ }, Ne = /*#__PURE__*/ e(/* @__PURE__ */ S({
292
298
  __name: "GlobalChatPanel",
293
299
  setup(e) {
294
- let t = C("chatStore"), n = C("llmConnectionStore"), s = C("connectionStore"), c = C("editorStore"), l = C("queryExecutionService"), d = C("dashboardStore", null), S = C("projectStore", null), A = C("modelStore", null), j = C("saveEditors", null), P = C("saveModels", null), F = u(), I = C("storesLoaded", O(!0)), L = h(() => {
295
- let e = F.activePanelChatId.value;
300
+ let t = C("chatStore"), n = C("llmConnectionStore"), s = C("connectionStore"), l = C("editorStore"), u = C("queryExecutionService"), d = C("dashboardStore", null), S = C("projectStore", null), A = C("modelStore", null), j = C("saveEditors", null), F = C("saveModels", null), I = C("saveLLMConnections", null), L = O(!1), R = O(""), z = c(), B = C("storesLoaded", O(!0)), V = h(() => {
301
+ let e = z.activePanelChatId.value;
296
302
  if (!e) return null;
297
303
  let n = t.chats[e];
298
304
  return !n || n.deleted ? null : n;
299
305
  });
300
- re([
301
- () => F.isOpen.value,
302
- L,
303
- I
306
+ P([
307
+ () => z.isOpen.value,
308
+ V,
309
+ B
304
310
  ], ([e, n, r]) => {
305
311
  if (!e || n || !r) return;
306
312
  let i = t.chatList.filter((e) => e.kind === "user" && e.source === "user").sort((e, t) => new Date(t.updatedAt).getTime() - new Date(e.updatedAt).getTime())[0];
307
- i ? F.setActivePanelChat(i.id) : F.setView("list");
313
+ i ? z.setActivePanelChat(i.id) : z.setView("list");
308
314
  }, { immediate: !0 });
309
- let R = h(() => L.value?.messages || []), z = h(() => {
310
- let e = R.value;
315
+ let H = h(() => V.value?.messages || []), U = h(() => {
316
+ let e = H.value;
311
317
  for (let t = e.length - 1; t >= 0; t--) {
312
318
  let n = e[t];
313
319
  if (n && n.artifact && !n.hidden) return n;
314
320
  }
315
321
  return null;
316
- }), B = h(() => L.value ? t.isChatExecuting(L.value.id) : !1), V = h(() => L.value ? t.getChatActiveToolName(L.value.id) : ""), H = h(() => L.value ? t.getChatRateLimitBackoff(L.value.id) : null), U = h(() => Object.entries(t.chatExecutions).filter(([e, n]) => {
317
- if (!n?.isLoading || e === F.activePanelChatId.value) return !1;
322
+ }), W = h(() => V.value ? t.isChatExecuting(V.value.id) : !1), oe = h(() => V.value ? t.getChatActiveToolName(V.value.id) : ""), G = h(() => V.value ? t.getChatRateLimitBackoff(V.value.id) : null), K = h(() => Object.entries(t.chatExecutions).filter(([e, n]) => {
323
+ if (!n?.isLoading || e === z.activePanelChatId.value) return !1;
318
324
  let r = t.chats[e];
319
325
  return !!r && !r.deleted && r.kind === "user" && r.source !== "editor";
320
- }).length), W = h(() => Object.keys(n.connections)), G = h({
321
- get: () => L.value?.llmConnectionName || "",
326
+ }).length), q = h(() => Object.values(n.connections).filter((e) => !e.deleted).map((e) => e.name)), J = h({
327
+ get: () => V.value?.llmConnectionName || n.activeConnection || "",
322
328
  set: (e) => {
323
- L.value && t.updateChatLLMConnection(L.value.id, e);
329
+ V.value && t.updateChatLLMConnection(V.value.id, e);
324
330
  }
331
+ }), Y = h(() => n.connections[J.value]);
332
+ P(J, () => {
333
+ R.value = "";
325
334
  });
326
- function K(e) {
327
- L.value && t.updateChatName(L.value.id, e);
335
+ async function ce(e) {
336
+ let t = Y.value;
337
+ if (!t || !e || t.model === e || L.value) return;
338
+ let n = t.model;
339
+ L.value = !0, R.value = "";
340
+ try {
341
+ t.setModel(e), await I?.();
342
+ } catch {
343
+ t.setModel(n), R.value = "Could not save the model. Please try again.";
344
+ } finally {
345
+ L.value = !1;
346
+ }
347
+ }
348
+ function le(e) {
349
+ V.value && t.updateChatName(V.value.id, e);
328
350
  }
329
- function q() {
351
+ function X() {
330
352
  let e = t.newChat(n.activeConnection || "", "", void 0, "", { activate: !1 });
331
- F.setActivePanelChat(e.id);
353
+ z.setActivePanelChat(e.id);
332
354
  }
333
- function J(e) {
334
- F.setActivePanelChat(e);
355
+ function ue(e) {
356
+ z.setActivePanelChat(e);
335
357
  }
336
- async function Y(e, r) {
337
- let i = L.value;
338
- i || (i = t.newChat(n.activeConnection || "", "", void 0, "", { activate: !1 }), F.setActivePanelChat(i.id), await ee()), await a({
358
+ async function de(e, r) {
359
+ let i = V.value;
360
+ i || (i = t.newChat(n.activeConnection || "", "", void 0, "", { activate: !1 }), z.setActivePanelChat(i.id), await te()), await a({
339
361
  chatId: i.id,
340
362
  message: e,
341
363
  chatStore: t,
342
364
  deps: {
343
365
  llmConnectionStore: n,
344
366
  connectionStore: s,
345
- queryExecutionService: l,
346
- editorStore: c,
367
+ queryExecutionService: u,
368
+ editorStore: l,
347
369
  ...S ? { projectStore: S } : {},
348
370
  ...d ? { dashboardStore: d } : {},
349
371
  ...A ? { modelStore: A } : {},
350
372
  ...j ? { saveEditors: j } : {},
351
- ...P ? { saveModels: P } : {}
373
+ ...F ? { saveModels: F } : {}
352
374
  }
353
375
  });
354
376
  }
355
- let X = null;
356
- te(() => {
357
- X = r({
377
+ let Z = null;
378
+ ne(() => {
379
+ Z = r({
358
380
  chatStore: t,
359
- getTargetChatId: () => F.activePanelChatId.value,
381
+ getTargetChatId: () => z.activePanelChatId.value,
360
382
  dashboardNameLookup: (e) => d?.dashboards[e]?.name ?? null,
361
- editorNameLookup: (e) => c.editors[e]?.name ?? null
383
+ editorNameLookup: (e) => l.editors[e]?.name ?? null
362
384
  });
363
385
  }), E(() => {
364
- X &&= (X(), null);
386
+ Z &&= (Z(), null);
365
387
  });
366
- function Z() {
367
- let e = L.value;
388
+ function Q() {
389
+ let e = V.value;
368
390
  e && t.isChatExecuting(e.id) && t.stopExecution(e.id);
369
391
  }
370
- function Q() {
371
- let e = L.value;
392
+ function fe() {
393
+ let e = V.value;
372
394
  e && window.confirm(`Clear all messages in "${e.name}"?`) && (t.isChatExecuting(e.id) && t.stopExecution(e.id), t.clearChatMessages(e.id), o(e.id), i(e.id));
373
395
  }
374
396
  let $ = null;
375
- function se(e) {
397
+ function pe(e) {
376
398
  e.preventDefault(), $ &&= ($(), null);
377
- let t = e.clientX, n = F.panelWidth.value, r = (e) => {
378
- F.setPanelWidth(n + (t - e.clientX));
399
+ let t = e.clientX, n = z.panelWidth.value, r = (e) => {
400
+ z.setPanelWidth(n + (t - e.clientX));
379
401
  }, i = () => {
380
402
  $ &&= ($(), null), window.dispatchEvent(new Event("resize"));
381
403
  };
@@ -388,83 +410,95 @@ var oe = /*#__PURE__*/ e(F, [["render", W], ["__scopeId", "data-v-12ad0967"]]),
388
410
  }), (e, t) => (D(), v("div", {
389
411
  class: "global-chat-panel",
390
412
  style: T({
391
- width: N(F).panelWidth.value + "px",
413
+ width: N(z).panelWidth.value + "px",
392
414
  minWidth: N(320) + "px",
393
415
  maxWidth: N(640) + "px"
394
416
  }),
395
417
  "data-testid": "global-chat-panel"
396
418
  }, [y("div", {
397
419
  class: "panel-resize-handle",
398
- onMousedown: se
399
- }, null, 32), y("div", xe, [
400
- y("div", Se, [
420
+ onMousedown: pe
421
+ }, null, 32), y("div", Se, [
422
+ y("div", Ce, [
401
423
  y("button", {
402
- class: w(["panel-header-btn", { "is-active": N(F).view.value === "list" }]),
403
- onClick: t[0] ||= (e) => N(F).setView(N(F).view.value === "list" ? "conversation" : "list"),
424
+ class: w(["panel-header-btn", { "is-active": N(z).view.value === "list" }]),
425
+ onClick: t[0] ||= (e) => N(z).setView(N(z).view.value === "list" ? "conversation" : "list"),
404
426
  title: "Conversations",
405
427
  "data-testid": "global-chat-list-toggle"
406
- }, [t[3] ||= y("i", { class: "mdi mdi-forum-outline" }, null, -1), U.value > 0 ? (D(), v("span", Ce, M(U.value), 1)) : _("", !0)], 2),
407
- N(F).view.value === "conversation" && L.value ? (D(), v("div", we, [x(f, {
408
- "model-value": L.value.name,
428
+ }, [t[3] ||= y("i", { class: "mdi mdi-forum-outline" }, null, -1), K.value > 0 ? (D(), v("span", we, M(K.value), 1)) : _("", !0)], 2),
429
+ N(z).view.value === "conversation" && V.value ? (D(), v("div", Te, [x(f, {
430
+ "model-value": V.value.name,
409
431
  "test-id": "global-chat-title",
410
- "onUpdate:modelValue": K
411
- }, null, 8, ["model-value"])])) : (D(), v("div", Te, [...t[4] ||= [y("i", { class: "mdi mdi-creation" }, null, -1), b(" AI Assistant ", -1)]])),
412
- y("div", Ee, [
413
- N(F).view.value === "conversation" && L.value && W.value.length ? ae((D(), v("select", {
432
+ "onUpdate:modelValue": le
433
+ }, null, 8, ["model-value"])])) : (D(), v("div", Ee, [...t[4] ||= [y("i", { class: "mdi mdi-creation" }, null, -1), b(" AI Assistant ", -1)]])),
434
+ y("div", De, [
435
+ N(z).view.value === "conversation" && V.value && q.value.length ? ae((D(), v("select", {
414
436
  key: 0,
415
437
  class: "llm-connection-select",
416
- "onUpdate:modelValue": t[1] ||= (e) => G.value = e,
438
+ "onUpdate:modelValue": t[1] ||= (e) => J.value = e,
439
+ disabled: L.value,
417
440
  title: "LLM connection for this conversation",
418
441
  "data-testid": "global-chat-llm-select"
419
442
  }, [t[5] ||= y("option", {
420
443
  value: "",
421
444
  disabled: ""
422
- }, "LLM…", -1), (D(!0), v(m, null, k(W.value, (e) => (D(), v("option", {
445
+ }, "LLM…", -1), (D(!0), v(m, null, k(q.value, (e) => (D(), v("option", {
423
446
  key: e,
424
447
  value: e
425
- }, M(e), 9, De))), 128))], 512)), [[ne, G.value]]) : _("", !0),
426
- B.value ? (D(), v("button", {
448
+ }, M(e), 9, ke))), 128))], 8, Oe)), [[re, J.value]]) : _("", !0),
449
+ W.value ? (D(), v("button", {
427
450
  key: 1,
428
451
  class: "panel-header-btn panel-header-btn-stop",
429
- onClick: Z,
452
+ onClick: Q,
430
453
  title: "Stop the assistant",
431
454
  "data-testid": "global-chat-stop"
432
455
  }, [...t[6] ||= [y("i", { class: "mdi mdi-stop-circle-outline" }, null, -1)]])) : _("", !0),
433
- N(F).view.value === "conversation" && L.value && R.value.length ? (D(), v("button", {
456
+ N(z).view.value === "conversation" && V.value && H.value.length ? (D(), v("button", {
434
457
  key: 2,
435
458
  class: "panel-header-btn",
436
- onClick: Q,
459
+ onClick: fe,
437
460
  title: "Clear conversation",
438
461
  "data-testid": "global-chat-clear"
439
462
  }, [...t[7] ||= [y("i", { class: "mdi mdi-broom" }, null, -1)]])) : _("", !0),
440
463
  y("button", {
441
464
  class: "panel-header-btn",
442
- onClick: q,
465
+ onClick: X,
443
466
  title: "New conversation",
444
467
  "data-testid": "global-chat-new"
445
468
  }, [...t[8] ||= [y("i", { class: "mdi mdi-plus" }, null, -1)]]),
446
469
  y("button", {
447
470
  class: "panel-header-btn",
448
- onClick: t[2] ||= (e) => N(F).closePanel(),
471
+ onClick: t[2] ||= (e) => N(z).closePanel(),
449
472
  title: "Close (Ctrl+Shift+.)",
450
473
  "data-testid": "global-chat-close"
451
474
  }, [...t[9] ||= [y("i", { class: "mdi mdi-close" }, null, -1)]])
452
475
  ])
453
476
  ]),
454
- H.value?.isWaiting ? (D(), v("div", Oe, " Rate limited — retrying (attempt " + M(H.value.attempt) + ", " + M(Math.round(H.value.delayMs / 1e3)) + "s) ", 1)) : _("", !0),
455
- N(F).view.value === "list" ? (D(), g(be, {
456
- key: 1,
457
- "active-chat-id": N(F).activePanelChatId.value,
458
- onSelect: J,
459
- onNewChat: q
460
- }, null, 8, ["active-chat-id"])) : (D(), g(p, {
477
+ N(z).view.value === "conversation" && V.value ? (D(), v("div", Ae, [x(ee, {
478
+ "connection-name": J.value,
479
+ "model-value": Y.value?.model || "",
480
+ disabled: L.value,
481
+ "onUpdate:modelValue": ce
482
+ }, null, 8, [
483
+ "connection-name",
484
+ "model-value",
485
+ "disabled"
486
+ ]), R.value ? (D(), v("small", je, M(R.value), 1)) : _("", !0)])) : _("", !0),
487
+ G.value?.isWaiting ? (D(), v("div", Me, " Rate limited — retrying (attempt " + M(G.value.attempt) + ", " + M(Math.round(G.value.delayMs / 1e3)) + "s) ", 1)) : _("", !0),
488
+ N(z).view.value === "list" ? (D(), g(xe, {
461
489
  key: 2,
462
- messages: R.value,
490
+ "active-chat-id": N(z).activePanelChatId.value,
491
+ onSelect: ue,
492
+ onNewChat: X
493
+ }, null, 8, ["active-chat-id"])) : (D(), g(p, {
494
+ key: 3,
495
+ messages: H.value,
463
496
  "show-header": !1,
464
- "external-loading": B.value,
465
- "active-tool-name": V.value,
466
- "send-handler": Y,
467
- "stop-handler": Z,
497
+ "external-loading": W.value,
498
+ disabled: L.value,
499
+ "active-tool-name": oe.value,
500
+ "send-handler": de,
501
+ "stop-handler": Q,
468
502
  placeholder: [
469
503
  "Ask about your data...",
470
504
  "Ask how the app works...",
@@ -473,20 +507,21 @@ var oe = /*#__PURE__*/ e(F, [["render", W], ["__scopeId", "data-v-12ad0967"]]),
473
507
  "send-button-text": "Send",
474
508
  "loading-text": "Working..."
475
509
  }, {
476
- artifact: ie(({ artifact: e, message: t }) => [x(oe, {
510
+ artifact: ie(({ artifact: e, message: t }) => [x(se, {
477
511
  artifact: e,
478
512
  height: 320,
479
513
  "can-expand": !1,
480
- "default-expanded": t === z.value
514
+ "default-expanded": t === U.value
481
515
  }, null, 8, ["artifact", "default-expanded"])]),
482
516
  _: 1
483
517
  }, 8, [
484
518
  "messages",
485
519
  "external-loading",
520
+ "disabled",
486
521
  "active-tool-name"
487
522
  ]))
488
523
  ])], 4));
489
524
  }
490
- }), [["__scopeId", "data-v-63a58261"]]);
525
+ }), [["__scopeId", "data-v-d4b77a36"]]);
491
526
  //#endregion
492
- export { ke as default };
527
+ export { Ne as default };