@datatechsolutions/ui 3.3.0 → 3.4.0

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 (166) hide show
  1. package/dist/astrlabe/index.d.mts +22 -30
  2. package/dist/astrlabe/index.d.ts +22 -30
  3. package/dist/astrlabe/index.js +112 -112
  4. package/dist/astrlabe/index.mjs +5 -5
  5. package/dist/astrlabe/workflow-canvas.d.mts +6 -69
  6. package/dist/astrlabe/workflow-canvas.d.ts +6 -69
  7. package/dist/astrlabe/workflow-canvas.js +5 -5
  8. package/dist/astrlabe/workflow-canvas.mjs +4 -4
  9. package/dist/brand/index.d.mts +1 -15
  10. package/dist/brand/index.d.ts +1 -15
  11. package/dist/brand/index.js +0 -14
  12. package/dist/brand/index.js.map +1 -1
  13. package/dist/brand/index.mjs +0 -14
  14. package/dist/brand/index.mjs.map +1 -1
  15. package/dist/{chunk-FAGDZEKM.js → chunk-2OZZH2IO.js} +2 -2
  16. package/dist/chunk-2OZZH2IO.js.map +1 -0
  17. package/dist/{chunk-SYNVNTLJ.mjs → chunk-3AY5HIQ6.mjs} +2 -2
  18. package/dist/chunk-3AY5HIQ6.mjs.map +1 -0
  19. package/dist/{chunk-JSNRCYSO.js → chunk-45QAUEYT.js} +4 -4
  20. package/dist/{chunk-JSNRCYSO.js.map → chunk-45QAUEYT.js.map} +1 -1
  21. package/dist/{chunk-B67DP7MI.mjs → chunk-4GDWGWHY.mjs} +4 -4
  22. package/dist/{chunk-B67DP7MI.mjs.map → chunk-4GDWGWHY.mjs.map} +1 -1
  23. package/dist/{chunk-KR2X2WHJ.js → chunk-4ICEQJH4.js} +53 -53
  24. package/dist/{chunk-KR2X2WHJ.js.map → chunk-4ICEQJH4.js.map} +1 -1
  25. package/dist/{chunk-RXZNACMI.js → chunk-6MBWKOPF.js} +33 -33
  26. package/dist/{chunk-RXZNACMI.js.map → chunk-6MBWKOPF.js.map} +1 -1
  27. package/dist/{chunk-JN6IL6OH.mjs → chunk-AGGOHPMZ.mjs} +1054 -5229
  28. package/dist/chunk-AGGOHPMZ.mjs.map +1 -0
  29. package/dist/{chunk-5GDKCFM5.mjs → chunk-AL73YAV4.mjs} +3 -3
  30. package/dist/{chunk-5GDKCFM5.mjs.map → chunk-AL73YAV4.mjs.map} +1 -1
  31. package/dist/{chunk-ZJPNP2YW.mjs → chunk-BUDZNAKL.mjs} +2 -2
  32. package/dist/chunk-BUDZNAKL.mjs.map +1 -0
  33. package/dist/{chunk-OL73LBX5.mjs → chunk-BW67WFHT.mjs} +3 -4
  34. package/dist/chunk-BW67WFHT.mjs.map +1 -0
  35. package/dist/{chunk-W5OEBO6E.js → chunk-CF7GOUBQ.js} +13 -14
  36. package/dist/chunk-CF7GOUBQ.js.map +1 -0
  37. package/dist/{chunk-IRPS5UCS.mjs → chunk-CUWPLPVY.mjs} +3 -3
  38. package/dist/{chunk-IRPS5UCS.mjs.map → chunk-CUWPLPVY.mjs.map} +1 -1
  39. package/dist/{chunk-IJAKZHXX.js → chunk-ERCDMBRT.js} +683 -645
  40. package/dist/chunk-ERCDMBRT.js.map +1 -0
  41. package/dist/{chunk-I2NZGVBG.js → chunk-FSBR4RCK.js} +1101 -5313
  42. package/dist/chunk-FSBR4RCK.js.map +1 -0
  43. package/dist/{chunk-5RM6NGZ6.mjs → chunk-IDEM3DYF.mjs} +3 -3
  44. package/dist/{chunk-5RM6NGZ6.mjs.map → chunk-IDEM3DYF.mjs.map} +1 -1
  45. package/dist/{chunk-NJFRJ6YD.js → chunk-M7KSEUZR.js} +225 -384
  46. package/dist/chunk-M7KSEUZR.js.map +1 -0
  47. package/dist/{chunk-AOUUZ52N.js → chunk-MO5FBVV3.js} +85 -86
  48. package/dist/chunk-MO5FBVV3.js.map +1 -0
  49. package/dist/{chunk-BR2GAZKG.mjs → chunk-NAFWHJCM.mjs} +7 -7
  50. package/dist/{chunk-BR2GAZKG.mjs.map → chunk-NAFWHJCM.mjs.map} +1 -1
  51. package/dist/{chunk-3JJWPOK6.js → chunk-NCLZKVJK.js} +9 -10
  52. package/dist/chunk-NCLZKVJK.js.map +1 -0
  53. package/dist/{chunk-R4TQWXNG.mjs → chunk-NVQWHJQH.mjs} +6 -5
  54. package/dist/chunk-NVQWHJQH.mjs.map +1 -0
  55. package/dist/{chunk-ZL6C2ZAF.js → chunk-PGVZKMOA.js} +67 -67
  56. package/dist/{chunk-ZL6C2ZAF.js.map → chunk-PGVZKMOA.js.map} +1 -1
  57. package/dist/{chunk-UDDZTTLO.mjs → chunk-QBFE7ABE.mjs} +6 -7
  58. package/dist/chunk-QBFE7ABE.mjs.map +1 -0
  59. package/dist/{chunk-3ZUMJTDT.mjs → chunk-RFRXS4PC.mjs} +3 -4
  60. package/dist/{chunk-3JJWPOK6.js.map → chunk-RFRXS4PC.mjs.map} +1 -1
  61. package/dist/{chunk-ZV5EZXXO.mjs → chunk-RHRJXK5R.mjs} +3 -3
  62. package/dist/{chunk-ZV5EZXXO.mjs.map → chunk-RHRJXK5R.mjs.map} +1 -1
  63. package/dist/{chunk-MWPTSBAI.js → chunk-RLLP7VQJ.js} +26 -26
  64. package/dist/{chunk-MWPTSBAI.js.map → chunk-RLLP7VQJ.js.map} +1 -1
  65. package/dist/{chunk-GIQXB3BG.mjs → chunk-RLVOG5OQ.mjs} +3 -3
  66. package/dist/{chunk-GIQXB3BG.mjs.map → chunk-RLVOG5OQ.mjs.map} +1 -1
  67. package/dist/{chunk-2WXRRQM3.mjs → chunk-SEYUYGER.mjs} +553 -516
  68. package/dist/chunk-SEYUYGER.mjs.map +1 -0
  69. package/dist/{chunk-O6M3KDGT.mjs → chunk-SQ4KGLBZ.mjs} +4 -4
  70. package/dist/{chunk-O6M3KDGT.mjs.map → chunk-SQ4KGLBZ.mjs.map} +1 -1
  71. package/dist/{chunk-F54Q2YJY.js → chunk-SY4MUT5V.js} +7 -7
  72. package/dist/{chunk-F54Q2YJY.js.map → chunk-SY4MUT5V.js.map} +1 -1
  73. package/dist/{chunk-ZM5MVWIT.js → chunk-TUQLZ4QD.js} +5 -6
  74. package/dist/chunk-TUQLZ4QD.js.map +1 -0
  75. package/dist/{chunk-TVMLV675.js → chunk-UE2RDQIK.js} +98 -95
  76. package/dist/chunk-UE2RDQIK.js.map +1 -0
  77. package/dist/{chunk-HDCUWUNH.js → chunk-UJVDI66K.js} +28 -27
  78. package/dist/chunk-UJVDI66K.js.map +1 -0
  79. package/dist/{chunk-PCYL4MII.mjs → chunk-VV6SYMPM.mjs} +156 -314
  80. package/dist/chunk-VV6SYMPM.mjs.map +1 -0
  81. package/dist/{chunk-HZ4LOVHM.js → chunk-VY52Y5GC.js} +2 -2
  82. package/dist/chunk-VY52Y5GC.js.map +1 -0
  83. package/dist/{chunk-LEKZUS6N.mjs → chunk-X3GW7UPN.mjs} +4 -5
  84. package/dist/chunk-X3GW7UPN.mjs.map +1 -0
  85. package/dist/{chunk-OCELRSLO.js → chunk-Y2AYFG4E.js} +4 -4
  86. package/dist/{chunk-OCELRSLO.js.map → chunk-Y2AYFG4E.js.map} +1 -1
  87. package/dist/{chunk-TIJJHW2Z.js → chunk-YV7F7IXG.js} +36 -36
  88. package/dist/{chunk-TIJJHW2Z.js.map → chunk-YV7F7IXG.js.map} +1 -1
  89. package/dist/{chunk-MVBIAXVN.mjs → chunk-ZKSDDFHG.mjs} +14 -11
  90. package/dist/chunk-ZKSDDFHG.mjs.map +1 -0
  91. package/dist/{index-VI9gyJXl.d.mts → index-BNRGVAS5.d.mts} +9 -2
  92. package/dist/index-BoebbJ44.d.mts +49 -0
  93. package/dist/index-BoebbJ44.d.ts +49 -0
  94. package/dist/{index-CoB18TbG.d.ts → index-CnCY-b5V.d.ts} +9 -2
  95. package/dist/index.d.mts +399 -548
  96. package/dist/index.d.ts +399 -548
  97. package/dist/index.js +727 -887
  98. package/dist/index.mjs +3 -3
  99. package/dist/platform/admin/index.js +12 -12
  100. package/dist/platform/admin/index.mjs +6 -6
  101. package/dist/platform/agents-workspace.js +8 -8
  102. package/dist/platform/agents-workspace.mjs +7 -7
  103. package/dist/platform/app-shell.js +5 -5
  104. package/dist/platform/app-shell.mjs +4 -4
  105. package/dist/platform/auth/index.js +29 -29
  106. package/dist/platform/auth/index.mjs +6 -6
  107. package/dist/platform/billing/index.js +5 -5
  108. package/dist/platform/billing/index.mjs +4 -4
  109. package/dist/platform/impersonation/index.js +5 -5
  110. package/dist/platform/impersonation/index.mjs +4 -4
  111. package/dist/platform/index.d.mts +3 -39
  112. package/dist/platform/index.d.ts +3 -39
  113. package/dist/platform/index.js +95 -4805
  114. package/dist/platform/index.js.map +1 -1
  115. package/dist/platform/index.mjs +23 -4728
  116. package/dist/platform/index.mjs.map +1 -1
  117. package/dist/platform/pages/index.d.mts +4 -4
  118. package/dist/platform/pages/index.d.ts +4 -4
  119. package/dist/platform/pages/index.js +197 -197
  120. package/dist/platform/pages/index.mjs +9 -9
  121. package/dist/platform/rbac.d.mts +2 -1
  122. package/dist/platform/rbac.d.ts +2 -1
  123. package/dist/platform/rbac.js +2 -2
  124. package/dist/platform/rbac.mjs +1 -1
  125. package/dist/platform/settings/index.js +9 -9
  126. package/dist/platform/settings/index.mjs +8 -8
  127. package/dist/platform/utils/index.js +3 -3
  128. package/dist/platform/utils/index.js.map +1 -1
  129. package/dist/platform/utils/index.mjs +1 -1
  130. package/dist/platform/utils/index.mjs.map +1 -1
  131. package/dist/platform/workflow-api-client.d.mts +2 -2
  132. package/dist/platform/workflow-api-client.d.ts +2 -2
  133. package/dist/platform/workflow-api-client.js +62 -62
  134. package/dist/platform/workflow-api-client.mjs +2 -2
  135. package/dist/platform/workflow-canvas-shell.js +6 -6
  136. package/dist/platform/workflow-canvas-shell.mjs +5 -5
  137. package/dist/{workflow-api-client-DoYj7nHz.d.mts → workflow-api-client-CpFl3WcG.d.mts} +1 -1
  138. package/dist/{workflow-api-client-BKD8OfP_.d.ts → workflow-api-client-uLICOanv.d.ts} +1 -1
  139. package/dist/workflow-canvas--qaYKuMm.d.ts +113 -0
  140. package/dist/workflow-canvas-B80fmD_n.d.mts +113 -0
  141. package/package.json +15 -5
  142. package/src/styles/liquid-glass.css +283 -2
  143. package/dist/chunk-2WXRRQM3.mjs.map +0 -1
  144. package/dist/chunk-3ZUMJTDT.mjs.map +0 -1
  145. package/dist/chunk-AOUUZ52N.js.map +0 -1
  146. package/dist/chunk-FAGDZEKM.js.map +0 -1
  147. package/dist/chunk-HDCUWUNH.js.map +0 -1
  148. package/dist/chunk-HZ4LOVHM.js.map +0 -1
  149. package/dist/chunk-I2NZGVBG.js.map +0 -1
  150. package/dist/chunk-IJAKZHXX.js.map +0 -1
  151. package/dist/chunk-JN6IL6OH.mjs.map +0 -1
  152. package/dist/chunk-LEKZUS6N.mjs.map +0 -1
  153. package/dist/chunk-MVBIAXVN.mjs.map +0 -1
  154. package/dist/chunk-NJFRJ6YD.js.map +0 -1
  155. package/dist/chunk-OL73LBX5.mjs.map +0 -1
  156. package/dist/chunk-PCYL4MII.mjs.map +0 -1
  157. package/dist/chunk-R4TQWXNG.mjs.map +0 -1
  158. package/dist/chunk-SYNVNTLJ.mjs.map +0 -1
  159. package/dist/chunk-TVMLV675.js.map +0 -1
  160. package/dist/chunk-UDDZTTLO.mjs.map +0 -1
  161. package/dist/chunk-W5OEBO6E.js.map +0 -1
  162. package/dist/chunk-ZJPNP2YW.mjs.map +0 -1
  163. package/dist/chunk-ZM5MVWIT.js.map +0 -1
  164. package/src/brand/logos/kori-icon.svg +0 -45
  165. package/src/brand/logos/kori-logo-dark.svg +0 -40
  166. package/src/brand/logos/kori-logo.svg +0 -43
@@ -2,18 +2,18 @@
2
2
  'use strict';
3
3
 
4
4
  var chunk3T2WGL47_js = require('../../chunk-3T2WGL47.js');
5
- var chunkMWPTSBAI_js = require('../../chunk-MWPTSBAI.js');
6
- var chunkTIJJHW2Z_js = require('../../chunk-TIJJHW2Z.js');
7
- var chunkIJAKZHXX_js = require('../../chunk-IJAKZHXX.js');
5
+ var chunkRLLP7VQJ_js = require('../../chunk-RLLP7VQJ.js');
6
+ var chunkYV7F7IXG_js = require('../../chunk-YV7F7IXG.js');
7
+ var chunkERCDMBRT_js = require('../../chunk-ERCDMBRT.js');
8
8
  require('../../chunk-55H6WZQP.js');
9
9
  require('../../chunk-DJDZIRM6.js');
10
- require('../../chunk-NJFRJ6YD.js');
11
- var chunkI2NZGVBG_js = require('../../chunk-I2NZGVBG.js');
10
+ require('../../chunk-M7KSEUZR.js');
11
+ var chunkFSBR4RCK_js = require('../../chunk-FSBR4RCK.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-F54Q2YJY.js');
16
- require('../../chunk-FAGDZEKM.js');
15
+ require('../../chunk-SY4MUT5V.js');
16
+ require('../../chunk-2OZZH2IO.js');
17
17
  require('../../chunk-P4YYEM4B.js');
18
18
  require('../../chunk-72SWXOD5.js');
19
19
  var outline = require('@heroicons/react/24/outline');
@@ -22,7 +22,7 @@ var react = require('react');
22
22
 
23
23
  function AgentsModelsPageView({ labels, models, loading }) {
24
24
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
25
- chunkI2NZGVBG_js.HeroSection,
25
+ chunkFSBR4RCK_js.HeroSection,
26
26
  {
27
27
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CubeTransparentIcon, { className: "h-5 w-5" }),
28
28
  label: labels.title,
@@ -31,25 +31,25 @@ function AgentsModelsPageView({ labels, models, loading }) {
31
31
  gradient: "from-emerald-500 to-teal-700"
32
32
  }
33
33
  );
34
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.PageLoadingState, {}) : models.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_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
- chunkI2NZGVBG_js.EntityCard,
34
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.PageLoadingState, {}) : models.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_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
+ chunkFSBR4RCK_js.EntityCard,
36
36
  {
37
37
  accentGradient: "from-emerald-500 to-teal-700",
38
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" }) }),
39
39
  title: model.name,
40
40
  subtitle: `${labels.provider}: ${model.provider}`,
41
- status: /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Badge, { color: model.enabled ? "emerald" : "zinc", children: model.enabled ? labels.enabled : labels.disabled })
41
+ status: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Badge, { color: model.enabled ? "emerald" : "zinc", children: model.enabled ? labels.enabled : labels.disabled })
42
42
  },
43
43
  model.id
44
44
  )) });
45
- return /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.ManagementPageLayout, { hero, content });
45
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.ManagementPageLayout, { hero, content });
46
46
  }
47
47
  function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpdate, onDelete }) {
48
48
  const [editing, setEditing] = react.useState(null);
49
49
  const [createOpen, setCreateOpen] = react.useState(false);
50
50
  const modelOptions = models.map((model) => ({ value: model.id, label: `${model.name} (${model.provider})` }));
51
51
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
52
- chunkI2NZGVBG_js.HeroSection,
52
+ chunkFSBR4RCK_js.HeroSection,
53
53
  {
54
54
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
55
55
  label: labels.title,
@@ -57,7 +57,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
57
57
  subtitle: labels.subtitle,
58
58
  gradient: "from-violet-500 to-indigo-700",
59
59
  toolbar: /* @__PURE__ */ jsxRuntime.jsx(
60
- chunkI2NZGVBG_js.CreateActionButton,
60
+ chunkFSBR4RCK_js.CreateActionButton,
61
61
  {
62
62
  mode: "desktop",
63
63
  label: labels.addAgent,
@@ -68,7 +68,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
68
68
  }
69
69
  );
70
70
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
71
- chunkI2NZGVBG_js.CreateActionButton,
71
+ chunkFSBR4RCK_js.CreateActionButton,
72
72
  {
73
73
  mode: "mobile",
74
74
  label: labels.addAgent,
@@ -76,23 +76,23 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
76
76
  accent: "violet"
77
77
  }
78
78
  );
79
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.PageLoadingState, {}) : agents.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_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(chunkFSBR4RCK_js.PageLoadingState, {}) : agents.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_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) => {
80
80
  const modelRecord = models.find((model) => model.id === String(agent.modelId ?? ""));
81
81
  return /* @__PURE__ */ jsxRuntime.jsx(
82
- chunkI2NZGVBG_js.EntityCard,
82
+ chunkFSBR4RCK_js.EntityCard,
83
83
  {
84
84
  accentGradient: "from-violet-500 to-indigo-700",
85
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" }) }),
86
86
  title: String(agent.name ?? ""),
87
87
  subtitle: String(modelRecord?.name ?? agent.modelId ?? ""),
88
- status: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkI2NZGVBG_js.Badge, { color: "emerald", children: [
88
+ status: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.Badge, { color: "emerald", children: [
89
89
  "v",
90
90
  agent.activePromptVersion
91
91
  ] }) : null,
92
92
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
93
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(agent), children: labels.edit }),
93
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(agent), children: labels.edit }),
94
94
  /* @__PURE__ */ jsxRuntime.jsx(
95
- chunkI2NZGVBG_js.Button,
95
+ chunkFSBR4RCK_js.Button,
96
96
  {
97
97
  type: "button",
98
98
  size: "sm",
@@ -116,7 +116,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
116
116
  );
117
117
  }) });
118
118
  const renderForm = (initial, onSubmit) => /* @__PURE__ */ jsxRuntime.jsx(
119
- chunkI2NZGVBG_js.GlassModal,
119
+ chunkFSBR4RCK_js.GlassModal,
120
120
  {
121
121
  open: true,
122
122
  onClose: () => {
@@ -139,18 +139,18 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
139
139
  outputSchema: String(form.get("outputSchema") ?? "").trim() || void 0
140
140
  });
141
141
  },
142
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkI2NZGVBG_js.FormGrid, { children: [
143
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.FormInput, { name: "name", label: labels.name, defaultValue: initial.name ?? "", required: true }),
144
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.FormSelect, { name: "modelId", label: labels.model, options: modelOptions, defaultValue: initial.modelId ?? modelOptions[0]?.value ?? "", required: true }),
145
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.FormInput, { name: "maxTokens", label: String(labels.maxTokens), type: "number", defaultValue: String(initial.maxTokens ?? 2048) }),
146
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_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(chunkI2NZGVBG_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, defaultValue: initial.systemPrompt ?? "", rows: 4 }),
148
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.FormTextarea, { name: "outputSchema", label: labels.outputSchema, placeholder: labels.outputSchemaPlaceholder, defaultValue: initial.outputSchema ?? "", rows: 4 })
142
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.FormGrid, { children: [
143
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormInput, { name: "name", label: labels.name, defaultValue: initial.name ?? "", required: true }),
144
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormSelect, { name: "modelId", label: labels.model, options: modelOptions, defaultValue: initial.modelId ?? modelOptions[0]?.value ?? "", required: true }),
145
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormInput, { name: "maxTokens", label: String(labels.maxTokens), type: "number", defaultValue: String(initial.maxTokens ?? 2048) }),
146
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_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(chunkFSBR4RCK_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, defaultValue: initial.systemPrompt ?? "", rows: 4 }),
148
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormTextarea, { name: "outputSchema", label: labels.outputSchema, placeholder: labels.outputSchemaPlaceholder, defaultValue: initial.outputSchema ?? "", rows: 4 })
149
149
  ] })
150
150
  }
151
151
  );
152
152
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
153
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.ManagementPageLayout, { hero, content, mobileAction }),
153
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.ManagementPageLayout, { hero, content, mobileAction }),
154
154
  createOpen && renderForm({ title: labels.createTitle }, (input) => {
155
155
  onCreate(input);
156
156
  setCreateOpen(false);
@@ -199,7 +199,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
199
199
  return map;
200
200
  }, [agents]);
201
201
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
202
- chunkI2NZGVBG_js.HeroSection,
202
+ chunkFSBR4RCK_js.HeroSection,
203
203
  {
204
204
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ChatBubbleLeftEllipsisIcon, { className: "h-5 w-5" }),
205
205
  label: labels.title,
@@ -207,7 +207,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
207
207
  subtitle: labels.subtitle,
208
208
  gradient: "from-sky-500 to-blue-700",
209
209
  toolbar: /* @__PURE__ */ jsxRuntime.jsx(
210
- chunkI2NZGVBG_js.CreateActionButton,
210
+ chunkFSBR4RCK_js.CreateActionButton,
211
211
  {
212
212
  mode: "desktop",
213
213
  label: labels.addPrompt,
@@ -218,7 +218,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
218
218
  }
219
219
  );
220
220
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
221
- chunkI2NZGVBG_js.CreateActionButton,
221
+ chunkFSBR4RCK_js.CreateActionButton,
222
222
  {
223
223
  mode: "mobile",
224
224
  label: labels.addPrompt,
@@ -226,21 +226,21 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
226
226
  accent: "sky"
227
227
  }
228
228
  );
229
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.PageLoadingState, {}) : prompts.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_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(chunkFSBR4RCK_js.PageLoadingState, {}) : prompts.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_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) => {
230
230
  const agentName = agentNameById.get(prompt.agentId) ?? prompt.agentId;
231
231
  const key = `${prompt.agentId}:${prompt.locale}:${prompt.version}`;
232
232
  return /* @__PURE__ */ jsxRuntime.jsx(
233
- chunkI2NZGVBG_js.EntityCard,
233
+ chunkFSBR4RCK_js.EntityCard,
234
234
  {
235
235
  accentGradient: "from-sky-500 to-blue-700",
236
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" }) }),
237
237
  title: agentName,
238
238
  subtitle: `${prompt.locale} \xB7 v${prompt.version}`,
239
- status: prompt.isActive ? /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Badge, { color: "emerald", children: labels.isActive }) : null,
239
+ status: prompt.isActive ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Badge, { color: "emerald", children: labels.isActive }) : null,
240
240
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
241
- !prompt.isActive && /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onActivate(prompt), children: labels.activate }),
241
+ !prompt.isActive && /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onActivate(prompt), children: labels.activate }),
242
242
  /* @__PURE__ */ jsxRuntime.jsx(
243
- chunkI2NZGVBG_js.Button,
243
+ chunkFSBR4RCK_js.Button,
244
244
  {
245
245
  type: "button",
246
246
  size: "sm",
@@ -258,9 +258,9 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
258
258
  );
259
259
  }) });
260
260
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
261
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.ManagementPageLayout, { hero, content, mobileAction }),
261
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.ManagementPageLayout, { hero, content, mobileAction }),
262
262
  /* @__PURE__ */ jsxRuntime.jsx(
263
- chunkI2NZGVBG_js.GlassModal,
263
+ chunkFSBR4RCK_js.GlassModal,
264
264
  {
265
265
  open: createOpen,
266
266
  onClose: () => setCreateOpen(false),
@@ -284,11 +284,11 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
284
284
  });
285
285
  setCreateOpen(false);
286
286
  },
287
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkI2NZGVBG_js.FormGrid, { children: [
288
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.FormSelect, { name: "agentId", label: labels.agent, options: agentOptions, required: true }),
289
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.FormSelect, { name: "locale", label: labels.locale, options: LOCALE_OPTIONS, defaultValue: "en" }),
287
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.FormGrid, { children: [
288
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormSelect, { name: "agentId", label: labels.agent, options: agentOptions, required: true }),
289
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormSelect, { name: "locale", label: labels.locale, options: LOCALE_OPTIONS, defaultValue: "en" }),
290
290
  /* @__PURE__ */ jsxRuntime.jsx(
291
- chunkI2NZGVBG_js.FormSelect,
291
+ chunkFSBR4RCK_js.FormSelect,
292
292
  {
293
293
  name: "isActive",
294
294
  label: labels.isActive,
@@ -296,10 +296,10 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
296
296
  defaultValue: "true"
297
297
  }
298
298
  ),
299
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.FormInput, { name: "reason", label: labels.reason }),
300
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, rows: 3 }),
301
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.FormTextarea, { name: "userTemplate", label: labels.userTemplate, rows: 3 }),
302
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.FormTextarea, { name: "prompt", label: labels.prompt, rows: 6, required: true })
299
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormInput, { name: "reason", label: labels.reason }),
300
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, rows: 3 }),
301
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormTextarea, { name: "userTemplate", label: labels.userTemplate, rows: 3 }),
302
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormTextarea, { name: "prompt", label: labels.prompt, rows: 6, required: true })
303
303
  ] })
304
304
  }
305
305
  )
@@ -330,7 +330,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
330
330
  const [editing, setEditing] = react.useState(null);
331
331
  const [createOpen, setCreateOpen] = react.useState(false);
332
332
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
333
- chunkI2NZGVBG_js.HeroSection,
333
+ chunkFSBR4RCK_js.HeroSection,
334
334
  {
335
335
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-5 w-5" }),
336
336
  label: labels.title,
@@ -338,7 +338,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
338
338
  subtitle: labels.subtitle,
339
339
  gradient: "from-amber-500 to-orange-700",
340
340
  toolbar: /* @__PURE__ */ jsxRuntime.jsx(
341
- chunkI2NZGVBG_js.CreateActionButton,
341
+ chunkFSBR4RCK_js.CreateActionButton,
342
342
  {
343
343
  mode: "desktop",
344
344
  label: labels.addTool,
@@ -349,7 +349,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
349
349
  }
350
350
  );
351
351
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
352
- chunkI2NZGVBG_js.CreateActionButton,
352
+ chunkFSBR4RCK_js.CreateActionButton,
353
353
  {
354
354
  mode: "mobile",
355
355
  label: labels.addTool,
@@ -357,18 +357,18 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
357
357
  accent: "amber"
358
358
  }
359
359
  );
360
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.PageLoadingState, {}) : tools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_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
- chunkI2NZGVBG_js.EntityCard,
360
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.PageLoadingState, {}) : tools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_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
+ chunkFSBR4RCK_js.EntityCard,
362
362
  {
363
363
  accentGradient: "from-amber-500 to-orange-700",
364
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" }) }),
365
365
  title: tool.name,
366
366
  subtitle: toolTypeLabel(tool),
367
- status: /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Badge, { color: tool.enabled ? "emerald" : "zinc", children: tool.enabled ? labels.enabled : labels.disabled }),
367
+ status: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Badge, { color: tool.enabled ? "emerald" : "zinc", children: tool.enabled ? labels.enabled : labels.disabled }),
368
368
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
369
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(tool), children: labels.edit }),
369
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(tool), children: labels.edit }),
370
370
  /* @__PURE__ */ jsxRuntime.jsx(
371
- chunkI2NZGVBG_js.Button,
371
+ chunkFSBR4RCK_js.Button,
372
372
  {
373
373
  type: "button",
374
374
  size: "sm",
@@ -385,7 +385,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
385
385
  tool.agentToolId
386
386
  )) });
387
387
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
388
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.ManagementPageLayout, { hero, content, mobileAction }),
388
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.ManagementPageLayout, { hero, content, mobileAction }),
389
389
  createOpen && /* @__PURE__ */ jsxRuntime.jsx(
390
390
  ToolEditor,
391
391
  {
@@ -443,7 +443,7 @@ function ToolEditor({
443
443
  setValue((v) => ({ ...v, [key]: next }));
444
444
  };
445
445
  return /* @__PURE__ */ jsxRuntime.jsx(
446
- chunkI2NZGVBG_js.GlassModal,
446
+ chunkFSBR4RCK_js.GlassModal,
447
447
  {
448
448
  open: true,
449
449
  onClose,
@@ -456,9 +456,9 @@ function ToolEditor({
456
456
  handleSubmit();
457
457
  },
458
458
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
459
- /* @__PURE__ */ jsxRuntime.jsxs(chunkI2NZGVBG_js.FormGrid, { children: [
459
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.FormGrid, { children: [
460
460
  /* @__PURE__ */ jsxRuntime.jsx(
461
- chunkI2NZGVBG_js.FormInput,
461
+ chunkFSBR4RCK_js.FormInput,
462
462
  {
463
463
  label: "Name",
464
464
  required: true,
@@ -468,7 +468,7 @@ function ToolEditor({
468
468
  }
469
469
  ),
470
470
  /* @__PURE__ */ jsxRuntime.jsx(
471
- chunkI2NZGVBG_js.FormSelect,
471
+ chunkFSBR4RCK_js.FormSelect,
472
472
  {
473
473
  label: "Tool type",
474
474
  value: value.toolType,
@@ -478,7 +478,7 @@ function ToolEditor({
478
478
  }
479
479
  ),
480
480
  /* @__PURE__ */ jsxRuntime.jsx(
481
- chunkI2NZGVBG_js.FormSelect,
481
+ chunkFSBR4RCK_js.FormSelect,
482
482
  {
483
483
  label: "Enabled",
484
484
  value: value.enabled ? "true" : "false",
@@ -487,7 +487,7 @@ function ToolEditor({
487
487
  }
488
488
  ),
489
489
  /* @__PURE__ */ jsxRuntime.jsx(
490
- chunkI2NZGVBG_js.FormInput,
490
+ chunkFSBR4RCK_js.FormInput,
491
491
  {
492
492
  label: "Icon (optional)",
493
493
  value: value.icon ?? "",
@@ -497,7 +497,7 @@ function ToolEditor({
497
497
  )
498
498
  ] }),
499
499
  /* @__PURE__ */ jsxRuntime.jsx(
500
- chunkI2NZGVBG_js.FormTextarea,
500
+ chunkFSBR4RCK_js.FormTextarea,
501
501
  {
502
502
  label: "Description",
503
503
  rows: 2,
@@ -545,7 +545,7 @@ function ParametersEditor({
545
545
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
546
546
  parameters.map((param, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[1fr_160px_1fr_110px_auto] items-end gap-2", children: [
547
547
  /* @__PURE__ */ jsxRuntime.jsx(
548
- chunkI2NZGVBG_js.FormInput,
548
+ chunkFSBR4RCK_js.FormInput,
549
549
  {
550
550
  label: "Name",
551
551
  value: param.name,
@@ -554,7 +554,7 @@ function ParametersEditor({
554
554
  }
555
555
  ),
556
556
  /* @__PURE__ */ jsxRuntime.jsx(
557
- chunkI2NZGVBG_js.FormSelect,
557
+ chunkFSBR4RCK_js.FormSelect,
558
558
  {
559
559
  label: "Type",
560
560
  value: param.type,
@@ -563,7 +563,7 @@ function ParametersEditor({
563
563
  }
564
564
  ),
565
565
  /* @__PURE__ */ jsxRuntime.jsx(
566
- chunkI2NZGVBG_js.FormInput,
566
+ chunkFSBR4RCK_js.FormInput,
567
567
  {
568
568
  label: "Description",
569
569
  value: param.description,
@@ -582,9 +582,9 @@ function ParametersEditor({
582
582
  ),
583
583
  "Required"
584
584
  ] }),
585
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Button, { type: "button", plain: true, onClick: () => remove(index), children: "Remove" })
585
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", plain: true, onClick: () => remove(index), children: "Remove" })
586
586
  ] }, index)),
587
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Button, { type: "button", outline: true, onClick: add, children: "+ Add parameter" })
587
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", outline: true, onClick: add, children: "+ Add parameter" })
588
588
  ] })
589
589
  ] });
590
590
  }
@@ -597,9 +597,9 @@ function HandlerConfigEditor({
597
597
  if (toolType === "http") {
598
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: [
599
599
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "HTTP handler" }),
600
- /* @__PURE__ */ jsxRuntime.jsxs(chunkI2NZGVBG_js.FormGrid, { children: [
600
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.FormGrid, { children: [
601
601
  /* @__PURE__ */ jsxRuntime.jsx(
602
- chunkI2NZGVBG_js.FormSelect,
602
+ chunkFSBR4RCK_js.FormSelect,
603
603
  {
604
604
  label: "Method",
605
605
  value: stringProp(config, "method", "GET"),
@@ -608,7 +608,7 @@ function HandlerConfigEditor({
608
608
  }
609
609
  ),
610
610
  /* @__PURE__ */ jsxRuntime.jsx(
611
- chunkI2NZGVBG_js.FormInput,
611
+ chunkFSBR4RCK_js.FormInput,
612
612
  {
613
613
  label: "URL template",
614
614
  value: stringProp(config, "url"),
@@ -618,7 +618,7 @@ function HandlerConfigEditor({
618
618
  )
619
619
  ] }),
620
620
  /* @__PURE__ */ jsxRuntime.jsx(
621
- chunkI2NZGVBG_js.FormTextarea,
621
+ chunkFSBR4RCK_js.FormTextarea,
622
622
  {
623
623
  label: "Headers (JSON)",
624
624
  rows: 3,
@@ -628,7 +628,7 @@ function HandlerConfigEditor({
628
628
  }
629
629
  ),
630
630
  /* @__PURE__ */ jsxRuntime.jsx(
631
- chunkI2NZGVBG_js.FormTextarea,
631
+ chunkFSBR4RCK_js.FormTextarea,
632
632
  {
633
633
  label: "Body template",
634
634
  rows: 3,
@@ -643,7 +643,7 @@ function HandlerConfigEditor({
643
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: [
644
644
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Function handler" }),
645
645
  /* @__PURE__ */ jsxRuntime.jsx(
646
- chunkI2NZGVBG_js.FormInput,
646
+ chunkFSBR4RCK_js.FormInput,
647
647
  {
648
648
  label: "Implementation key",
649
649
  value: stringProp(config, "implementationKey"),
@@ -657,9 +657,9 @@ function HandlerConfigEditor({
657
657
  if (toolType === "database_query") {
658
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: [
659
659
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Database query handler" }),
660
- /* @__PURE__ */ jsxRuntime.jsxs(chunkI2NZGVBG_js.FormGrid, { children: [
660
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.FormGrid, { children: [
661
661
  /* @__PURE__ */ jsxRuntime.jsx(
662
- chunkI2NZGVBG_js.FormInput,
662
+ chunkFSBR4RCK_js.FormInput,
663
663
  {
664
664
  label: "Datasource ID",
665
665
  value: stringProp(config, "datasourceId"),
@@ -668,7 +668,7 @@ function HandlerConfigEditor({
668
668
  }
669
669
  ),
670
670
  /* @__PURE__ */ jsxRuntime.jsx(
671
- chunkI2NZGVBG_js.FormInput,
671
+ chunkFSBR4RCK_js.FormInput,
672
672
  {
673
673
  label: "Max rows",
674
674
  type: "number",
@@ -678,7 +678,7 @@ function HandlerConfigEditor({
678
678
  )
679
679
  ] }),
680
680
  /* @__PURE__ */ jsxRuntime.jsx(
681
- chunkI2NZGVBG_js.FormTextarea,
681
+ chunkFSBR4RCK_js.FormTextarea,
682
682
  {
683
683
  label: "Query template",
684
684
  rows: 4,
@@ -694,7 +694,7 @@ function HandlerConfigEditor({
694
694
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Code execution handler" }),
695
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." }),
696
696
  /* @__PURE__ */ jsxRuntime.jsx(
697
- chunkI2NZGVBG_js.FormSelect,
697
+ chunkFSBR4RCK_js.FormSelect,
698
698
  {
699
699
  label: "Language",
700
700
  value: stringProp(config, "language", "javascript"),
@@ -706,7 +706,7 @@ function HandlerConfigEditor({
706
706
  }
707
707
  ),
708
708
  /* @__PURE__ */ jsxRuntime.jsx(
709
- chunkI2NZGVBG_js.FormTextarea,
709
+ chunkFSBR4RCK_js.FormTextarea,
710
710
  {
711
711
  label: "Code",
712
712
  rows: 6,
@@ -719,9 +719,9 @@ function HandlerConfigEditor({
719
719
  }
720
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: [
721
721
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "API call handler" }),
722
- /* @__PURE__ */ jsxRuntime.jsxs(chunkI2NZGVBG_js.FormGrid, { children: [
722
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.FormGrid, { children: [
723
723
  /* @__PURE__ */ jsxRuntime.jsx(
724
- chunkI2NZGVBG_js.FormInput,
724
+ chunkFSBR4RCK_js.FormInput,
725
725
  {
726
726
  label: "URL",
727
727
  value: stringProp(config, "url"),
@@ -729,7 +729,7 @@ function HandlerConfigEditor({
729
729
  }
730
730
  ),
731
731
  /* @__PURE__ */ jsxRuntime.jsx(
732
- chunkI2NZGVBG_js.FormSelect,
732
+ chunkFSBR4RCK_js.FormSelect,
733
733
  {
734
734
  label: "Auth",
735
735
  value: stringProp(config, "authType", "bearer"),
@@ -743,7 +743,7 @@ function HandlerConfigEditor({
743
743
  }
744
744
  ),
745
745
  /* @__PURE__ */ jsxRuntime.jsx(
746
- chunkI2NZGVBG_js.FormInput,
746
+ chunkFSBR4RCK_js.FormInput,
747
747
  {
748
748
  label: "Credential secret id",
749
749
  value: stringProp(config, "credentialRef"),
@@ -872,7 +872,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
872
872
  const [createOpen, setCreateOpen] = react.useState(false);
873
873
  const [editing, setEditing] = react.useState(null);
874
874
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
875
- chunkI2NZGVBG_js.HeroSection,
875
+ chunkFSBR4RCK_js.HeroSection,
876
876
  {
877
877
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.AdjustmentsHorizontalIcon, { className: "h-5 w-5" }),
878
878
  label: labels.title,
@@ -880,7 +880,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
880
880
  subtitle: labels.subtitle,
881
881
  gradient: "from-fuchsia-500 to-purple-700",
882
882
  toolbar: /* @__PURE__ */ jsxRuntime.jsx(
883
- chunkI2NZGVBG_js.CreateActionButton,
883
+ chunkFSBR4RCK_js.CreateActionButton,
884
884
  {
885
885
  mode: "desktop",
886
886
  label: labels.addRule,
@@ -891,7 +891,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
891
891
  }
892
892
  );
893
893
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
894
- chunkI2NZGVBG_js.CreateActionButton,
894
+ chunkFSBR4RCK_js.CreateActionButton,
895
895
  {
896
896
  mode: "mobile",
897
897
  label: labels.addRule,
@@ -899,18 +899,18 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
899
899
  accent: "fuchsia"
900
900
  }
901
901
  );
902
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.PageLoadingState, {}) : rules.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_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
- chunkI2NZGVBG_js.EntityCard,
902
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.PageLoadingState, {}) : rules.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_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
+ chunkFSBR4RCK_js.EntityCard,
904
904
  {
905
905
  accentGradient: "from-fuchsia-500 to-purple-700",
906
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" }) }),
907
907
  title: rule.name,
908
908
  subtitle: `${labels.order}: ${rule.order ?? 0}`,
909
- status: /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Badge, { color: rule.enabled ? "emerald" : "zinc", children: rule.enabled ? labels.enabled : labels.disabled }),
909
+ status: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Badge, { color: rule.enabled ? "emerald" : "zinc", children: rule.enabled ? labels.enabled : labels.disabled }),
910
910
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
911
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(rule), children: labels.edit }),
911
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(rule), children: labels.edit }),
912
912
  /* @__PURE__ */ jsxRuntime.jsx(
913
- chunkI2NZGVBG_js.Button,
913
+ chunkFSBR4RCK_js.Button,
914
914
  {
915
915
  type: "button",
916
916
  size: "sm",
@@ -927,13 +927,13 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
927
927
  rule.ruleId
928
928
  )) });
929
929
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
930
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.ManagementPageLayout, { hero, content, mobileAction }),
930
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.ManagementPageLayout, { hero, content, mobileAction }),
931
931
  createOpen && /* @__PURE__ */ jsxRuntime.jsx(
932
932
  RuleEditor,
933
933
  {
934
934
  title: labels.createTitle,
935
935
  saveLabel: labels.save,
936
- initial: chunkIJAKZHXX_js.defaultRuleForm(),
936
+ initial: chunkERCDMBRT_js.defaultRuleForm(),
937
937
  onClose: () => setCreateOpen(false),
938
938
  onSubmit: (value) => {
939
939
  onCreate(value);
@@ -965,7 +965,7 @@ function RuleEditor({
965
965
  }) {
966
966
  const [value, setValue] = react.useState(initial);
967
967
  return /* @__PURE__ */ jsxRuntime.jsx(
968
- chunkI2NZGVBG_js.GlassModal,
968
+ chunkFSBR4RCK_js.GlassModal,
969
969
  {
970
970
  open: true,
971
971
  onClose,
@@ -977,12 +977,12 @@ function RuleEditor({
977
977
  event.preventDefault();
978
978
  onSubmit(value);
979
979
  },
980
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkIJAKZHXX_js.RuleForm, { value, onChange: setValue })
980
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkERCDMBRT_js.RuleForm, { value, onChange: setValue })
981
981
  }
982
982
  );
983
983
  }
984
984
  function ruleToFormValue(rule) {
985
- const base = chunkIJAKZHXX_js.defaultRuleForm();
985
+ const base = chunkERCDMBRT_js.defaultRuleForm();
986
986
  const rawCondition = rule.condition ?? rule.conditions;
987
987
  const rawAction = pickAction(rule);
988
988
  return {
@@ -1113,7 +1113,7 @@ var SAMPLE_DATASOURCES = [
1113
1113
  ];
1114
1114
  function getDialectLabel(dialect) {
1115
1115
  if (!dialect) return "Unknown";
1116
- for (const category of chunkTIJJHW2Z_js.DIALECT_CATEGORIES) {
1116
+ for (const category of chunkYV7F7IXG_js.DIALECT_CATEGORIES) {
1117
1117
  const found = category.dialects.find((d) => d.value === dialect);
1118
1118
  if (found) return found.label;
1119
1119
  }
@@ -1121,12 +1121,12 @@ function getDialectLabel(dialect) {
1121
1121
  }
1122
1122
  function getDialectGradient(dialect) {
1123
1123
  if (!dialect) return "from-gray-400 to-gray-500";
1124
- const category = chunkTIJJHW2Z_js.findCategory(dialect);
1124
+ const category = chunkYV7F7IXG_js.findCategory(dialect);
1125
1125
  return category?.gradient ?? "from-gray-400 to-gray-500";
1126
1126
  }
1127
1127
  function getDialectIcon(dialect) {
1128
1128
  if (!dialect) return outline.CircleStackIcon;
1129
- const category = chunkTIJJHW2Z_js.findCategory(dialect);
1129
+ const category = chunkYV7F7IXG_js.findCategory(dialect);
1130
1130
  return category?.icon ?? outline.CircleStackIcon;
1131
1131
  }
1132
1132
  var DIALECT_LOGO = {
@@ -1194,7 +1194,7 @@ function DatasourcesPageView({
1194
1194
  }
1195
1195
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
1196
1196
  /* @__PURE__ */ jsxRuntime.jsx(
1197
- chunkI2NZGVBG_js.HeroSection,
1197
+ chunkFSBR4RCK_js.HeroSection,
1198
1198
  {
1199
1199
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CircleStackIcon, { className: "h-5 w-5" }),
1200
1200
  label: labels.title,
@@ -1202,7 +1202,7 @@ function DatasourcesPageView({
1202
1202
  subtitle: labels.subtitle,
1203
1203
  gradient: "from-amber-500 to-orange-600",
1204
1204
  toolbar: /* @__PURE__ */ jsxRuntime.jsx(
1205
- chunkI2NZGVBG_js.CreateActionButton,
1205
+ chunkFSBR4RCK_js.CreateActionButton,
1206
1206
  {
1207
1207
  mode: "desktop",
1208
1208
  label: labels.addDatasource,
@@ -1213,7 +1213,7 @@ function DatasourcesPageView({
1213
1213
  }
1214
1214
  ),
1215
1215
  /* @__PURE__ */ jsxRuntime.jsx(
1216
- chunkI2NZGVBG_js.CreateActionButton,
1216
+ chunkFSBR4RCK_js.CreateActionButton,
1217
1217
  {
1218
1218
  mode: "mobile",
1219
1219
  label: labels.addDatasource,
@@ -1222,7 +1222,7 @@ function DatasourcesPageView({
1222
1222
  }
1223
1223
  ),
1224
1224
  isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
1225
- chunkI2NZGVBG_js.PageEmptyState,
1225
+ chunkFSBR4RCK_js.PageEmptyState,
1226
1226
  {
1227
1227
  title: labels.emptyTitle,
1228
1228
  message: labels.emptyDescription,
@@ -1236,13 +1236,13 @@ function DatasourcesPageView({
1236
1236
  const logoSrc = getDialectLogoSrc(ds.dialect);
1237
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" }) });
1238
1238
  return /* @__PURE__ */ jsxRuntime.jsx(
1239
- chunkI2NZGVBG_js.EntityCard,
1239
+ chunkFSBR4RCK_js.EntityCard,
1240
1240
  {
1241
1241
  accentGradient: gradient,
1242
1242
  icon: iconElement,
1243
1243
  title: ds.name ?? ds.id,
1244
1244
  subtitle: dialectLabel,
1245
- status: /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Badge, { color: ds.enabled ? "emerald" : "zinc", children: ds.enabled ? labels.enabled : labels.disabled }),
1245
+ status: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Badge, { color: ds.enabled ? "emerald" : "zinc", children: ds.enabled ? labels.enabled : labels.disabled }),
1246
1246
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-xs text-gray-400 dark:text-gray-500", children: [
1247
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" }),
1248
1248
  ds.timeoutMs && /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
@@ -1266,7 +1266,7 @@ function DatasourcesPageView({
1266
1266
  );
1267
1267
  }) }),
1268
1268
  /* @__PURE__ */ jsxRuntime.jsx(
1269
- chunkTIJJHW2Z_js.DatasourceModal,
1269
+ chunkYV7F7IXG_js.DatasourceModal,
1270
1270
  {
1271
1271
  open: modalOpen,
1272
1272
  onClose: () => setModalOpen(false),
@@ -1281,7 +1281,7 @@ function DashboardPageView({ labels, appLogo }) {
1281
1281
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center mb-6", children: appLogo }),
1282
1282
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-3 text-base text-gray-500 dark:text-gray-400", children: labels.subtitle })
1283
1283
  ] });
1284
- return /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.ManagementPageLayout, { hero, content: null });
1284
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.ManagementPageLayout, { hero, content: null });
1285
1285
  }
1286
1286
  function AgentsIndexPageView({ labels }) {
1287
1287
  const Link = chunkS7KHTUHA_js.useLink();
@@ -1292,7 +1292,7 @@ function AgentsIndexPageView({ labels }) {
1292
1292
  { id: "prompts", title: labels.promptsTitle, subtitle: labels.promptsSubtitle, href: "/agents/prompts", gradient: "from-sky-500 to-blue-700", icon: outline.ChatBubbleLeftEllipsisIcon }
1293
1293
  ];
1294
1294
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
1295
- chunkI2NZGVBG_js.HeroSection,
1295
+ chunkFSBR4RCK_js.HeroSection,
1296
1296
  {
1297
1297
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
1298
1298
  label: labels.title,
@@ -1304,7 +1304,7 @@ function AgentsIndexPageView({ labels }) {
1304
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) => {
1305
1305
  const Icon = tile.icon;
1306
1306
  return /* @__PURE__ */ jsxRuntime.jsx(Link, { href: tile.href, className: "block focus:outline-none", children: /* @__PURE__ */ jsxRuntime.jsx(
1307
- chunkI2NZGVBG_js.EntityCard,
1307
+ chunkFSBR4RCK_js.EntityCard,
1308
1308
  {
1309
1309
  accentGradient: tile.gradient,
1310
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" }) }),
@@ -1313,13 +1313,13 @@ function AgentsIndexPageView({ labels }) {
1313
1313
  }
1314
1314
  ) }, tile.id);
1315
1315
  }) });
1316
- return /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.ManagementPageLayout, { hero, content });
1316
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.ManagementPageLayout, { hero, content });
1317
1317
  }
1318
1318
  function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublish }) {
1319
1319
  const selectedWorkflow = workflows[0] ?? null;
1320
1320
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
1321
1321
  /* @__PURE__ */ jsxRuntime.jsx(
1322
- chunkI2NZGVBG_js.SectionHeader,
1322
+ chunkFSBR4RCK_js.SectionHeader,
1323
1323
  {
1324
1324
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.RectangleStackIcon, { className: "h-5 w-5 text-white" }),
1325
1325
  title: labels.title,
@@ -1328,9 +1328,9 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
1328
1328
  }
1329
1329
  ),
1330
1330
  /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
1331
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.add }),
1331
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.add }),
1332
1332
  /* @__PURE__ */ jsxRuntime.jsx(
1333
- chunkI2NZGVBG_js.Form,
1333
+ chunkFSBR4RCK_js.Form,
1334
1334
  {
1335
1335
  onSubmit: (event) => {
1336
1336
  event.preventDefault();
@@ -1341,32 +1341,32 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
1341
1341
  onCreate({ name, description });
1342
1342
  event.currentTarget.reset();
1343
1343
  },
1344
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkI2NZGVBG_js.FormGrid, { children: [
1345
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.FormInput, { name: "name", label: labels.workflowName, placeholder: labels.workflowNamePlaceholder, required: true }),
1346
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.workflowDescriptionPlaceholder, rows: 3 }),
1347
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.FormActionsRow, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Button, { type: "submit", children: labels.create }) })
1344
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.FormGrid, { children: [
1345
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormInput, { name: "name", label: labels.workflowName, placeholder: labels.workflowNamePlaceholder, required: true }),
1346
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.workflowDescriptionPlaceholder, rows: 3 }),
1347
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormActionsRow, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "submit", children: labels.create }) })
1348
1348
  ] })
1349
1349
  }
1350
1350
  )
1351
1351
  ] }),
1352
1352
  /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
1353
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.registry }),
1354
- /* @__PURE__ */ jsxRuntime.jsxs(chunkI2NZGVBG_js.Table, { children: [
1355
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.TableHead, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkI2NZGVBG_js.TableRow, { children: [
1356
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.TableHeader, { children: labels.name }),
1357
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.TableHeader, { children: labels.description }),
1358
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.TableHeader, { children: labels.version }),
1359
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.TableHeader, { children: labels.status }),
1360
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.TableHeader, { children: labels.actions })
1353
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.registry }),
1354
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.Table, { children: [
1355
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableHead, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.TableRow, { children: [
1356
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableHeader, { children: labels.name }),
1357
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableHeader, { children: labels.description }),
1358
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableHeader, { children: labels.version }),
1359
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableHeader, { children: labels.status }),
1360
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableHeader, { children: labels.actions })
1361
1361
  ] }) }),
1362
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.TableBody, { children: workflows.map((workflow) => /* @__PURE__ */ jsxRuntime.jsxs(chunkI2NZGVBG_js.TableRow, { children: [
1363
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.TableCell, { children: workflow.name }),
1364
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.TableCell, { children: workflow.description }),
1365
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.TableCell, { children: String(workflow.version) }),
1366
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Badge, { children: workflow.isDraft ? labels.statusDraft : labels.statusPublished }) }),
1367
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
1362
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableBody, { children: workflows.map((workflow) => /* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.TableRow, { children: [
1363
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableCell, { children: workflow.name }),
1364
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableCell, { children: workflow.description }),
1365
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableCell, { children: String(workflow.version) }),
1366
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Badge, { children: workflow.isDraft ? labels.statusDraft : labels.statusPublished }) }),
1367
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
1368
1368
  /* @__PURE__ */ jsxRuntime.jsx(
1369
- chunkI2NZGVBG_js.Form,
1369
+ chunkFSBR4RCK_js.Form,
1370
1370
  {
1371
1371
  onSubmit: (event) => {
1372
1372
  event.preventDefault();
@@ -1376,17 +1376,17 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
1376
1376
  description: workflow.description ?? ""
1377
1377
  });
1378
1378
  },
1379
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.InlineForm, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Button, { type: "submit", outline: true, children: labels.saveMeta }) })
1379
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.InlineForm, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "submit", outline: true, children: labels.saveMeta }) })
1380
1380
  }
1381
1381
  ),
1382
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Button, { type: "button", color: "sky", onClick: () => onPublish(workflow.id), children: labels.publish })
1382
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", color: "sky", onClick: () => onPublish(workflow.id), children: labels.publish })
1383
1383
  ] }) })
1384
1384
  ] }, workflow.id)) })
1385
1385
  ] })
1386
1386
  ] }),
1387
1387
  /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
1388
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_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(chunkMWPTSBAI_js.WorkflowWorkspace, { graph: chunk3T2WGL47_js.adaptWorkflowGraphToUi(selectedWorkflow.graph) }) }) : /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Text, { children: labels.empty })
1388
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_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(chunkRLLP7VQJ_js.WorkflowWorkspace, { graph: chunk3T2WGL47_js.adaptWorkflowGraphToUi(selectedWorkflow.graph) }) }) : /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Text, { children: labels.empty })
1390
1390
  ] })
1391
1391
  ] });
1392
1392
  }
@@ -1425,7 +1425,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
1425
1425
  };
1426
1426
  const filteredRuns = statusFilter === "all" ? runs : runs.filter((run) => run.status === statusFilter);
1427
1427
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
1428
- chunkI2NZGVBG_js.HeroSection,
1428
+ chunkFSBR4RCK_js.HeroSection,
1429
1429
  {
1430
1430
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
1431
1431
  label: labels.title,
@@ -1433,7 +1433,7 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
1433
1433
  subtitle: labels.subtitle,
1434
1434
  gradient: "from-indigo-500 to-sky-700",
1435
1435
  toolbar: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-48", children: /* @__PURE__ */ jsxRuntime.jsx(
1436
- chunkI2NZGVBG_js.FormSelect,
1436
+ chunkFSBR4RCK_js.FormSelect,
1437
1437
  {
1438
1438
  name: "statusFilter",
1439
1439
  label: labels.filterStatus,
@@ -1444,19 +1444,19 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
1444
1444
  ) })
1445
1445
  }
1446
1446
  );
1447
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.PageLoadingState, {}) : filteredRuns.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_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
- chunkI2NZGVBG_js.EntityCard,
1447
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.PageLoadingState, {}) : filteredRuns.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_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
+ chunkFSBR4RCK_js.EntityCard,
1449
1449
  {
1450
1450
  accentGradient: "from-indigo-500 to-sky-700",
1451
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" }) }),
1452
1452
  title: run.id.slice(0, 8),
1453
1453
  subtitle: `${labels.startedAt}: ${new Date(run.createdAt).toLocaleString()}`,
1454
- status: /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Badge, { color: BADGE_COLOR[run.status] ?? "zinc", children: statusLabelFor(run.status) }),
1454
+ status: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Badge, { color: BADGE_COLOR[run.status] ?? "zinc", children: statusLabelFor(run.status) }),
1455
1455
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
1456
- onView && /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onView(run), children: labels.view }),
1457
- onViewTimeline && labels.timeline && /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onViewTimeline(run), children: labels.timeline }),
1458
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onReplay(run), children: labels.replay }),
1459
- run.status === "running" && /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Button, { type: "button", size: "sm", color: "rose", onClick: () => onCancel(run), children: labels.cancel })
1456
+ onView && /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onView(run), children: labels.view }),
1457
+ onViewTimeline && labels.timeline && /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onViewTimeline(run), children: labels.timeline }),
1458
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onReplay(run), children: labels.replay }),
1459
+ run.status === "running" && /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", size: "sm", color: "rose", onClick: () => onCancel(run), children: labels.cancel })
1460
1460
  ] }),
1461
1461
  children: [
1462
1462
  /* @__PURE__ */ jsxRuntime.jsxs("dl", { className: "mt-1 grid grid-cols-2 gap-1 text-xs text-slate-500 dark:text-slate-400", children: [
@@ -1470,11 +1470,11 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
1470
1470
  },
1471
1471
  run.id
1472
1472
  )) });
1473
- return /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.ManagementPageLayout, { hero, content });
1473
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.ManagementPageLayout, { hero, content });
1474
1474
  }
1475
1475
  function RunTimelinePageView({ labels, entries, loading, runId }) {
1476
1476
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
1477
- chunkI2NZGVBG_js.HeroSection,
1477
+ chunkFSBR4RCK_js.HeroSection,
1478
1478
  {
1479
1479
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
1480
1480
  label: labels.title,
@@ -1484,23 +1484,23 @@ function RunTimelinePageView({ labels, entries, loading, runId }) {
1484
1484
  }
1485
1485
  );
1486
1486
  if (loading) {
1487
- return /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.ManagementPageLayout, { hero, content: /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.PageLoadingState, {}) });
1487
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.ManagementPageLayout, { hero, content: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.PageLoadingState, {}) });
1488
1488
  }
1489
1489
  if (entries.length === 0) {
1490
1490
  return /* @__PURE__ */ jsxRuntime.jsx(
1491
- chunkI2NZGVBG_js.ManagementPageLayout,
1491
+ chunkFSBR4RCK_js.ManagementPageLayout,
1492
1492
  {
1493
1493
  hero,
1494
- content: /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.PageEmptyState, { title: labels.empty ?? "", message: "", iconName: "folder-open" })
1494
+ content: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.PageEmptyState, { title: labels.empty ?? "", message: "", iconName: "folder-open" })
1495
1495
  }
1496
1496
  );
1497
1497
  }
1498
1498
  return /* @__PURE__ */ jsxRuntime.jsx(
1499
- chunkI2NZGVBG_js.ManagementPageLayout,
1499
+ chunkFSBR4RCK_js.ManagementPageLayout,
1500
1500
  {
1501
1501
  hero,
1502
1502
  content: /* @__PURE__ */ jsxRuntime.jsx(
1503
- chunkIJAKZHXX_js.ExecutionTimelinePanel,
1503
+ chunkERCDMBRT_js.ExecutionTimelinePanel,
1504
1504
  {
1505
1505
  entries,
1506
1506
  labels
@@ -1582,7 +1582,7 @@ function ConnectionsPageView({
1582
1582
  const [createOpen, setCreateOpen] = react.useState(false);
1583
1583
  const [editing, setEditing] = react.useState(null);
1584
1584
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
1585
- chunkI2NZGVBG_js.HeroSection,
1585
+ chunkFSBR4RCK_js.HeroSection,
1586
1586
  {
1587
1587
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.LinkIcon, { className: "h-5 w-5" }),
1588
1588
  label: labels.title,
@@ -1590,7 +1590,7 @@ function ConnectionsPageView({
1590
1590
  subtitle: labels.subtitle,
1591
1591
  gradient: "from-sky-500 to-indigo-600",
1592
1592
  toolbar: /* @__PURE__ */ jsxRuntime.jsx(
1593
- chunkI2NZGVBG_js.CreateActionButton,
1593
+ chunkFSBR4RCK_js.CreateActionButton,
1594
1594
  {
1595
1595
  mode: "desktop",
1596
1596
  label: labels.add,
@@ -1601,7 +1601,7 @@ function ConnectionsPageView({
1601
1601
  }
1602
1602
  );
1603
1603
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
1604
- chunkI2NZGVBG_js.CreateActionButton,
1604
+ chunkFSBR4RCK_js.CreateActionButton,
1605
1605
  {
1606
1606
  mode: "mobile",
1607
1607
  label: labels.add,
@@ -1609,21 +1609,21 @@ function ConnectionsPageView({
1609
1609
  accent: "sky"
1610
1610
  }
1611
1611
  );
1612
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.PageLoadingState, {}) : connections.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_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
- chunkI2NZGVBG_js.EntityCard,
1612
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.PageLoadingState, {}) : connections.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_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
+ chunkFSBR4RCK_js.EntityCard,
1614
1614
  {
1615
1615
  accentGradient: "from-sky-500 to-indigo-600",
1616
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" }) }),
1617
1617
  title: conn.name,
1618
1618
  subtitle: providerLabel(conn.providerSlug),
1619
1619
  status: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1", children: [
1620
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Badge, { color: conn.enabled ? "emerald" : "zinc", children: conn.enabled ? labels.enable : labels.disable }),
1621
- conn.credentialRef ? /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Badge, { color: "indigo", children: "Secret set" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Badge, { color: "amber", children: "No secret" })
1620
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Badge, { color: conn.enabled ? "emerald" : "zinc", children: conn.enabled ? labels.enable : labels.disable }),
1621
+ conn.credentialRef ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Badge, { color: "indigo", children: "Secret set" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Badge, { color: "amber", children: "No secret" })
1622
1622
  ] }),
1623
1623
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
1624
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(conn), children: labels.edit }),
1624
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(conn), children: labels.edit }),
1625
1625
  /* @__PURE__ */ jsxRuntime.jsx(
1626
- chunkI2NZGVBG_js.Button,
1626
+ chunkFSBR4RCK_js.Button,
1627
1627
  {
1628
1628
  type: "button",
1629
1629
  size: "sm",
@@ -1644,7 +1644,7 @@ function ConnectionsPageView({
1644
1644
  conn.id
1645
1645
  )) });
1646
1646
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1647
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.ManagementPageLayout, { hero, content, mobileAction }),
1647
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.ManagementPageLayout, { hero, content, mobileAction }),
1648
1648
  createOpen && /* @__PURE__ */ jsxRuntime.jsx(
1649
1649
  ConnectionEditor,
1650
1650
  {
@@ -1758,7 +1758,7 @@ function ConnectionEditor({
1758
1758
  return preset.exampleModels?.join(", ") ?? "";
1759
1759
  }, [preset]);
1760
1760
  return /* @__PURE__ */ jsxRuntime.jsx(
1761
- chunkI2NZGVBG_js.GlassModal,
1761
+ chunkFSBR4RCK_js.GlassModal,
1762
1762
  {
1763
1763
  open: true,
1764
1764
  onClose,
@@ -1771,9 +1771,9 @@ function ConnectionEditor({
1771
1771
  void handleSubmit();
1772
1772
  },
1773
1773
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
1774
- /* @__PURE__ */ jsxRuntime.jsxs(chunkI2NZGVBG_js.FormGrid, { children: [
1774
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.FormGrid, { children: [
1775
1775
  /* @__PURE__ */ jsxRuntime.jsx(
1776
- chunkI2NZGVBG_js.FormSelect,
1776
+ chunkFSBR4RCK_js.FormSelect,
1777
1777
  {
1778
1778
  label: "Provider",
1779
1779
  value: value.providerSlug,
@@ -1784,7 +1784,7 @@ function ConnectionEditor({
1784
1784
  }
1785
1785
  ),
1786
1786
  /* @__PURE__ */ jsxRuntime.jsx(
1787
- chunkI2NZGVBG_js.FormInput,
1787
+ chunkFSBR4RCK_js.FormInput,
1788
1788
  {
1789
1789
  label: "Display name",
1790
1790
  required: true,
@@ -1794,7 +1794,7 @@ function ConnectionEditor({
1794
1794
  }
1795
1795
  ),
1796
1796
  preset.needsRegion && /* @__PURE__ */ jsxRuntime.jsx(
1797
- chunkI2NZGVBG_js.FormInput,
1797
+ chunkFSBR4RCK_js.FormInput,
1798
1798
  {
1799
1799
  label: "Region",
1800
1800
  value: value.region,
@@ -1803,7 +1803,7 @@ function ConnectionEditor({
1803
1803
  }
1804
1804
  ),
1805
1805
  preset.needsEndpoint && /* @__PURE__ */ jsxRuntime.jsx(
1806
- chunkI2NZGVBG_js.FormInput,
1806
+ chunkFSBR4RCK_js.FormInput,
1807
1807
  {
1808
1808
  label: "Endpoint URL",
1809
1809
  value: value.endpoint,
@@ -1813,7 +1813,7 @@ function ConnectionEditor({
1813
1813
  )
1814
1814
  ] }),
1815
1815
  /* @__PURE__ */ jsxRuntime.jsx(
1816
- chunkI2NZGVBG_js.FormInput,
1816
+ chunkFSBR4RCK_js.FormInput,
1817
1817
  {
1818
1818
  label: value.credentialRef ? "Rotate API key (leave blank to keep current)" : "API key",
1819
1819
  type: "password",
@@ -1824,7 +1824,7 @@ function ConnectionEditor({
1824
1824
  }
1825
1825
  ),
1826
1826
  /* @__PURE__ */ jsxRuntime.jsx(
1827
- chunkI2NZGVBG_js.FormInput,
1827
+ chunkFSBR4RCK_js.FormInput,
1828
1828
  {
1829
1829
  label: "Model filter (comma-separated, optional)",
1830
1830
  value: value.modelFilter,
@@ -1836,7 +1836,7 @@ function ConnectionEditor({
1836
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: [
1837
1837
  /* @__PURE__ */ jsxRuntime.jsx("summary", { className: "cursor-pointer font-medium text-slate-700 dark:text-slate-200", children: "Advanced config (JSON)" }),
1838
1838
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsx(
1839
- chunkI2NZGVBG_js.FormTextarea,
1839
+ chunkFSBR4RCK_js.FormTextarea,
1840
1840
  {
1841
1841
  rows: 4,
1842
1842
  value: value.configJson,
@@ -1902,7 +1902,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
1902
1902
  { value: "password", label: labels.typePassword }
1903
1903
  ];
1904
1904
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
1905
- chunkI2NZGVBG_js.HeroSection,
1905
+ chunkFSBR4RCK_js.HeroSection,
1906
1906
  {
1907
1907
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-5 w-5" }),
1908
1908
  label: labels.title,
@@ -1910,7 +1910,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
1910
1910
  subtitle: labels.subtitle,
1911
1911
  gradient: "from-rose-500 to-orange-600",
1912
1912
  toolbar: /* @__PURE__ */ jsxRuntime.jsx(
1913
- chunkI2NZGVBG_js.CreateActionButton,
1913
+ chunkFSBR4RCK_js.CreateActionButton,
1914
1914
  {
1915
1915
  mode: "desktop",
1916
1916
  label: labels.addCredential,
@@ -1921,7 +1921,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
1921
1921
  }
1922
1922
  );
1923
1923
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
1924
- chunkI2NZGVBG_js.CreateActionButton,
1924
+ chunkFSBR4RCK_js.CreateActionButton,
1925
1925
  {
1926
1926
  mode: "mobile",
1927
1927
  label: labels.addCredential,
@@ -1929,23 +1929,23 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
1929
1929
  accent: "rose"
1930
1930
  }
1931
1931
  );
1932
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.PageLoadingState, {}) : credentials.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_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
- chunkI2NZGVBG_js.EntityCard,
1932
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.PageLoadingState, {}) : credentials.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_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
+ chunkFSBR4RCK_js.EntityCard,
1934
1934
  {
1935
1935
  accentGradient: "from-rose-500 to-orange-700",
1936
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" }) }),
1937
1937
  title: secret.name,
1938
1938
  subtitle: secret.secretType,
1939
- status: /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.Badge, { color: secret.disabled ? "zinc" : "emerald", children: secret.disabled ? labels.disable : "Active" }),
1939
+ status: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.Badge, { color: secret.disabled ? "zinc" : "emerald", children: secret.disabled ? labels.disable : "Active" }),
1940
1940
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-2", children: [
1941
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.CopyableId, { id: secret.secretId }),
1941
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.CopyableId, { id: secret.secretId }),
1942
1942
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
1943
- /* @__PURE__ */ jsxRuntime.jsxs(chunkI2NZGVBG_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setRotateFor(secret), children: [
1943
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setRotateFor(secret), children: [
1944
1944
  /* @__PURE__ */ jsxRuntime.jsx(outline.ArrowPathIcon, { className: "mr-1 h-3.5 w-3.5" }),
1945
1945
  labels.rotate
1946
1946
  ] }),
1947
1947
  !secret.disabled && /* @__PURE__ */ jsxRuntime.jsxs(
1948
- chunkI2NZGVBG_js.Button,
1948
+ chunkFSBR4RCK_js.Button,
1949
1949
  {
1950
1950
  type: "button",
1951
1951
  size: "sm",
@@ -1974,9 +1974,9 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
1974
1974
  secret.secretId
1975
1975
  )) });
1976
1976
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1977
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.ManagementPageLayout, { hero, content, mobileAction }),
1977
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.ManagementPageLayout, { hero, content, mobileAction }),
1978
1978
  /* @__PURE__ */ jsxRuntime.jsx(
1979
- chunkI2NZGVBG_js.GlassModal,
1979
+ chunkFSBR4RCK_js.GlassModal,
1980
1980
  {
1981
1981
  open: createOpen,
1982
1982
  onClose: () => setCreateOpen(false),
@@ -1994,16 +1994,16 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
1994
1994
  onCreate({ name, value, secretType, description });
1995
1995
  setCreateOpen(false);
1996
1996
  },
1997
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkI2NZGVBG_js.FormGrid, { children: [
1998
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.FormInput, { name: "name", label: labels.name, placeholder: labels.namePlaceholder, required: true }),
1999
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.FormSelect, { name: "secretType", label: labels.type, options: typeOptions, defaultValue: "generic" }),
2000
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }),
2001
- /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.descriptionPlaceholder, rows: 2 })
1997
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFSBR4RCK_js.FormGrid, { children: [
1998
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormInput, { name: "name", label: labels.name, placeholder: labels.namePlaceholder, required: true }),
1999
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormSelect, { name: "secretType", label: labels.type, options: typeOptions, defaultValue: "generic" }),
2000
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }),
2001
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.descriptionPlaceholder, rows: 2 })
2002
2002
  ] })
2003
2003
  }
2004
2004
  ),
2005
2005
  /* @__PURE__ */ jsxRuntime.jsx(
2006
- chunkI2NZGVBG_js.GlassModal,
2006
+ chunkFSBR4RCK_js.GlassModal,
2007
2007
  {
2008
2008
  open: rotateFor !== null,
2009
2009
  onClose: () => setRotateFor(null),
@@ -2018,7 +2018,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
2018
2018
  onRotate(rotateFor, value);
2019
2019
  setRotateFor(null);
2020
2020
  },
2021
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.FormGrid, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkI2NZGVBG_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }) })
2021
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormGrid, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkFSBR4RCK_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }) })
2022
2022
  }
2023
2023
  )
2024
2024
  ] });
@@ -2026,31 +2026,31 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
2026
2026
 
2027
2027
  Object.defineProperty(exports, "RolesPageView", {
2028
2028
  enumerable: true,
2029
- get: function () { return chunkMWPTSBAI_js.RolesPageView; }
2029
+ get: function () { return chunkRLLP7VQJ_js.RolesPageView; }
2030
2030
  });
2031
2031
  Object.defineProperty(exports, "UsersPageView", {
2032
2032
  enumerable: true,
2033
- get: function () { return chunkMWPTSBAI_js.UsersPageView; }
2033
+ get: function () { return chunkRLLP7VQJ_js.UsersPageView; }
2034
2034
  });
2035
2035
  Object.defineProperty(exports, "DIALECT_CATEGORIES", {
2036
2036
  enumerable: true,
2037
- get: function () { return chunkTIJJHW2Z_js.DIALECT_CATEGORIES; }
2037
+ get: function () { return chunkYV7F7IXG_js.DIALECT_CATEGORIES; }
2038
2038
  });
2039
2039
  Object.defineProperty(exports, "DatasourceFormModal", {
2040
2040
  enumerable: true,
2041
- get: function () { return chunkTIJJHW2Z_js.DatasourceFormModal; }
2041
+ get: function () { return chunkYV7F7IXG_js.DatasourceFormModal; }
2042
2042
  });
2043
2043
  Object.defineProperty(exports, "DatasourceModal", {
2044
2044
  enumerable: true,
2045
- get: function () { return chunkTIJJHW2Z_js.DatasourceModal; }
2045
+ get: function () { return chunkYV7F7IXG_js.DatasourceModal; }
2046
2046
  });
2047
2047
  Object.defineProperty(exports, "findCategory", {
2048
2048
  enumerable: true,
2049
- get: function () { return chunkTIJJHW2Z_js.findCategory; }
2049
+ get: function () { return chunkYV7F7IXG_js.findCategory; }
2050
2050
  });
2051
2051
  Object.defineProperty(exports, "findDialect", {
2052
2052
  enumerable: true,
2053
- get: function () { return chunkTIJJHW2Z_js.findDialect; }
2053
+ get: function () { return chunkYV7F7IXG_js.findDialect; }
2054
2054
  });
2055
2055
  exports.AgentsConfigPageView = AgentsConfigPageView;
2056
2056
  exports.AgentsIndexPageView = AgentsIndexPageView;