@trilogy-data/trilogy-studio-components 0.1.26 → 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 (138) hide show
  1. package/dist/AssetAutoImporter-OHphsfW9.js +403 -0
  2. package/dist/{ChatCreatorModal-CL-jBnc3.js → ChatCreatorModal-CuXha6Dg.js} +3 -3
  3. package/dist/{ChatModelSelect-Do-VRUFc.js → ChatModelSelect-Cz7axWjP.js} +1 -1
  4. package/dist/{CodeBlock-PT4no49I.js → CodeBlock-BBsaC6hX.js} +4 -4
  5. package/dist/{CommunityModels-Cmro0hV3.js → CommunityModels-CIQQhO-y.js} +7 -7
  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-BH9ZwMVJ.js → Dashboard-DxSi9W6Q.js} +276 -280
  10. package/dist/{DashboardImportSelector-DQSvu9T-.js → DashboardImportSelector-kuDRDYi8.js} +2 -2
  11. package/dist/{DashboardMobile-BUPtdN2V.js → DashboardMobile-CZEgTb0R.js} +39 -39
  12. package/dist/{DrilldownPane-CBs5ZojS.js → DrilldownPane-BheRHJMs.js} +5 -7
  13. package/dist/{Editor-DQsYpkwl.js → Editor-D6tdutTm.js} +105 -103
  14. package/dist/{ErrorMessage-XMn_08gJ.js → ErrorMessage-D5JeF3Iz.js} +4 -4
  15. package/dist/{GlobalChatPanel-DhnOaige.js → GlobalChatPanel-BXZh0sdD.js} +20 -21
  16. package/dist/{IDE-HLa8vybk.js → IDE-T8PmyAQ_.js} +200 -203
  17. package/dist/{JobsView-B97HBoIE.js → JobsView-Ca97MiSd.js} +13 -14
  18. package/dist/{LLMChat-CxJcPLEG.js → LLMChat-Cch33Yd_.js} +3 -3
  19. package/dist/{LLMView-C1MUf0c2.js → LLMView-BDb6wD74.js} +23 -23
  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-BpqXoaMR.js → MobileIDE-DpdEQEqc.js} +179 -182
  23. package/dist/{ModelCard-BhN25jaV.js → ModelCard-DkAMP4X9.js} +12 -13
  24. package/dist/{ModelView-DUDA_PtZ.js → ModelView-DomyhN8g.js} +7 -7
  25. package/dist/PageLoading-BAvKGo9h.js +5937 -0
  26. package/dist/{ResultComponent-CAn_r3BL.js → ResultComponent-zoOSoRLe.js} +8 -8
  27. package/dist/{Results-BJtlwebY.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-KYSwN9Sv.js → SymbolsPane-DfaxeaPS.js} +6 -3
  31. package/dist/{TrilogyEmbedProvider-WA_dlv9e.js → TrilogyEmbedProvider-D3h0gYnX.js} +9 -9
  32. package/dist/{TutorialPage-NRcee6Dx.js → TutorialPage-BtEJG7cT.js} +27 -28
  33. package/dist/{VegaLiteChart-D1slfOUY.js → VegaLiteChart-BVyAab-o.js} +12131 -10947
  34. package/dist/{WelcomePage-D5mU2x1L.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/FeedbackBanner.vue.d.ts +4 -0
  42. package/dist/components/FeedbackBanner.vue.d.ts.map +1 -0
  43. package/dist/components/dashboard/DashboardCreatorIcon.vue.d.ts +54 -0
  44. package/dist/components/dashboard/DashboardCreatorIcon.vue.d.ts.map +1 -0
  45. package/dist/components/dashboard/DashboardProvenance.vue.d.ts +30 -0
  46. package/dist/components/dashboard/DashboardProvenance.vue.d.ts.map +1 -0
  47. package/dist/components/dashboard/ReportLayout.vue.d.ts +19 -0
  48. package/dist/components/dashboard/ReportLayout.vue.d.ts.map +1 -0
  49. package/dist/components/editor/Editor.vue.d.ts +3 -3
  50. package/dist/components/editor/EditorCreatorIcon.vue.d.ts +62 -0
  51. package/dist/components/editor/EditorCreatorIcon.vue.d.ts.map +1 -0
  52. package/dist/components/editor/ValidationComponent.vue.d.ts +50 -0
  53. package/dist/components/editor/ValidationComponent.vue.d.ts.map +1 -0
  54. package/dist/components/model/ModelCard.vue.d.ts +3 -3
  55. package/dist/components/sidebar/LLMConnectionList.vue.d.ts.map +1 -1
  56. package/dist/components/sidebar/Sidebar.vue.d.ts.map +1 -1
  57. package/dist/components/tutorial/TutorialPrompt.vue.d.ts +3 -3
  58. package/dist/components/tutorial/TutorialPrompt.vue.d.ts.map +1 -1
  59. package/dist/{remoteWorker-Dkv3TJ0j.js → connections-CWH3zwH2.js} +4544 -4126
  60. package/dist/connections.js +3 -4
  61. package/dist/{cssMode-D4Rzr1Cu.js → cssMode-zpO2ap2B.js} +5 -6
  62. package/dist/dashboard.js +28 -31
  63. package/dist/{dist-CXoL8kXK.js → dist-1z5KURzS.js} +55 -50
  64. package/dist/{dist-DKkuvbPb.js → dist-Bv3D2p5A.js} +20 -18
  65. package/dist/{editor.main-Cl8i7rHY.js → editor.main-BQh6DxDB.js} +33 -33
  66. package/dist/{editorRefinementRuntime-DoP9P5J2.js → editorStore-CAlMJftt.js} +1692 -575
  67. package/dist/embed.js +2 -2
  68. package/dist/{freemarker2-fW5NBILf.js → freemarker2-DQBqlEXc.js} +1 -1
  69. package/dist/{globalChatRuntime-DWZxeS57.js → globalChatRuntime-CyS7vH51.js} +16 -16
  70. package/dist/{handlebars-dG4w8UUY.js → handlebars-tgYxaM70.js} +1 -1
  71. package/dist/{helpers-BLQAgX3C.js → helpers-BbVlA3Pf.js} +34 -35
  72. package/dist/{html-1Dq70BdU.js → html-jJahD3Mi.js} +1 -1
  73. package/dist/{htmlMode--IQmLBeh.js → htmlMode-BA1-8l2e.js} +5 -6
  74. package/dist/{javascript-CTzBM4sF.js → javascript-Cypfo7va.js} +1 -1
  75. package/dist/{jsonMode-DzeJjIEH.js → jsonMode-xJye8PWS.js} +25 -25
  76. package/dist/{liquid-DlHThiki.js → liquid-BGDrv5da.js} +1 -1
  77. package/dist/llm-ClU-2rgk.js +18493 -0
  78. package/dist/llm.js +2 -3
  79. package/dist/{localStorage-D9uyOFEO.js → localStorage-CGQ1iJXt.js} +40 -43
  80. package/dist/{lspLanguageFeatures-Cdfs3EKq.js → lspLanguageFeatures-V3e_p9oN.js} +32 -32
  81. package/dist/{mdx-fn3g4PH5.js → mdx-BUR1aImW.js} +1 -1
  82. package/dist/monaco.js +3 -3
  83. package/dist/{python-CCVj0pFt.js → python-YLkl0pc6.js} +1 -1
  84. package/dist/{razor-Cj3flYnk.js → razor-BP8TRMDY.js} +1 -1
  85. package/dist/{reconcile-Dyf4UZmj.js → reconcile-DXIvGwBk.js} +1 -1
  86. package/dist/{remoteStoreSync-Z-yjlYtI.js → remoteStoreSync-CuQBWpWf.js} +3 -3
  87. package/dist/{rolldown-runtime-Dqa2HsxW.js → rolldown-runtime-B0aSnxlc.js} +2 -2
  88. package/dist/static/test_import.vue.d.ts +4 -0
  89. package/dist/static/test_import.vue.d.ts.map +1 -0
  90. package/dist/stores-LlyiwSbK.js +2604 -0
  91. package/dist/stores.js +4 -7
  92. package/dist/trilogy-studio-components.css +1 -1
  93. package/dist/{tsMode-GI4xMYAl.js → tsMode-BH9HS_sH.js} +64 -66
  94. package/dist/{typescript-CPibXi3J.js → typescript-BM-ynfk9.js} +1 -1
  95. package/dist/{useChatWithTools-B0HZ_DVh.js → useChatWithTools-m3Jn_SV-.js} +11 -11
  96. package/dist/{useDashboard-CdSnPe_6.js → useDashboard-BOAuvVEw.js} +1014 -1022
  97. package/dist/{tabulator_esm-CxLvGDp8.js → useGlobalChatPanel-DuP1q7_f.js} +1729 -711
  98. package/dist/{useResizableDialog-B0ePSts4.js → useResizableDialog-Cs90WJdF.js} +2 -2
  99. package/dist/views/ModelView.vue.d.ts +6 -6
  100. package/dist/views/ModelView.vue.d.ts.map +1 -1
  101. package/dist/views/TutorialPage.vue.d.ts +9 -9
  102. package/dist/views/TutorialPage.vue.d.ts.map +1 -1
  103. package/dist/views.js +192 -194
  104. package/dist/{editor.api2-ClD5pp8H.js → workers-B9Eybl-M.js} +16252 -15926
  105. package/dist/{xml-BNyphceI.js → xml-M5WFPSpA.js} +1 -1
  106. package/dist/{yaml-DE5Vz0PH.js → yaml-CEeFwjz9.js} +1 -1
  107. package/package.json +29 -20
  108. package/dist/AssetAutoImporter-CBzvBaOt.js +0 -405
  109. package/dist/DashboardCreatorInline-CDU7kLy3.js +0 -129
  110. package/dist/DataTable-DoRDynP1.js +0 -365
  111. package/dist/EditorCreatorInline-D6_y1H_h.js +0 -125
  112. package/dist/LoadingButton-OH3frQuO.js +0 -138
  113. package/dist/ModalDialog-D1EOG4rl.js +0 -42
  114. package/dist/ModelCreator-CCdC7EXt.js +0 -253
  115. package/dist/PageLoading-BzniJM0C.js +0 -2669
  116. package/dist/Tooltip-Dihir4zs.js +0 -103
  117. package/dist/_plugin-vue_export-helper-B3ysoDQm.js +0 -8
  118. package/dist/assets/json.worker-CJ5MmO5Q.js +0 -58
  119. package/dist/base-C8IuZWqY.js +0 -164
  120. package/dist/connectionHistoryStorage-DKJHiKJY.js +0 -111
  121. package/dist/connectionHistoryStore-DQeBvStZ.js +0 -61
  122. package/dist/connections-CJSb1TZl.js +0 -229
  123. package/dist/constants-DgFEYN2b.js +0 -7
  124. package/dist/dashboardStore-ppM6nGks.js +0 -641
  125. package/dist/demoSetup-mwa-RDC6.js +0 -2942
  126. package/dist/editorRefinementToolExecutor-CVY3FA7k.js +0 -4624
  127. package/dist/editorStore-BhhmXbi-.js +0 -1019
  128. package/dist/formatting-BbJ5ICgh.js +0 -6
  129. package/dist/llm-BBOVWb-F.js +0 -11967
  130. package/dist/llmStore-DJM2JhzY.js +0 -153
  131. package/dist/monaco.contribution-ikesdolO.js +0 -128
  132. package/dist/stores-BT9hTLny.js +0 -1708
  133. package/dist/trilogy-BroD2Qmp.js +0 -4
  134. package/dist/urlStore-52HG6lsX.js +0 -55
  135. package/dist/useGlobalChatPanel-D_0luajQ.js +0 -85
  136. package/dist/useIsMobile-CNpUQAvk.js +0 -8
  137. package/dist/usePrismHighlight-DVyDiDAL.js +0 -183
  138. package/dist/workers-Br7ThUKL.js +0 -47
package/dist/embed.js CHANGED
@@ -1,4 +1,4 @@
1
- import "./embedTheme-Bub46ILG.js";
1
+ import "./_plugin-vue_export-helper-f9Rw-Il4.js";
2
2
  import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./config-DwTONafa.js";
3
- import { t as s } from "./TrilogyEmbedProvider-WA_dlv9e.js";
3
+ import { t as s } from "./TrilogyEmbedProvider-D3h0gYnX.js";
4
4
  export { o as TRILOGY_EMBED_CONFIG_KEY, s as TrilogyEmbedProvider, n as normalizeEmbedTheme, i as provideTrilogyEmbedConfig, t as resolveThemeMode, e as resolveThemeVariables, r as useResolvedThemeMode, a as useTrilogyEmbedConfig };
@@ -1,4 +1,4 @@
1
- import { u as e } from "./editor.api2-ClD5pp8H.js";
1
+ import { p as e } from "./workers-B9Eybl-M.js";
2
2
  //#region node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.js
3
3
  var t = [
4
4
  "assign",
@@ -1,8 +1,8 @@
1
1
  import { t as e } from "./screenBridge-BLlMdfhn.js";
2
- import { $ as t, G as n, X as r, Y as i, st as a } from "./editorRefinementToolExecutor-CVY3FA7k.js";
3
- import { i as o, o as s } from "./stores-BT9hTLny.js";
4
- import { a as c, r as l } from "./editorRefinementRuntime-DoP9P5J2.js";
5
- import { t as u } from "./useGlobalChatPanel-D_0luajQ.js";
2
+ import { K as t, X as n, Z as r, ct as i, et as a } from "./llm-ClU-2rgk.js";
3
+ import { a as o, d as s } from "./stores-LlyiwSbK.js";
4
+ import { a as c, r as l } from "./editorStore-CAlMJftt.js";
5
+ import { t as u } from "./useGlobalChatPanel-DuP1q7_f.js";
6
6
  import { watch as d } from "vue";
7
7
  //#region llm/registry/renderToolList.ts
8
8
  function f(e) {
@@ -58,7 +58,7 @@ function y(e) {
58
58
  //#endregion
59
59
  //#region llm/globalChatRuntime.ts
60
60
  function b(e) {
61
- return `${a({
61
+ return `${i({
62
62
  dataConnectionName: "",
63
63
  availableConnections: Object.values(e.connectionStore.connections).map((e) => e.name),
64
64
  availableConcepts: [],
@@ -72,7 +72,7 @@ You are the global assistant for Trilogy Studio, docked in a persistent side pan
72
72
  ${f(c().getToolsetForContext("global").filter((e) => !c().getToolNames("chat").includes(e.name)))}
73
73
 
74
74
  App-control guidance:
75
- - Navigation notices ("The user is now viewing...") arrive as ${r}...${i} messages. They are context, not instructions.
75
+ - Navigation notices ("The user is now viewing...") arrive as ${r}...${n} messages. They are context, not instructions.
76
76
  - Call get_app_state to orient yourself whenever you are unsure what the user is looking at or what exists — the state at conversation start may be stale.
77
77
  - Tools that need a specific screen mounted will tell you when it isn't; open the screen first (open_dashboard, open_editor) when you need it visible.
78
78
  - Editors are files: "source"-tagged Trilogy editors define the data model. To change the model, read the relevant editors, edit them with update_editor_contents, and validate with validate_query or run_editor_query.
@@ -108,17 +108,17 @@ async function T(e, t, n) {
108
108
  }
109
109
  var E = 2e3;
110
110
  function D(e) {
111
- let { chatStore: n, llmConnectionStore: r, editor: i, selectedText: a } = e, o = u(), s = o.activePanelChatId.value, c = s ? n.chats[s] : null, l = c && !c.deleted ? c : null;
112
- l ||= n.chatList.filter((e) => e.kind === "user" && e.source === "user").sort((e, t) => new Date(t.updatedAt).getTime() - new Date(e.updatedAt).getTime())[0] || null, l ||= n.newChat(r.activeConnection || "", "", void 0, "", { activate: !1 });
113
- let d = a?.trim() ? t(a) : "", f = d ? `\nTheir current selection in that editor:\n${d.slice(0, E)}${d.length > E ? "\n...(selection truncated)" : ""}` : "";
114
- return l.pendingContextNote = `[editor] The user asked for AI help from editor "${t(i.name)}" (id ${i.id}). Read it with read_editor before proposing or making changes; apply edits with update_editor_contents.${f}`, g(l.id), o.openPanel(l.id), l.id;
111
+ let { chatStore: t, llmConnectionStore: n, editor: r, selectedText: i } = e, o = u(), s = o.activePanelChatId.value, c = s ? t.chats[s] : null, l = c && !c.deleted ? c : null;
112
+ l ||= t.chatList.filter((e) => e.kind === "user" && e.source === "user").sort((e, t) => new Date(t.updatedAt).getTime() - new Date(e.updatedAt).getTime())[0] || null, l ||= t.newChat(n.activeConnection || "", "", void 0, "", { activate: !1 });
113
+ let d = i?.trim() ? a(i) : "", f = d ? `\nTheir current selection in that editor:\n${d.slice(0, E)}${d.length > E ? "\n...(selection truncated)" : ""}` : "";
114
+ return l.pendingContextNote = `[editor] The user asked for AI help from editor "${a(r.name)}" (id ${r.id}). Read it with read_editor before proposing or making changes; apply edits with update_editor_contents.${f}`, g(l.id), o.openPanel(l.id), l.id;
115
115
  }
116
- async function O(a) {
117
- let { chatId: l, message: u, chatStore: d, deps: f } = a, p = d.chats[l];
116
+ async function O(i) {
117
+ let { chatId: l, message: u, chatStore: d, deps: f } = i, p = d.chats[l];
118
118
  if (!p) return;
119
119
  (p.llmConnectionName || f.llmConnectionStore.activeConnection) && p.pendingContextNote && (d.addMessageToChat(l, {
120
120
  role: "user",
121
- content: `${r}${t(p.pendingContextNote)}${i}`,
121
+ content: `${r}${a(p.pendingContextNote)}${n}`,
122
122
  hidden: !0
123
123
  }), p.pendingContextNote = null);
124
124
  let m = c(), h = {
@@ -138,13 +138,13 @@ async function O(a) {
138
138
  chatId: l,
139
139
  cache: /* @__PURE__ */ new Map(),
140
140
  requestCompaction: async (e) => {
141
- let t = f.llmConnectionStore.connections[p.llmConnectionName || f.llmConnectionStore.activeConnection];
142
- if (!t) return {
141
+ let n = f.llmConnectionStore.connections[p.llmConnectionName || f.llmConnectionStore.activeConnection];
142
+ if (!n) return {
143
143
  success: !1,
144
144
  error: "No LLM provider available for compaction."
145
145
  };
146
146
  try {
147
- let r = await n(t, p, { focus: e });
147
+ let r = await t(n, p, { focus: e });
148
148
  return r ? {
149
149
  success: !0,
150
150
  message: `Compacted ${r.archivedCount} earlier messages into a summary. The reduced history applies from the next turn.`
@@ -1,4 +1,4 @@
1
- import { u as e } from "./editor.api2-ClD5pp8H.js";
1
+ import { p as e } from "./workers-B9Eybl-M.js";
2
2
  //#region node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.js
3
3
  var t = [
4
4
  "area",
@@ -1,9 +1,8 @@
1
- import { kt as e, ln as t } from "./editorRefinementToolExecutor-CVY3FA7k.js";
2
- import { D as n, S as r } from "./editorRefinementRuntime-DoP9P5J2.js";
3
- import { s as i } from "./base-C8IuZWqY.js";
4
- import { A as a, p as o } from "./editorStore-BhhmXbi-.js";
5
- import "./dashboardStore-ppM6nGks.js";
6
- import { n as s } from "./reconcile-Dyf4UZmj.js";
1
+ import { s as e } from "./base-DuKnVD-A.js";
2
+ import { It as t, gn as n } from "./llm-ClU-2rgk.js";
3
+ import "./stores-LlyiwSbK.js";
4
+ import { M as r, Y as i, at as a, tt as o } from "./editorStore-CAlMJftt.js";
5
+ import { n as s } from "./reconcile-DXIvGwBk.js";
7
6
  //#region models/helpers.ts
8
7
  var c = class {
9
8
  editorStore;
@@ -18,18 +17,18 @@ var c = class {
18
17
  async fetchModelImportBase(e, t) {
19
18
  let n = await fetch(e, this.buildRequestInit(t));
20
19
  if (!n.ok) throw Error(`Failed to fetch model import from ${e}: ${n.statusText}`);
21
- let r = await n.text(), i;
20
+ let r = await n.text(), a;
22
21
  try {
23
- i = JSON.parse(r);
22
+ a = JSON.parse(r);
24
23
  } catch (t) {
25
24
  throw Error(`Invalid JSON in model import from ${e}: ${t}`);
26
25
  }
27
- return a(i, e);
26
+ return i(a, e);
28
27
  }
29
28
  purposeToTag(e) {
30
29
  switch (e) {
31
- case "source": return r.SOURCE;
32
- case "setup": return r.STARTUP_SCRIPT;
30
+ case "source": return o.SOURCE;
31
+ case "setup": return o.STARTUP_SCRIPT;
33
32
  default: return null;
34
33
  }
35
34
  }
@@ -69,23 +68,23 @@ var c = class {
69
68
  }
70
69
  getRemoteEditorPath(e) {
71
70
  let t = this.getComponentEditorType(e);
72
- if (e.name?.trim()) return n(e.name, t);
71
+ if (e.name?.trim()) return a(e.name, t);
73
72
  if (e.url?.trim()) try {
74
- let r = new URL(e.url);
75
- return n(decodeURIComponent(r.pathname.split("/").filter(Boolean).pop() || ""), t);
73
+ let n = new URL(e.url), r = decodeURIComponent(n.pathname.split("/").filter(Boolean).pop() || "");
74
+ return a(r, t);
76
75
  } catch {
77
- return n(e.url, t);
76
+ return a(e.url, t);
78
77
  }
79
- return n("untitled", t);
78
+ return a("untitled", t);
80
79
  }
81
80
  resolveRemotePath(e, t) {
82
81
  if (e.name?.trim()) return this.getRemoteEditorPath(e);
83
82
  if (!t) return null;
84
83
  try {
85
- let n = `${o(t)}/`, r = new URL(n), i = new URL(e.url, r);
86
- if (i.origin !== r.origin || !i.pathname.startsWith(r.pathname)) return null;
87
- let a = i.pathname.slice(r.pathname.length);
88
- return decodeURIComponent(a);
84
+ let n = `${r(t)}/`, i = new URL(n), a = new URL(e.url, i);
85
+ if (a.origin !== i.origin || !a.pathname.startsWith(i.pathname)) return null;
86
+ let o = a.pathname.slice(i.pathname.length);
87
+ return decodeURIComponent(o);
89
88
  } catch {
90
89
  return null;
91
90
  }
@@ -110,38 +109,38 @@ var c = class {
110
109
  }
111
110
  return e.purpose && !o.tags.includes(e.purpose) && this.editorStore.editors[o.id].tags.push(e.purpose), o;
112
111
  }
113
- createOrUpdateDashboard(t, n, r, a = {}) {
114
- if (!t.content) {
115
- console.warn(`Dashboard ${t.name} has no content, skipping`);
112
+ createOrUpdateDashboard(n, r, i, a = {}) {
113
+ if (!n.content) {
114
+ console.warn(`Dashboard ${n.name} has no content, skipping`);
116
115
  return;
117
116
  }
118
117
  try {
119
- let o = e.fromSerialized(JSON.parse(t.content));
120
- o.storage = "local", o.connection = n, o.connectionId = i({
121
- name: n,
118
+ let o = t.fromSerialized(JSON.parse(n.content));
119
+ o.storage = "local", o.connection = r, o.connectionId = e({
120
+ name: r,
122
121
  storage: a.remote ? "remote" : "local",
123
122
  remoteStoreId: a.remoteStoreId
124
123
  }), o.state = "published";
125
124
  let s = !!a.remote;
126
125
  o.imports = o.imports.map((e) => ({
127
126
  ...e,
128
- id: this.editorStore.editorList.find((t) => t.name === e.name && t.connection === n && t.storage === "remote" === s)?.id || ""
127
+ id: this.editorStore.editorList.find((t) => t.name === e.name && t.connection === r && t.storage === "remote" === s)?.id || ""
129
128
  }));
130
- let c = Object.values(this.dashboardStore.dashboards).find((e) => e.name === o.name && e.connection === n && e.storage !== "remote");
131
- c ? (o.id = c.id, this.dashboardStore.dashboards[c.id] = o) : (o.id = Math.random().toString(36).substring(2, 15), this.dashboardStore.addDashboard(o)), r.set(t.name, o.id);
129
+ let c = Object.values(this.dashboardStore.dashboards).find((e) => e.name === o.name && e.connection === r && e.storage !== "remote");
130
+ c ? (o.id = c.id, this.dashboardStore.dashboards[c.id] = o) : (o.id = Math.random().toString(36).substring(2, 15), this.dashboardStore.addDashboard(o)), i.set(n.name, o.id);
132
131
  } catch (e) {
133
- console.error(`Error importing dashboard ${t.name}:`, e);
132
+ console.error(`Error importing dashboard ${n.name}:`, e);
134
133
  }
135
134
  }
136
- async importModel(e, n, r, i = {}) {
137
- if (!n) return null;
135
+ async importModel(e, t, r, i = {}) {
136
+ if (!t) return null;
138
137
  let a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map();
139
138
  try {
140
- let l = await this.fetchModelImportBase(n, i.token), u = await this.fetchModelImports(l, i.token), d = u.filter((e) => e.type === "sql" || e.type === "trilogy" || e.type === "python"), f = u.filter((e) => e.type === "dashboard"), p = [];
139
+ let l = await this.fetchModelImportBase(t, i.token), u = await this.fetchModelImports(l, i.token), d = u.filter((e) => e.type === "sql" || e.type === "trilogy" || e.type === "python"), f = u.filter((e) => e.type === "dashboard"), p = [];
141
140
  for (let e of d) {
142
141
  console.log(`Processing editor: ${e.name}`);
143
- let n = this.createOrUpdateEditor(e, r, i);
144
- e.type === "sql" ? o.set(e.name, n.id) : e.type === "trilogy" ? (s.set(e.name, n.id), p.push(new t(n.id, e.alias || e.name, [], []))) : e.type === "python" && c.set(e.name, n.id);
142
+ let t = this.createOrUpdateEditor(e, r, i);
143
+ e.type === "sql" ? o.set(e.name, t.id) : e.type === "trilogy" ? (s.set(e.name, t.id), p.push(new n(t.id, e.alias || e.name, [], []))) : e.type === "python" && c.set(e.name, t.id);
145
144
  }
146
145
  for (let e of f) console.log(`Processing dashboard: ${e.name}`), this.createOrUpdateDashboard(e, r, a, i);
147
146
  return this.modelStore.models[e].sources = p, this.modelStore.models[e].storage = i.remote ? "remote" : "local", this.modelStore.models[e].changed = !0, {
@@ -1,4 +1,4 @@
1
- import { u as e } from "./editor.api2-ClD5pp8H.js";
1
+ import { p as e } from "./workers-B9Eybl-M.js";
2
2
  //#region node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/html/html.js
3
3
  var t = [
4
4
  "area",
@@ -1,10 +1,9 @@
1
- import { u as e } from "./editor.api2-ClD5pp8H.js";
2
- import { t } from "./workers-Br7ThUKL.js";
3
- import { _ as n, a as r, c as i, d as a, f as o, g as s, h as c, i as l, l as u, m as d, n as f, o as p, p as m, r as h, s as g, t as _, u as v, v as y } from "./lspLanguageFeatures-Cdfs3EKq.js";
1
+ import { p as e, t } from "./workers-B9Eybl-M.js";
2
+ import { _ as n, a as r, c as i, d as a, f as o, g as s, h as c, i as l, l as u, m as d, n as f, o as p, p as m, r as h, s as g, t as _, u as v, v as y } from "./lspLanguageFeatures-V3e_p9oN.js";
4
3
  //#region node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/language/html/workerManager.js
5
- var b = 120 * 1e3, x = class {
4
+ var b = 12e4, x = class {
6
5
  constructor(e) {
7
- this._defaults = e, this._worker = null, this._client = null, this._idleCheckInterval = window.setInterval(() => this._checkIfIdle(), 30 * 1e3), this._lastUsedTime = 0, this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());
6
+ this._defaults = e, this._worker = null, this._client = null, this._idleCheckInterval = window.setInterval(() => this._checkIfIdle(), 3e4), this._lastUsedTime = 0, this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());
8
7
  }
9
8
  _stopWorker() {
10
9
  this._worker &&= (this._worker.dispose(), null), this._client = null;
@@ -20,7 +19,7 @@ var b = 120 * 1e3, x = class {
20
19
  moduleId: "vs/language/html/htmlWorker",
21
20
  createWorker: () => new Worker(new URL(
22
21
  /* @vite-ignore */
23
- "/assets/html.worker-D2LKDpnG.js",
22
+ "/assets/html.worker-CO5LvJpF.js",
24
23
  "" + import.meta.url
25
24
  ), { type: "module" }),
26
25
  createData: {
@@ -1,4 +1,4 @@
1
- import { conf as e, language as t } from "./typescript-CPibXi3J.js";
1
+ import { conf as e, language as t } from "./typescript-BM-ynfk9.js";
2
2
  //#region node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.js
3
3
  var n = e, r = {
4
4
  defaultToken: "invalid",
@@ -1,10 +1,9 @@
1
- import { c as e, u as t } from "./editor.api2-ClD5pp8H.js";
2
- import { t as n } from "./workers-Br7ThUKL.js";
3
- import { _ as r, a as i, c as a, d as o, f as s, g as c, h as l, i as u, l as d, m as f, n as p, o as m, p as h, r as g, s as _, t as v, u as y, v as b } from "./lspLanguageFeatures-Cdfs3EKq.js";
1
+ import { d as e, p as t, t as n } from "./workers-B9Eybl-M.js";
2
+ import { _ as r, a as i, c as a, d as o, f as s, g as c, h as l, i as u, l as d, m as f, n as p, o as m, p as h, r as g, s as _, t as v, u as y, v as b } from "./lspLanguageFeatures-V3e_p9oN.js";
4
3
  //#region node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/language/json/workerManager.js
5
- var x = 120 * 1e3, S = class {
4
+ var x = 12e4, S = class {
6
5
  constructor(e) {
7
- this._defaults = e, this._worker = null, this._client = null, this._idleCheckInterval = window.setInterval(() => this._checkIfIdle(), 30 * 1e3), this._lastUsedTime = 0, this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());
6
+ this._defaults = e, this._worker = null, this._client = null, this._idleCheckInterval = window.setInterval(() => this._checkIfIdle(), 3e4), this._lastUsedTime = 0, this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());
8
7
  }
9
8
  _stopWorker() {
10
9
  this._worker &&= (this._worker.dispose(), null), this._client = null;
@@ -20,7 +19,7 @@ var x = 120 * 1e3, S = class {
20
19
  moduleId: "vs/language/json/jsonWorker",
21
20
  createWorker: () => new Worker(new URL(
22
21
  /* @vite-ignore */
23
- "/assets/json.worker-CJ5MmO5Q.js",
22
+ "/assets/json.worker-BezHzWUV.js",
24
23
  "" + import.meta.url
25
24
  ), { type: "module" }),
26
25
  label: this._defaults.languageId,
@@ -63,13 +62,17 @@ function C(e, t = !1) {
63
62
  let t = r;
64
63
  if (e.charCodeAt(r) === 48) r++;
65
64
  else for (r++; r < e.length && E(e.charCodeAt(r));) r++;
66
- if (r < e.length && e.charCodeAt(r) === 46) if (r++, r < e.length && E(e.charCodeAt(r))) for (r++; r < e.length && E(e.charCodeAt(r));) r++;
67
- else return d = 3, e.substring(t, r);
65
+ if (r < e.length && e.charCodeAt(r) === 46) {
66
+ if (r++, r < e.length && E(e.charCodeAt(r))) for (r++; r < e.length && E(e.charCodeAt(r));) r++;
67
+ else return d = 3, e.substring(t, r);
68
+ }
68
69
  let n = r;
69
- if (r < e.length && (e.charCodeAt(r) === 69 || e.charCodeAt(r) === 101)) if (r++, (r < e.length && e.charCodeAt(r) === 43 || e.charCodeAt(r) === 45) && r++, r < e.length && E(e.charCodeAt(r))) {
70
- for (r++; r < e.length && E(e.charCodeAt(r));) r++;
71
- n = r;
72
- } else d = 3;
70
+ if (r < e.length && (e.charCodeAt(r) === 69 || e.charCodeAt(r) === 101)) {
71
+ if (r++, (r < e.length && e.charCodeAt(r) === 43 || e.charCodeAt(r) === 45) && r++, r < e.length && E(e.charCodeAt(r))) {
72
+ for (r++; r < e.length && E(e.charCodeAt(r));) r++;
73
+ n = r;
74
+ } else d = 3;
75
+ }
73
76
  return e.substring(t, n);
74
77
  }
75
78
  function h() {
@@ -123,10 +126,13 @@ function C(e, t = !1) {
123
126
  i = r;
124
127
  continue;
125
128
  }
126
- if (a >= 0 && a <= 31) if (T(a)) {
127
- t += e.substring(i, r), d = 2;
128
- break;
129
- } else d = 6;
129
+ if (a >= 0 && a <= 31) {
130
+ if (T(a)) {
131
+ t += e.substring(i, r), d = 2;
132
+ break;
133
+ }
134
+ d = 6;
135
+ }
130
136
  r++;
131
137
  }
132
138
  return t;
@@ -313,9 +319,7 @@ function q(e, t, n, r = 0) {
313
319
  case 2:
314
320
  t = "\"" + t, i = 1;
315
321
  break;
316
- case 1:
317
- t = "/*" + t, i = 2;
318
- break;
322
+ case 1: t = "/*" + t, i = 2;
319
323
  }
320
324
  let o = A(t), s = n.lastWasColon, c = n.parents, l = {
321
325
  tokens: [],
@@ -355,17 +359,13 @@ function q(e, t, n, r = 0) {
355
359
  let e = (c ? c.type : 0) === 1;
356
360
  u = s || e ? B : H, s = !1;
357
361
  break;
358
- case 11:
359
- u = V, s = !1;
360
- break;
362
+ case 11: u = V, s = !1;
361
363
  }
362
364
  switch (d) {
363
365
  case 12:
364
366
  u = W;
365
367
  break;
366
- case 13:
367
- u = U;
368
- break;
368
+ case 13: u = U;
369
369
  }
370
370
  l.endState = new K(n.getStateData(), o.getTokenError(), s, c), l.tokens.push({
371
371
  startIndex: e,
@@ -1,4 +1,4 @@
1
- import { u as e } from "./editor.api2-ClD5pp8H.js";
1
+ import { p as e } from "./workers-B9Eybl-M.js";
2
2
  //#region node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/basic-languages/liquid/liquid.js
3
3
  var t = [
4
4
  "area",