@datatechsolutions/ui 3.7.1 → 3.7.3

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 (101) hide show
  1. package/dist/astrlabe/index.js +107 -107
  2. package/dist/astrlabe/index.mjs +3 -3
  3. package/dist/astrlabe/workflow-canvas.js +3 -3
  4. package/dist/astrlabe/workflow-canvas.mjs +2 -2
  5. package/dist/{chunk-2OPBUVTQ.mjs → chunk-32DHEVOH.mjs} +3 -3
  6. package/dist/{chunk-2OPBUVTQ.mjs.map → chunk-32DHEVOH.mjs.map} +1 -1
  7. package/dist/{chunk-FUHNEP3Y.js → chunk-3H5CFLVK.js} +135 -135
  8. package/dist/{chunk-FUHNEP3Y.js.map → chunk-3H5CFLVK.js.map} +1 -1
  9. package/dist/{chunk-RWYG7QHP.js → chunk-3X3IYDG6.js} +68 -68
  10. package/dist/{chunk-RWYG7QHP.js.map → chunk-3X3IYDG6.js.map} +1 -1
  11. package/dist/{chunk-VZIUQE7B.mjs → chunk-57E4TCB2.mjs} +3 -3
  12. package/dist/{chunk-VZIUQE7B.mjs.map → chunk-57E4TCB2.mjs.map} +1 -1
  13. package/dist/{chunk-34XRH2FX.mjs → chunk-5W6LMDXV.mjs} +4 -4
  14. package/dist/{chunk-34XRH2FX.mjs.map → chunk-5W6LMDXV.mjs.map} +1 -1
  15. package/dist/{chunk-C4AJWDFB.mjs → chunk-5YVOLHSW.mjs} +4 -4
  16. package/dist/{chunk-C4AJWDFB.mjs.map → chunk-5YVOLHSW.mjs.map} +1 -1
  17. package/dist/{chunk-YRXDETBK.mjs → chunk-74BU2EBZ.mjs} +6 -6
  18. package/dist/{chunk-YRXDETBK.mjs.map → chunk-74BU2EBZ.mjs.map} +1 -1
  19. package/dist/{chunk-QML5AWDK.js → chunk-7JZFNKJD.js} +35 -35
  20. package/dist/{chunk-QML5AWDK.js.map → chunk-7JZFNKJD.js.map} +1 -1
  21. package/dist/{chunk-E5YV5ZCB.mjs → chunk-A4A3SQTV.mjs} +8 -4
  22. package/dist/chunk-A4A3SQTV.mjs.map +1 -0
  23. package/dist/{chunk-CBFK4W4C.mjs → chunk-CZZOCKEA.mjs} +5 -3
  24. package/dist/chunk-CZZOCKEA.mjs.map +1 -0
  25. package/dist/{chunk-CVZXZK2X.js → chunk-E57RZXOR.js} +25 -25
  26. package/dist/{chunk-CVZXZK2X.js.map → chunk-E57RZXOR.js.map} +1 -1
  27. package/dist/{chunk-5LCWQKGQ.mjs → chunk-E6C7MFHJ.mjs} +5 -2
  28. package/dist/chunk-E6C7MFHJ.mjs.map +1 -0
  29. package/dist/{chunk-NJ6HH4QP.mjs → chunk-EWYAM4WJ.mjs} +3 -3
  30. package/dist/{chunk-NJ6HH4QP.mjs.map → chunk-EWYAM4WJ.mjs.map} +1 -1
  31. package/dist/{chunk-RZ3NDH5S.js → chunk-F35GFICG.js} +13 -13
  32. package/dist/{chunk-RZ3NDH5S.js.map → chunk-F35GFICG.js.map} +1 -1
  33. package/dist/{chunk-UDYEUTJC.js → chunk-FKUIVS6I.js} +28 -28
  34. package/dist/{chunk-UDYEUTJC.js.map → chunk-FKUIVS6I.js.map} +1 -1
  35. package/dist/{chunk-R4EKPXX3.js → chunk-FNA66TT4.js} +5 -2
  36. package/dist/chunk-FNA66TT4.js.map +1 -0
  37. package/dist/{chunk-QF6WL7XU.js → chunk-H37VDL7Y.js} +4 -4
  38. package/dist/{chunk-QF6WL7XU.js.map → chunk-H37VDL7Y.js.map} +1 -1
  39. package/dist/{chunk-3JZGRXSG.js → chunk-HBOORO52.js} +4 -4
  40. package/dist/{chunk-3JZGRXSG.js.map → chunk-HBOORO52.js.map} +1 -1
  41. package/dist/{chunk-4JRMXHPU.mjs → chunk-KKXI7CPF.mjs} +3 -3
  42. package/dist/{chunk-4JRMXHPU.mjs.map → chunk-KKXI7CPF.mjs.map} +1 -1
  43. package/dist/{chunk-DXLATMGD.mjs → chunk-PCUINUIC.mjs} +3 -3
  44. package/dist/{chunk-DXLATMGD.mjs.map → chunk-PCUINUIC.mjs.map} +1 -1
  45. package/dist/{chunk-CYAAL3BY.mjs → chunk-PYNXIDG3.mjs} +3 -3
  46. package/dist/{chunk-CYAAL3BY.mjs.map → chunk-PYNXIDG3.mjs.map} +1 -1
  47. package/dist/{chunk-JLECJI7S.js → chunk-Q4QORAMH.js} +10 -10
  48. package/dist/{chunk-JLECJI7S.js.map → chunk-Q4QORAMH.js.map} +1 -1
  49. package/dist/{chunk-JHN2OUWG.js → chunk-Q7HRCCFT.js} +45 -45
  50. package/dist/{chunk-JHN2OUWG.js.map → chunk-Q7HRCCFT.js.map} +1 -1
  51. package/dist/{chunk-7YK4WXHO.js → chunk-RCHTRG7R.js} +55 -55
  52. package/dist/{chunk-7YK4WXHO.js.map → chunk-RCHTRG7R.js.map} +1 -1
  53. package/dist/{chunk-BBLBSDPN.js → chunk-TCP45Q4B.js} +11 -9
  54. package/dist/chunk-TCP45Q4B.js.map +1 -0
  55. package/dist/{chunk-5ZLQTVSV.js → chunk-TJPPZU77.js} +39 -35
  56. package/dist/chunk-TJPPZU77.js.map +1 -0
  57. package/dist/{chunk-VDLMWOQM.js → chunk-VPFVW7ZF.js} +35 -35
  58. package/dist/{chunk-VDLMWOQM.js.map → chunk-VPFVW7ZF.js.map} +1 -1
  59. package/dist/{chunk-TJEZL72T.mjs → chunk-VS6PTRQ7.mjs} +3 -3
  60. package/dist/{chunk-TJEZL72T.mjs.map → chunk-VS6PTRQ7.mjs.map} +1 -1
  61. package/dist/{chunk-ZYRL3WER.mjs → chunk-WDBVIU7W.mjs} +3 -3
  62. package/dist/{chunk-ZYRL3WER.mjs.map → chunk-WDBVIU7W.mjs.map} +1 -1
  63. package/dist/{chunk-MWRSMYUN.mjs → chunk-ZP37M2QK.mjs} +6 -6
  64. package/dist/{chunk-MWRSMYUN.mjs.map → chunk-ZP37M2QK.mjs.map} +1 -1
  65. package/dist/index.d.mts +7 -1
  66. package/dist/index.d.ts +7 -1
  67. package/dist/index.js +664 -664
  68. package/dist/index.mjs +1 -1
  69. package/dist/platform/admin/index.js +9 -9
  70. package/dist/platform/admin/index.mjs +3 -3
  71. package/dist/platform/agents-workspace.js +6 -6
  72. package/dist/platform/agents-workspace.mjs +5 -5
  73. package/dist/platform/app-shell.d.mts +7 -1
  74. package/dist/platform/app-shell.d.ts +7 -1
  75. package/dist/platform/app-shell.js +3 -3
  76. package/dist/platform/app-shell.mjs +2 -2
  77. package/dist/platform/auth/index.js +21 -21
  78. package/dist/platform/auth/index.mjs +3 -3
  79. package/dist/platform/billing/index.js +3 -3
  80. package/dist/platform/billing/index.mjs +2 -2
  81. package/dist/platform/impersonation/index.js +3 -3
  82. package/dist/platform/impersonation/index.mjs +2 -2
  83. package/dist/platform/index.d.mts +1 -1
  84. package/dist/platform/index.d.ts +1 -1
  85. package/dist/platform/index.js +74 -74
  86. package/dist/platform/index.mjs +17 -17
  87. package/dist/platform/pages/index.js +240 -236
  88. package/dist/platform/pages/index.js.map +1 -1
  89. package/dist/platform/pages/index.mjs +12 -8
  90. package/dist/platform/pages/index.mjs.map +1 -1
  91. package/dist/platform/settings/index.js +6 -6
  92. package/dist/platform/settings/index.mjs +5 -5
  93. package/dist/platform/workflow-canvas-shell.js +4 -4
  94. package/dist/platform/workflow-canvas-shell.mjs +3 -3
  95. package/package.json +1 -1
  96. package/dist/chunk-5LCWQKGQ.mjs.map +0 -1
  97. package/dist/chunk-5ZLQTVSV.js.map +0 -1
  98. package/dist/chunk-BBLBSDPN.js.map +0 -1
  99. package/dist/chunk-CBFK4W4C.mjs.map +0 -1
  100. package/dist/chunk-E5YV5ZCB.mjs.map +0 -1
  101. package/dist/chunk-R4EKPXX3.js.map +0 -1
@@ -2,13 +2,13 @@
2
2
  'use strict';
3
3
 
4
4
  var chunk3T2WGL47_js = require('../../chunk-3T2WGL47.js');
5
- var chunkUDYEUTJC_js = require('../../chunk-UDYEUTJC.js');
6
- var chunk5ZLQTVSV_js = require('../../chunk-5ZLQTVSV.js');
7
- var chunkFUHNEP3Y_js = require('../../chunk-FUHNEP3Y.js');
5
+ var chunkFKUIVS6I_js = require('../../chunk-FKUIVS6I.js');
6
+ var chunkTJPPZU77_js = require('../../chunk-TJPPZU77.js');
7
+ var chunk3H5CFLVK_js = require('../../chunk-3H5CFLVK.js');
8
8
  require('../../chunk-55H6WZQP.js');
9
9
  require('../../chunk-DJDZIRM6.js');
10
- require('../../chunk-RWYG7QHP.js');
11
- var chunkR4EKPXX3_js = require('../../chunk-R4EKPXX3.js');
10
+ require('../../chunk-3X3IYDG6.js');
11
+ var chunkFNA66TT4_js = require('../../chunk-FNA66TT4.js');
12
12
  require('../../chunk-YXN2K77G.js');
13
13
  require('../../chunk-SY4MUT5V.js');
14
14
  require('../../chunk-2OZZH2IO.js');
@@ -27,7 +27,7 @@ function AgentsModelsPageView({ labels, models, loading }) {
27
27
  const filteredModels = searchTerm.trim() ? allModels.filter((model) => model.name.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allModels;
28
28
  const isEmpty = allModels.length === 0;
29
29
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
30
- chunkR4EKPXX3_js.HeroSection,
30
+ chunkFNA66TT4_js.HeroSection,
31
31
  {
32
32
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CubeTransparentIcon, { className: "h-5 w-5" }),
33
33
  label: labels.title,
@@ -36,9 +36,9 @@ function AgentsModelsPageView({ labels, models, loading }) {
36
36
  gradient: "from-emerald-500 to-teal-700"
37
37
  }
38
38
  );
39
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
39
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
40
40
  /* @__PURE__ */ jsxRuntime.jsx(
41
- chunkR4EKPXX3_js.SearchBar,
41
+ chunkFNA66TT4_js.SearchBar,
42
42
  {
43
43
  searchTerm,
44
44
  onSearchChange: setSearchTerm,
@@ -46,7 +46,7 @@ function AgentsModelsPageView({ labels, models, loading }) {
46
46
  }
47
47
  ),
48
48
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredModels.map((model) => /* @__PURE__ */ jsxRuntime.jsx(
49
- chunkR4EKPXX3_js.EntityCard,
49
+ chunkFNA66TT4_js.EntityCard,
50
50
  {
51
51
  accentGradient: "from-emerald-500 to-teal-700",
52
52
  icon: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-11 w-11 items-center justify-center rounded-lg bg-emerald-500/10 text-emerald-600 dark:bg-emerald-500/20 dark:text-emerald-400", children: /* @__PURE__ */ jsxRuntime.jsx(outline.CubeTransparentIcon, { className: "h-6 w-6" }) }),
@@ -57,7 +57,7 @@ function AgentsModelsPageView({ labels, models, loading }) {
57
57
  model.id
58
58
  )) })
59
59
  ] });
60
- return /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.ManagementPageLayout, { hero, content });
60
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content });
61
61
  }
62
62
  function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpdate, onDelete }) {
63
63
  const [editing, setEditing] = react.useState(null);
@@ -68,7 +68,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
68
68
  const filteredAgents = searchTerm.trim() ? allAgents.filter((agent) => String(agent.name ?? "").toLowerCase().includes(searchTerm.trim().toLowerCase())) : allAgents;
69
69
  const isEmpty = allAgents.length === 0;
70
70
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
71
- chunkR4EKPXX3_js.HeroSection,
71
+ chunkFNA66TT4_js.HeroSection,
72
72
  {
73
73
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
74
74
  label: labels.title,
@@ -76,7 +76,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
76
76
  subtitle: labels.subtitle,
77
77
  gradient: "from-violet-500 to-indigo-700",
78
78
  toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
79
- chunkR4EKPXX3_js.SearchBar,
79
+ chunkFNA66TT4_js.SearchBar,
80
80
  {
81
81
  searchTerm,
82
82
  onSearchChange: setSearchTerm,
@@ -85,7 +85,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
85
85
  }
86
86
  ) : void 0,
87
87
  actions: /* @__PURE__ */ jsxRuntime.jsx(
88
- chunkR4EKPXX3_js.CreateActionButton,
88
+ chunkFNA66TT4_js.CreateActionButton,
89
89
  {
90
90
  mode: "desktop",
91
91
  label: labels.addAgent,
@@ -96,7 +96,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
96
96
  }
97
97
  );
98
98
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
99
- chunkR4EKPXX3_js.CreateActionButton,
99
+ chunkFNA66TT4_js.CreateActionButton,
100
100
  {
101
101
  mode: "mobile",
102
102
  label: labels.addAgent,
@@ -104,10 +104,10 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
104
104
  accent: "violet"
105
105
  }
106
106
  );
107
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredAgents.map((agent) => {
107
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredAgents.map((agent) => {
108
108
  const modelRecord = models.find((model) => model.id === String(agent.modelId ?? ""));
109
109
  return /* @__PURE__ */ jsxRuntime.jsx(
110
- chunkR4EKPXX3_js.EntityCard,
110
+ chunkFNA66TT4_js.EntityCard,
111
111
  {
112
112
  accentGradient: "from-violet-500 to-indigo-700",
113
113
  icon: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-11 w-11 items-center justify-center rounded-lg bg-violet-500/10 text-violet-600 dark:bg-violet-500/20 dark:text-violet-400", children: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-6 w-6" }) }),
@@ -144,7 +144,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
144
144
  );
145
145
  }) });
146
146
  const renderForm = (initial, onSubmit) => /* @__PURE__ */ jsxRuntime.jsx(
147
- chunkR4EKPXX3_js.GlassModal,
147
+ chunkFNA66TT4_js.GlassModal,
148
148
  {
149
149
  open: true,
150
150
  onClose: () => {
@@ -167,18 +167,18 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
167
167
  outputSchema: String(form.get("outputSchema") ?? "").trim() || void 0
168
168
  });
169
169
  },
170
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkR4EKPXX3_js.FormGrid, { children: [
171
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormInput, { name: "name", label: labels.name, defaultValue: initial.name ?? "", required: true }),
172
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormSelect, { name: "modelId", label: labels.model, options: modelOptions, defaultValue: initial.modelId ?? modelOptions[0]?.value ?? "", required: true }),
173
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormInput, { name: "maxTokens", label: String(labels.maxTokens), type: "number", defaultValue: String(initial.maxTokens ?? 2048) }),
174
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormInput, { name: "temperature", label: labels.temperature, type: "number", step: 0.1, min: 0, max: 2, defaultValue: String(initial.temperature ?? 0.2) }),
175
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, defaultValue: initial.systemPrompt ?? "", rows: 4 }),
176
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormTextarea, { name: "outputSchema", label: labels.outputSchema, placeholder: labels.outputSchemaPlaceholder, defaultValue: initial.outputSchema ?? "", rows: 4 })
170
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
171
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "name", label: labels.name, defaultValue: initial.name ?? "", required: true }),
172
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormSelect, { name: "modelId", label: labels.model, options: modelOptions, defaultValue: initial.modelId ?? modelOptions[0]?.value ?? "", required: true }),
173
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "maxTokens", label: String(labels.maxTokens), type: "number", defaultValue: String(initial.maxTokens ?? 2048) }),
174
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "temperature", label: labels.temperature, type: "number", step: 0.1, min: 0, max: 2, defaultValue: String(initial.temperature ?? 0.2) }),
175
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, defaultValue: initial.systemPrompt ?? "", rows: 4 }),
176
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormTextarea, { name: "outputSchema", label: labels.outputSchema, placeholder: labels.outputSchemaPlaceholder, defaultValue: initial.outputSchema ?? "", rows: 4 })
177
177
  ] })
178
178
  }
179
179
  );
180
180
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
181
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.ManagementPageLayout, { hero, content, mobileAction }),
181
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content, mobileAction }),
182
182
  createOpen && renderForm({ title: labels.createTitle }, (input) => {
183
183
  onCreate(input);
184
184
  setCreateOpen(false);
@@ -236,7 +236,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
236
236
  }) : allPrompts;
237
237
  const isEmpty = allPrompts.length === 0;
238
238
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
239
- chunkR4EKPXX3_js.HeroSection,
239
+ chunkFNA66TT4_js.HeroSection,
240
240
  {
241
241
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ChatBubbleLeftEllipsisIcon, { className: "h-5 w-5" }),
242
242
  label: labels.title,
@@ -244,7 +244,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
244
244
  subtitle: labels.subtitle,
245
245
  gradient: "from-sky-500 to-blue-700",
246
246
  toolbar: /* @__PURE__ */ jsxRuntime.jsx(
247
- chunkR4EKPXX3_js.CreateActionButton,
247
+ chunkFNA66TT4_js.CreateActionButton,
248
248
  {
249
249
  mode: "desktop",
250
250
  label: labels.addPrompt,
@@ -255,7 +255,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
255
255
  }
256
256
  );
257
257
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
258
- chunkR4EKPXX3_js.CreateActionButton,
258
+ chunkFNA66TT4_js.CreateActionButton,
259
259
  {
260
260
  mode: "mobile",
261
261
  label: labels.addPrompt,
@@ -263,9 +263,9 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
263
263
  accent: "sky"
264
264
  }
265
265
  );
266
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
266
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
267
267
  /* @__PURE__ */ jsxRuntime.jsx(
268
- chunkR4EKPXX3_js.SearchBar,
268
+ chunkFNA66TT4_js.SearchBar,
269
269
  {
270
270
  searchTerm,
271
271
  onSearchChange: setSearchTerm,
@@ -276,7 +276,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
276
276
  const agentName = agentNameById.get(prompt.agentId) ?? prompt.agentId;
277
277
  const key = `${prompt.agentId}:${prompt.locale}:${prompt.version}`;
278
278
  return /* @__PURE__ */ jsxRuntime.jsx(
279
- chunkR4EKPXX3_js.EntityCard,
279
+ chunkFNA66TT4_js.EntityCard,
280
280
  {
281
281
  accentGradient: "from-sky-500 to-blue-700",
282
282
  icon: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-11 w-11 items-center justify-center rounded-lg bg-sky-500/10 text-sky-600 dark:bg-sky-500/20 dark:text-sky-400", children: /* @__PURE__ */ jsxRuntime.jsx(outline.ChatBubbleLeftEllipsisIcon, { className: "h-6 w-6" }) }),
@@ -305,9 +305,9 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
305
305
  }) })
306
306
  ] });
307
307
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
308
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.ManagementPageLayout, { hero, content, mobileAction }),
308
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content, mobileAction }),
309
309
  /* @__PURE__ */ jsxRuntime.jsx(
310
- chunkR4EKPXX3_js.GlassModal,
310
+ chunkFNA66TT4_js.GlassModal,
311
311
  {
312
312
  open: createOpen,
313
313
  onClose: () => setCreateOpen(false),
@@ -331,11 +331,11 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
331
331
  });
332
332
  setCreateOpen(false);
333
333
  },
334
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkR4EKPXX3_js.FormGrid, { children: [
335
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormSelect, { name: "agentId", label: labels.agent, options: agentOptions, required: true }),
336
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormSelect, { name: "locale", label: labels.locale, options: LOCALE_OPTIONS, defaultValue: "en" }),
334
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
335
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormSelect, { name: "agentId", label: labels.agent, options: agentOptions, required: true }),
336
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormSelect, { name: "locale", label: labels.locale, options: LOCALE_OPTIONS, defaultValue: "en" }),
337
337
  /* @__PURE__ */ jsxRuntime.jsx(
338
- chunkR4EKPXX3_js.FormSelect,
338
+ chunkFNA66TT4_js.FormSelect,
339
339
  {
340
340
  name: "isActive",
341
341
  label: labels.isActive,
@@ -343,10 +343,10 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
343
343
  defaultValue: "true"
344
344
  }
345
345
  ),
346
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormInput, { name: "reason", label: labels.reason }),
347
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, rows: 3 }),
348
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormTextarea, { name: "userTemplate", label: labels.userTemplate, rows: 3 }),
349
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormTextarea, { name: "prompt", label: labels.prompt, rows: 6, required: true })
346
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "reason", label: labels.reason }),
347
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, rows: 3 }),
348
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormTextarea, { name: "userTemplate", label: labels.userTemplate, rows: 3 }),
349
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormTextarea, { name: "prompt", label: labels.prompt, rows: 6, required: true })
350
350
  ] })
351
351
  }
352
352
  )
@@ -381,7 +381,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
381
381
  const filteredTools = searchTerm.trim() ? allTools.filter((tool) => tool.name.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allTools;
382
382
  const isEmpty = allTools.length === 0;
383
383
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
384
- chunkR4EKPXX3_js.HeroSection,
384
+ chunkFNA66TT4_js.HeroSection,
385
385
  {
386
386
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-5 w-5" }),
387
387
  label: labels.title,
@@ -389,7 +389,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
389
389
  subtitle: labels.subtitle,
390
390
  gradient: "from-amber-500 to-orange-700",
391
391
  toolbar: /* @__PURE__ */ jsxRuntime.jsx(
392
- chunkR4EKPXX3_js.CreateActionButton,
392
+ chunkFNA66TT4_js.CreateActionButton,
393
393
  {
394
394
  mode: "desktop",
395
395
  label: labels.addTool,
@@ -400,7 +400,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
400
400
  }
401
401
  );
402
402
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
403
- chunkR4EKPXX3_js.CreateActionButton,
403
+ chunkFNA66TT4_js.CreateActionButton,
404
404
  {
405
405
  mode: "mobile",
406
406
  label: labels.addTool,
@@ -408,9 +408,9 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
408
408
  accent: "amber"
409
409
  }
410
410
  );
411
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
411
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
412
412
  /* @__PURE__ */ jsxRuntime.jsx(
413
- chunkR4EKPXX3_js.SearchBar,
413
+ chunkFNA66TT4_js.SearchBar,
414
414
  {
415
415
  searchTerm,
416
416
  onSearchChange: setSearchTerm,
@@ -418,7 +418,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
418
418
  }
419
419
  ),
420
420
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredTools.map((tool) => /* @__PURE__ */ jsxRuntime.jsx(
421
- chunkR4EKPXX3_js.EntityCard,
421
+ chunkFNA66TT4_js.EntityCard,
422
422
  {
423
423
  accentGradient: "from-amber-500 to-orange-700",
424
424
  icon: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-11 w-11 items-center justify-center rounded-lg bg-amber-500/10 text-amber-600 dark:bg-amber-500/20 dark:text-amber-400", children: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-6 w-6" }) }),
@@ -446,7 +446,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
446
446
  )) })
447
447
  ] });
448
448
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
449
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.ManagementPageLayout, { hero, content, mobileAction }),
449
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content, mobileAction }),
450
450
  createOpen && /* @__PURE__ */ jsxRuntime.jsx(
451
451
  ToolEditor,
452
452
  {
@@ -504,7 +504,7 @@ function ToolEditor({
504
504
  setValue((v) => ({ ...v, [key]: next }));
505
505
  };
506
506
  return /* @__PURE__ */ jsxRuntime.jsx(
507
- chunkR4EKPXX3_js.GlassModal,
507
+ chunkFNA66TT4_js.GlassModal,
508
508
  {
509
509
  open: true,
510
510
  onClose,
@@ -517,9 +517,9 @@ function ToolEditor({
517
517
  handleSubmit();
518
518
  },
519
519
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
520
- /* @__PURE__ */ jsxRuntime.jsxs(chunkR4EKPXX3_js.FormGrid, { children: [
520
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
521
521
  /* @__PURE__ */ jsxRuntime.jsx(
522
- chunkR4EKPXX3_js.FormInput,
522
+ chunkFNA66TT4_js.FormInput,
523
523
  {
524
524
  label: "Name",
525
525
  required: true,
@@ -529,7 +529,7 @@ function ToolEditor({
529
529
  }
530
530
  ),
531
531
  /* @__PURE__ */ jsxRuntime.jsx(
532
- chunkR4EKPXX3_js.FormSelect,
532
+ chunkFNA66TT4_js.FormSelect,
533
533
  {
534
534
  label: "Tool type",
535
535
  value: value.toolType,
@@ -539,7 +539,7 @@ function ToolEditor({
539
539
  }
540
540
  ),
541
541
  /* @__PURE__ */ jsxRuntime.jsx(
542
- chunkR4EKPXX3_js.FormSelect,
542
+ chunkFNA66TT4_js.FormSelect,
543
543
  {
544
544
  label: "Enabled",
545
545
  value: value.enabled ? "true" : "false",
@@ -548,7 +548,7 @@ function ToolEditor({
548
548
  }
549
549
  ),
550
550
  /* @__PURE__ */ jsxRuntime.jsx(
551
- chunkR4EKPXX3_js.FormInput,
551
+ chunkFNA66TT4_js.FormInput,
552
552
  {
553
553
  label: "Icon (optional)",
554
554
  value: value.icon ?? "",
@@ -558,7 +558,7 @@ function ToolEditor({
558
558
  )
559
559
  ] }),
560
560
  /* @__PURE__ */ jsxRuntime.jsx(
561
- chunkR4EKPXX3_js.FormTextarea,
561
+ chunkFNA66TT4_js.FormTextarea,
562
562
  {
563
563
  label: "Description",
564
564
  rows: 2,
@@ -606,7 +606,7 @@ function ParametersEditor({
606
606
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
607
607
  parameters.map((param, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[1fr_160px_1fr_110px_auto] items-end gap-2", children: [
608
608
  /* @__PURE__ */ jsxRuntime.jsx(
609
- chunkR4EKPXX3_js.FormInput,
609
+ chunkFNA66TT4_js.FormInput,
610
610
  {
611
611
  label: "Name",
612
612
  value: param.name,
@@ -615,7 +615,7 @@ function ParametersEditor({
615
615
  }
616
616
  ),
617
617
  /* @__PURE__ */ jsxRuntime.jsx(
618
- chunkR4EKPXX3_js.FormSelect,
618
+ chunkFNA66TT4_js.FormSelect,
619
619
  {
620
620
  label: "Type",
621
621
  value: param.type,
@@ -624,7 +624,7 @@ function ParametersEditor({
624
624
  }
625
625
  ),
626
626
  /* @__PURE__ */ jsxRuntime.jsx(
627
- chunkR4EKPXX3_js.FormInput,
627
+ chunkFNA66TT4_js.FormInput,
628
628
  {
629
629
  label: "Description",
630
630
  value: param.description,
@@ -658,9 +658,9 @@ function HandlerConfigEditor({
658
658
  if (toolType === "http") {
659
659
  return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "rounded-xl border border-slate-200 bg-slate-50/60 p-3 dark:border-slate-700 dark:bg-slate-900/40", children: [
660
660
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "HTTP handler" }),
661
- /* @__PURE__ */ jsxRuntime.jsxs(chunkR4EKPXX3_js.FormGrid, { children: [
661
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
662
662
  /* @__PURE__ */ jsxRuntime.jsx(
663
- chunkR4EKPXX3_js.FormSelect,
663
+ chunkFNA66TT4_js.FormSelect,
664
664
  {
665
665
  label: "Method",
666
666
  value: stringProp(config, "method", "GET"),
@@ -669,7 +669,7 @@ function HandlerConfigEditor({
669
669
  }
670
670
  ),
671
671
  /* @__PURE__ */ jsxRuntime.jsx(
672
- chunkR4EKPXX3_js.FormInput,
672
+ chunkFNA66TT4_js.FormInput,
673
673
  {
674
674
  label: "URL template",
675
675
  value: stringProp(config, "url"),
@@ -679,7 +679,7 @@ function HandlerConfigEditor({
679
679
  )
680
680
  ] }),
681
681
  /* @__PURE__ */ jsxRuntime.jsx(
682
- chunkR4EKPXX3_js.FormTextarea,
682
+ chunkFNA66TT4_js.FormTextarea,
683
683
  {
684
684
  label: "Headers (JSON)",
685
685
  rows: 3,
@@ -689,7 +689,7 @@ function HandlerConfigEditor({
689
689
  }
690
690
  ),
691
691
  /* @__PURE__ */ jsxRuntime.jsx(
692
- chunkR4EKPXX3_js.FormTextarea,
692
+ chunkFNA66TT4_js.FormTextarea,
693
693
  {
694
694
  label: "Body template",
695
695
  rows: 3,
@@ -704,7 +704,7 @@ function HandlerConfigEditor({
704
704
  return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "rounded-xl border border-slate-200 bg-slate-50/60 p-3 dark:border-slate-700 dark:bg-slate-900/40", children: [
705
705
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Function handler" }),
706
706
  /* @__PURE__ */ jsxRuntime.jsx(
707
- chunkR4EKPXX3_js.FormInput,
707
+ chunkFNA66TT4_js.FormInput,
708
708
  {
709
709
  label: "Implementation key",
710
710
  value: stringProp(config, "implementationKey"),
@@ -718,9 +718,9 @@ function HandlerConfigEditor({
718
718
  if (toolType === "database_query") {
719
719
  return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "rounded-xl border border-slate-200 bg-slate-50/60 p-3 dark:border-slate-700 dark:bg-slate-900/40", children: [
720
720
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Database query handler" }),
721
- /* @__PURE__ */ jsxRuntime.jsxs(chunkR4EKPXX3_js.FormGrid, { children: [
721
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
722
722
  /* @__PURE__ */ jsxRuntime.jsx(
723
- chunkR4EKPXX3_js.FormInput,
723
+ chunkFNA66TT4_js.FormInput,
724
724
  {
725
725
  label: "Datasource ID",
726
726
  value: stringProp(config, "datasourceId"),
@@ -729,7 +729,7 @@ function HandlerConfigEditor({
729
729
  }
730
730
  ),
731
731
  /* @__PURE__ */ jsxRuntime.jsx(
732
- chunkR4EKPXX3_js.FormInput,
732
+ chunkFNA66TT4_js.FormInput,
733
733
  {
734
734
  label: "Max rows",
735
735
  type: "number",
@@ -739,7 +739,7 @@ function HandlerConfigEditor({
739
739
  )
740
740
  ] }),
741
741
  /* @__PURE__ */ jsxRuntime.jsx(
742
- chunkR4EKPXX3_js.FormTextarea,
742
+ chunkFNA66TT4_js.FormTextarea,
743
743
  {
744
744
  label: "Query template",
745
745
  rows: 4,
@@ -755,7 +755,7 @@ function HandlerConfigEditor({
755
755
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Code execution handler" }),
756
756
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs text-amber-600 dark:text-amber-400", children: "Experimental \u2014 sandbox is not yet enforced. Only enable for trusted tools." }),
757
757
  /* @__PURE__ */ jsxRuntime.jsx(
758
- chunkR4EKPXX3_js.FormSelect,
758
+ chunkFNA66TT4_js.FormSelect,
759
759
  {
760
760
  label: "Language",
761
761
  value: stringProp(config, "language", "javascript"),
@@ -767,7 +767,7 @@ function HandlerConfigEditor({
767
767
  }
768
768
  ),
769
769
  /* @__PURE__ */ jsxRuntime.jsx(
770
- chunkR4EKPXX3_js.FormTextarea,
770
+ chunkFNA66TT4_js.FormTextarea,
771
771
  {
772
772
  label: "Code",
773
773
  rows: 6,
@@ -780,9 +780,9 @@ function HandlerConfigEditor({
780
780
  }
781
781
  return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "rounded-xl border border-slate-200 bg-slate-50/60 p-3 dark:border-slate-700 dark:bg-slate-900/40", children: [
782
782
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "API call handler" }),
783
- /* @__PURE__ */ jsxRuntime.jsxs(chunkR4EKPXX3_js.FormGrid, { children: [
783
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
784
784
  /* @__PURE__ */ jsxRuntime.jsx(
785
- chunkR4EKPXX3_js.FormInput,
785
+ chunkFNA66TT4_js.FormInput,
786
786
  {
787
787
  label: "URL",
788
788
  value: stringProp(config, "url"),
@@ -790,7 +790,7 @@ function HandlerConfigEditor({
790
790
  }
791
791
  ),
792
792
  /* @__PURE__ */ jsxRuntime.jsx(
793
- chunkR4EKPXX3_js.FormSelect,
793
+ chunkFNA66TT4_js.FormSelect,
794
794
  {
795
795
  label: "Auth",
796
796
  value: stringProp(config, "authType", "bearer"),
@@ -804,7 +804,7 @@ function HandlerConfigEditor({
804
804
  }
805
805
  ),
806
806
  /* @__PURE__ */ jsxRuntime.jsx(
807
- chunkR4EKPXX3_js.FormInput,
807
+ chunkFNA66TT4_js.FormInput,
808
808
  {
809
809
  label: "Credential secret id",
810
810
  value: stringProp(config, "credentialRef"),
@@ -937,7 +937,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
937
937
  const filteredRules = searchTerm.trim() ? allRules.filter((rule) => (rule.name ?? "").toLowerCase().includes(searchTerm.trim().toLowerCase())) : allRules;
938
938
  const isEmpty = allRules.length === 0;
939
939
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
940
- chunkR4EKPXX3_js.HeroSection,
940
+ chunkFNA66TT4_js.HeroSection,
941
941
  {
942
942
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.AdjustmentsHorizontalIcon, { className: "h-5 w-5" }),
943
943
  label: labels.title,
@@ -945,7 +945,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
945
945
  subtitle: labels.subtitle,
946
946
  gradient: "from-fuchsia-500 to-purple-700",
947
947
  toolbar: /* @__PURE__ */ jsxRuntime.jsx(
948
- chunkR4EKPXX3_js.CreateActionButton,
948
+ chunkFNA66TT4_js.CreateActionButton,
949
949
  {
950
950
  mode: "desktop",
951
951
  label: labels.addRule,
@@ -956,7 +956,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
956
956
  }
957
957
  );
958
958
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
959
- chunkR4EKPXX3_js.CreateActionButton,
959
+ chunkFNA66TT4_js.CreateActionButton,
960
960
  {
961
961
  mode: "mobile",
962
962
  label: labels.addRule,
@@ -964,9 +964,9 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
964
964
  accent: "fuchsia"
965
965
  }
966
966
  );
967
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
967
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
968
968
  /* @__PURE__ */ jsxRuntime.jsx(
969
- chunkR4EKPXX3_js.SearchBar,
969
+ chunkFNA66TT4_js.SearchBar,
970
970
  {
971
971
  searchTerm,
972
972
  onSearchChange: setSearchTerm,
@@ -974,7 +974,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
974
974
  }
975
975
  ),
976
976
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredRules.map((rule) => /* @__PURE__ */ jsxRuntime.jsx(
977
- chunkR4EKPXX3_js.EntityCard,
977
+ chunkFNA66TT4_js.EntityCard,
978
978
  {
979
979
  accentGradient: "from-fuchsia-500 to-purple-700",
980
980
  icon: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-11 w-11 items-center justify-center rounded-lg bg-fuchsia-500/10 text-fuchsia-600 dark:bg-fuchsia-500/20 dark:text-fuchsia-400", children: /* @__PURE__ */ jsxRuntime.jsx(outline.AdjustmentsHorizontalIcon, { className: "h-6 w-6" }) }),
@@ -1002,13 +1002,13 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
1002
1002
  )) })
1003
1003
  ] });
1004
1004
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1005
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.ManagementPageLayout, { hero, content, mobileAction }),
1005
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content, mobileAction }),
1006
1006
  createOpen && /* @__PURE__ */ jsxRuntime.jsx(
1007
1007
  RuleEditor,
1008
1008
  {
1009
1009
  title: labels.createTitle,
1010
1010
  saveLabel: labels.save,
1011
- initial: chunkFUHNEP3Y_js.defaultRuleForm(),
1011
+ initial: chunk3H5CFLVK_js.defaultRuleForm(),
1012
1012
  onClose: () => setCreateOpen(false),
1013
1013
  onSubmit: (value) => {
1014
1014
  onCreate(value);
@@ -1040,7 +1040,7 @@ function RuleEditor({
1040
1040
  }) {
1041
1041
  const [value, setValue] = react.useState(initial);
1042
1042
  return /* @__PURE__ */ jsxRuntime.jsx(
1043
- chunkR4EKPXX3_js.GlassModal,
1043
+ chunkFNA66TT4_js.GlassModal,
1044
1044
  {
1045
1045
  open: true,
1046
1046
  onClose,
@@ -1052,12 +1052,12 @@ function RuleEditor({
1052
1052
  event.preventDefault();
1053
1053
  onSubmit(value);
1054
1054
  },
1055
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkFUHNEP3Y_js.RuleForm, { value, onChange: setValue })
1055
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunk3H5CFLVK_js.RuleForm, { value, onChange: setValue })
1056
1056
  }
1057
1057
  );
1058
1058
  }
1059
1059
  function ruleToFormValue(rule) {
1060
- const base = chunkFUHNEP3Y_js.defaultRuleForm();
1060
+ const base = chunk3H5CFLVK_js.defaultRuleForm();
1061
1061
  const rawCondition = rule.condition ?? rule.conditions;
1062
1062
  const rawAction = pickAction(rule);
1063
1063
  return {
@@ -1188,7 +1188,7 @@ var SAMPLE_DATASOURCES = [
1188
1188
  ];
1189
1189
  function getDialectLabel(dialect) {
1190
1190
  if (!dialect) return "Unknown";
1191
- for (const category of chunk5ZLQTVSV_js.DIALECT_CATEGORIES) {
1191
+ for (const category of chunkTJPPZU77_js.DIALECT_CATEGORIES) {
1192
1192
  const found = category.dialects.find((d) => d.value === dialect);
1193
1193
  if (found) return found.label;
1194
1194
  }
@@ -1196,12 +1196,12 @@ function getDialectLabel(dialect) {
1196
1196
  }
1197
1197
  function getDialectGradient(dialect) {
1198
1198
  if (!dialect) return "from-gray-400 to-gray-500";
1199
- const category = chunk5ZLQTVSV_js.findCategory(dialect);
1199
+ const category = chunkTJPPZU77_js.findCategory(dialect);
1200
1200
  return category?.gradient ?? "from-gray-400 to-gray-500";
1201
1201
  }
1202
1202
  function getDialectIcon(dialect) {
1203
1203
  if (!dialect) return outline.CircleStackIcon;
1204
- const category = chunk5ZLQTVSV_js.findCategory(dialect);
1204
+ const category = chunkTJPPZU77_js.findCategory(dialect);
1205
1205
  return category?.icon ?? outline.CircleStackIcon;
1206
1206
  }
1207
1207
  var DIALECT_LOGO = {
@@ -1226,7 +1226,11 @@ var DIALECT_LOGO = {
1226
1226
  cockroachdb: "/logos/datasources/cockroachdb.svg",
1227
1227
  supabase: "/logos/datasources/supabase.svg",
1228
1228
  firebase: "/logos/datasources/firebase.svg",
1229
- neo4j: "/logos/datasources/neo4j.svg"
1229
+ neo4j: "/logos/datasources/neo4j.svg",
1230
+ // AWS managed services (icepanel.io / official AWS Architecture Icons)
1231
+ neptune: "/logos/datasources/neptune.svg",
1232
+ timestream: "/logos/datasources/timestream.svg",
1233
+ opensearch: "/logos/datasources/opensearch.svg"
1230
1234
  };
1231
1235
  function getDialectLogoSrc(dialect) {
1232
1236
  if (!dialect) return null;
@@ -1271,7 +1275,7 @@ function DatasourcesPageView({
1271
1275
  }
1272
1276
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
1273
1277
  /* @__PURE__ */ jsxRuntime.jsx(
1274
- chunkR4EKPXX3_js.HeroSection,
1278
+ chunkFNA66TT4_js.HeroSection,
1275
1279
  {
1276
1280
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CircleStackIcon, { className: "h-5 w-5" }),
1277
1281
  label: labels.title,
@@ -1279,7 +1283,7 @@ function DatasourcesPageView({
1279
1283
  subtitle: labels.subtitle,
1280
1284
  gradient: "from-amber-500 to-orange-600",
1281
1285
  toolbar: /* @__PURE__ */ jsxRuntime.jsx(
1282
- chunkR4EKPXX3_js.CreateActionButton,
1286
+ chunkFNA66TT4_js.CreateActionButton,
1283
1287
  {
1284
1288
  mode: "desktop",
1285
1289
  label: labels.addDatasource,
@@ -1290,7 +1294,7 @@ function DatasourcesPageView({
1290
1294
  }
1291
1295
  ),
1292
1296
  /* @__PURE__ */ jsxRuntime.jsx(
1293
- chunkR4EKPXX3_js.CreateActionButton,
1297
+ chunkFNA66TT4_js.CreateActionButton,
1294
1298
  {
1295
1299
  mode: "mobile",
1296
1300
  label: labels.addDatasource,
@@ -1299,7 +1303,7 @@ function DatasourcesPageView({
1299
1303
  }
1300
1304
  ),
1301
1305
  !isEmpty && /* @__PURE__ */ jsxRuntime.jsx(
1302
- chunkR4EKPXX3_js.SearchBar,
1306
+ chunkFNA66TT4_js.SearchBar,
1303
1307
  {
1304
1308
  searchTerm,
1305
1309
  onSearchChange: setSearchTerm,
@@ -1307,7 +1311,7 @@ function DatasourcesPageView({
1307
1311
  }
1308
1312
  ),
1309
1313
  isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
1310
- chunkR4EKPXX3_js.PageEmptyState,
1314
+ chunkFNA66TT4_js.PageEmptyState,
1311
1315
  {
1312
1316
  title: labels.emptyTitle,
1313
1317
  message: labels.emptyDescription,
@@ -1321,7 +1325,7 @@ function DatasourcesPageView({
1321
1325
  const logoSrc = getDialectLogoSrc(ds.dialect);
1322
1326
  const iconElement = logoSrc ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "liquid-surface flex h-11 w-11 items-center justify-center rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: logoSrc, alt: dialectLabel, className: "h-7 w-7 object-contain" }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-11 w-11 items-center justify-center rounded-lg bg-gradient-to-br ${gradient} shadow-lg`, children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "h-6 w-6 text-white" }) });
1323
1327
  return /* @__PURE__ */ jsxRuntime.jsx(
1324
- chunkR4EKPXX3_js.EntityCard,
1328
+ chunkFNA66TT4_js.EntityCard,
1325
1329
  {
1326
1330
  accentGradient: gradient,
1327
1331
  icon: iconElement,
@@ -1351,7 +1355,7 @@ function DatasourcesPageView({
1351
1355
  );
1352
1356
  }) }),
1353
1357
  /* @__PURE__ */ jsxRuntime.jsx(
1354
- chunk5ZLQTVSV_js.DatasourceModal,
1358
+ chunkTJPPZU77_js.DatasourceModal,
1355
1359
  {
1356
1360
  open: modalOpen,
1357
1361
  onClose: () => setModalOpen(false),
@@ -1366,7 +1370,7 @@ function DashboardPageView({ labels, appLogo }) {
1366
1370
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center mb-6", children: appLogo }),
1367
1371
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-3 text-base text-slate-600 dark:text-slate-300", children: labels.subtitle })
1368
1372
  ] });
1369
- return /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.ManagementPageLayout, { hero, content: null });
1373
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content: null });
1370
1374
  }
1371
1375
  function AgentsIndexPageView({ labels }) {
1372
1376
  const Link = chunkS7KHTUHA_js.useLink();
@@ -1380,7 +1384,7 @@ function AgentsIndexPageView({ labels }) {
1380
1384
  const filteredTiles = searchTerm.trim() ? allTiles.filter((tile) => tile.title.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allTiles;
1381
1385
  const isEmpty = allTiles.length === 0;
1382
1386
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
1383
- chunkR4EKPXX3_js.HeroSection,
1387
+ chunkFNA66TT4_js.HeroSection,
1384
1388
  {
1385
1389
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
1386
1390
  label: labels.title,
@@ -1391,7 +1395,7 @@ function AgentsIndexPageView({ labels }) {
1391
1395
  );
1392
1396
  const content = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1393
1397
  !isEmpty && /* @__PURE__ */ jsxRuntime.jsx(
1394
- chunkR4EKPXX3_js.SearchBar,
1398
+ chunkFNA66TT4_js.SearchBar,
1395
1399
  {
1396
1400
  searchTerm,
1397
1401
  onSearchChange: setSearchTerm,
@@ -1401,7 +1405,7 @@ function AgentsIndexPageView({ labels }) {
1401
1405
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4", children: filteredTiles.map((tile) => {
1402
1406
  const Icon = tile.icon;
1403
1407
  return /* @__PURE__ */ jsxRuntime.jsx(Link, { href: tile.href, className: "block focus:outline-none", children: /* @__PURE__ */ jsxRuntime.jsx(
1404
- chunkR4EKPXX3_js.EntityCard,
1408
+ chunkFNA66TT4_js.EntityCard,
1405
1409
  {
1406
1410
  accentGradient: tile.gradient,
1407
1411
  icon: /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-11 w-11 items-center justify-center rounded-lg bg-gradient-to-br ${tile.gradient} shadow-lg`, children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "h-6 w-6 text-white" }) }),
@@ -1411,13 +1415,13 @@ function AgentsIndexPageView({ labels }) {
1411
1415
  ) }, tile.id);
1412
1416
  }) })
1413
1417
  ] });
1414
- return /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.ManagementPageLayout, { hero, content });
1418
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content });
1415
1419
  }
1416
1420
  function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublish }) {
1417
1421
  const selectedWorkflow = workflows[0] ?? null;
1418
1422
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
1419
1423
  /* @__PURE__ */ jsxRuntime.jsx(
1420
- chunkR4EKPXX3_js.SectionHeader,
1424
+ chunkFNA66TT4_js.SectionHeader,
1421
1425
  {
1422
1426
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.RectangleStackIcon, { className: "h-5 w-5 text-white" }),
1423
1427
  title: labels.title,
@@ -1426,9 +1430,9 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
1426
1430
  }
1427
1431
  ),
1428
1432
  /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
1429
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.add }),
1433
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.add }),
1430
1434
  /* @__PURE__ */ jsxRuntime.jsx(
1431
- chunkR4EKPXX3_js.Form,
1435
+ chunkFNA66TT4_js.Form,
1432
1436
  {
1433
1437
  onSubmit: (event) => {
1434
1438
  event.preventDefault();
@@ -1439,32 +1443,32 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
1439
1443
  onCreate({ name, description });
1440
1444
  event.currentTarget.reset();
1441
1445
  },
1442
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkR4EKPXX3_js.FormGrid, { children: [
1443
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormInput, { name: "name", label: labels.workflowName, placeholder: labels.workflowNamePlaceholder, required: true }),
1444
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.workflowDescriptionPlaceholder, rows: 3 }),
1445
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormActionsRow, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "submit", children: labels.create }) })
1446
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
1447
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "name", label: labels.workflowName, placeholder: labels.workflowNamePlaceholder, required: true }),
1448
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.workflowDescriptionPlaceholder, rows: 3 }),
1449
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormActionsRow, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "submit", children: labels.create }) })
1446
1450
  ] })
1447
1451
  }
1448
1452
  )
1449
1453
  ] }),
1450
1454
  /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
1451
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.registry }),
1452
- /* @__PURE__ */ jsxRuntime.jsxs(chunkR4EKPXX3_js.Table, { children: [
1453
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.TableHead, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkR4EKPXX3_js.TableRow, { children: [
1454
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.TableHeader, { children: labels.name }),
1455
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.TableHeader, { children: labels.description }),
1456
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.TableHeader, { children: labels.version }),
1457
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.TableHeader, { children: labels.status }),
1458
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.TableHeader, { children: labels.actions })
1455
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.registry }),
1456
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.Table, { children: [
1457
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableHead, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.TableRow, { children: [
1458
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableHeader, { children: labels.name }),
1459
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableHeader, { children: labels.description }),
1460
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableHeader, { children: labels.version }),
1461
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableHeader, { children: labels.status }),
1462
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableHeader, { children: labels.actions })
1459
1463
  ] }) }),
1460
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.TableBody, { children: workflows.map((workflow) => /* @__PURE__ */ jsxRuntime.jsxs(chunkR4EKPXX3_js.TableRow, { children: [
1461
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.TableCell, { children: workflow.name }),
1462
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.TableCell, { children: workflow.description }),
1463
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.TableCell, { children: String(workflow.version) }),
1464
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { children: workflow.isDraft ? labels.statusDraft : labels.statusPublished }) }),
1465
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
1464
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableBody, { children: workflows.map((workflow) => /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.TableRow, { children: [
1465
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableCell, { children: workflow.name }),
1466
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableCell, { children: workflow.description }),
1467
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableCell, { children: String(workflow.version) }),
1468
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { children: workflow.isDraft ? labels.statusDraft : labels.statusPublished }) }),
1469
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
1466
1470
  /* @__PURE__ */ jsxRuntime.jsx(
1467
- chunkR4EKPXX3_js.Form,
1471
+ chunkFNA66TT4_js.Form,
1468
1472
  {
1469
1473
  onSubmit: (event) => {
1470
1474
  event.preventDefault();
@@ -1474,7 +1478,7 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
1474
1478
  description: workflow.description ?? ""
1475
1479
  });
1476
1480
  },
1477
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.InlineForm, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "submit", outline: true, children: labels.saveMeta }) })
1481
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.InlineForm, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "submit", outline: true, children: labels.saveMeta }) })
1478
1482
  }
1479
1483
  ),
1480
1484
  /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", color: "sky", onClick: () => onPublish(workflow.id), children: labels.publish })
@@ -1483,8 +1487,8 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
1483
1487
  ] })
1484
1488
  ] }),
1485
1489
  /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
1486
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.workspace }),
1487
- selectedWorkflow ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-[680px] rounded-2xl border border-white/65 dark:border-white/12 overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(chunkUDYEUTJC_js.WorkflowWorkspace, { graph: chunk3T2WGL47_js.adaptWorkflowGraphToUi(selectedWorkflow.graph) }) }) : /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.Text, { children: labels.empty })
1490
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.workspace }),
1491
+ selectedWorkflow ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-[680px] rounded-2xl border border-white/65 dark:border-white/12 overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(chunkFKUIVS6I_js.WorkflowWorkspace, { graph: chunk3T2WGL47_js.adaptWorkflowGraphToUi(selectedWorkflow.graph) }) }) : /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.Text, { children: labels.empty })
1488
1492
  ] })
1489
1493
  ] });
1490
1494
  }
@@ -1533,7 +1537,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
1533
1537
  });
1534
1538
  const isEmpty = allRuns.length === 0;
1535
1539
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
1536
- chunkR4EKPXX3_js.HeroSection,
1540
+ chunkFNA66TT4_js.HeroSection,
1537
1541
  {
1538
1542
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
1539
1543
  label: labels.title,
@@ -1541,7 +1545,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
1541
1545
  subtitle: labels.subtitle,
1542
1546
  gradient: "from-indigo-500 to-sky-700",
1543
1547
  toolbar: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full sm:w-48", children: /* @__PURE__ */ jsxRuntime.jsx(
1544
- chunkR4EKPXX3_js.FormSelect,
1548
+ chunkFNA66TT4_js.FormSelect,
1545
1549
  {
1546
1550
  name: "statusFilter",
1547
1551
  label: labels.filterStatus,
@@ -1552,9 +1556,9 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
1552
1556
  ) })
1553
1557
  }
1554
1558
  );
1555
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.PageLoadingState, {}) : filteredRuns.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1559
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageLoadingState, {}) : filteredRuns.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1556
1560
  !isEmpty && /* @__PURE__ */ jsxRuntime.jsx(
1557
- chunkR4EKPXX3_js.SearchBar,
1561
+ chunkFNA66TT4_js.SearchBar,
1558
1562
  {
1559
1563
  searchTerm,
1560
1564
  onSearchChange: setSearchTerm,
@@ -1562,7 +1566,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
1562
1566
  }
1563
1567
  ),
1564
1568
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredRuns.map((run) => /* @__PURE__ */ jsxRuntime.jsxs(
1565
- chunkR4EKPXX3_js.EntityCard,
1569
+ chunkFNA66TT4_js.EntityCard,
1566
1570
  {
1567
1571
  accentGradient: "from-indigo-500 to-sky-700",
1568
1572
  icon: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-11 w-11 items-center justify-center rounded-lg bg-indigo-500/10 text-indigo-600 dark:bg-indigo-500/20 dark:text-indigo-400", children: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-6 w-6" }) }),
@@ -1588,11 +1592,11 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
1588
1592
  run.id
1589
1593
  )) })
1590
1594
  ] });
1591
- return /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.ManagementPageLayout, { hero, content });
1595
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content });
1592
1596
  }
1593
1597
  function RunTimelinePageView({ labels, entries, loading, runId }) {
1594
1598
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
1595
- chunkR4EKPXX3_js.HeroSection,
1599
+ chunkFNA66TT4_js.HeroSection,
1596
1600
  {
1597
1601
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
1598
1602
  label: labels.title,
@@ -1602,23 +1606,23 @@ function RunTimelinePageView({ labels, entries, loading, runId }) {
1602
1606
  }
1603
1607
  );
1604
1608
  if (loading) {
1605
- return /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.ManagementPageLayout, { hero, content: /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.PageLoadingState, {}) });
1609
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content: /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageLoadingState, {}) });
1606
1610
  }
1607
1611
  if (entries.length === 0) {
1608
1612
  return /* @__PURE__ */ jsxRuntime.jsx(
1609
- chunkR4EKPXX3_js.ManagementPageLayout,
1613
+ chunkFNA66TT4_js.ManagementPageLayout,
1610
1614
  {
1611
1615
  hero,
1612
- content: /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.PageEmptyState, { title: labels.empty ?? "", message: "", iconName: "folder-open" })
1616
+ content: /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageEmptyState, { title: labels.empty ?? "", message: "", iconName: "folder-open" })
1613
1617
  }
1614
1618
  );
1615
1619
  }
1616
1620
  return /* @__PURE__ */ jsxRuntime.jsx(
1617
- chunkR4EKPXX3_js.ManagementPageLayout,
1621
+ chunkFNA66TT4_js.ManagementPageLayout,
1618
1622
  {
1619
1623
  hero,
1620
1624
  content: /* @__PURE__ */ jsxRuntime.jsx(
1621
- chunkFUHNEP3Y_js.ExecutionTimelinePanel,
1625
+ chunk3H5CFLVK_js.ExecutionTimelinePanel,
1622
1626
  {
1623
1627
  entries,
1624
1628
  labels
@@ -1704,7 +1708,7 @@ function ConnectionsPageView({
1704
1708
  const filteredConnections = searchTerm.trim() ? allConnections.filter((conn) => conn.name.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allConnections;
1705
1709
  const isEmpty = allConnections.length === 0;
1706
1710
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
1707
- chunkR4EKPXX3_js.HeroSection,
1711
+ chunkFNA66TT4_js.HeroSection,
1708
1712
  {
1709
1713
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.LinkIcon, { className: "h-5 w-5" }),
1710
1714
  label: labels.title,
@@ -1712,7 +1716,7 @@ function ConnectionsPageView({
1712
1716
  subtitle: labels.subtitle,
1713
1717
  gradient: "from-sky-500 to-indigo-600",
1714
1718
  toolbar: /* @__PURE__ */ jsxRuntime.jsx(
1715
- chunkR4EKPXX3_js.CreateActionButton,
1719
+ chunkFNA66TT4_js.CreateActionButton,
1716
1720
  {
1717
1721
  mode: "desktop",
1718
1722
  label: labels.add,
@@ -1723,7 +1727,7 @@ function ConnectionsPageView({
1723
1727
  }
1724
1728
  );
1725
1729
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
1726
- chunkR4EKPXX3_js.CreateActionButton,
1730
+ chunkFNA66TT4_js.CreateActionButton,
1727
1731
  {
1728
1732
  mode: "mobile",
1729
1733
  label: labels.add,
@@ -1731,9 +1735,9 @@ function ConnectionsPageView({
1731
1735
  accent: "sky"
1732
1736
  }
1733
1737
  );
1734
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1738
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1735
1739
  /* @__PURE__ */ jsxRuntime.jsx(
1736
- chunkR4EKPXX3_js.SearchBar,
1740
+ chunkFNA66TT4_js.SearchBar,
1737
1741
  {
1738
1742
  searchTerm,
1739
1743
  onSearchChange: setSearchTerm,
@@ -1741,7 +1745,7 @@ function ConnectionsPageView({
1741
1745
  }
1742
1746
  ),
1743
1747
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredConnections.map((conn) => /* @__PURE__ */ jsxRuntime.jsx(
1744
- chunkR4EKPXX3_js.EntityCard,
1748
+ chunkFNA66TT4_js.EntityCard,
1745
1749
  {
1746
1750
  accentGradient: "from-sky-500 to-indigo-600",
1747
1751
  icon: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-11 w-11 items-center justify-center rounded-lg bg-sky-500/10 text-sky-600 dark:bg-sky-500/20 dark:text-sky-400", children: /* @__PURE__ */ jsxRuntime.jsx(outline.LinkIcon, { className: "h-6 w-6" }) }),
@@ -1776,7 +1780,7 @@ function ConnectionsPageView({
1776
1780
  )) })
1777
1781
  ] });
1778
1782
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1779
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.ManagementPageLayout, { hero, content, mobileAction }),
1783
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content, mobileAction }),
1780
1784
  createOpen && /* @__PURE__ */ jsxRuntime.jsx(
1781
1785
  ConnectionEditor,
1782
1786
  {
@@ -1890,7 +1894,7 @@ function ConnectionEditor({
1890
1894
  return preset.exampleModels?.join(", ") ?? "";
1891
1895
  }, [preset]);
1892
1896
  return /* @__PURE__ */ jsxRuntime.jsx(
1893
- chunkR4EKPXX3_js.GlassModal,
1897
+ chunkFNA66TT4_js.GlassModal,
1894
1898
  {
1895
1899
  open: true,
1896
1900
  onClose,
@@ -1903,9 +1907,9 @@ function ConnectionEditor({
1903
1907
  void handleSubmit();
1904
1908
  },
1905
1909
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
1906
- /* @__PURE__ */ jsxRuntime.jsxs(chunkR4EKPXX3_js.FormGrid, { children: [
1910
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
1907
1911
  /* @__PURE__ */ jsxRuntime.jsx(
1908
- chunkR4EKPXX3_js.FormSelect,
1912
+ chunkFNA66TT4_js.FormSelect,
1909
1913
  {
1910
1914
  label: "Provider",
1911
1915
  value: value.providerSlug,
@@ -1916,7 +1920,7 @@ function ConnectionEditor({
1916
1920
  }
1917
1921
  ),
1918
1922
  /* @__PURE__ */ jsxRuntime.jsx(
1919
- chunkR4EKPXX3_js.FormInput,
1923
+ chunkFNA66TT4_js.FormInput,
1920
1924
  {
1921
1925
  label: "Display name",
1922
1926
  required: true,
@@ -1926,7 +1930,7 @@ function ConnectionEditor({
1926
1930
  }
1927
1931
  ),
1928
1932
  preset.needsRegion && /* @__PURE__ */ jsxRuntime.jsx(
1929
- chunkR4EKPXX3_js.FormInput,
1933
+ chunkFNA66TT4_js.FormInput,
1930
1934
  {
1931
1935
  label: "Region",
1932
1936
  value: value.region,
@@ -1935,7 +1939,7 @@ function ConnectionEditor({
1935
1939
  }
1936
1940
  ),
1937
1941
  preset.needsEndpoint && /* @__PURE__ */ jsxRuntime.jsx(
1938
- chunkR4EKPXX3_js.FormInput,
1942
+ chunkFNA66TT4_js.FormInput,
1939
1943
  {
1940
1944
  label: "Endpoint URL",
1941
1945
  value: value.endpoint,
@@ -1945,7 +1949,7 @@ function ConnectionEditor({
1945
1949
  )
1946
1950
  ] }),
1947
1951
  /* @__PURE__ */ jsxRuntime.jsx(
1948
- chunkR4EKPXX3_js.FormInput,
1952
+ chunkFNA66TT4_js.FormInput,
1949
1953
  {
1950
1954
  label: value.credentialRef ? "Rotate API key (leave blank to keep current)" : "API key",
1951
1955
  type: "password",
@@ -1956,7 +1960,7 @@ function ConnectionEditor({
1956
1960
  }
1957
1961
  ),
1958
1962
  /* @__PURE__ */ jsxRuntime.jsx(
1959
- chunkR4EKPXX3_js.FormInput,
1963
+ chunkFNA66TT4_js.FormInput,
1960
1964
  {
1961
1965
  label: "Model filter (comma-separated, optional)",
1962
1966
  value: value.modelFilter,
@@ -1968,7 +1972,7 @@ function ConnectionEditor({
1968
1972
  /* @__PURE__ */ jsxRuntime.jsxs("details", { className: "rounded-xl border border-slate-200 bg-slate-50/60 p-3 text-sm dark:border-slate-700 dark:bg-slate-900/40", children: [
1969
1973
  /* @__PURE__ */ jsxRuntime.jsx("summary", { className: "cursor-pointer font-medium text-slate-700 dark:text-slate-200", children: "Advanced config (JSON)" }),
1970
1974
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsx(
1971
- chunkR4EKPXX3_js.FormTextarea,
1975
+ chunkFNA66TT4_js.FormTextarea,
1972
1976
  {
1973
1977
  rows: 4,
1974
1978
  value: value.configJson,
@@ -2038,7 +2042,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
2038
2042
  { value: "password", label: labels.typePassword }
2039
2043
  ];
2040
2044
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
2041
- chunkR4EKPXX3_js.HeroSection,
2045
+ chunkFNA66TT4_js.HeroSection,
2042
2046
  {
2043
2047
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-5 w-5" }),
2044
2048
  label: labels.title,
@@ -2046,7 +2050,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
2046
2050
  subtitle: labels.subtitle,
2047
2051
  gradient: "from-rose-500 to-orange-600",
2048
2052
  toolbar: /* @__PURE__ */ jsxRuntime.jsx(
2049
- chunkR4EKPXX3_js.CreateActionButton,
2053
+ chunkFNA66TT4_js.CreateActionButton,
2050
2054
  {
2051
2055
  mode: "desktop",
2052
2056
  label: labels.addCredential,
@@ -2057,7 +2061,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
2057
2061
  }
2058
2062
  );
2059
2063
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
2060
- chunkR4EKPXX3_js.CreateActionButton,
2064
+ chunkFNA66TT4_js.CreateActionButton,
2061
2065
  {
2062
2066
  mode: "mobile",
2063
2067
  label: labels.addCredential,
@@ -2065,9 +2069,9 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
2065
2069
  accent: "rose"
2066
2070
  }
2067
2071
  );
2068
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2072
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2069
2073
  /* @__PURE__ */ jsxRuntime.jsx(
2070
- chunkR4EKPXX3_js.SearchBar,
2074
+ chunkFNA66TT4_js.SearchBar,
2071
2075
  {
2072
2076
  searchTerm,
2073
2077
  onSearchChange: setSearchTerm,
@@ -2075,7 +2079,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
2075
2079
  }
2076
2080
  ),
2077
2081
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredCredentials.map((secret) => /* @__PURE__ */ jsxRuntime.jsxs(
2078
- chunkR4EKPXX3_js.EntityCard,
2082
+ chunkFNA66TT4_js.EntityCard,
2079
2083
  {
2080
2084
  accentGradient: "from-rose-500 to-orange-700",
2081
2085
  icon: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-11 w-11 items-center justify-center rounded-lg bg-rose-500/10 text-rose-600 dark:bg-rose-500/20 dark:text-rose-400", children: /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-6 w-6" }) }),
@@ -2083,7 +2087,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
2083
2087
  subtitle: secret.secretType,
2084
2088
  status: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: secret.disabled ? "zinc" : "emerald", children: secret.disabled ? labels.disable : "Active" }),
2085
2089
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-2", children: [
2086
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.CopyableId, { id: secret.secretId }),
2090
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.CopyableId, { id: secret.secretId }),
2087
2091
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
2088
2092
  /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setRotateFor(secret), children: [
2089
2093
  /* @__PURE__ */ jsxRuntime.jsx(outline.ArrowPathIcon, { className: "mr-1 h-3.5 w-3.5" }),
@@ -2120,9 +2124,9 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
2120
2124
  )) })
2121
2125
  ] });
2122
2126
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2123
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.ManagementPageLayout, { hero, content, mobileAction }),
2127
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content, mobileAction }),
2124
2128
  /* @__PURE__ */ jsxRuntime.jsx(
2125
- chunkR4EKPXX3_js.GlassModal,
2129
+ chunkFNA66TT4_js.GlassModal,
2126
2130
  {
2127
2131
  open: createOpen,
2128
2132
  onClose: () => setCreateOpen(false),
@@ -2140,16 +2144,16 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
2140
2144
  onCreate({ name, value, secretType, description });
2141
2145
  setCreateOpen(false);
2142
2146
  },
2143
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkR4EKPXX3_js.FormGrid, { children: [
2144
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormInput, { name: "name", label: labels.name, placeholder: labels.namePlaceholder, required: true }),
2145
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormSelect, { name: "secretType", label: labels.type, options: typeOptions, defaultValue: "generic" }),
2146
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }),
2147
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.descriptionPlaceholder, rows: 2 })
2147
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
2148
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "name", label: labels.name, placeholder: labels.namePlaceholder, required: true }),
2149
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormSelect, { name: "secretType", label: labels.type, options: typeOptions, defaultValue: "generic" }),
2150
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }),
2151
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.descriptionPlaceholder, rows: 2 })
2148
2152
  ] })
2149
2153
  }
2150
2154
  ),
2151
2155
  /* @__PURE__ */ jsxRuntime.jsx(
2152
- chunkR4EKPXX3_js.GlassModal,
2156
+ chunkFNA66TT4_js.GlassModal,
2153
2157
  {
2154
2158
  open: rotateFor !== null,
2155
2159
  onClose: () => setRotateFor(null),
@@ -2164,7 +2168,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
2164
2168
  onRotate(rotateFor, value);
2165
2169
  setRotateFor(null);
2166
2170
  },
2167
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormGrid, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }) })
2171
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormGrid, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }) })
2168
2172
  }
2169
2173
  )
2170
2174
  ] });
@@ -2218,7 +2222,7 @@ function AgentsWorkspacePageView({
2218
2222
  }, [agents, selectedId]);
2219
2223
  const isEmpty = agents.length === 0;
2220
2224
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
2221
- chunkR4EKPXX3_js.HeroSection,
2225
+ chunkFNA66TT4_js.HeroSection,
2222
2226
  {
2223
2227
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
2224
2228
  label: labels.title,
@@ -2226,7 +2230,7 @@ function AgentsWorkspacePageView({
2226
2230
  subtitle: labels.subtitle,
2227
2231
  gradient: "from-violet-500 to-indigo-700",
2228
2232
  actions: /* @__PURE__ */ jsxRuntime.jsx(
2229
- chunkR4EKPXX3_js.CreateActionButton,
2233
+ chunkFNA66TT4_js.CreateActionButton,
2230
2234
  {
2231
2235
  mode: "desktop",
2232
2236
  label: labels.addAgent,
@@ -2237,7 +2241,7 @@ function AgentsWorkspacePageView({
2237
2241
  }
2238
2242
  );
2239
2243
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
2240
- chunkR4EKPXX3_js.CreateActionButton,
2244
+ chunkFNA66TT4_js.CreateActionButton,
2241
2245
  {
2242
2246
  mode: "mobile",
2243
2247
  label: labels.addAgent,
@@ -2245,8 +2249,8 @@ function AgentsWorkspacePageView({
2245
2249
  accent: "violet"
2246
2250
  }
2247
2251
  );
2248
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
2249
- chunkR4EKPXX3_js.PageEmptyState,
2252
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
2253
+ chunkFNA66TT4_js.PageEmptyState,
2250
2254
  {
2251
2255
  title: labels.empty,
2252
2256
  message: labels.emptyMessage,
@@ -2254,7 +2258,7 @@ function AgentsWorkspacePageView({
2254
2258
  }
2255
2259
  ) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
2256
2260
  /* @__PURE__ */ jsxRuntime.jsx(
2257
- chunkR4EKPXX3_js.SearchBar,
2261
+ chunkFNA66TT4_js.SearchBar,
2258
2262
  {
2259
2263
  searchTerm,
2260
2264
  onSearchChange: setSearchTerm,
@@ -2262,15 +2266,15 @@ function AgentsWorkspacePageView({
2262
2266
  }
2263
2267
  ),
2264
2268
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-4 lg:grid-cols-[20rem_minmax(0,1fr)]", children: [
2265
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "lg:sticky lg:top-4", children: /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.ListCard, { variant: "glass", children: filteredAgents.map((agent) => {
2269
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "lg:sticky lg:top-4", children: /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ListCard, { variant: "glass", children: filteredAgents.map((agent) => {
2266
2270
  const id = String(agent.agentId ?? agent.id ?? "");
2267
2271
  const active = id === selectedId;
2268
2272
  const initials = deriveInitials(String(agent.name ?? id));
2269
2273
  const modelName = models.find((m) => m.id === String(agent.modelId ?? ""))?.name ?? String(agent.modelId ?? "");
2270
2274
  return /* @__PURE__ */ jsxRuntime.jsx(
2271
- chunkR4EKPXX3_js.ListCardItem,
2275
+ chunkFNA66TT4_js.ListCardItem,
2272
2276
  {
2273
- leading: /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.Avatar, { tone: active ? "violet" : "slate", initials }),
2277
+ leading: /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.Avatar, { tone: active ? "violet" : "slate", initials }),
2274
2278
  trailing: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Badge, { color: "emerald", children: [
2275
2279
  "v",
2276
2280
  agent.activePromptVersion
@@ -2312,7 +2316,7 @@ function AgentsWorkspacePageView({
2312
2316
  },
2313
2317
  String(selectedAgent.agentId ?? selectedAgent.id ?? "")
2314
2318
  ) : /* @__PURE__ */ jsxRuntime.jsx(
2315
- chunkR4EKPXX3_js.SectionCard,
2319
+ chunkFNA66TT4_js.SectionCard,
2316
2320
  {
2317
2321
  header: {
2318
2322
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-4 w-4" }),
@@ -2320,7 +2324,7 @@ function AgentsWorkspacePageView({
2320
2324
  subtitle: labels.noSelectionMessage
2321
2325
  },
2322
2326
  children: /* @__PURE__ */ jsxRuntime.jsx(
2323
- chunkR4EKPXX3_js.PageEmptyState,
2327
+ chunkFNA66TT4_js.PageEmptyState,
2324
2328
  {
2325
2329
  title: labels.noSelection,
2326
2330
  message: labels.noSelectionMessage,
@@ -2332,7 +2336,7 @@ function AgentsWorkspacePageView({
2332
2336
  ] })
2333
2337
  ] });
2334
2338
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2335
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.ManagementPageLayout, { hero, content, mobileAction }),
2339
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ManagementPageLayout, { hero, content, mobileAction }),
2336
2340
  createOpen && /* @__PURE__ */ jsxRuntime.jsx(
2337
2341
  CreateAgentDialog,
2338
2342
  {
@@ -2365,7 +2369,7 @@ function AgentDetail({
2365
2369
  }) {
2366
2370
  const agentId = String(agent.agentId ?? agent.id ?? "");
2367
2371
  return /* @__PURE__ */ jsxRuntime.jsx(
2368
- chunkR4EKPXX3_js.SectionCard,
2372
+ chunkFNA66TT4_js.SectionCard,
2369
2373
  {
2370
2374
  header: {
2371
2375
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-4 w-4" }),
@@ -2390,15 +2394,15 @@ function AgentDetail({
2390
2394
  ]
2391
2395
  }
2392
2396
  ),
2393
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkR4EKPXX3_js.Tabs, { defaultValue: "general", className: "w-full", children: [
2394
- /* @__PURE__ */ jsxRuntime.jsxs(chunkR4EKPXX3_js.TabsList, { className: "bg-white/40 dark:bg-white/[0.06]", children: [
2395
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.TabsTrigger, { value: "general", children: labels.generalTab }),
2396
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.TabsTrigger, { value: "prompt", children: labels.promptTab }),
2397
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.TabsTrigger, { value: "tools", children: labels.toolsTab }),
2398
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.TabsTrigger, { value: "model", children: labels.modelTab })
2397
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.Tabs, { defaultValue: "general", className: "w-full", children: [
2398
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.TabsList, { className: "bg-white/40 dark:bg-white/[0.06]", children: [
2399
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TabsTrigger, { value: "general", children: labels.generalTab }),
2400
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TabsTrigger, { value: "prompt", children: labels.promptTab }),
2401
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TabsTrigger, { value: "tools", children: labels.toolsTab }),
2402
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TabsTrigger, { value: "model", children: labels.modelTab })
2399
2403
  ] }),
2400
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.TabsContent, { value: "general", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(GeneralTab, { agent, labels, onSubmit: (input) => onUpdateAgent(agentId, input) }) }),
2401
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.TabsContent, { value: "prompt", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(
2404
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TabsContent, { value: "general", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(GeneralTab, { agent, labels, onSubmit: (input) => onUpdateAgent(agentId, input) }) }),
2405
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TabsContent, { value: "prompt", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(
2402
2406
  PromptTab,
2403
2407
  {
2404
2408
  agent,
@@ -2408,7 +2412,7 @@ function AgentDetail({
2408
2412
  onActivate: (promptId) => onActivatePrompt(agentId, promptId)
2409
2413
  }
2410
2414
  ) }),
2411
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.TabsContent, { value: "tools", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(
2415
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TabsContent, { value: "tools", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(
2412
2416
  ToolsTab,
2413
2417
  {
2414
2418
  agent,
@@ -2418,7 +2422,7 @@ function AgentDetail({
2418
2422
  onDetach: (toolId) => onDetachTool(agentId, toolId)
2419
2423
  }
2420
2424
  ) }),
2421
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.TabsContent, { value: "model", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(
2425
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.TabsContent, { value: "model", className: "space-y-4 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(
2422
2426
  ModelTab,
2423
2427
  {
2424
2428
  agent,
@@ -2450,7 +2454,7 @@ function GeneralTab({
2450
2454
  const initialRole = String(agent.role ?? "");
2451
2455
  const initialStatus = String(agent.status ?? "draft");
2452
2456
  return /* @__PURE__ */ jsxRuntime.jsx(
2453
- chunkR4EKPXX3_js.SectionCard,
2457
+ chunkFNA66TT4_js.SectionCard,
2454
2458
  {
2455
2459
  variant: "glass",
2456
2460
  header: {
@@ -2479,10 +2483,10 @@ function GeneralTab({
2479
2483
  },
2480
2484
  className: "space-y-4",
2481
2485
  children: [
2482
- /* @__PURE__ */ jsxRuntime.jsxs(chunkR4EKPXX3_js.FormGrid, { children: [
2483
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormInput, { name: "name", label: labels.name, defaultValue: initial.name, required: true }),
2486
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
2487
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "name", label: labels.name, defaultValue: initial.name, required: true }),
2484
2488
  /* @__PURE__ */ jsxRuntime.jsx(
2485
- chunkR4EKPXX3_js.FormSelect,
2489
+ chunkFNA66TT4_js.FormSelect,
2486
2490
  {
2487
2491
  name: "status",
2488
2492
  label: labels.status,
@@ -2494,9 +2498,9 @@ function GeneralTab({
2494
2498
  ]
2495
2499
  }
2496
2500
  ),
2497
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormInput, { name: "role", label: labels.role, placeholder: labels.rolePlaceholder, defaultValue: initialRole }),
2501
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "role", label: labels.role, placeholder: labels.rolePlaceholder, defaultValue: initialRole }),
2498
2502
  /* @__PURE__ */ jsxRuntime.jsx(
2499
- chunkR4EKPXX3_js.FormInput,
2503
+ chunkFNA66TT4_js.FormInput,
2500
2504
  {
2501
2505
  name: "maxTokens",
2502
2506
  label: labels.maxTokens,
@@ -2505,7 +2509,7 @@ function GeneralTab({
2505
2509
  }
2506
2510
  ),
2507
2511
  /* @__PURE__ */ jsxRuntime.jsx(
2508
- chunkR4EKPXX3_js.FormInput,
2512
+ chunkFNA66TT4_js.FormInput,
2509
2513
  {
2510
2514
  name: "temperature",
2511
2515
  label: labels.temperature,
@@ -2517,7 +2521,7 @@ function GeneralTab({
2517
2521
  }
2518
2522
  )
2519
2523
  ] }),
2520
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormTextarea, { name: "description", label: labels.description, defaultValue: initialDescription, rows: 3 }),
2524
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormTextarea, { name: "description", label: labels.description, defaultValue: initialDescription, rows: 3 }),
2521
2525
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-end", children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "submit", color: "indigo", disabled: submitting, children: submitting ? labels.saving : labels.save }) })
2522
2526
  ]
2523
2527
  }
@@ -2537,7 +2541,7 @@ function PromptTab({
2537
2541
  const currentSystem = String(agent.systemPrompt ?? "");
2538
2542
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
2539
2543
  /* @__PURE__ */ jsxRuntime.jsx(
2540
- chunkR4EKPXX3_js.SectionCard,
2544
+ chunkFNA66TT4_js.SectionCard,
2541
2545
  {
2542
2546
  variant: "glass",
2543
2547
  header: {
@@ -2549,7 +2553,7 @@ function PromptTab({
2549
2553
  }
2550
2554
  ),
2551
2555
  /* @__PURE__ */ jsxRuntime.jsx(
2552
- chunkR4EKPXX3_js.SectionCard,
2556
+ chunkFNA66TT4_js.SectionCard,
2553
2557
  {
2554
2558
  variant: "glass",
2555
2559
  header: {
@@ -2560,10 +2564,10 @@ function PromptTab({
2560
2564
  /* @__PURE__ */ jsxRuntime.jsx(outline.PlusIcon, { className: "h-4 w-4" }),
2561
2565
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1.5", children: labels.addPrompt })
2562
2566
  ] }),
2563
- children: prompts.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.promptVersionsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.ListCard, { children: prompts.map((prompt) => {
2567
+ children: prompts.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.promptVersionsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ListCard, { children: prompts.map((prompt) => {
2564
2568
  const id = `${prompt.agentId}:${prompt.locale}:${prompt.version}`;
2565
2569
  return /* @__PURE__ */ jsxRuntime.jsxs(
2566
- chunkR4EKPXX3_js.ListCardItem,
2570
+ chunkFNA66TT4_js.ListCardItem,
2567
2571
  {
2568
2572
  leading: /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Badge, { color: prompt.isActive ? "emerald" : "zinc", children: [
2569
2573
  "v",
@@ -2581,7 +2585,7 @@ function PromptTab({
2581
2585
  }
2582
2586
  ),
2583
2587
  addOpen && /* @__PURE__ */ jsxRuntime.jsx(
2584
- chunkR4EKPXX3_js.GlassModal,
2588
+ chunkFNA66TT4_js.GlassModal,
2585
2589
  {
2586
2590
  open: true,
2587
2591
  onClose: () => setAddOpen(false),
@@ -2602,10 +2606,10 @@ function PromptTab({
2602
2606
  });
2603
2607
  setAddOpen(false);
2604
2608
  },
2605
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkR4EKPXX3_js.FormGrid, { children: [
2606
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormSelect, { name: "locale", label: labels.promptLocale, options: LOCALE_OPTIONS2, defaultValue: "en" }),
2609
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
2610
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormSelect, { name: "locale", label: labels.promptLocale, options: LOCALE_OPTIONS2, defaultValue: "en" }),
2607
2611
  /* @__PURE__ */ jsxRuntime.jsx(
2608
- chunkR4EKPXX3_js.FormSelect,
2612
+ chunkFNA66TT4_js.FormSelect,
2609
2613
  {
2610
2614
  name: "isActive",
2611
2615
  label: labels.promptIsActive,
@@ -2616,10 +2620,10 @@ function PromptTab({
2616
2620
  defaultValue: "true"
2617
2621
  }
2618
2622
  ),
2619
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormInput, { name: "reason", label: labels.promptReason }),
2620
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormTextarea, { name: "systemPrompt", label: labels.promptSystemPrompt, rows: 3 }),
2621
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormTextarea, { name: "userTemplate", label: labels.promptUserTemplate, rows: 3 }),
2622
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormTextarea, { name: "prompt", label: labels.promptText, rows: 6, required: true })
2623
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "reason", label: labels.promptReason }),
2624
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormTextarea, { name: "systemPrompt", label: labels.promptSystemPrompt, rows: 3 }),
2625
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormTextarea, { name: "userTemplate", label: labels.promptUserTemplate, rows: 3 }),
2626
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormTextarea, { name: "prompt", label: labels.promptText, rows: 6, required: true })
2623
2627
  ] })
2624
2628
  }
2625
2629
  )
@@ -2642,15 +2646,15 @@ function ToolsTab({
2642
2646
  const availableTools = tools.filter((tool) => !attachedSet.has(tool.agentToolId));
2643
2647
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
2644
2648
  /* @__PURE__ */ jsxRuntime.jsx(
2645
- chunkR4EKPXX3_js.SectionCard,
2649
+ chunkFNA66TT4_js.SectionCard,
2646
2650
  {
2647
2651
  variant: "glass",
2648
2652
  header: {
2649
2653
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-4 w-4" }),
2650
2654
  title: labels.toolsAttached
2651
2655
  },
2652
- children: attachedTools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.toolsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.ListCard, { children: attachedTools.map((tool) => /* @__PURE__ */ jsxRuntime.jsxs(
2653
- chunkR4EKPXX3_js.ListCardItem,
2656
+ children: attachedTools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.toolsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ListCard, { children: attachedTools.map((tool) => /* @__PURE__ */ jsxRuntime.jsxs(
2657
+ chunkFNA66TT4_js.ListCardItem,
2654
2658
  {
2655
2659
  leading: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-9 w-9 items-center justify-center rounded-lg bg-amber-500/10 text-amber-600 dark:bg-amber-500/20 dark:text-amber-400", children: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-5 w-5" }) }),
2656
2660
  trailing: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onDetach(tool.agentToolId), children: labels.detachTool }),
@@ -2664,15 +2668,15 @@ function ToolsTab({
2664
2668
  }
2665
2669
  ),
2666
2670
  /* @__PURE__ */ jsxRuntime.jsx(
2667
- chunkR4EKPXX3_js.SectionCard,
2671
+ chunkFNA66TT4_js.SectionCard,
2668
2672
  {
2669
2673
  variant: "glass",
2670
2674
  header: {
2671
2675
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-4 w-4" }),
2672
2676
  title: labels.toolsAvailable
2673
2677
  },
2674
- children: availableTools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.toolsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.ListCard, { children: availableTools.map((tool) => /* @__PURE__ */ jsxRuntime.jsxs(
2675
- chunkR4EKPXX3_js.ListCardItem,
2678
+ children: availableTools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: labels.toolsEmpty }) : /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ListCard, { children: availableTools.map((tool) => /* @__PURE__ */ jsxRuntime.jsxs(
2679
+ chunkFNA66TT4_js.ListCardItem,
2676
2680
  {
2677
2681
  leading: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-9 w-9 items-center justify-center rounded-lg bg-slate-500/10 text-slate-600 dark:bg-slate-500/20 dark:text-slate-300", children: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-5 w-5" }) }),
2678
2682
  trailing: /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Button, { type: "button", size: "sm", color: "indigo", onClick: () => onAttach(tool.agentToolId), children: [
@@ -2713,7 +2717,7 @@ function ModelTab({
2713
2717
  return matches.length > 0 ? matches : connections;
2714
2718
  }, [selectedModel, connections]);
2715
2719
  return /* @__PURE__ */ jsxRuntime.jsx(
2716
- chunkR4EKPXX3_js.SectionCard,
2720
+ chunkFNA66TT4_js.SectionCard,
2717
2721
  {
2718
2722
  variant: "glass",
2719
2723
  header: {
@@ -2734,9 +2738,9 @@ function ModelTab({
2734
2738
  },
2735
2739
  className: "space-y-4",
2736
2740
  children: [
2737
- /* @__PURE__ */ jsxRuntime.jsxs(chunkR4EKPXX3_js.FormGrid, { children: [
2741
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
2738
2742
  /* @__PURE__ */ jsxRuntime.jsx(
2739
- chunkR4EKPXX3_js.FormSelect,
2743
+ chunkFNA66TT4_js.FormSelect,
2740
2744
  {
2741
2745
  label: labels.model,
2742
2746
  value: modelId,
@@ -2745,7 +2749,7 @@ function ModelTab({
2745
2749
  }
2746
2750
  ),
2747
2751
  /* @__PURE__ */ jsxRuntime.jsx(
2748
- chunkR4EKPXX3_js.FormSelect,
2752
+ chunkFNA66TT4_js.FormSelect,
2749
2753
  {
2750
2754
  label: labels.connection,
2751
2755
  value: connectionId,
@@ -2773,7 +2777,7 @@ function CreateAgentDialog({
2773
2777
  }) {
2774
2778
  const modelOptions = models.map((m) => ({ value: m.id, label: `${m.name} (${m.provider})` }));
2775
2779
  return /* @__PURE__ */ jsxRuntime.jsx(
2776
- chunkR4EKPXX3_js.GlassModal,
2780
+ chunkFNA66TT4_js.GlassModal,
2777
2781
  {
2778
2782
  open: true,
2779
2783
  onClose,
@@ -2791,10 +2795,10 @@ function CreateAgentDialog({
2791
2795
  temperature: Number(form.get("temperature") ?? 0.2)
2792
2796
  });
2793
2797
  },
2794
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkR4EKPXX3_js.FormGrid, { children: [
2795
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormInput, { name: "name", label: labels.name, required: true }),
2798
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.FormGrid, { children: [
2799
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "name", label: labels.name, required: true }),
2796
2800
  /* @__PURE__ */ jsxRuntime.jsx(
2797
- chunkR4EKPXX3_js.FormSelect,
2801
+ chunkFNA66TT4_js.FormSelect,
2798
2802
  {
2799
2803
  name: "modelId",
2800
2804
  label: labels.model,
@@ -2802,9 +2806,9 @@ function CreateAgentDialog({
2802
2806
  defaultValue: modelOptions[0]?.value ?? ""
2803
2807
  }
2804
2808
  ),
2805
- /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.FormInput, { name: "maxTokens", label: labels.maxTokens, type: "number", defaultValue: "2048" }),
2809
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.FormInput, { name: "maxTokens", label: labels.maxTokens, type: "number", defaultValue: "2048" }),
2806
2810
  /* @__PURE__ */ jsxRuntime.jsx(
2807
- chunkR4EKPXX3_js.FormInput,
2811
+ chunkFNA66TT4_js.FormInput,
2808
2812
  {
2809
2813
  name: "temperature",
2810
2814
  label: labels.temperature,
@@ -2829,31 +2833,31 @@ function deriveInitials(name) {
2829
2833
 
2830
2834
  Object.defineProperty(exports, "RolesPageView", {
2831
2835
  enumerable: true,
2832
- get: function () { return chunkUDYEUTJC_js.RolesPageView; }
2836
+ get: function () { return chunkFKUIVS6I_js.RolesPageView; }
2833
2837
  });
2834
2838
  Object.defineProperty(exports, "UsersPageView", {
2835
2839
  enumerable: true,
2836
- get: function () { return chunkUDYEUTJC_js.UsersPageView; }
2840
+ get: function () { return chunkFKUIVS6I_js.UsersPageView; }
2837
2841
  });
2838
2842
  Object.defineProperty(exports, "DIALECT_CATEGORIES", {
2839
2843
  enumerable: true,
2840
- get: function () { return chunk5ZLQTVSV_js.DIALECT_CATEGORIES; }
2844
+ get: function () { return chunkTJPPZU77_js.DIALECT_CATEGORIES; }
2841
2845
  });
2842
2846
  Object.defineProperty(exports, "DatasourceFormModal", {
2843
2847
  enumerable: true,
2844
- get: function () { return chunk5ZLQTVSV_js.DatasourceFormModal; }
2848
+ get: function () { return chunkTJPPZU77_js.DatasourceFormModal; }
2845
2849
  });
2846
2850
  Object.defineProperty(exports, "DatasourceModal", {
2847
2851
  enumerable: true,
2848
- get: function () { return chunk5ZLQTVSV_js.DatasourceModal; }
2852
+ get: function () { return chunkTJPPZU77_js.DatasourceModal; }
2849
2853
  });
2850
2854
  Object.defineProperty(exports, "findCategory", {
2851
2855
  enumerable: true,
2852
- get: function () { return chunk5ZLQTVSV_js.findCategory; }
2856
+ get: function () { return chunkTJPPZU77_js.findCategory; }
2853
2857
  });
2854
2858
  Object.defineProperty(exports, "findDialect", {
2855
2859
  enumerable: true,
2856
- get: function () { return chunk5ZLQTVSV_js.findDialect; }
2860
+ get: function () { return chunkTJPPZU77_js.findDialect; }
2857
2861
  });
2858
2862
  exports.AgentsConfigPageView = AgentsConfigPageView;
2859
2863
  exports.AgentsIndexPageView = AgentsIndexPageView;