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

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 (114) hide show
  1. package/dist/AssetAutoImporter-CBzvBaOt.js +405 -0
  2. package/dist/ChatCreatorModal-CL-jBnc3.js +218 -0
  3. package/dist/ChatModelSelect-Do-VRUFc.js +40 -0
  4. package/dist/{CommunityModels-D7zWnHgG.js → CommunityModels-Cmro0hV3.js} +101 -70
  5. package/dist/{Dashboard-D1ZCTw5r.js → Dashboard-BH9ZwMVJ.js} +8 -8
  6. package/dist/{DashboardCreatorInline-LWvf--2x.js → DashboardCreatorInline-CDU7kLy3.js} +3 -3
  7. package/dist/{DashboardImportSelector-CNxibXlS.js → DashboardImportSelector-DQSvu9T-.js} +1 -1
  8. package/dist/{DashboardMobile-D_m0xv17.js → DashboardMobile-BUPtdN2V.js} +4 -4
  9. package/dist/{Editor-DhsP18KE.js → Editor-DQsYpkwl.js} +6 -6
  10. package/dist/{GlobalChatPanel-DFx9A4yP.js → GlobalChatPanel-DhnOaige.js} +155 -119
  11. package/dist/{IDE-BRMLxTfP.js → IDE-HLa8vybk.js} +9 -9
  12. package/dist/{JobsView-C9PYS6pZ.js → JobsView-B97HBoIE.js} +8 -8
  13. package/dist/{LLMChat-Cqg6pTgC.js → LLMChat-CxJcPLEG.js} +1 -1
  14. package/dist/{LLMView-VkJpP-49.js → LLMView-C1MUf0c2.js} +21 -21
  15. package/dist/{MobileIDE-CHGJoh05.js → MobileIDE-BpqXoaMR.js} +258 -253
  16. package/dist/{ModelCard-D8tKkK9-.js → ModelCard-BhN25jaV.js} +10 -10
  17. package/dist/{ModelCreator-DrxLxeyH.js → ModelCreator-CCdC7EXt.js} +1 -1
  18. package/dist/{ModelView-rAurf9n8.js → ModelView-DUDA_PtZ.js} +3 -3
  19. package/dist/{PageLoading-I6mr-7NB.js → PageLoading-BzniJM0C.js} +622 -619
  20. package/dist/{ResultComponent-_-1qZCfv.js → ResultComponent-CAn_r3BL.js} +3 -3
  21. package/dist/{Results-CQGpFmPQ.js → Results-BJtlwebY.js} +3 -3
  22. package/dist/{SymbolsPane-BpmL___H.js → SymbolsPane-KYSwN9Sv.js} +1 -1
  23. package/dist/{TutorialPage-CZGBRJdq.js → TutorialPage-NRcee6Dx.js} +8 -8
  24. package/dist/{VegaLiteChart-CmkOw6yD.js → VegaLiteChart-D1slfOUY.js} +11227 -11195
  25. package/dist/{WelcomePage-CLKvAvk-.js → WelcomePage-D5mU2x1L.js} +1 -1
  26. package/dist/components/AssetAutoImporter.vue.d.ts.map +1 -1
  27. package/dist/components/TipsCTA.vue.d.ts +1 -1
  28. package/dist/components/VegaLiteChart.vue.d.ts.map +1 -1
  29. package/dist/components/chartHelpers.d.ts +9 -1
  30. package/dist/components/chartHelpers.d.ts.map +1 -1
  31. package/dist/components/chartRenderManager.d.ts +4 -1
  32. package/dist/components/chartRenderManager.d.ts.map +1 -1
  33. package/dist/components/community/AddStoreModal.vue.d.ts +1 -1
  34. package/dist/components/community/AddStoreModal.vue.d.ts.map +1 -1
  35. package/dist/components/community/CommunityModelCard.vue.d.ts.map +1 -1
  36. package/dist/components/editor/Editor.vue.d.ts.map +1 -1
  37. package/dist/components/jobs/JobsAddStoreModal.vue.d.ts.map +1 -1
  38. package/dist/components/llm/ChatCreatorModal.vue.d.ts +17 -1
  39. package/dist/components/llm/ChatCreatorModal.vue.d.ts.map +1 -1
  40. package/dist/components/llm/ChatModelSelect.vue.d.ts +13 -0
  41. package/dist/components/llm/ChatModelSelect.vue.d.ts.map +1 -0
  42. package/dist/components/llm/GlobalChatPanel.vue.d.ts.map +1 -1
  43. package/dist/components/sidebar/CommunityModelList.vue.d.ts +33 -50
  44. package/dist/components/sidebar/CommunityModelList.vue.d.ts.map +1 -1
  45. package/dist/components/sidebar/CommunityModelListItem.vue.d.ts.map +1 -1
  46. package/dist/components/sidebar/EditorList.vue.d.ts +32 -49
  47. package/dist/components/sidebar/EditorList.vue.d.ts.map +1 -1
  48. package/dist/components/sidebar/Sidebar.vue.d.ts +65 -99
  49. package/dist/components/sidebar/Sidebar.vue.d.ts.map +1 -1
  50. package/dist/dashboard.js +52 -52
  51. package/dist/{dashboardStore-CNkWQ4r7.js → dashboardStore-ppM6nGks.js} +33 -33
  52. package/dist/dashboards/layerSpec.d.ts +38 -4
  53. package/dist/dashboards/layerSpec.d.ts.map +1 -1
  54. package/dist/dashboards/lineAreaSpec.d.ts +8 -80
  55. package/dist/dashboards/lineAreaSpec.d.ts.map +1 -1
  56. package/dist/dashboards/mapSpec.d.ts +1 -0
  57. package/dist/dashboards/mapSpec.d.ts.map +1 -1
  58. package/dist/dashboards/spec.d.ts.map +1 -1
  59. package/dist/data/tutorial/documentation.d.ts.map +1 -1
  60. package/dist/data/tutorial/startupScripts.d.ts +3 -0
  61. package/dist/data/tutorial/startupScripts.d.ts.map +1 -0
  62. package/dist/{demoSetup-DiW3ROFQ.js → demoSetup-mwa-RDC6.js} +19 -18
  63. package/dist/{editorRefinementRuntime-C_YmXRy4.js → editorRefinementRuntime-DoP9P5J2.js} +892 -871
  64. package/dist/{editorRefinementToolExecutor-mX8ClQ63.js → editorRefinementToolExecutor-CVY3FA7k.js} +389 -263
  65. package/dist/{editorStore-Ch7k-gse.js → editorStore-BhhmXbi-.js} +230 -183
  66. package/dist/entry.dashboard.d.ts +1 -0
  67. package/dist/entry.dashboard.d.ts.map +1 -1
  68. package/dist/{globalChatRuntime-oMLiPLNC.js → globalChatRuntime-DWZxeS57.js} +13 -13
  69. package/dist/{helpers-DcWCa6bX.js → helpers-BLQAgX3C.js} +17 -16
  70. package/dist/llm/data/constants.d.ts +1 -1
  71. package/dist/llm/data/constants.d.ts.map +1 -1
  72. package/dist/llm/data/trilogySyntax.generated.d.ts +7 -1
  73. package/dist/llm/data/trilogySyntax.generated.d.ts.map +1 -1
  74. package/dist/llm/docsIndex.d.ts.map +1 -1
  75. package/dist/llm/openai.d.ts +2 -1
  76. package/dist/llm/openai.d.ts.map +1 -1
  77. package/dist/{llm-_807I79k.js → llm-BBOVWb-F.js} +7 -5
  78. package/dist/llm.js +3 -3
  79. package/dist/{llmStore-CSzM1IZd.js → llmStore-DJM2JhzY.js} +2 -2
  80. package/dist/{localStorage-CSuYS7QE.js → localStorage-D9uyOFEO.js} +14 -14
  81. package/dist/models/helpers.d.ts.map +1 -1
  82. package/dist/monaco.js +1 -1
  83. package/dist/{reconcile-Bk7M797_.js → reconcile-Dyf4UZmj.js} +1 -1
  84. package/dist/{remoteStoreSync-CLvZJrTK.js → remoteStoreSync-Z-yjlYtI.js} +1 -1
  85. package/dist/remotes/displayHelpers.d.ts.map +1 -1
  86. package/dist/remotes/genericStoreMetadata.d.ts +1 -0
  87. package/dist/remotes/genericStoreMetadata.d.ts.map +1 -1
  88. package/dist/remotes/models.d.ts +37 -5
  89. package/dist/remotes/models.d.ts.map +1 -1
  90. package/dist/remotes/staticStorePresets.d.ts +22 -0
  91. package/dist/remotes/staticStorePresets.d.ts.map +1 -0
  92. package/dist/remotes/storeService.d.ts +25 -4
  93. package/dist/remotes/storeService.d.ts.map +1 -1
  94. package/dist/stores/communityApiStore.d.ts +32 -60
  95. package/dist/stores/communityApiStore.d.ts.map +1 -1
  96. package/dist/stores/connectionStore.d.ts.map +1 -1
  97. package/dist/stores/resolver.d.ts +5 -0
  98. package/dist/stores/resolver.d.ts.map +1 -1
  99. package/dist/stores/urlStore.d.ts +1 -0
  100. package/dist/stores/urlStore.d.ts.map +1 -1
  101. package/dist/{stores-C1wUWiFm.js → stores-BT9hTLny.js} +47 -47
  102. package/dist/stores.js +7 -7
  103. package/dist/trilogy-studio-components.css +1 -1
  104. package/dist/{urlStore-Dgmwx1YI.js → urlStore-52HG6lsX.js} +1 -0
  105. package/dist/{useChatWithTools-GV1ufcqw.js → useChatWithTools-B0HZ_DVh.js} +1 -1
  106. package/dist/{useDashboard-OoBKkkuQ.js → useDashboard-CdSnPe_6.js} +186 -186
  107. package/dist/{useGlobalChatPanel-CIeUyZba.js → useGlobalChatPanel-D_0luajQ.js} +2 -2
  108. package/dist/views/MobileIDE.vue.d.ts.map +1 -1
  109. package/dist/views/TutorialPage.vue.d.ts +32 -49
  110. package/dist/views/TutorialPage.vue.d.ts.map +1 -1
  111. package/dist/views.js +16 -16
  112. package/package.json +1 -1
  113. package/dist/AssetAutoImporter-DfMd_DSk.js +0 -403
  114. package/dist/ChatCreatorModal-BTqY06B6.js +0 -177
@@ -1,15 +1,16 @@
1
1
  import { t as e } from "./_plugin-vue_export-helper-B3ysoDQm.js";
2
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";
3
+ import { a as r, i, r as a, t as o } from "./globalChatRuntime-DWZxeS57.js";
4
+ import { t as s } from "./VegaLiteChart-D1slfOUY.js";
5
5
  import { t as c } from "./MarkdownRenderer-BNDuEyG-.js";
6
6
  import { t as l } from "./DataTable-DoRDynP1.js";
7
- import { t as u } from "./useGlobalChatPanel-CIeUyZba.js";
7
+ import { t as u } from "./useGlobalChatPanel-D_0luajQ.js";
8
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";
9
+ import { n as f, t as p } from "./LLMChat-CxJcPLEG.js";
10
+ import { t as ee } from "./ChatModelSelect-Do-VRUFc.js";
11
+ 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
12
  //#region components/llm/ChatArtifact.vue?vue&type=script&lang.ts
12
- var F = S({
13
+ var I = S({
13
14
  name: "ChatArtifactComponent",
14
15
  components: {
15
16
  DataTable: l,
@@ -88,35 +89,35 @@ var F = S({
88
89
  }
89
90
  };
90
91
  }
91
- }), I = { class: "artifact-type-icon" }, L = { class: "artifact-title" }, R = { class: "artifact-actions" }, z = ["title"], B = {
92
+ }), L = { class: "artifact-type-icon" }, R = { class: "artifact-title" }, z = { class: "artifact-actions" }, B = ["title"], V = {
92
93
  key: 0,
93
94
  class: "artifact-content"
94
- }, V = { class: "artifact-tabs" }, H = {
95
+ }, H = { class: "artifact-tabs" }, U = {
95
96
  key: 2,
96
97
  class: "artifact-markdown"
97
- }, U = {
98
+ }, W = {
98
99
  key: 4,
99
100
  class: "artifact-custom"
100
101
  };
101
- function W(e, t, n, r, i, a) {
102
+ function oe(e, t, n, r, i, a) {
102
103
  let o = j("data-table"), s = j("vega-lite-chart"), c = j("markdown-renderer"), l = j("code-block");
103
104
  return D(), v("div", { class: w(["chat-artifact", { expanded: e.isExpanded }]) }, [y("div", {
104
105
  class: "artifact-header",
105
106
  onClick: t[2] ||= (...t) => e.toggleExpanded && e.toggleExpanded(...t)
106
107
  }, [
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", {
108
+ y("span", L, [y("i", { class: w(e.typeIcon) }, null, 2)]),
109
+ y("span", R, M(e.title), 1),
110
+ y("div", z, [e.canExpand ? (D(), v("button", {
110
111
  key: 0,
111
112
  class: "artifact-action-btn",
112
- onClick: t[0] ||= P((t) => e.$emit("expand", e.artifact), ["stop"]),
113
+ onClick: t[0] ||= F((t) => e.$emit("expand", e.artifact), ["stop"]),
113
114
  title: "Open in full view"
114
115
  }, [...t[5] ||= [y("i", { class: "mdi mdi-arrow-expand" }, null, -1)]])) : _("", !0), y("button", {
115
116
  class: "artifact-action-btn",
116
- onClick: t[1] ||= P((...t) => e.toggleExpanded && e.toggleExpanded(...t), ["stop"]),
117
+ onClick: t[1] ||= F((...t) => e.toggleExpanded && e.toggleExpanded(...t), ["stop"]),
117
118
  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", {
119
+ }, [y("i", { class: w(e.isExpanded ? "mdi mdi-chevron-up" : "mdi mdi-chevron-down") }, null, 2)], 8, B)])
120
+ ]), e.isExpanded ? (D(), v("div", V, [e.artifact.type === "results" && e.results ? (D(), v(m, { key: 0 }, [y("div", H, [y("button", {
120
121
  class: w(["artifact-tab", { active: e.activeTab === "table" }]),
121
122
  onClick: t[3] ||= (t) => e.activeTab = "table"
122
123
  }, " Table (" + M(e.results.data.length) + ") ", 3), y("button", {
@@ -165,7 +166,7 @@ function W(e, t, n, r, i, a) {
165
166
  "containerHeight",
166
167
  "initialConfig",
167
168
  "onConfigChange"
168
- ])], 4)) : e.artifact.type === "markdown" ? (D(), v("div", H, [x(c, {
169
+ ])], 4)) : e.artifact.type === "markdown" ? (D(), v("div", U, [x(c, {
169
170
  markdown: e.artifact.data?.markdown || "",
170
171
  results: e.markdownResults,
171
172
  loading: !1
@@ -173,35 +174,35 @@ function W(e, t, n, r, i, a) {
173
174
  key: 3,
174
175
  language: e.artifact.config?.language || "sql",
175
176
  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);
177
+ }, 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
178
  }
178
- var oe = /*#__PURE__*/ e(F, [["render", W], ["__scopeId", "data-v-12ad0967"]]), G = {
179
+ var se = /*#__PURE__*/ e(I, [["render", oe], ["__scopeId", "data-v-12ad0967"]]), G = {
179
180
  class: "conversation-list",
180
181
  "data-testid": "global-chat-conversations"
181
182
  }, K = {
182
183
  key: 0,
183
184
  class: "empty-state"
184
- }, q = ["onClick", "data-testid"], J = { class: "conversation-main" }, Y = { class: "conversation-title-line" }, X = {
185
+ }, q = ["onClick", "data-testid"], J = { class: "conversation-main" }, Y = { class: "conversation-title-line" }, ce = {
185
186
  key: 0,
186
187
  class: "running-spinner",
187
188
  title: "Running"
188
- }, Z = { class: "conversation-name" }, Q = {
189
+ }, le = { class: "conversation-name" }, X = {
189
190
  key: 0,
190
191
  class: "conversation-preview"
191
- }, $ = { class: "conversation-meta" }, se = {
192
+ }, ue = { class: "conversation-meta" }, de = {
192
193
  key: 0,
193
194
  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 = {
195
+ }, Z = { class: "conversation-time" }, Q = ["onClick", "data-testid"], fe = ["onClick", "data-testid"], $ = { class: "conversation-main" }, pe = { class: "conversation-title-line" }, me = {
195
196
  key: 0,
196
197
  class: "running-spinner",
197
198
  title: "Running"
198
- }, me = { class: "conversation-name" }, he = {
199
+ }, he = { class: "conversation-name" }, ge = {
199
200
  key: 0,
200
201
  class: "conversation-preview"
201
- }, ge = { class: "conversation-meta" }, _e = {
202
+ }, _e = { class: "conversation-meta" }, ve = {
202
203
  key: 0,
203
204
  class: "connection-badge"
204
- }, ve = { class: "conversation-time" }, ye = ["onClick", "data-testid"], be = /*#__PURE__*/ e(/* @__PURE__ */ S({
205
+ }, ye = { class: "conversation-time" }, be = ["onClick", "data-testid"], xe = /*#__PURE__*/ e(/* @__PURE__ */ S({
205
206
  __name: "GlobalChatConversationList",
206
207
  props: { activeChatId: {} },
207
208
  emits: ["select", "new-chat"],
@@ -243,99 +244,121 @@ var oe = /*#__PURE__*/ e(F, [["render", W], ["__scopeId", "data-v-12ad0967"]]),
243
244
  onClick: (t) => r("select", e.id),
244
245
  "data-testid": `global-chat-conversation-${e.id}`
245
246
  }, [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)])
247
+ y("div", Y, [N(i).isChatExecuting(e.id) ? (D(), v("span", ce)) : _("", !0), y("span", le, M(e.name), 1)]),
248
+ f(e) ? (D(), v("div", X, M(f(e)), 1)) : _("", !0),
249
+ y("div", ue, [e.llmConnectionName ? (D(), v("span", de, M(e.llmConnectionName), 1)) : _("", !0), y("span", Z, M(d(e.updatedAt)), 1)])
249
250
  ]), y("button", {
250
251
  class: "conversation-delete",
251
- onClick: P((t) => p(e), ["stop"]),
252
+ onClick: F((t) => p(e), ["stop"]),
252
253
  title: "Delete conversation",
253
254
  "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)),
255
+ }, [...t[2] ||= [y("i", { class: "mdi mdi-trash-can-outline" }, null, -1)]], 8, Q)], 10, q))), 128)),
255
256
  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
257
  key: e.id,
257
258
  class: w(["conversation-row", { active: e.id === n.activeChatId }]),
258
259
  onClick: (t) => r("select", e.id),
259
260
  "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),
261
+ }, [y("div", $, [
262
+ y("div", pe, [
263
+ N(i).isChatExecuting(e.id) ? (D(), v("span", me)) : _("", !0),
263
264
  t[3] ||= y("i", {
264
265
  class: "mdi mdi-chart-multiple dashboard-chat-icon",
265
266
  "aria-hidden": "true"
266
267
  }, null, -1),
267
- y("span", me, M(u(e)), 1)
268
+ y("span", he, M(u(e)), 1)
268
269
  ]),
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)])
270
+ f(e) ? (D(), v("div", ge, M(f(e)), 1)) : _("", !0),
271
+ y("div", _e, [e.llmConnectionName ? (D(), v("span", ve, M(e.llmConnectionName), 1)) : _("", !0), y("span", ye, M(d(e.updatedAt)), 1)])
271
272
  ]), y("button", {
272
273
  class: "conversation-delete",
273
- onClick: P((t) => p(e), ["stop"]),
274
+ onClick: F((t) => p(e), ["stop"]),
274
275
  title: "Delete conversation",
275
276
  "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)
277
+ }, [...t[4] ||= [y("i", { class: "mdi mdi-trash-can-outline" }, null, -1)]], 8, be)], 10, fe))), 128))], 64)) : _("", !0)
277
278
  ]));
278
279
  }
279
- }), [["__scopeId", "data-v-1819b525"]]), xe = { class: "panel-body" }, Se = { class: "panel-header" }, Ce = {
280
+ }), [["__scopeId", "data-v-1819b525"]]), Se = { class: "panel-body" }, Ce = { class: "panel-header" }, we = {
280
281
  key: 0,
281
282
  class: "running-badge"
282
- }, we = {
283
+ }, Te = {
283
284
  key: 0,
284
285
  class: "panel-title"
285
- }, Te = {
286
+ }, Ee = {
286
287
  key: 1,
287
288
  class: "panel-title panel-title-static"
288
- }, Ee = { class: "panel-actions" }, De = ["value"], Oe = {
289
+ }, De = { class: "panel-actions" }, Oe = ["disabled"], ke = ["value"], Ae = {
290
+ key: 0,
291
+ class: "panel-model-picker"
292
+ }, je = {
289
293
  key: 0,
294
+ role: "alert"
295
+ }, Me = {
296
+ key: 1,
290
297
  class: "backoff-banner"
291
- }, ke = /*#__PURE__*/ e(/* @__PURE__ */ S({
298
+ }, Ne = /*#__PURE__*/ e(/* @__PURE__ */ S({
292
299
  __name: "GlobalChatPanel",
293
300
  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;
301
+ 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), F = C("saveModels", null), I = C("saveLLMConnections", null), L = O(!1), R = O(""), z = u(), B = C("storesLoaded", O(!0)), V = h(() => {
302
+ let e = z.activePanelChatId.value;
296
303
  if (!e) return null;
297
304
  let n = t.chats[e];
298
305
  return !n || n.deleted ? null : n;
299
306
  });
300
- re([
301
- () => F.isOpen.value,
302
- L,
303
- I
307
+ P([
308
+ () => z.isOpen.value,
309
+ V,
310
+ B
304
311
  ], ([e, n, r]) => {
305
312
  if (!e || n || !r) return;
306
313
  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");
314
+ i ? z.setActivePanelChat(i.id) : z.setView("list");
308
315
  }, { immediate: !0 });
309
- let R = h(() => L.value?.messages || []), z = h(() => {
310
- let e = R.value;
316
+ let H = h(() => V.value?.messages || []), U = h(() => {
317
+ let e = H.value;
311
318
  for (let t = e.length - 1; t >= 0; t--) {
312
319
  let n = e[t];
313
320
  if (n && n.artifact && !n.hidden) return n;
314
321
  }
315
322
  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;
323
+ }), 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]) => {
324
+ if (!n?.isLoading || e === z.activePanelChatId.value) return !1;
318
325
  let r = t.chats[e];
319
326
  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 || "",
327
+ }).length), q = h(() => Object.values(n.connections).filter((e) => !e.deleted).map((e) => e.name)), J = h({
328
+ get: () => V.value?.llmConnectionName || n.activeConnection || "",
322
329
  set: (e) => {
323
- L.value && t.updateChatLLMConnection(L.value.id, e);
330
+ V.value && t.updateChatLLMConnection(V.value.id, e);
324
331
  }
332
+ }), Y = h(() => n.connections[J.value]);
333
+ P(J, () => {
334
+ R.value = "";
325
335
  });
326
- function K(e) {
327
- L.value && t.updateChatName(L.value.id, e);
336
+ async function ce(e) {
337
+ let t = Y.value;
338
+ if (!t || !e || t.model === e || L.value) return;
339
+ let n = t.model;
340
+ L.value = !0, R.value = "";
341
+ try {
342
+ t.setModel(e), await I?.();
343
+ } catch {
344
+ t.setModel(n), R.value = "Could not save the model. Please try again.";
345
+ } finally {
346
+ L.value = !1;
347
+ }
348
+ }
349
+ function le(e) {
350
+ V.value && t.updateChatName(V.value.id, e);
328
351
  }
329
- function q() {
352
+ function X() {
330
353
  let e = t.newChat(n.activeConnection || "", "", void 0, "", { activate: !1 });
331
- F.setActivePanelChat(e.id);
354
+ z.setActivePanelChat(e.id);
332
355
  }
333
- function J(e) {
334
- F.setActivePanelChat(e);
356
+ function ue(e) {
357
+ z.setActivePanelChat(e);
335
358
  }
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({
359
+ async function de(e, r) {
360
+ let i = V.value;
361
+ i || (i = t.newChat(n.activeConnection || "", "", void 0, "", { activate: !1 }), z.setActivePanelChat(i.id), await te()), await a({
339
362
  chatId: i.id,
340
363
  message: e,
341
364
  chatStore: t,
@@ -348,34 +371,34 @@ var oe = /*#__PURE__*/ e(F, [["render", W], ["__scopeId", "data-v-12ad0967"]]),
348
371
  ...d ? { dashboardStore: d } : {},
349
372
  ...A ? { modelStore: A } : {},
350
373
  ...j ? { saveEditors: j } : {},
351
- ...P ? { saveModels: P } : {}
374
+ ...F ? { saveModels: F } : {}
352
375
  }
353
376
  });
354
377
  }
355
- let X = null;
356
- te(() => {
357
- X = r({
378
+ let Z = null;
379
+ ne(() => {
380
+ Z = r({
358
381
  chatStore: t,
359
- getTargetChatId: () => F.activePanelChatId.value,
382
+ getTargetChatId: () => z.activePanelChatId.value,
360
383
  dashboardNameLookup: (e) => d?.dashboards[e]?.name ?? null,
361
384
  editorNameLookup: (e) => c.editors[e]?.name ?? null
362
385
  });
363
386
  }), E(() => {
364
- X &&= (X(), null);
387
+ Z &&= (Z(), null);
365
388
  });
366
- function Z() {
367
- let e = L.value;
389
+ function Q() {
390
+ let e = V.value;
368
391
  e && t.isChatExecuting(e.id) && t.stopExecution(e.id);
369
392
  }
370
- function Q() {
371
- let e = L.value;
393
+ function fe() {
394
+ let e = V.value;
372
395
  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
396
  }
374
397
  let $ = null;
375
- function se(e) {
398
+ function pe(e) {
376
399
  e.preventDefault(), $ &&= ($(), null);
377
- let t = e.clientX, n = F.panelWidth.value, r = (e) => {
378
- F.setPanelWidth(n + (t - e.clientX));
400
+ let t = e.clientX, n = z.panelWidth.value, r = (e) => {
401
+ z.setPanelWidth(n + (t - e.clientX));
379
402
  }, i = () => {
380
403
  $ &&= ($(), null), window.dispatchEvent(new Event("resize"));
381
404
  };
@@ -388,83 +411,95 @@ var oe = /*#__PURE__*/ e(F, [["render", W], ["__scopeId", "data-v-12ad0967"]]),
388
411
  }), (e, t) => (D(), v("div", {
389
412
  class: "global-chat-panel",
390
413
  style: T({
391
- width: N(F).panelWidth.value + "px",
414
+ width: N(z).panelWidth.value + "px",
392
415
  minWidth: N(320) + "px",
393
416
  maxWidth: N(640) + "px"
394
417
  }),
395
418
  "data-testid": "global-chat-panel"
396
419
  }, [y("div", {
397
420
  class: "panel-resize-handle",
398
- onMousedown: se
399
- }, null, 32), y("div", xe, [
400
- y("div", Se, [
421
+ onMousedown: pe
422
+ }, null, 32), y("div", Se, [
423
+ y("div", Ce, [
401
424
  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"),
425
+ class: w(["panel-header-btn", { "is-active": N(z).view.value === "list" }]),
426
+ onClick: t[0] ||= (e) => N(z).setView(N(z).view.value === "list" ? "conversation" : "list"),
404
427
  title: "Conversations",
405
428
  "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,
429
+ }, [t[3] ||= y("i", { class: "mdi mdi-forum-outline" }, null, -1), K.value > 0 ? (D(), v("span", we, M(K.value), 1)) : _("", !0)], 2),
430
+ N(z).view.value === "conversation" && V.value ? (D(), v("div", Te, [x(f, {
431
+ "model-value": V.value.name,
409
432
  "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", {
433
+ "onUpdate:modelValue": le
434
+ }, null, 8, ["model-value"])])) : (D(), v("div", Ee, [...t[4] ||= [y("i", { class: "mdi mdi-creation" }, null, -1), b(" AI Assistant ", -1)]])),
435
+ y("div", De, [
436
+ N(z).view.value === "conversation" && V.value && q.value.length ? ae((D(), v("select", {
414
437
  key: 0,
415
438
  class: "llm-connection-select",
416
- "onUpdate:modelValue": t[1] ||= (e) => G.value = e,
439
+ "onUpdate:modelValue": t[1] ||= (e) => J.value = e,
440
+ disabled: L.value,
417
441
  title: "LLM connection for this conversation",
418
442
  "data-testid": "global-chat-llm-select"
419
443
  }, [t[5] ||= y("option", {
420
444
  value: "",
421
445
  disabled: ""
422
- }, "LLM…", -1), (D(!0), v(m, null, k(W.value, (e) => (D(), v("option", {
446
+ }, "LLM…", -1), (D(!0), v(m, null, k(q.value, (e) => (D(), v("option", {
423
447
  key: e,
424
448
  value: e
425
- }, M(e), 9, De))), 128))], 512)), [[ne, G.value]]) : _("", !0),
426
- B.value ? (D(), v("button", {
449
+ }, M(e), 9, ke))), 128))], 8, Oe)), [[re, J.value]]) : _("", !0),
450
+ W.value ? (D(), v("button", {
427
451
  key: 1,
428
452
  class: "panel-header-btn panel-header-btn-stop",
429
- onClick: Z,
453
+ onClick: Q,
430
454
  title: "Stop the assistant",
431
455
  "data-testid": "global-chat-stop"
432
456
  }, [...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", {
457
+ N(z).view.value === "conversation" && V.value && H.value.length ? (D(), v("button", {
434
458
  key: 2,
435
459
  class: "panel-header-btn",
436
- onClick: Q,
460
+ onClick: fe,
437
461
  title: "Clear conversation",
438
462
  "data-testid": "global-chat-clear"
439
463
  }, [...t[7] ||= [y("i", { class: "mdi mdi-broom" }, null, -1)]])) : _("", !0),
440
464
  y("button", {
441
465
  class: "panel-header-btn",
442
- onClick: q,
466
+ onClick: X,
443
467
  title: "New conversation",
444
468
  "data-testid": "global-chat-new"
445
469
  }, [...t[8] ||= [y("i", { class: "mdi mdi-plus" }, null, -1)]]),
446
470
  y("button", {
447
471
  class: "panel-header-btn",
448
- onClick: t[2] ||= (e) => N(F).closePanel(),
472
+ onClick: t[2] ||= (e) => N(z).closePanel(),
449
473
  title: "Close (Ctrl+Shift+.)",
450
474
  "data-testid": "global-chat-close"
451
475
  }, [...t[9] ||= [y("i", { class: "mdi mdi-close" }, null, -1)]])
452
476
  ])
453
477
  ]),
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, {
478
+ N(z).view.value === "conversation" && V.value ? (D(), v("div", Ae, [x(ee, {
479
+ "connection-name": J.value,
480
+ "model-value": Y.value?.model || "",
481
+ disabled: L.value,
482
+ "onUpdate:modelValue": ce
483
+ }, null, 8, [
484
+ "connection-name",
485
+ "model-value",
486
+ "disabled"
487
+ ]), R.value ? (D(), v("small", je, M(R.value), 1)) : _("", !0)])) : _("", !0),
488
+ 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),
489
+ N(z).view.value === "list" ? (D(), g(xe, {
461
490
  key: 2,
462
- messages: R.value,
491
+ "active-chat-id": N(z).activePanelChatId.value,
492
+ onSelect: ue,
493
+ onNewChat: X
494
+ }, null, 8, ["active-chat-id"])) : (D(), g(p, {
495
+ key: 3,
496
+ messages: H.value,
463
497
  "show-header": !1,
464
- "external-loading": B.value,
465
- "active-tool-name": V.value,
466
- "send-handler": Y,
467
- "stop-handler": Z,
498
+ "external-loading": W.value,
499
+ disabled: L.value,
500
+ "active-tool-name": oe.value,
501
+ "send-handler": de,
502
+ "stop-handler": Q,
468
503
  placeholder: [
469
504
  "Ask about your data...",
470
505
  "Ask how the app works...",
@@ -473,20 +508,21 @@ var oe = /*#__PURE__*/ e(F, [["render", W], ["__scopeId", "data-v-12ad0967"]]),
473
508
  "send-button-text": "Send",
474
509
  "loading-text": "Working..."
475
510
  }, {
476
- artifact: ie(({ artifact: e, message: t }) => [x(oe, {
511
+ artifact: ie(({ artifact: e, message: t }) => [x(se, {
477
512
  artifact: e,
478
513
  height: 320,
479
514
  "can-expand": !1,
480
- "default-expanded": t === z.value
515
+ "default-expanded": t === U.value
481
516
  }, null, 8, ["artifact", "default-expanded"])]),
482
517
  _: 1
483
518
  }, 8, [
484
519
  "messages",
485
520
  "external-loading",
521
+ "disabled",
486
522
  "active-tool-name"
487
523
  ]))
488
524
  ])], 4));
489
525
  }
490
- }), [["__scopeId", "data-v-63a58261"]]);
526
+ }), [["__scopeId", "data-v-d4b77a36"]]);
491
527
  //#endregion
492
- export { ke as default };
528
+ export { Ne as default };
@@ -1,13 +1,13 @@
1
1
  import { t as e } from "./_plugin-vue_export-helper-B3ysoDQm.js";
2
- import "./editorRefinementToolExecutor-mX8ClQ63.js";
3
- import { i as t } from "./stores-C1wUWiFm.js";
4
- import { i as n } from "./editorRefinementRuntime-C_YmXRy4.js";
5
- import { r, t as i } from "./editorStore-Ch7k-gse.js";
6
- import { i as a, n as o, t as s } from "./urlStore-Dgmwx1YI.js";
2
+ import "./editorRefinementToolExecutor-CVY3FA7k.js";
3
+ import { i as t } from "./stores-BT9hTLny.js";
4
+ import { i as n } from "./editorRefinementRuntime-DoP9P5J2.js";
5
+ import { r, t as i } from "./editorStore-BhhmXbi-.js";
6
+ import { i as a, n as o, t as s } from "./urlStore-52HG6lsX.js";
7
7
  import { n as c, t as l } from "./useResizableDialog-B0ePSts4.js";
8
- import { t as u } from "./useGlobalChatPanel-CIeUyZba.js";
9
- import { a as d, i as f, n as p, r as m, s as h, t as g } from "./PageLoading-I6mr-7NB.js";
10
- import { t as _ } from "./demoSetup-DiW3ROFQ.js";
8
+ import { t as u } from "./useGlobalChatPanel-D_0luajQ.js";
9
+ import { a as d, i as f, n as p, r as m, s as h, t as g } from "./PageLoading-BzniJM0C.js";
10
+ import { t as _ } from "./demoSetup-mwa-RDC6.js";
11
11
  import { Fragment as v, Teleport as y, computed as b, createBlock as x, createCommentVNode as S, createElementBlock as C, createElementVNode as w, createSlots as ee, createStaticVNode as T, createVNode as E, defineAsyncComponent as D, defineComponent as O, inject as k, nextTick as A, normalizeClass as j, normalizeStyle as te, onBeforeUnmount as M, onMounted as ne, onUnmounted as re, openBlock as N, provide as ie, ref as P, renderList as F, renderSlot as I, resolveComponent as L, toDisplayString as R, unref as ae, watch as z, withCtx as B, withModifiers as oe } from "vue";
12
12
  //#region node_modules/.pnpm/split.js@1.6.5/node_modules/split.js/dist/split.es.js
13
13
  var V = typeof window < "u" ? window : null, se = V === null, H = se ? void 0 : V.document, U = "addEventListener", W = "removeEventListener", G = "getBoundingClientRect", K = "_a", q = "_b", J = "_c", Y = "horizontal", X = function() {
@@ -652,7 +652,7 @@ var Ve = /*#__PURE__*/ e(Re, [["render", Be], ["__scopeId", "data-v-919983af"]])
652
652
  loader: e,
653
653
  loadingComponent: g,
654
654
  delay: 0
655
- }), et = $(() => import("./TutorialPage-CZGBRJdq.js")), tt = $(() => import("./Editor-DhsP18KE.js").then((e) => e.n)), nt = $(() => import("./WelcomePage-CLKvAvk-.js")), rt = $(() => import("./Dashboard-D1ZCTw5r.js").then((e) => e.n)), it = D(() => import("./ResultComponent-_-1qZCfv.js").then((e) => e.n)), at = $(() => import("./ModelView-rAurf9n8.js").then((e) => e.n)), ot = $(() => import("./CommunityModels-D7zWnHgG.js").then((e) => e.n)), st = $(() => import("./JobsView-C9PYS6pZ.js").then((e) => e.n)), ct = $(() => import("./ConnectionView-COnTTuA4.js").then((e) => e.n)), lt = $(() => import("./LLMView-VkJpP-49.js")), ut = D(() => import("./AssetAutoImporter-DfMd_DSk.js").then((e) => e.n)), dt = D(() => import("./ChatCreatorModal-BTqY06B6.js")), ft = D(() => import("./ConnectionErrorPopup-FSs7U-Yl.js")), pt = D(() => import("./GlobalChatPanel-DFx9A4yP.js")), mt = D(() => import("./ErrorMessage-XMn_08gJ.js").then((e) => e.n)), ht = D(() => import("./LoadingButton-OH3frQuO.js").then((e) => e.n)), gt = D(() => import("./DataTable-DoRDynP1.js").then((e) => e.n)), _t = O({
655
+ }), et = $(() => import("./TutorialPage-NRcee6Dx.js")), tt = $(() => import("./Editor-DQsYpkwl.js").then((e) => e.n)), nt = $(() => import("./WelcomePage-D5mU2x1L.js")), rt = $(() => import("./Dashboard-BH9ZwMVJ.js").then((e) => e.n)), it = D(() => import("./ResultComponent-CAn_r3BL.js").then((e) => e.n)), at = $(() => import("./ModelView-DUDA_PtZ.js").then((e) => e.n)), ot = $(() => import("./CommunityModels-Cmro0hV3.js").then((e) => e.n)), st = $(() => import("./JobsView-B97HBoIE.js").then((e) => e.n)), ct = $(() => import("./ConnectionView-COnTTuA4.js").then((e) => e.n)), lt = $(() => import("./LLMView-C1MUf0c2.js")), ut = D(() => import("./AssetAutoImporter-CBzvBaOt.js").then((e) => e.n)), dt = D(() => import("./ChatCreatorModal-CL-jBnc3.js")), ft = D(() => import("./ConnectionErrorPopup-FSs7U-Yl.js")), pt = D(() => import("./GlobalChatPanel-DhnOaige.js")), mt = D(() => import("./ErrorMessage-XMn_08gJ.js").then((e) => e.n)), ht = D(() => import("./LoadingButton-OH3frQuO.js").then((e) => e.n)), gt = D(() => import("./DataTable-DoRDynP1.js").then((e) => e.n)), _t = O({
656
656
  name: "IDEComponent",
657
657
  data() {
658
658
  return {
@@ -1,11 +1,11 @@
1
1
  import { n as e } from "./rolldown-runtime-Dqa2HsxW.js";
2
2
  import { t } from "./_plugin-vue_export-helper-B3ysoDQm.js";
3
- import { o as ee } from "./stores-C1wUWiFm.js";
4
- import { C as te, O as ne } from "./editorRefinementRuntime-C_YmXRy4.js";
5
- import { C as re, E as ie, S as ae, i as oe, v as se, w as ce, x as le, y as ue } from "./editorStore-Ch7k-gse.js";
6
- import { t as de } from "./reconcile-Bk7M797_.js";
3
+ import { o as ee } from "./stores-BT9hTLny.js";
4
+ import { C as te, O as ne } from "./editorRefinementRuntime-DoP9P5J2.js";
5
+ import { D as re, E as ie, S as ae, T as oe, i as se, k as ce, w as le, x as ue } from "./editorStore-BhhmXbi-.js";
6
+ import { t as de } from "./reconcile-Dyf4UZmj.js";
7
7
  import { t as fe } from "./StoreTokenModal-zCSYhfrw.js";
8
- import { t as pe } from "./Editor-DhsP18KE.js";
8
+ import { t as pe } from "./Editor-DQsYpkwl.js";
9
9
  import { Fragment as n, computed as r, createBlock as me, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createTextVNode as s, createVNode as he, defineComponent as c, inject as l, normalizeClass as u, openBlock as d, provide as ge, ref as f, renderList as p, toDisplayString as m, unref as h, watch as _e } from "vue";
10
10
  //#region utils/terminalOutput.ts
11
11
  var g = /\u001B(?:\][^\u0007]*(?:\u0007|\u001B\\)|\[[0-?]*[ -/]*[@-~])/g, ve = (e) => e ? e.replace(g, "") : "", ye = (e) => e ? (g.lastIndex = 0, g.test(e)) : !1, be = { class: "jobs-page" }, xe = { class: "jobs-header" }, Se = { class: "jobs-title" }, Ce = { class: "jobs-subtitle" }, we = { class: "header-actions" }, Te = ["disabled"], Ee = ["disabled"], De = ["disabled"], Oe = ["disabled"], ke = {
@@ -130,7 +130,7 @@ var g = /\u001B(?:\][^\u0007]*(?:\u0007|\u001B\\)|\[[0-?]*[ -/]*[@-~])/g, ve = (
130
130
  __name: "JobsView",
131
131
  props: { activeJobsKey: {} },
132
132
  setup(e) {
133
- let t = e, c = oe(), g = ee(), y = f(!1), b = r(() => c.stores.filter((e) => e.type === "generic")), x = r(() => t.activeJobsKey || b.value[0]?.id || ""), S = r(() => x.value.split("+")), C = r(() => S.value[0] || ""), w = r(() => b.value.find((e) => e.id === C.value) || null), T = r(() => w.value?.name || "No store selected"), E = r(() => S.value.length === 1 ? "store" : S.value[1] === "directory" ? "directory" : "file"), D = r(() => decodeURIComponent(S.value[2] || "")), O = r(() => C.value ? g.filesByStore[C.value] : void 0), nn = r(() => O.value?.directories.filter((e) => e.directory !== "").length || 0), rn = r(() => O.value?.directories.reduce((e, t) => e + t.files.length, 0) || 0), k = r(() => C.value ? g.errors[C.value] : ""), an = r(() => {
133
+ let t = e, c = se(), g = ee(), y = f(!1), b = r(() => c.stores.filter((e) => e.type === "generic")), x = r(() => t.activeJobsKey || b.value[0]?.id || ""), S = r(() => x.value.split("+")), C = r(() => S.value[0] || ""), w = r(() => b.value.find((e) => e.id === C.value) || null), T = r(() => w.value?.name || "No store selected"), E = r(() => S.value.length === 1 ? "store" : S.value[1] === "directory" ? "directory" : "file"), D = r(() => decodeURIComponent(S.value[2] || "")), O = r(() => C.value ? g.filesByStore[C.value] : void 0), nn = r(() => O.value?.directories.filter((e) => e.directory !== "").length || 0), rn = r(() => O.value?.directories.reduce((e, t) => e + t.files.length, 0) || 0), k = r(() => C.value ? g.errors[C.value] : ""), an = r(() => {
134
134
  let e = [{
135
135
  label: "Store",
136
136
  value: T.value
@@ -156,7 +156,7 @@ var g = /\u001B(?:\][^\u0007]*(?:\u0007|\u001B\\)|\[[0-?]*[ -/]*[@-~])/g, ve = (
156
156
  if (E.value === "directory") return D.value;
157
157
  let e = D.value.split("/");
158
158
  return e[e.length - 1] || T.value;
159
- }), sn = r(() => E.value === "store" ? "Track submitted jobs for this remote store and refresh its served assets." : "Run or refresh this target and watch job output update live."), cn = r(() => E.value === "store" ? "Recent Jobs" : "Jobs For This Target"), M = r(() => E.value !== "file"), N = r(() => E.value === "store" ? "." : D.value), P = r(() => C.value ? g.getState(C.value, N.value) : null), F = r(() => C.value ? g.isStateLoading(C.value, N.value) : !1), I = r(() => C.value ? g.getStateError(C.value, N.value) : ""), L = r(() => P.value ? re(P.value.assets) : []), R = l("editorStore"), ln = l("saveEditors");
159
+ }), sn = r(() => E.value === "store" ? "Track submitted jobs for this remote store and refresh its served assets." : "Run or refresh this target and watch job output update live."), cn = r(() => E.value === "store" ? "Recent Jobs" : "Jobs For This Target"), M = r(() => E.value !== "file"), N = r(() => E.value === "store" ? "." : D.value), P = r(() => C.value ? g.getState(C.value, N.value) : null), F = r(() => C.value ? g.isStateLoading(C.value, N.value) : !1), I = r(() => C.value ? g.getStateError(C.value, N.value) : ""), L = r(() => P.value ? ie(P.value.assets) : []), R = l("editorStore"), ln = l("saveEditors");
160
160
  ge("hideEditorSymbols", !0);
161
161
  let z = f(!1), un = r(() => !R || E.value !== "file" || !C.value ? null : de(R.editors, C.value, D.value)[0] || null), B = r(() => un.value?.id || ""), dn = r(() => `jobs:${B.value}`), fn = () => {
162
162
  ln?.();
@@ -172,7 +172,7 @@ var g = /\u001B(?:\][^\u0007]*(?:\u0007|\u001B\\)|\[[0-?]*[ -/]*[@-~])/g, ve = (
172
172
  H.value[e] = !H.value[e];
173
173
  }, hn = (e) => {
174
174
  U.value[e] = !U.value[e];
175
- }, W = (e) => ae(e), G = (e) => ue(e), gn = (e) => le(e), K = (e) => ie(e), _n = (e) => ce(e.partitions).slice(0, v), vn = (e) => Math.max(0, e.partitions.length - v), yn = (e) => se(e), q = async (e = !1) => {
175
+ }, W = (e) => oe(e), G = (e) => ae(e), gn = (e) => le(e), K = (e) => ce(e), _n = (e) => re(e.partitions).slice(0, v), vn = (e) => Math.max(0, e.partitions.length - v), yn = (e) => ue(e), q = async (e = !1) => {
176
176
  C.value && await g.fetchStateForTarget(C.value, N.value, e);
177
177
  }, J = async (e) => {
178
178
  !C.value || !D.value || await g.submitJob(C.value, D.value, e);
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./_plugin-vue_export-helper-B3ysoDQm.js";
2
- import { Q as t } from "./editorRefinementToolExecutor-mX8ClQ63.js";
2
+ import { $ as t } from "./editorRefinementToolExecutor-CVY3FA7k.js";
3
3
  import { t as n } from "./MarkdownRenderer-BNDuEyG-.js";
4
4
  import { Fragment as r, Teleport as i, computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createTextVNode as u, createVNode as d, defineComponent as f, nextTick as p, normalizeClass as m, onMounted as h, onUnmounted as g, openBlock as _, ref as v, renderList as y, renderSlot as b, resolveComponent as x, toDisplayString as S, vModelText as C, watch as w, withDirectives as T, withKeys as E, withModifiers as D } from "vue";
5
5
  //#region components/EditableTitle.vue?vue&type=script&lang.ts