@datatechsolutions/ui 2.11.89 → 2.11.90

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 +106 -106
  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-K26RY4EQ.js → chunk-5EBDOY4M.js} +26 -26
  6. package/dist/{chunk-K26RY4EQ.js.map → chunk-5EBDOY4M.js.map} +1 -1
  7. package/dist/{chunk-TLDVFFAK.mjs → chunk-5NOWS6T3.mjs} +3 -3
  8. package/dist/{chunk-TLDVFFAK.mjs.map → chunk-5NOWS6T3.mjs.map} +1 -1
  9. package/dist/{chunk-X2KCCQPL.js → chunk-64DLD6FB.js} +55 -55
  10. package/dist/{chunk-X2KCCQPL.js.map → chunk-64DLD6FB.js.map} +1 -1
  11. package/dist/{chunk-NAQ32ZPG.mjs → chunk-76XIV6VV.mjs} +6 -6
  12. package/dist/{chunk-NAQ32ZPG.mjs.map → chunk-76XIV6VV.mjs.map} +1 -1
  13. package/dist/{chunk-URDQSUW6.js → chunk-7GDDBF6E.js} +39 -39
  14. package/dist/{chunk-URDQSUW6.js.map → chunk-7GDDBF6E.js.map} +1 -1
  15. package/dist/{chunk-3YVQXDKJ.js → chunk-APXM5GFL.js} +4 -4
  16. package/dist/{chunk-3YVQXDKJ.js.map → chunk-APXM5GFL.js.map} +1 -1
  17. package/dist/{chunk-TZ62G5WM.js → chunk-B3DI2QUM.js} +84 -66
  18. package/dist/chunk-B3DI2QUM.js.map +1 -0
  19. package/dist/{chunk-G7DZU3NM.mjs → chunk-CM5C4M4F.mjs} +3 -3
  20. package/dist/{chunk-G7DZU3NM.mjs.map → chunk-CM5C4M4F.mjs.map} +1 -1
  21. package/dist/{chunk-MXFEU7A6.js → chunk-DIKLHCEM.js} +4 -4
  22. package/dist/{chunk-MXFEU7A6.js.map → chunk-DIKLHCEM.js.map} +1 -1
  23. package/dist/{chunk-ZHHRWC27.js → chunk-FDK3PUTV.js} +135 -148
  24. package/dist/chunk-FDK3PUTV.js.map +1 -0
  25. package/dist/{chunk-XOZMUCMF.mjs → chunk-FS6SU7RE.mjs} +3 -3
  26. package/dist/{chunk-XOZMUCMF.mjs.map → chunk-FS6SU7RE.mjs.map} +1 -1
  27. package/dist/{chunk-UUHV5KHF.js → chunk-FXLGNKP4.js} +33 -33
  28. package/dist/{chunk-UUHV5KHF.js.map → chunk-FXLGNKP4.js.map} +1 -1
  29. package/dist/{chunk-TOEMSC4P.mjs → chunk-IL5RSF2U.mjs} +6 -6
  30. package/dist/{chunk-TOEMSC4P.mjs.map → chunk-IL5RSF2U.mjs.map} +1 -1
  31. package/dist/{chunk-GEUGFYLO.mjs → chunk-K6FX26BG.mjs} +3 -3
  32. package/dist/{chunk-GEUGFYLO.mjs.map → chunk-K6FX26BG.mjs.map} +1 -1
  33. package/dist/{chunk-2URBM4LA.js → chunk-M7PKDVKA.js} +6 -6
  34. package/dist/{chunk-2URBM4LA.js.map → chunk-M7PKDVKA.js.map} +1 -1
  35. package/dist/{chunk-SUHNSUMH.mjs → chunk-MJOYUX2C.mjs} +4 -4
  36. package/dist/{chunk-SUHNSUMH.mjs.map → chunk-MJOYUX2C.mjs.map} +1 -1
  37. package/dist/{chunk-HK6J6HQP.mjs → chunk-MR3BLQAU.mjs} +11 -24
  38. package/dist/chunk-MR3BLQAU.mjs.map +1 -0
  39. package/dist/{chunk-SAYVWIMJ.js → chunk-MWZQF2D5.js} +4 -4
  40. package/dist/{chunk-SAYVWIMJ.js.map → chunk-MWZQF2D5.js.map} +1 -1
  41. package/dist/{chunk-RV555OEO.mjs → chunk-ODEUUB2T.mjs} +4 -4
  42. package/dist/{chunk-RV555OEO.mjs.map → chunk-ODEUUB2T.mjs.map} +1 -1
  43. package/dist/{chunk-UVEPTYZC.js → chunk-QHTA2ISY.js} +12 -12
  44. package/dist/{chunk-UVEPTYZC.js.map → chunk-QHTA2ISY.js.map} +1 -1
  45. package/dist/{chunk-JUTOBBBI.mjs → chunk-QYH6WLKE.mjs} +4 -4
  46. package/dist/{chunk-JUTOBBBI.mjs.map → chunk-QYH6WLKE.mjs.map} +1 -1
  47. package/dist/{chunk-LBALE4JX.js → chunk-R5D6LLDF.js} +67 -67
  48. package/dist/{chunk-LBALE4JX.js.map → chunk-R5D6LLDF.js.map} +1 -1
  49. package/dist/{chunk-5HXDJBVX.mjs → chunk-RTQOGG4T.mjs} +4 -4
  50. package/dist/{chunk-5HXDJBVX.mjs.map → chunk-RTQOGG4T.mjs.map} +1 -1
  51. package/dist/{chunk-ZJQ5RLGK.mjs → chunk-S3JHPXOX.mjs} +539 -307
  52. package/dist/chunk-S3JHPXOX.mjs.map +1 -0
  53. package/dist/{chunk-D4TESEYK.mjs → chunk-T3S6KZN3.mjs} +24 -7
  54. package/dist/chunk-T3S6KZN3.mjs.map +1 -0
  55. package/dist/{chunk-NBCOVUQP.mjs → chunk-TLTYLDX4.mjs} +3 -3
  56. package/dist/{chunk-NBCOVUQP.mjs.map → chunk-TLTYLDX4.mjs.map} +1 -1
  57. package/dist/{chunk-Q2MG7S2E.js → chunk-ULWVYDDG.js} +15 -15
  58. package/dist/{chunk-Q2MG7S2E.js.map → chunk-ULWVYDDG.js.map} +1 -1
  59. package/dist/{chunk-4667D2ZT.mjs → chunk-UZ3FGGUP.mjs} +3 -3
  60. package/dist/{chunk-4667D2ZT.mjs.map → chunk-UZ3FGGUP.mjs.map} +1 -1
  61. package/dist/{chunk-SV4SMITM.js → chunk-WAOCUWO3.js} +36 -36
  62. package/dist/{chunk-SV4SMITM.js.map → chunk-WAOCUWO3.js.map} +1 -1
  63. package/dist/{chunk-ZARCUQA6.js → chunk-WETG7OO3.js} +53 -53
  64. package/dist/{chunk-ZARCUQA6.js.map → chunk-WETG7OO3.js.map} +1 -1
  65. package/dist/{chunk-KNXAOJAK.js → chunk-ZBX2QSNH.js} +532 -300
  66. package/dist/chunk-ZBX2QSNH.js.map +1 -0
  67. package/dist/{chunk-F4TOOARV.mjs → chunk-ZV5ZRT6E.mjs} +3 -3
  68. package/dist/{chunk-F4TOOARV.mjs.map → chunk-ZV5ZRT6E.mjs.map} +1 -1
  69. package/dist/index.d.mts +154 -0
  70. package/dist/index.d.ts +154 -0
  71. package/dist/index.js +744 -744
  72. package/dist/index.mjs +1 -1
  73. package/dist/platform/admin/index.js +10 -10
  74. package/dist/platform/admin/index.mjs +4 -4
  75. package/dist/platform/agents-workspace.js +6 -6
  76. package/dist/platform/agents-workspace.mjs +5 -5
  77. package/dist/platform/app-shell.js +3 -3
  78. package/dist/platform/app-shell.mjs +2 -2
  79. package/dist/platform/auth/index.js +27 -27
  80. package/dist/platform/auth/index.mjs +4 -4
  81. package/dist/platform/billing/index.js +3 -3
  82. package/dist/platform/billing/index.mjs +2 -2
  83. package/dist/platform/impersonation/index.js +3 -3
  84. package/dist/platform/impersonation/index.mjs +2 -2
  85. package/dist/platform/index.d.mts +1 -1
  86. package/dist/platform/index.d.ts +1 -1
  87. package/dist/platform/index.js +91 -91
  88. package/dist/platform/index.mjs +18 -18
  89. package/dist/platform/pages/index.js +195 -195
  90. package/dist/platform/pages/index.mjs +7 -7
  91. package/dist/platform/settings/index.js +7 -7
  92. package/dist/platform/settings/index.mjs +6 -6
  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-D4TESEYK.mjs.map +0 -1
  97. package/dist/chunk-HK6J6HQP.mjs.map +0 -1
  98. package/dist/chunk-KNXAOJAK.js.map +0 -1
  99. package/dist/chunk-TZ62G5WM.js.map +0 -1
  100. package/dist/chunk-ZHHRWC27.js.map +0 -1
  101. package/dist/chunk-ZJQ5RLGK.mjs.map +0 -1
@@ -2,13 +2,13 @@
2
2
  'use strict';
3
3
 
4
4
  var chunk3T2WGL47_js = require('../../chunk-3T2WGL47.js');
5
- var chunkK26RY4EQ_js = require('../../chunk-K26RY4EQ.js');
6
- var chunkSV4SMITM_js = require('../../chunk-SV4SMITM.js');
7
- var chunkZHHRWC27_js = require('../../chunk-ZHHRWC27.js');
5
+ var chunk5EBDOY4M_js = require('../../chunk-5EBDOY4M.js');
6
+ var chunkWAOCUWO3_js = require('../../chunk-WAOCUWO3.js');
7
+ var chunkFDK3PUTV_js = require('../../chunk-FDK3PUTV.js');
8
8
  require('../../chunk-55H6WZQP.js');
9
9
  require('../../chunk-5UU3RQRB.js');
10
- require('../../chunk-TZ62G5WM.js');
11
- var chunkKNXAOJAK_js = require('../../chunk-KNXAOJAK.js');
10
+ require('../../chunk-B3DI2QUM.js');
11
+ var chunkZBX2QSNH_js = require('../../chunk-ZBX2QSNH.js');
12
12
  require('../../chunk-UZ3CMNUJ.js');
13
13
  require('../../chunk-YXN2K77G.js');
14
14
  var chunkS7KHTUHA_js = require('../../chunk-S7KHTUHA.js');
@@ -20,7 +20,7 @@ var react = require('react');
20
20
 
21
21
  function AgentsModelsPageView({ labels, models, loading }) {
22
22
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
23
- chunkKNXAOJAK_js.HeroSection,
23
+ chunkZBX2QSNH_js.HeroSection,
24
24
  {
25
25
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CubeTransparentIcon, { className: "h-5 w-5" }),
26
26
  label: labels.title,
@@ -29,25 +29,25 @@ function AgentsModelsPageView({ labels, models, loading }) {
29
29
  gradient: "from-emerald-500 to-teal-700"
30
30
  }
31
31
  );
32
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageLoadingState, {}) : models.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_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: models.map((model) => /* @__PURE__ */ jsxRuntime.jsx(
33
- chunkKNXAOJAK_js.EntityCard,
32
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.PageLoadingState, {}) : models.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_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: models.map((model) => /* @__PURE__ */ jsxRuntime.jsx(
33
+ chunkZBX2QSNH_js.EntityCard,
34
34
  {
35
35
  accentGradient: "from-emerald-500 to-teal-700",
36
36
  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" }) }),
37
37
  title: model.name,
38
38
  subtitle: `${labels.provider}: ${model.provider}`,
39
- status: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Badge, { color: model.enabled ? "emerald" : "zinc", children: model.enabled ? labels.enabled : labels.disabled })
39
+ status: /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Badge, { color: model.enabled ? "emerald" : "zinc", children: model.enabled ? labels.enabled : labels.disabled })
40
40
  },
41
41
  model.id
42
42
  )) });
43
- return /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.ManagementPageLayout, { hero, content });
43
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.ManagementPageLayout, { hero, content });
44
44
  }
45
45
  function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpdate, onDelete }) {
46
46
  const [editing, setEditing] = react.useState(null);
47
47
  const [createOpen, setCreateOpen] = react.useState(false);
48
48
  const modelOptions = models.map((model) => ({ value: model.id, label: `${model.name} (${model.provider})` }));
49
49
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
50
- chunkKNXAOJAK_js.HeroSection,
50
+ chunkZBX2QSNH_js.HeroSection,
51
51
  {
52
52
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
53
53
  label: labels.title,
@@ -55,7 +55,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
55
55
  subtitle: labels.subtitle,
56
56
  gradient: "from-violet-500 to-indigo-700",
57
57
  toolbar: /* @__PURE__ */ jsxRuntime.jsx(
58
- chunkKNXAOJAK_js.CreateActionButton,
58
+ chunkZBX2QSNH_js.CreateActionButton,
59
59
  {
60
60
  mode: "desktop",
61
61
  label: labels.addAgent,
@@ -66,7 +66,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
66
66
  }
67
67
  );
68
68
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
69
- chunkKNXAOJAK_js.CreateActionButton,
69
+ chunkZBX2QSNH_js.CreateActionButton,
70
70
  {
71
71
  mode: "mobile",
72
72
  label: labels.addAgent,
@@ -74,23 +74,23 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
74
74
  accent: "violet"
75
75
  }
76
76
  );
77
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageLoadingState, {}) : agents.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_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: agents.map((agent) => {
77
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.PageLoadingState, {}) : agents.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_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: agents.map((agent) => {
78
78
  const modelRecord = models.find((model) => model.id === String(agent.modelId ?? ""));
79
79
  return /* @__PURE__ */ jsxRuntime.jsx(
80
- chunkKNXAOJAK_js.EntityCard,
80
+ chunkZBX2QSNH_js.EntityCard,
81
81
  {
82
82
  accentGradient: "from-violet-500 to-indigo-700",
83
83
  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" }) }),
84
84
  title: String(agent.name ?? ""),
85
85
  subtitle: String(modelRecord?.name ?? agent.modelId ?? ""),
86
- status: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.Badge, { color: "emerald", children: [
86
+ status: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkZBX2QSNH_js.Badge, { color: "emerald", children: [
87
87
  "v",
88
88
  agent.activePromptVersion
89
89
  ] }) : null,
90
90
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
91
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(agent), children: labels.edit }),
91
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(agent), children: labels.edit }),
92
92
  /* @__PURE__ */ jsxRuntime.jsx(
93
- chunkKNXAOJAK_js.Button,
93
+ chunkZBX2QSNH_js.Button,
94
94
  {
95
95
  type: "button",
96
96
  size: "sm",
@@ -114,7 +114,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
114
114
  );
115
115
  }) });
116
116
  const renderForm = (initial, onSubmit) => /* @__PURE__ */ jsxRuntime.jsx(
117
- chunkKNXAOJAK_js.GlassModal,
117
+ chunkZBX2QSNH_js.GlassModal,
118
118
  {
119
119
  open: true,
120
120
  onClose: () => {
@@ -137,18 +137,18 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
137
137
  outputSchema: String(form.get("outputSchema") ?? "").trim() || void 0
138
138
  });
139
139
  },
140
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.FormGrid, { children: [
141
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormInput, { name: "name", label: labels.name, defaultValue: initial.name ?? "", required: true }),
142
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormSelect, { name: "modelId", label: labels.model, options: modelOptions, defaultValue: initial.modelId ?? modelOptions[0]?.value ?? "", required: true }),
143
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormInput, { name: "maxTokens", label: String(labels.maxTokens), type: "number", defaultValue: String(initial.maxTokens ?? 2048) }),
144
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormInput, { name: "temperature", label: labels.temperature, type: "number", step: 0.1, min: 0, max: 2, defaultValue: String(initial.temperature ?? 0.2) }),
145
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, defaultValue: initial.systemPrompt ?? "", rows: 4 }),
146
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormTextarea, { name: "outputSchema", label: labels.outputSchema, placeholder: labels.outputSchemaPlaceholder, defaultValue: initial.outputSchema ?? "", rows: 4 })
140
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkZBX2QSNH_js.FormGrid, { children: [
141
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.FormInput, { name: "name", label: labels.name, defaultValue: initial.name ?? "", required: true }),
142
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.FormSelect, { name: "modelId", label: labels.model, options: modelOptions, defaultValue: initial.modelId ?? modelOptions[0]?.value ?? "", required: true }),
143
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.FormInput, { name: "maxTokens", label: String(labels.maxTokens), type: "number", defaultValue: String(initial.maxTokens ?? 2048) }),
144
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.FormInput, { name: "temperature", label: labels.temperature, type: "number", step: 0.1, min: 0, max: 2, defaultValue: String(initial.temperature ?? 0.2) }),
145
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, defaultValue: initial.systemPrompt ?? "", rows: 4 }),
146
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.FormTextarea, { name: "outputSchema", label: labels.outputSchema, placeholder: labels.outputSchemaPlaceholder, defaultValue: initial.outputSchema ?? "", rows: 4 })
147
147
  ] })
148
148
  }
149
149
  );
150
150
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
151
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.ManagementPageLayout, { hero, content, mobileAction }),
151
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.ManagementPageLayout, { hero, content, mobileAction }),
152
152
  createOpen && renderForm({ title: labels.createTitle }, (input) => {
153
153
  onCreate(input);
154
154
  setCreateOpen(false);
@@ -197,7 +197,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
197
197
  return map;
198
198
  }, [agents]);
199
199
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
200
- chunkKNXAOJAK_js.HeroSection,
200
+ chunkZBX2QSNH_js.HeroSection,
201
201
  {
202
202
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ChatBubbleLeftEllipsisIcon, { className: "h-5 w-5" }),
203
203
  label: labels.title,
@@ -205,7 +205,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
205
205
  subtitle: labels.subtitle,
206
206
  gradient: "from-sky-500 to-blue-700",
207
207
  toolbar: /* @__PURE__ */ jsxRuntime.jsx(
208
- chunkKNXAOJAK_js.CreateActionButton,
208
+ chunkZBX2QSNH_js.CreateActionButton,
209
209
  {
210
210
  mode: "desktop",
211
211
  label: labels.addPrompt,
@@ -216,7 +216,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
216
216
  }
217
217
  );
218
218
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
219
- chunkKNXAOJAK_js.CreateActionButton,
219
+ chunkZBX2QSNH_js.CreateActionButton,
220
220
  {
221
221
  mode: "mobile",
222
222
  label: labels.addPrompt,
@@ -224,21 +224,21 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
224
224
  accent: "sky"
225
225
  }
226
226
  );
227
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageLoadingState, {}) : prompts.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_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: prompts.map((prompt) => {
227
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.PageLoadingState, {}) : prompts.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_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: prompts.map((prompt) => {
228
228
  const agentName = agentNameById.get(prompt.agentId) ?? prompt.agentId;
229
229
  const key = `${prompt.agentId}:${prompt.locale}:${prompt.version}`;
230
230
  return /* @__PURE__ */ jsxRuntime.jsx(
231
- chunkKNXAOJAK_js.EntityCard,
231
+ chunkZBX2QSNH_js.EntityCard,
232
232
  {
233
233
  accentGradient: "from-sky-500 to-blue-700",
234
234
  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" }) }),
235
235
  title: agentName,
236
236
  subtitle: `${prompt.locale} \xB7 v${prompt.version}`,
237
- status: prompt.isActive ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Badge, { color: "emerald", children: labels.isActive }) : null,
237
+ status: prompt.isActive ? /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Badge, { color: "emerald", children: labels.isActive }) : null,
238
238
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
239
- !prompt.isActive && /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onActivate(prompt), children: labels.activate }),
239
+ !prompt.isActive && /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onActivate(prompt), children: labels.activate }),
240
240
  /* @__PURE__ */ jsxRuntime.jsx(
241
- chunkKNXAOJAK_js.Button,
241
+ chunkZBX2QSNH_js.Button,
242
242
  {
243
243
  type: "button",
244
244
  size: "sm",
@@ -256,9 +256,9 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
256
256
  );
257
257
  }) });
258
258
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
259
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.ManagementPageLayout, { hero, content, mobileAction }),
259
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.ManagementPageLayout, { hero, content, mobileAction }),
260
260
  /* @__PURE__ */ jsxRuntime.jsx(
261
- chunkKNXAOJAK_js.GlassModal,
261
+ chunkZBX2QSNH_js.GlassModal,
262
262
  {
263
263
  open: createOpen,
264
264
  onClose: () => setCreateOpen(false),
@@ -282,11 +282,11 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
282
282
  });
283
283
  setCreateOpen(false);
284
284
  },
285
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.FormGrid, { children: [
286
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormSelect, { name: "agentId", label: labels.agent, options: agentOptions, required: true }),
287
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormSelect, { name: "locale", label: labels.locale, options: LOCALE_OPTIONS, defaultValue: "en" }),
285
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkZBX2QSNH_js.FormGrid, { children: [
286
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.FormSelect, { name: "agentId", label: labels.agent, options: agentOptions, required: true }),
287
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.FormSelect, { name: "locale", label: labels.locale, options: LOCALE_OPTIONS, defaultValue: "en" }),
288
288
  /* @__PURE__ */ jsxRuntime.jsx(
289
- chunkKNXAOJAK_js.FormSelect,
289
+ chunkZBX2QSNH_js.FormSelect,
290
290
  {
291
291
  name: "isActive",
292
292
  label: labels.isActive,
@@ -294,10 +294,10 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
294
294
  defaultValue: "true"
295
295
  }
296
296
  ),
297
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormInput, { name: "reason", label: labels.reason }),
298
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, rows: 3 }),
299
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormTextarea, { name: "userTemplate", label: labels.userTemplate, rows: 3 }),
300
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormTextarea, { name: "prompt", label: labels.prompt, rows: 6, required: true })
297
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.FormInput, { name: "reason", label: labels.reason }),
298
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, rows: 3 }),
299
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.FormTextarea, { name: "userTemplate", label: labels.userTemplate, rows: 3 }),
300
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.FormTextarea, { name: "prompt", label: labels.prompt, rows: 6, required: true })
301
301
  ] })
302
302
  }
303
303
  )
@@ -328,7 +328,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
328
328
  const [editing, setEditing] = react.useState(null);
329
329
  const [createOpen, setCreateOpen] = react.useState(false);
330
330
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
331
- chunkKNXAOJAK_js.HeroSection,
331
+ chunkZBX2QSNH_js.HeroSection,
332
332
  {
333
333
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-5 w-5" }),
334
334
  label: labels.title,
@@ -336,7 +336,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
336
336
  subtitle: labels.subtitle,
337
337
  gradient: "from-amber-500 to-orange-700",
338
338
  toolbar: /* @__PURE__ */ jsxRuntime.jsx(
339
- chunkKNXAOJAK_js.CreateActionButton,
339
+ chunkZBX2QSNH_js.CreateActionButton,
340
340
  {
341
341
  mode: "desktop",
342
342
  label: labels.addTool,
@@ -347,7 +347,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
347
347
  }
348
348
  );
349
349
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
350
- chunkKNXAOJAK_js.CreateActionButton,
350
+ chunkZBX2QSNH_js.CreateActionButton,
351
351
  {
352
352
  mode: "mobile",
353
353
  label: labels.addTool,
@@ -355,18 +355,18 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
355
355
  accent: "amber"
356
356
  }
357
357
  );
358
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageLoadingState, {}) : tools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_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: tools.map((tool) => /* @__PURE__ */ jsxRuntime.jsx(
359
- chunkKNXAOJAK_js.EntityCard,
358
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.PageLoadingState, {}) : tools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_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: tools.map((tool) => /* @__PURE__ */ jsxRuntime.jsx(
359
+ chunkZBX2QSNH_js.EntityCard,
360
360
  {
361
361
  accentGradient: "from-amber-500 to-orange-700",
362
362
  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" }) }),
363
363
  title: tool.name,
364
364
  subtitle: toolTypeLabel(tool),
365
- status: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Badge, { color: tool.enabled ? "emerald" : "zinc", children: tool.enabled ? labels.enabled : labels.disabled }),
365
+ status: /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Badge, { color: tool.enabled ? "emerald" : "zinc", children: tool.enabled ? labels.enabled : labels.disabled }),
366
366
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
367
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(tool), children: labels.edit }),
367
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(tool), children: labels.edit }),
368
368
  /* @__PURE__ */ jsxRuntime.jsx(
369
- chunkKNXAOJAK_js.Button,
369
+ chunkZBX2QSNH_js.Button,
370
370
  {
371
371
  type: "button",
372
372
  size: "sm",
@@ -383,7 +383,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
383
383
  tool.agentToolId
384
384
  )) });
385
385
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
386
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.ManagementPageLayout, { hero, content, mobileAction }),
386
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.ManagementPageLayout, { hero, content, mobileAction }),
387
387
  createOpen && /* @__PURE__ */ jsxRuntime.jsx(
388
388
  ToolEditor,
389
389
  {
@@ -441,7 +441,7 @@ function ToolEditor({
441
441
  setValue((v) => ({ ...v, [key]: next }));
442
442
  };
443
443
  return /* @__PURE__ */ jsxRuntime.jsx(
444
- chunkKNXAOJAK_js.GlassModal,
444
+ chunkZBX2QSNH_js.GlassModal,
445
445
  {
446
446
  open: true,
447
447
  onClose,
@@ -454,9 +454,9 @@ function ToolEditor({
454
454
  handleSubmit();
455
455
  },
456
456
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
457
- /* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.FormGrid, { children: [
457
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkZBX2QSNH_js.FormGrid, { children: [
458
458
  /* @__PURE__ */ jsxRuntime.jsx(
459
- chunkKNXAOJAK_js.FormInput,
459
+ chunkZBX2QSNH_js.FormInput,
460
460
  {
461
461
  label: "Name",
462
462
  required: true,
@@ -466,7 +466,7 @@ function ToolEditor({
466
466
  }
467
467
  ),
468
468
  /* @__PURE__ */ jsxRuntime.jsx(
469
- chunkKNXAOJAK_js.FormSelect,
469
+ chunkZBX2QSNH_js.FormSelect,
470
470
  {
471
471
  label: "Tool type",
472
472
  value: value.toolType,
@@ -476,7 +476,7 @@ function ToolEditor({
476
476
  }
477
477
  ),
478
478
  /* @__PURE__ */ jsxRuntime.jsx(
479
- chunkKNXAOJAK_js.FormSelect,
479
+ chunkZBX2QSNH_js.FormSelect,
480
480
  {
481
481
  label: "Enabled",
482
482
  value: value.enabled ? "true" : "false",
@@ -485,7 +485,7 @@ function ToolEditor({
485
485
  }
486
486
  ),
487
487
  /* @__PURE__ */ jsxRuntime.jsx(
488
- chunkKNXAOJAK_js.FormInput,
488
+ chunkZBX2QSNH_js.FormInput,
489
489
  {
490
490
  label: "Icon (optional)",
491
491
  value: value.icon ?? "",
@@ -495,7 +495,7 @@ function ToolEditor({
495
495
  )
496
496
  ] }),
497
497
  /* @__PURE__ */ jsxRuntime.jsx(
498
- chunkKNXAOJAK_js.FormTextarea,
498
+ chunkZBX2QSNH_js.FormTextarea,
499
499
  {
500
500
  label: "Description",
501
501
  rows: 2,
@@ -543,7 +543,7 @@ function ParametersEditor({
543
543
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
544
544
  parameters.map((param, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[1fr_160px_1fr_110px_auto] items-end gap-2", children: [
545
545
  /* @__PURE__ */ jsxRuntime.jsx(
546
- chunkKNXAOJAK_js.FormInput,
546
+ chunkZBX2QSNH_js.FormInput,
547
547
  {
548
548
  label: "Name",
549
549
  value: param.name,
@@ -552,7 +552,7 @@ function ParametersEditor({
552
552
  }
553
553
  ),
554
554
  /* @__PURE__ */ jsxRuntime.jsx(
555
- chunkKNXAOJAK_js.FormSelect,
555
+ chunkZBX2QSNH_js.FormSelect,
556
556
  {
557
557
  label: "Type",
558
558
  value: param.type,
@@ -561,7 +561,7 @@ function ParametersEditor({
561
561
  }
562
562
  ),
563
563
  /* @__PURE__ */ jsxRuntime.jsx(
564
- chunkKNXAOJAK_js.FormInput,
564
+ chunkZBX2QSNH_js.FormInput,
565
565
  {
566
566
  label: "Description",
567
567
  value: param.description,
@@ -580,9 +580,9 @@ function ParametersEditor({
580
580
  ),
581
581
  "Required"
582
582
  ] }),
583
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", plain: true, onClick: () => remove(index), children: "Remove" })
583
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Button, { type: "button", plain: true, onClick: () => remove(index), children: "Remove" })
584
584
  ] }, index)),
585
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", outline: true, onClick: add, children: "+ Add parameter" })
585
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Button, { type: "button", outline: true, onClick: add, children: "+ Add parameter" })
586
586
  ] })
587
587
  ] });
588
588
  }
@@ -595,9 +595,9 @@ function HandlerConfigEditor({
595
595
  if (toolType === "http") {
596
596
  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: [
597
597
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "HTTP handler" }),
598
- /* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.FormGrid, { children: [
598
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkZBX2QSNH_js.FormGrid, { children: [
599
599
  /* @__PURE__ */ jsxRuntime.jsx(
600
- chunkKNXAOJAK_js.FormSelect,
600
+ chunkZBX2QSNH_js.FormSelect,
601
601
  {
602
602
  label: "Method",
603
603
  value: stringProp(config, "method", "GET"),
@@ -606,7 +606,7 @@ function HandlerConfigEditor({
606
606
  }
607
607
  ),
608
608
  /* @__PURE__ */ jsxRuntime.jsx(
609
- chunkKNXAOJAK_js.FormInput,
609
+ chunkZBX2QSNH_js.FormInput,
610
610
  {
611
611
  label: "URL template",
612
612
  value: stringProp(config, "url"),
@@ -616,7 +616,7 @@ function HandlerConfigEditor({
616
616
  )
617
617
  ] }),
618
618
  /* @__PURE__ */ jsxRuntime.jsx(
619
- chunkKNXAOJAK_js.FormTextarea,
619
+ chunkZBX2QSNH_js.FormTextarea,
620
620
  {
621
621
  label: "Headers (JSON)",
622
622
  rows: 3,
@@ -626,7 +626,7 @@ function HandlerConfigEditor({
626
626
  }
627
627
  ),
628
628
  /* @__PURE__ */ jsxRuntime.jsx(
629
- chunkKNXAOJAK_js.FormTextarea,
629
+ chunkZBX2QSNH_js.FormTextarea,
630
630
  {
631
631
  label: "Body template",
632
632
  rows: 3,
@@ -641,7 +641,7 @@ function HandlerConfigEditor({
641
641
  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: [
642
642
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Function handler" }),
643
643
  /* @__PURE__ */ jsxRuntime.jsx(
644
- chunkKNXAOJAK_js.FormInput,
644
+ chunkZBX2QSNH_js.FormInput,
645
645
  {
646
646
  label: "Implementation key",
647
647
  value: stringProp(config, "implementationKey"),
@@ -655,9 +655,9 @@ function HandlerConfigEditor({
655
655
  if (toolType === "database_query") {
656
656
  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: [
657
657
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Database query handler" }),
658
- /* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.FormGrid, { children: [
658
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkZBX2QSNH_js.FormGrid, { children: [
659
659
  /* @__PURE__ */ jsxRuntime.jsx(
660
- chunkKNXAOJAK_js.FormInput,
660
+ chunkZBX2QSNH_js.FormInput,
661
661
  {
662
662
  label: "Datasource ID",
663
663
  value: stringProp(config, "datasourceId"),
@@ -666,7 +666,7 @@ function HandlerConfigEditor({
666
666
  }
667
667
  ),
668
668
  /* @__PURE__ */ jsxRuntime.jsx(
669
- chunkKNXAOJAK_js.FormInput,
669
+ chunkZBX2QSNH_js.FormInput,
670
670
  {
671
671
  label: "Max rows",
672
672
  type: "number",
@@ -676,7 +676,7 @@ function HandlerConfigEditor({
676
676
  )
677
677
  ] }),
678
678
  /* @__PURE__ */ jsxRuntime.jsx(
679
- chunkKNXAOJAK_js.FormTextarea,
679
+ chunkZBX2QSNH_js.FormTextarea,
680
680
  {
681
681
  label: "Query template",
682
682
  rows: 4,
@@ -692,7 +692,7 @@ function HandlerConfigEditor({
692
692
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Code execution handler" }),
693
693
  /* @__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." }),
694
694
  /* @__PURE__ */ jsxRuntime.jsx(
695
- chunkKNXAOJAK_js.FormSelect,
695
+ chunkZBX2QSNH_js.FormSelect,
696
696
  {
697
697
  label: "Language",
698
698
  value: stringProp(config, "language", "javascript"),
@@ -704,7 +704,7 @@ function HandlerConfigEditor({
704
704
  }
705
705
  ),
706
706
  /* @__PURE__ */ jsxRuntime.jsx(
707
- chunkKNXAOJAK_js.FormTextarea,
707
+ chunkZBX2QSNH_js.FormTextarea,
708
708
  {
709
709
  label: "Code",
710
710
  rows: 6,
@@ -717,9 +717,9 @@ function HandlerConfigEditor({
717
717
  }
718
718
  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: [
719
719
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "API call handler" }),
720
- /* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.FormGrid, { children: [
720
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkZBX2QSNH_js.FormGrid, { children: [
721
721
  /* @__PURE__ */ jsxRuntime.jsx(
722
- chunkKNXAOJAK_js.FormInput,
722
+ chunkZBX2QSNH_js.FormInput,
723
723
  {
724
724
  label: "URL",
725
725
  value: stringProp(config, "url"),
@@ -727,7 +727,7 @@ function HandlerConfigEditor({
727
727
  }
728
728
  ),
729
729
  /* @__PURE__ */ jsxRuntime.jsx(
730
- chunkKNXAOJAK_js.FormSelect,
730
+ chunkZBX2QSNH_js.FormSelect,
731
731
  {
732
732
  label: "Auth",
733
733
  value: stringProp(config, "authType", "bearer"),
@@ -741,7 +741,7 @@ function HandlerConfigEditor({
741
741
  }
742
742
  ),
743
743
  /* @__PURE__ */ jsxRuntime.jsx(
744
- chunkKNXAOJAK_js.FormInput,
744
+ chunkZBX2QSNH_js.FormInput,
745
745
  {
746
746
  label: "Credential secret id",
747
747
  value: stringProp(config, "credentialRef"),
@@ -870,7 +870,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
870
870
  const [createOpen, setCreateOpen] = react.useState(false);
871
871
  const [editing, setEditing] = react.useState(null);
872
872
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
873
- chunkKNXAOJAK_js.HeroSection,
873
+ chunkZBX2QSNH_js.HeroSection,
874
874
  {
875
875
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.AdjustmentsHorizontalIcon, { className: "h-5 w-5" }),
876
876
  label: labels.title,
@@ -878,7 +878,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
878
878
  subtitle: labels.subtitle,
879
879
  gradient: "from-fuchsia-500 to-purple-700",
880
880
  toolbar: /* @__PURE__ */ jsxRuntime.jsx(
881
- chunkKNXAOJAK_js.CreateActionButton,
881
+ chunkZBX2QSNH_js.CreateActionButton,
882
882
  {
883
883
  mode: "desktop",
884
884
  label: labels.addRule,
@@ -889,7 +889,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
889
889
  }
890
890
  );
891
891
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
892
- chunkKNXAOJAK_js.CreateActionButton,
892
+ chunkZBX2QSNH_js.CreateActionButton,
893
893
  {
894
894
  mode: "mobile",
895
895
  label: labels.addRule,
@@ -897,18 +897,18 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
897
897
  accent: "fuchsia"
898
898
  }
899
899
  );
900
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageLoadingState, {}) : rules.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_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: rules.map((rule) => /* @__PURE__ */ jsxRuntime.jsx(
901
- chunkKNXAOJAK_js.EntityCard,
900
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.PageLoadingState, {}) : rules.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_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: rules.map((rule) => /* @__PURE__ */ jsxRuntime.jsx(
901
+ chunkZBX2QSNH_js.EntityCard,
902
902
  {
903
903
  accentGradient: "from-fuchsia-500 to-purple-700",
904
904
  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" }) }),
905
905
  title: rule.name,
906
906
  subtitle: `${labels.order}: ${rule.order ?? 0}`,
907
- status: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Badge, { color: rule.enabled ? "emerald" : "zinc", children: rule.enabled ? labels.enabled : labels.disabled }),
907
+ status: /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Badge, { color: rule.enabled ? "emerald" : "zinc", children: rule.enabled ? labels.enabled : labels.disabled }),
908
908
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
909
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(rule), children: labels.edit }),
909
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(rule), children: labels.edit }),
910
910
  /* @__PURE__ */ jsxRuntime.jsx(
911
- chunkKNXAOJAK_js.Button,
911
+ chunkZBX2QSNH_js.Button,
912
912
  {
913
913
  type: "button",
914
914
  size: "sm",
@@ -925,13 +925,13 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
925
925
  rule.ruleId
926
926
  )) });
927
927
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
928
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.ManagementPageLayout, { hero, content, mobileAction }),
928
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.ManagementPageLayout, { hero, content, mobileAction }),
929
929
  createOpen && /* @__PURE__ */ jsxRuntime.jsx(
930
930
  RuleEditor,
931
931
  {
932
932
  title: labels.createTitle,
933
933
  saveLabel: labels.save,
934
- initial: chunkZHHRWC27_js.defaultRuleForm(),
934
+ initial: chunkFDK3PUTV_js.defaultRuleForm(),
935
935
  onClose: () => setCreateOpen(false),
936
936
  onSubmit: (value) => {
937
937
  onCreate(value);
@@ -963,7 +963,7 @@ function RuleEditor({
963
963
  }) {
964
964
  const [value, setValue] = react.useState(initial);
965
965
  return /* @__PURE__ */ jsxRuntime.jsx(
966
- chunkKNXAOJAK_js.GlassModal,
966
+ chunkZBX2QSNH_js.GlassModal,
967
967
  {
968
968
  open: true,
969
969
  onClose,
@@ -975,12 +975,12 @@ function RuleEditor({
975
975
  event.preventDefault();
976
976
  onSubmit(value);
977
977
  },
978
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkZHHRWC27_js.RuleForm, { value, onChange: setValue })
978
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkFDK3PUTV_js.RuleForm, { value, onChange: setValue })
979
979
  }
980
980
  );
981
981
  }
982
982
  function ruleToFormValue(rule) {
983
- const base = chunkZHHRWC27_js.defaultRuleForm();
983
+ const base = chunkFDK3PUTV_js.defaultRuleForm();
984
984
  const rawCondition = rule.condition ?? rule.conditions;
985
985
  const rawAction = pickAction(rule);
986
986
  return {
@@ -1111,7 +1111,7 @@ var SAMPLE_DATASOURCES = [
1111
1111
  ];
1112
1112
  function getDialectLabel(dialect) {
1113
1113
  if (!dialect) return "Unknown";
1114
- for (const category of chunkSV4SMITM_js.DIALECT_CATEGORIES) {
1114
+ for (const category of chunkWAOCUWO3_js.DIALECT_CATEGORIES) {
1115
1115
  const found = category.dialects.find((d) => d.value === dialect);
1116
1116
  if (found) return found.label;
1117
1117
  }
@@ -1119,12 +1119,12 @@ function getDialectLabel(dialect) {
1119
1119
  }
1120
1120
  function getDialectGradient(dialect) {
1121
1121
  if (!dialect) return "from-gray-400 to-gray-500";
1122
- const category = chunkSV4SMITM_js.findCategory(dialect);
1122
+ const category = chunkWAOCUWO3_js.findCategory(dialect);
1123
1123
  return category?.gradient ?? "from-gray-400 to-gray-500";
1124
1124
  }
1125
1125
  function getDialectIcon(dialect) {
1126
1126
  if (!dialect) return outline.CircleStackIcon;
1127
- const category = chunkSV4SMITM_js.findCategory(dialect);
1127
+ const category = chunkWAOCUWO3_js.findCategory(dialect);
1128
1128
  return category?.icon ?? outline.CircleStackIcon;
1129
1129
  }
1130
1130
  var DIALECT_LOGO = {
@@ -1192,7 +1192,7 @@ function DatasourcesPageView({
1192
1192
  }
1193
1193
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
1194
1194
  /* @__PURE__ */ jsxRuntime.jsx(
1195
- chunkKNXAOJAK_js.HeroSection,
1195
+ chunkZBX2QSNH_js.HeroSection,
1196
1196
  {
1197
1197
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CircleStackIcon, { className: "h-5 w-5" }),
1198
1198
  label: labels.title,
@@ -1200,7 +1200,7 @@ function DatasourcesPageView({
1200
1200
  subtitle: labels.subtitle,
1201
1201
  gradient: "from-amber-500 to-orange-600",
1202
1202
  toolbar: /* @__PURE__ */ jsxRuntime.jsx(
1203
- chunkKNXAOJAK_js.CreateActionButton,
1203
+ chunkZBX2QSNH_js.CreateActionButton,
1204
1204
  {
1205
1205
  mode: "desktop",
1206
1206
  label: labels.addDatasource,
@@ -1211,7 +1211,7 @@ function DatasourcesPageView({
1211
1211
  }
1212
1212
  ),
1213
1213
  /* @__PURE__ */ jsxRuntime.jsx(
1214
- chunkKNXAOJAK_js.CreateActionButton,
1214
+ chunkZBX2QSNH_js.CreateActionButton,
1215
1215
  {
1216
1216
  mode: "mobile",
1217
1217
  label: labels.addDatasource,
@@ -1220,7 +1220,7 @@ function DatasourcesPageView({
1220
1220
  }
1221
1221
  ),
1222
1222
  isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
1223
- chunkKNXAOJAK_js.PageEmptyState,
1223
+ chunkZBX2QSNH_js.PageEmptyState,
1224
1224
  {
1225
1225
  title: labels.emptyTitle,
1226
1226
  message: labels.emptyDescription,
@@ -1234,13 +1234,13 @@ function DatasourcesPageView({
1234
1234
  const logoSrc = getDialectLogoSrc(ds.dialect);
1235
1235
  const iconElement = logoSrc ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-11 w-11 items-center justify-center rounded-lg bg-white shadow-sm ring-1 ring-black/5 dark:bg-white/10 dark:ring-white/10", 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" }) });
1236
1236
  return /* @__PURE__ */ jsxRuntime.jsx(
1237
- chunkKNXAOJAK_js.EntityCard,
1237
+ chunkZBX2QSNH_js.EntityCard,
1238
1238
  {
1239
1239
  accentGradient: gradient,
1240
1240
  icon: iconElement,
1241
1241
  title: ds.name ?? ds.id,
1242
1242
  subtitle: dialectLabel,
1243
- status: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Badge, { color: ds.enabled ? "emerald" : "zinc", children: ds.enabled ? labels.enabled : labels.disabled }),
1243
+ status: /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Badge, { color: ds.enabled ? "emerald" : "zinc", children: ds.enabled ? labels.enabled : labels.disabled }),
1244
1244
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-xs text-gray-400 dark:text-gray-500", children: [
1245
1245
  ds.readOnly && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rounded-full bg-blue-100 px-2 py-0.5 text-[10px] font-semibold text-blue-700 dark:bg-blue-900/30 dark:text-blue-300", children: "Read-only" }),
1246
1246
  ds.timeoutMs && /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
@@ -1264,7 +1264,7 @@ function DatasourcesPageView({
1264
1264
  );
1265
1265
  }) }),
1266
1266
  /* @__PURE__ */ jsxRuntime.jsx(
1267
- chunkSV4SMITM_js.DatasourceModal,
1267
+ chunkWAOCUWO3_js.DatasourceModal,
1268
1268
  {
1269
1269
  open: modalOpen,
1270
1270
  onClose: () => setModalOpen(false),
@@ -1279,7 +1279,7 @@ function DashboardPageView({ labels, appLogo }) {
1279
1279
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center mb-6", children: appLogo }),
1280
1280
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-3 text-base text-gray-500 dark:text-gray-400", children: labels.subtitle })
1281
1281
  ] });
1282
- return /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.ManagementPageLayout, { hero, content: null });
1282
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.ManagementPageLayout, { hero, content: null });
1283
1283
  }
1284
1284
  function AgentsIndexPageView({ labels }) {
1285
1285
  const Link = chunkS7KHTUHA_js.useLink();
@@ -1290,7 +1290,7 @@ function AgentsIndexPageView({ labels }) {
1290
1290
  { id: "prompts", title: labels.promptsTitle, subtitle: labels.promptsSubtitle, href: "/agents/prompts", gradient: "from-sky-500 to-blue-700", icon: outline.ChatBubbleLeftEllipsisIcon }
1291
1291
  ];
1292
1292
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
1293
- chunkKNXAOJAK_js.HeroSection,
1293
+ chunkZBX2QSNH_js.HeroSection,
1294
1294
  {
1295
1295
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
1296
1296
  label: labels.title,
@@ -1302,7 +1302,7 @@ function AgentsIndexPageView({ labels }) {
1302
1302
  const content = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4", children: tiles.map((tile) => {
1303
1303
  const Icon = tile.icon;
1304
1304
  return /* @__PURE__ */ jsxRuntime.jsx(Link, { href: tile.href, className: "block focus:outline-none", children: /* @__PURE__ */ jsxRuntime.jsx(
1305
- chunkKNXAOJAK_js.EntityCard,
1305
+ chunkZBX2QSNH_js.EntityCard,
1306
1306
  {
1307
1307
  accentGradient: tile.gradient,
1308
1308
  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" }) }),
@@ -1311,13 +1311,13 @@ function AgentsIndexPageView({ labels }) {
1311
1311
  }
1312
1312
  ) }, tile.id);
1313
1313
  }) });
1314
- return /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.ManagementPageLayout, { hero, content });
1314
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.ManagementPageLayout, { hero, content });
1315
1315
  }
1316
1316
  function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublish }) {
1317
1317
  const selectedWorkflow = workflows[0] ?? null;
1318
1318
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
1319
1319
  /* @__PURE__ */ jsxRuntime.jsx(
1320
- chunkKNXAOJAK_js.SectionHeader,
1320
+ chunkZBX2QSNH_js.SectionHeader,
1321
1321
  {
1322
1322
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.RectangleStackIcon, { className: "h-5 w-5 text-white" }),
1323
1323
  title: labels.title,
@@ -1326,9 +1326,9 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
1326
1326
  }
1327
1327
  ),
1328
1328
  /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
1329
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.add }),
1329
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.add }),
1330
1330
  /* @__PURE__ */ jsxRuntime.jsx(
1331
- chunkKNXAOJAK_js.Form,
1331
+ chunkZBX2QSNH_js.Form,
1332
1332
  {
1333
1333
  onSubmit: (event) => {
1334
1334
  event.preventDefault();
@@ -1339,32 +1339,32 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
1339
1339
  onCreate({ name, description });
1340
1340
  event.currentTarget.reset();
1341
1341
  },
1342
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.FormGrid, { children: [
1343
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormInput, { name: "name", label: labels.workflowName, placeholder: labels.workflowNamePlaceholder, required: true }),
1344
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.workflowDescriptionPlaceholder, rows: 3 }),
1345
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormActionsRow, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "submit", children: labels.create }) })
1342
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkZBX2QSNH_js.FormGrid, { children: [
1343
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.FormInput, { name: "name", label: labels.workflowName, placeholder: labels.workflowNamePlaceholder, required: true }),
1344
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.workflowDescriptionPlaceholder, rows: 3 }),
1345
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.FormActionsRow, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Button, { type: "submit", children: labels.create }) })
1346
1346
  ] })
1347
1347
  }
1348
1348
  )
1349
1349
  ] }),
1350
1350
  /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
1351
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.registry }),
1352
- /* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.Table, { children: [
1353
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableHead, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.TableRow, { children: [
1354
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableHeader, { children: labels.name }),
1355
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableHeader, { children: labels.description }),
1356
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableHeader, { children: labels.version }),
1357
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableHeader, { children: labels.status }),
1358
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableHeader, { children: labels.actions })
1351
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.registry }),
1352
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkZBX2QSNH_js.Table, { children: [
1353
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.TableHead, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkZBX2QSNH_js.TableRow, { children: [
1354
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.TableHeader, { children: labels.name }),
1355
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.TableHeader, { children: labels.description }),
1356
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.TableHeader, { children: labels.version }),
1357
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.TableHeader, { children: labels.status }),
1358
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.TableHeader, { children: labels.actions })
1359
1359
  ] }) }),
1360
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableBody, { children: workflows.map((workflow) => /* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.TableRow, { children: [
1361
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableCell, { children: workflow.name }),
1362
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableCell, { children: workflow.description }),
1363
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableCell, { children: String(workflow.version) }),
1364
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Badge, { children: workflow.isDraft ? labels.statusDraft : labels.statusPublished }) }),
1365
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
1360
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.TableBody, { children: workflows.map((workflow) => /* @__PURE__ */ jsxRuntime.jsxs(chunkZBX2QSNH_js.TableRow, { children: [
1361
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.TableCell, { children: workflow.name }),
1362
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.TableCell, { children: workflow.description }),
1363
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.TableCell, { children: String(workflow.version) }),
1364
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Badge, { children: workflow.isDraft ? labels.statusDraft : labels.statusPublished }) }),
1365
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
1366
1366
  /* @__PURE__ */ jsxRuntime.jsx(
1367
- chunkKNXAOJAK_js.Form,
1367
+ chunkZBX2QSNH_js.Form,
1368
1368
  {
1369
1369
  onSubmit: (event) => {
1370
1370
  event.preventDefault();
@@ -1374,17 +1374,17 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
1374
1374
  description: workflow.description ?? ""
1375
1375
  });
1376
1376
  },
1377
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.InlineForm, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "submit", outline: true, children: labels.saveMeta }) })
1377
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.InlineForm, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Button, { type: "submit", outline: true, children: labels.saveMeta }) })
1378
1378
  }
1379
1379
  ),
1380
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", color: "sky", onClick: () => onPublish(workflow.id), children: labels.publish })
1380
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Button, { type: "button", color: "sky", onClick: () => onPublish(workflow.id), children: labels.publish })
1381
1381
  ] }) })
1382
1382
  ] }, workflow.id)) })
1383
1383
  ] })
1384
1384
  ] }),
1385
1385
  /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
1386
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.workspace }),
1387
- 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(chunkK26RY4EQ_js.WorkflowWorkspace, { graph: chunk3T2WGL47_js.adaptWorkflowGraphToUi(selectedWorkflow.graph) }) }) : /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Text, { children: labels.empty })
1386
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.workspace }),
1387
+ 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(chunk5EBDOY4M_js.WorkflowWorkspace, { graph: chunk3T2WGL47_js.adaptWorkflowGraphToUi(selectedWorkflow.graph) }) }) : /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Text, { children: labels.empty })
1388
1388
  ] })
1389
1389
  ] });
1390
1390
  }
@@ -1423,7 +1423,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
1423
1423
  };
1424
1424
  const filteredRuns = statusFilter === "all" ? runs : runs.filter((run) => run.status === statusFilter);
1425
1425
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
1426
- chunkKNXAOJAK_js.HeroSection,
1426
+ chunkZBX2QSNH_js.HeroSection,
1427
1427
  {
1428
1428
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
1429
1429
  label: labels.title,
@@ -1431,7 +1431,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
1431
1431
  subtitle: labels.subtitle,
1432
1432
  gradient: "from-indigo-500 to-sky-700",
1433
1433
  toolbar: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-48", children: /* @__PURE__ */ jsxRuntime.jsx(
1434
- chunkKNXAOJAK_js.FormSelect,
1434
+ chunkZBX2QSNH_js.FormSelect,
1435
1435
  {
1436
1436
  name: "statusFilter",
1437
1437
  label: labels.filterStatus,
@@ -1442,19 +1442,19 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
1442
1442
  ) })
1443
1443
  }
1444
1444
  );
1445
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageLoadingState, {}) : filteredRuns.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_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: filteredRuns.map((run) => /* @__PURE__ */ jsxRuntime.jsxs(
1446
- chunkKNXAOJAK_js.EntityCard,
1445
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.PageLoadingState, {}) : filteredRuns.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_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: filteredRuns.map((run) => /* @__PURE__ */ jsxRuntime.jsxs(
1446
+ chunkZBX2QSNH_js.EntityCard,
1447
1447
  {
1448
1448
  accentGradient: "from-indigo-500 to-sky-700",
1449
1449
  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" }) }),
1450
1450
  title: run.id.slice(0, 8),
1451
1451
  subtitle: `${labels.startedAt}: ${new Date(run.createdAt).toLocaleString()}`,
1452
- status: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Badge, { color: BADGE_COLOR[run.status] ?? "zinc", children: statusLabelFor(run.status) }),
1452
+ status: /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Badge, { color: BADGE_COLOR[run.status] ?? "zinc", children: statusLabelFor(run.status) }),
1453
1453
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
1454
- onView && /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onView(run), children: labels.view }),
1455
- onViewTimeline && labels.timeline && /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onViewTimeline(run), children: labels.timeline }),
1456
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onReplay(run), children: labels.replay }),
1457
- run.status === "running" && /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", size: "sm", color: "rose", onClick: () => onCancel(run), children: labels.cancel })
1454
+ onView && /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onView(run), children: labels.view }),
1455
+ onViewTimeline && labels.timeline && /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onViewTimeline(run), children: labels.timeline }),
1456
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onReplay(run), children: labels.replay }),
1457
+ run.status === "running" && /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Button, { type: "button", size: "sm", color: "rose", onClick: () => onCancel(run), children: labels.cancel })
1458
1458
  ] }),
1459
1459
  children: [
1460
1460
  /* @__PURE__ */ jsxRuntime.jsxs("dl", { className: "mt-1 grid grid-cols-2 gap-1 text-xs text-slate-500 dark:text-slate-400", children: [
@@ -1468,11 +1468,11 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
1468
1468
  },
1469
1469
  run.id
1470
1470
  )) });
1471
- return /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.ManagementPageLayout, { hero, content });
1471
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.ManagementPageLayout, { hero, content });
1472
1472
  }
1473
1473
  function RunTimelinePageView({ labels, entries, loading, runId }) {
1474
1474
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
1475
- chunkKNXAOJAK_js.HeroSection,
1475
+ chunkZBX2QSNH_js.HeroSection,
1476
1476
  {
1477
1477
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
1478
1478
  label: labels.title,
@@ -1482,23 +1482,23 @@ function RunTimelinePageView({ labels, entries, loading, runId }) {
1482
1482
  }
1483
1483
  );
1484
1484
  if (loading) {
1485
- return /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.ManagementPageLayout, { hero, content: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageLoadingState, {}) });
1485
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.ManagementPageLayout, { hero, content: /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.PageLoadingState, {}) });
1486
1486
  }
1487
1487
  if (entries.length === 0) {
1488
1488
  return /* @__PURE__ */ jsxRuntime.jsx(
1489
- chunkKNXAOJAK_js.ManagementPageLayout,
1489
+ chunkZBX2QSNH_js.ManagementPageLayout,
1490
1490
  {
1491
1491
  hero,
1492
- content: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageEmptyState, { title: labels.empty ?? "", message: "", iconName: "folder-open" })
1492
+ content: /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.PageEmptyState, { title: labels.empty ?? "", message: "", iconName: "folder-open" })
1493
1493
  }
1494
1494
  );
1495
1495
  }
1496
1496
  return /* @__PURE__ */ jsxRuntime.jsx(
1497
- chunkKNXAOJAK_js.ManagementPageLayout,
1497
+ chunkZBX2QSNH_js.ManagementPageLayout,
1498
1498
  {
1499
1499
  hero,
1500
1500
  content: /* @__PURE__ */ jsxRuntime.jsx(
1501
- chunkZHHRWC27_js.ExecutionTimelinePanel,
1501
+ chunkFDK3PUTV_js.ExecutionTimelinePanel,
1502
1502
  {
1503
1503
  entries,
1504
1504
  labels
@@ -1580,7 +1580,7 @@ function ConnectionsPageView({
1580
1580
  const [createOpen, setCreateOpen] = react.useState(false);
1581
1581
  const [editing, setEditing] = react.useState(null);
1582
1582
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
1583
- chunkKNXAOJAK_js.HeroSection,
1583
+ chunkZBX2QSNH_js.HeroSection,
1584
1584
  {
1585
1585
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.LinkIcon, { className: "h-5 w-5" }),
1586
1586
  label: labels.title,
@@ -1588,7 +1588,7 @@ function ConnectionsPageView({
1588
1588
  subtitle: labels.subtitle,
1589
1589
  gradient: "from-sky-500 to-indigo-600",
1590
1590
  toolbar: /* @__PURE__ */ jsxRuntime.jsx(
1591
- chunkKNXAOJAK_js.CreateActionButton,
1591
+ chunkZBX2QSNH_js.CreateActionButton,
1592
1592
  {
1593
1593
  mode: "desktop",
1594
1594
  label: labels.add,
@@ -1599,7 +1599,7 @@ function ConnectionsPageView({
1599
1599
  }
1600
1600
  );
1601
1601
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
1602
- chunkKNXAOJAK_js.CreateActionButton,
1602
+ chunkZBX2QSNH_js.CreateActionButton,
1603
1603
  {
1604
1604
  mode: "mobile",
1605
1605
  label: labels.add,
@@ -1607,21 +1607,21 @@ function ConnectionsPageView({
1607
1607
  accent: "sky"
1608
1608
  }
1609
1609
  );
1610
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageLoadingState, {}) : connections.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_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: connections.map((conn) => /* @__PURE__ */ jsxRuntime.jsx(
1611
- chunkKNXAOJAK_js.EntityCard,
1610
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.PageLoadingState, {}) : connections.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_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: connections.map((conn) => /* @__PURE__ */ jsxRuntime.jsx(
1611
+ chunkZBX2QSNH_js.EntityCard,
1612
1612
  {
1613
1613
  accentGradient: "from-sky-500 to-indigo-600",
1614
1614
  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" }) }),
1615
1615
  title: conn.name,
1616
1616
  subtitle: providerLabel(conn.providerSlug),
1617
1617
  status: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1", children: [
1618
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Badge, { color: conn.enabled ? "emerald" : "zinc", children: conn.enabled ? labels.enable : labels.disable }),
1619
- conn.credentialRef ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Badge, { color: "indigo", children: "Secret set" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Badge, { color: "amber", children: "No secret" })
1618
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Badge, { color: conn.enabled ? "emerald" : "zinc", children: conn.enabled ? labels.enable : labels.disable }),
1619
+ conn.credentialRef ? /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Badge, { color: "indigo", children: "Secret set" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Badge, { color: "amber", children: "No secret" })
1620
1620
  ] }),
1621
1621
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
1622
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(conn), children: labels.edit }),
1622
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(conn), children: labels.edit }),
1623
1623
  /* @__PURE__ */ jsxRuntime.jsx(
1624
- chunkKNXAOJAK_js.Button,
1624
+ chunkZBX2QSNH_js.Button,
1625
1625
  {
1626
1626
  type: "button",
1627
1627
  size: "sm",
@@ -1642,7 +1642,7 @@ function ConnectionsPageView({
1642
1642
  conn.id
1643
1643
  )) });
1644
1644
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1645
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.ManagementPageLayout, { hero, content, mobileAction }),
1645
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.ManagementPageLayout, { hero, content, mobileAction }),
1646
1646
  createOpen && /* @__PURE__ */ jsxRuntime.jsx(
1647
1647
  ConnectionEditor,
1648
1648
  {
@@ -1756,7 +1756,7 @@ function ConnectionEditor({
1756
1756
  return preset.exampleModels?.join(", ") ?? "";
1757
1757
  }, [preset]);
1758
1758
  return /* @__PURE__ */ jsxRuntime.jsx(
1759
- chunkKNXAOJAK_js.GlassModal,
1759
+ chunkZBX2QSNH_js.GlassModal,
1760
1760
  {
1761
1761
  open: true,
1762
1762
  onClose,
@@ -1769,9 +1769,9 @@ function ConnectionEditor({
1769
1769
  void handleSubmit();
1770
1770
  },
1771
1771
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
1772
- /* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.FormGrid, { children: [
1772
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkZBX2QSNH_js.FormGrid, { children: [
1773
1773
  /* @__PURE__ */ jsxRuntime.jsx(
1774
- chunkKNXAOJAK_js.FormSelect,
1774
+ chunkZBX2QSNH_js.FormSelect,
1775
1775
  {
1776
1776
  label: "Provider",
1777
1777
  value: value.providerSlug,
@@ -1782,7 +1782,7 @@ function ConnectionEditor({
1782
1782
  }
1783
1783
  ),
1784
1784
  /* @__PURE__ */ jsxRuntime.jsx(
1785
- chunkKNXAOJAK_js.FormInput,
1785
+ chunkZBX2QSNH_js.FormInput,
1786
1786
  {
1787
1787
  label: "Display name",
1788
1788
  required: true,
@@ -1792,7 +1792,7 @@ function ConnectionEditor({
1792
1792
  }
1793
1793
  ),
1794
1794
  preset.needsRegion && /* @__PURE__ */ jsxRuntime.jsx(
1795
- chunkKNXAOJAK_js.FormInput,
1795
+ chunkZBX2QSNH_js.FormInput,
1796
1796
  {
1797
1797
  label: "Region",
1798
1798
  value: value.region,
@@ -1801,7 +1801,7 @@ function ConnectionEditor({
1801
1801
  }
1802
1802
  ),
1803
1803
  preset.needsEndpoint && /* @__PURE__ */ jsxRuntime.jsx(
1804
- chunkKNXAOJAK_js.FormInput,
1804
+ chunkZBX2QSNH_js.FormInput,
1805
1805
  {
1806
1806
  label: "Endpoint URL",
1807
1807
  value: value.endpoint,
@@ -1811,7 +1811,7 @@ function ConnectionEditor({
1811
1811
  )
1812
1812
  ] }),
1813
1813
  /* @__PURE__ */ jsxRuntime.jsx(
1814
- chunkKNXAOJAK_js.FormInput,
1814
+ chunkZBX2QSNH_js.FormInput,
1815
1815
  {
1816
1816
  label: value.credentialRef ? "Rotate API key (leave blank to keep current)" : "API key",
1817
1817
  type: "password",
@@ -1822,7 +1822,7 @@ function ConnectionEditor({
1822
1822
  }
1823
1823
  ),
1824
1824
  /* @__PURE__ */ jsxRuntime.jsx(
1825
- chunkKNXAOJAK_js.FormInput,
1825
+ chunkZBX2QSNH_js.FormInput,
1826
1826
  {
1827
1827
  label: "Model filter (comma-separated, optional)",
1828
1828
  value: value.modelFilter,
@@ -1834,7 +1834,7 @@ function ConnectionEditor({
1834
1834
  /* @__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: [
1835
1835
  /* @__PURE__ */ jsxRuntime.jsx("summary", { className: "cursor-pointer font-medium text-slate-700 dark:text-slate-200", children: "Advanced config (JSON)" }),
1836
1836
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsx(
1837
- chunkKNXAOJAK_js.FormTextarea,
1837
+ chunkZBX2QSNH_js.FormTextarea,
1838
1838
  {
1839
1839
  rows: 4,
1840
1840
  value: value.configJson,
@@ -1900,7 +1900,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
1900
1900
  { value: "password", label: labels.typePassword }
1901
1901
  ];
1902
1902
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
1903
- chunkKNXAOJAK_js.HeroSection,
1903
+ chunkZBX2QSNH_js.HeroSection,
1904
1904
  {
1905
1905
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-5 w-5" }),
1906
1906
  label: labels.title,
@@ -1908,7 +1908,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
1908
1908
  subtitle: labels.subtitle,
1909
1909
  gradient: "from-rose-500 to-orange-600",
1910
1910
  toolbar: /* @__PURE__ */ jsxRuntime.jsx(
1911
- chunkKNXAOJAK_js.CreateActionButton,
1911
+ chunkZBX2QSNH_js.CreateActionButton,
1912
1912
  {
1913
1913
  mode: "desktop",
1914
1914
  label: labels.addCredential,
@@ -1919,7 +1919,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
1919
1919
  }
1920
1920
  );
1921
1921
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
1922
- chunkKNXAOJAK_js.CreateActionButton,
1922
+ chunkZBX2QSNH_js.CreateActionButton,
1923
1923
  {
1924
1924
  mode: "mobile",
1925
1925
  label: labels.addCredential,
@@ -1927,23 +1927,23 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
1927
1927
  accent: "rose"
1928
1928
  }
1929
1929
  );
1930
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.PageLoadingState, {}) : credentials.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_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: credentials.map((secret) => /* @__PURE__ */ jsxRuntime.jsxs(
1931
- chunkKNXAOJAK_js.EntityCard,
1930
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.PageLoadingState, {}) : credentials.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_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: credentials.map((secret) => /* @__PURE__ */ jsxRuntime.jsxs(
1931
+ chunkZBX2QSNH_js.EntityCard,
1932
1932
  {
1933
1933
  accentGradient: "from-rose-500 to-orange-700",
1934
1934
  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" }) }),
1935
1935
  title: secret.name,
1936
1936
  subtitle: secret.secretType,
1937
- status: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.Badge, { color: secret.disabled ? "zinc" : "emerald", children: secret.disabled ? labels.disable : "Active" }),
1937
+ status: /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.Badge, { color: secret.disabled ? "zinc" : "emerald", children: secret.disabled ? labels.disable : "Active" }),
1938
1938
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-2", children: [
1939
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.CopyableId, { id: secret.secretId }),
1939
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.CopyableId, { id: secret.secretId }),
1940
1940
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
1941
- /* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setRotateFor(secret), children: [
1941
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkZBX2QSNH_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setRotateFor(secret), children: [
1942
1942
  /* @__PURE__ */ jsxRuntime.jsx(outline.ArrowPathIcon, { className: "mr-1 h-3.5 w-3.5" }),
1943
1943
  labels.rotate
1944
1944
  ] }),
1945
1945
  !secret.disabled && /* @__PURE__ */ jsxRuntime.jsxs(
1946
- chunkKNXAOJAK_js.Button,
1946
+ chunkZBX2QSNH_js.Button,
1947
1947
  {
1948
1948
  type: "button",
1949
1949
  size: "sm",
@@ -1972,9 +1972,9 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
1972
1972
  secret.secretId
1973
1973
  )) });
1974
1974
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1975
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.ManagementPageLayout, { hero, content, mobileAction }),
1975
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.ManagementPageLayout, { hero, content, mobileAction }),
1976
1976
  /* @__PURE__ */ jsxRuntime.jsx(
1977
- chunkKNXAOJAK_js.GlassModal,
1977
+ chunkZBX2QSNH_js.GlassModal,
1978
1978
  {
1979
1979
  open: createOpen,
1980
1980
  onClose: () => setCreateOpen(false),
@@ -1992,16 +1992,16 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
1992
1992
  onCreate({ name, value, secretType, description });
1993
1993
  setCreateOpen(false);
1994
1994
  },
1995
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkKNXAOJAK_js.FormGrid, { children: [
1996
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormInput, { name: "name", label: labels.name, placeholder: labels.namePlaceholder, required: true }),
1997
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormSelect, { name: "secretType", label: labels.type, options: typeOptions, defaultValue: "generic" }),
1998
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }),
1999
- /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.descriptionPlaceholder, rows: 2 })
1995
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkZBX2QSNH_js.FormGrid, { children: [
1996
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.FormInput, { name: "name", label: labels.name, placeholder: labels.namePlaceholder, required: true }),
1997
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.FormSelect, { name: "secretType", label: labels.type, options: typeOptions, defaultValue: "generic" }),
1998
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }),
1999
+ /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.descriptionPlaceholder, rows: 2 })
2000
2000
  ] })
2001
2001
  }
2002
2002
  ),
2003
2003
  /* @__PURE__ */ jsxRuntime.jsx(
2004
- chunkKNXAOJAK_js.GlassModal,
2004
+ chunkZBX2QSNH_js.GlassModal,
2005
2005
  {
2006
2006
  open: rotateFor !== null,
2007
2007
  onClose: () => setRotateFor(null),
@@ -2016,7 +2016,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
2016
2016
  onRotate(rotateFor, value);
2017
2017
  setRotateFor(null);
2018
2018
  },
2019
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormGrid, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkKNXAOJAK_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }) })
2019
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.FormGrid, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkZBX2QSNH_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }) })
2020
2020
  }
2021
2021
  )
2022
2022
  ] });
@@ -2024,31 +2024,31 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
2024
2024
 
2025
2025
  Object.defineProperty(exports, "RolesPageView", {
2026
2026
  enumerable: true,
2027
- get: function () { return chunkK26RY4EQ_js.RolesPageView; }
2027
+ get: function () { return chunk5EBDOY4M_js.RolesPageView; }
2028
2028
  });
2029
2029
  Object.defineProperty(exports, "UsersPageView", {
2030
2030
  enumerable: true,
2031
- get: function () { return chunkK26RY4EQ_js.UsersPageView; }
2031
+ get: function () { return chunk5EBDOY4M_js.UsersPageView; }
2032
2032
  });
2033
2033
  Object.defineProperty(exports, "DIALECT_CATEGORIES", {
2034
2034
  enumerable: true,
2035
- get: function () { return chunkSV4SMITM_js.DIALECT_CATEGORIES; }
2035
+ get: function () { return chunkWAOCUWO3_js.DIALECT_CATEGORIES; }
2036
2036
  });
2037
2037
  Object.defineProperty(exports, "DatasourceFormModal", {
2038
2038
  enumerable: true,
2039
- get: function () { return chunkSV4SMITM_js.DatasourceFormModal; }
2039
+ get: function () { return chunkWAOCUWO3_js.DatasourceFormModal; }
2040
2040
  });
2041
2041
  Object.defineProperty(exports, "DatasourceModal", {
2042
2042
  enumerable: true,
2043
- get: function () { return chunkSV4SMITM_js.DatasourceModal; }
2043
+ get: function () { return chunkWAOCUWO3_js.DatasourceModal; }
2044
2044
  });
2045
2045
  Object.defineProperty(exports, "findCategory", {
2046
2046
  enumerable: true,
2047
- get: function () { return chunkSV4SMITM_js.findCategory; }
2047
+ get: function () { return chunkWAOCUWO3_js.findCategory; }
2048
2048
  });
2049
2049
  Object.defineProperty(exports, "findDialect", {
2050
2050
  enumerable: true,
2051
- get: function () { return chunkSV4SMITM_js.findDialect; }
2051
+ get: function () { return chunkWAOCUWO3_js.findDialect; }
2052
2052
  });
2053
2053
  exports.AgentsConfigPageView = AgentsConfigPageView;
2054
2054
  exports.AgentsIndexPageView = AgentsIndexPageView;