@datatechsolutions/ui 2.11.89 → 2.11.91

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