@datatechsolutions/ui 3.5.0 → 3.6.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 (167) hide show
  1. package/dist/astrlabe/contracts.d.mts +517 -0
  2. package/dist/astrlabe/contracts.d.ts +517 -0
  3. package/dist/astrlabe/graph-node.d.mts +28 -0
  4. package/dist/astrlabe/graph-node.d.ts +28 -0
  5. package/dist/astrlabe/index.d.mts +743 -0
  6. package/dist/astrlabe/index.d.ts +743 -0
  7. package/dist/astrlabe/index.js +108 -108
  8. package/dist/astrlabe/index.mjs +4 -4
  9. package/dist/astrlabe/utils.d.mts +60 -0
  10. package/dist/astrlabe/utils.d.ts +60 -0
  11. package/dist/astrlabe/workflow-canvas.d.mts +6 -0
  12. package/dist/astrlabe/workflow-canvas.d.ts +6 -0
  13. package/dist/astrlabe/workflow-canvas.js +4 -4
  14. package/dist/astrlabe/workflow-canvas.mjs +3 -3
  15. package/dist/astrlabe/workflow-preview-canvas.d.mts +10 -0
  16. package/dist/astrlabe/workflow-preview-canvas.d.ts +10 -0
  17. package/dist/billing-panel-DsHhhJqG.d.mts +18 -0
  18. package/dist/billing-panel-DsHhhJqG.d.ts +18 -0
  19. package/dist/brand/index.d.mts +71 -0
  20. package/dist/brand/index.d.ts +71 -0
  21. package/dist/{chunk-AVM53A3Y.js → chunk-3WXMBAGN.js} +46 -44
  22. package/dist/chunk-3WXMBAGN.js.map +1 -0
  23. package/dist/{chunk-NOHHZ6FM.mjs → chunk-4OFG6POC.mjs} +10 -6
  24. package/dist/chunk-4OFG6POC.mjs.map +1 -0
  25. package/dist/{chunk-QLFSJ6HK.mjs → chunk-7LILNZMR.mjs} +3 -3
  26. package/dist/{chunk-QLFSJ6HK.mjs.map → chunk-7LILNZMR.mjs.map} +1 -1
  27. package/dist/{chunk-NKXQYFS7.js → chunk-AMYQSPQC.js} +16 -16
  28. package/dist/{chunk-NKXQYFS7.js.map → chunk-AMYQSPQC.js.map} +1 -1
  29. package/dist/{chunk-2MJAHST4.mjs → chunk-DYWSG42B.mjs} +4 -4
  30. package/dist/{chunk-2MJAHST4.mjs.map → chunk-DYWSG42B.mjs.map} +1 -1
  31. package/dist/{chunk-NJ5RVWLA.mjs → chunk-ESLKQJQS.mjs} +4 -4
  32. package/dist/{chunk-NJ5RVWLA.mjs.map → chunk-ESLKQJQS.mjs.map} +1 -1
  33. package/dist/{chunk-AWDH6WNA.js → chunk-GCYYGSHU.js} +10 -6
  34. package/dist/chunk-GCYYGSHU.js.map +1 -0
  35. package/dist/{chunk-UHMAKUON.mjs → chunk-HGWVJ3VB.mjs} +21 -21
  36. package/dist/{chunk-UHMAKUON.mjs.map → chunk-HGWVJ3VB.mjs.map} +1 -1
  37. package/dist/{chunk-4PFU6A2B.mjs → chunk-I63NFWIA.mjs} +3 -3
  38. package/dist/{chunk-4PFU6A2B.mjs.map → chunk-I63NFWIA.mjs.map} +1 -1
  39. package/dist/{chunk-QPSHM2JQ.mjs → chunk-IHHGT3LP.mjs} +19 -19
  40. package/dist/{chunk-QPSHM2JQ.mjs.map → chunk-IHHGT3LP.mjs.map} +1 -1
  41. package/dist/{chunk-6W7VTZG6.mjs → chunk-JQYDJ75Q.mjs} +3 -3
  42. package/dist/{chunk-6W7VTZG6.mjs.map → chunk-JQYDJ75Q.mjs.map} +1 -1
  43. package/dist/{chunk-V5VBYOF5.js → chunk-LVK7VXW7.js} +54 -54
  44. package/dist/{chunk-V5VBYOF5.js.map → chunk-LVK7VXW7.js.map} +1 -1
  45. package/dist/{chunk-7CEZB3ZD.mjs → chunk-MRRFDIUQ.mjs} +3 -3
  46. package/dist/{chunk-7CEZB3ZD.mjs.map → chunk-MRRFDIUQ.mjs.map} +1 -1
  47. package/dist/{chunk-A7FI4K7Z.js → chunk-NJZIE4EH.js} +5 -5
  48. package/dist/{chunk-A7FI4K7Z.js.map → chunk-NJZIE4EH.js.map} +1 -1
  49. package/dist/{chunk-P43PX75J.js → chunk-P5F257N3.js} +33 -33
  50. package/dist/{chunk-P43PX75J.js.map → chunk-P5F257N3.js.map} +1 -1
  51. package/dist/{chunk-BVXATTTA.js → chunk-QHP2MR2F.js} +4 -4
  52. package/dist/{chunk-BVXATTTA.js.map → chunk-QHP2MR2F.js.map} +1 -1
  53. package/dist/{chunk-CY2MBKVG.js → chunk-QRNFTG6A.js} +4 -4
  54. package/dist/{chunk-CY2MBKVG.js.map → chunk-QRNFTG6A.js.map} +1 -1
  55. package/dist/{chunk-OASC7NYV.mjs → chunk-QTA5I6FC.mjs} +3 -3
  56. package/dist/{chunk-OASC7NYV.mjs.map → chunk-QTA5I6FC.mjs.map} +1 -1
  57. package/dist/{chunk-QSMPKL27.js → chunk-S7AV6XEY.js} +74 -74
  58. package/dist/{chunk-QSMPKL27.js.map → chunk-S7AV6XEY.js.map} +1 -1
  59. package/dist/{chunk-VMGNQFRO.js → chunk-UGJZ3M4Q.js} +53 -53
  60. package/dist/{chunk-VMGNQFRO.js.map → chunk-UGJZ3M4Q.js.map} +1 -1
  61. package/dist/{chunk-5BEVTOZV.mjs → chunk-UOABOFKO.mjs} +4 -4
  62. package/dist/{chunk-5BEVTOZV.mjs.map → chunk-UOABOFKO.mjs.map} +1 -1
  63. package/dist/{chunk-74MHWEDC.js → chunk-UWSMHKOF.js} +161 -161
  64. package/dist/{chunk-74MHWEDC.js.map → chunk-UWSMHKOF.js.map} +1 -1
  65. package/dist/{chunk-ZM2Q2SMC.mjs → chunk-VDLAZR7S.mjs} +3 -3
  66. package/dist/{chunk-ZM2Q2SMC.mjs.map → chunk-VDLAZR7S.mjs.map} +1 -1
  67. package/dist/{chunk-FK3WDELF.js → chunk-VPOIX2DY.js} +40 -40
  68. package/dist/{chunk-FK3WDELF.js.map → chunk-VPOIX2DY.js.map} +1 -1
  69. package/dist/{chunk-IOEQ2GET.mjs → chunk-VUAGVZJM.mjs} +4 -4
  70. package/dist/{chunk-IOEQ2GET.mjs.map → chunk-VUAGVZJM.mjs.map} +1 -1
  71. package/dist/{chunk-Z7VY5M4T.js → chunk-W5YCZOXO.js} +77 -77
  72. package/dist/{chunk-Z7VY5M4T.js.map → chunk-W5YCZOXO.js.map} +1 -1
  73. package/dist/{chunk-C4NRF2G2.js → chunk-WBEZATIB.js} +13 -13
  74. package/dist/{chunk-C4NRF2G2.js.map → chunk-WBEZATIB.js.map} +1 -1
  75. package/dist/{chunk-6V3DUBOZ.mjs → chunk-WEZ722BS.mjs} +7 -7
  76. package/dist/{chunk-6V3DUBOZ.mjs.map → chunk-WEZ722BS.mjs.map} +1 -1
  77. package/dist/{chunk-3OLYSMI5.mjs → chunk-XTXLRQ3H.mjs} +24 -22
  78. package/dist/chunk-XTXLRQ3H.mjs.map +1 -0
  79. package/dist/{chunk-5I7F7KZ6.js → chunk-YOJIPZ72.js} +10 -10
  80. package/dist/{chunk-5I7F7KZ6.js.map → chunk-YOJIPZ72.js.map} +1 -1
  81. package/dist/{chunk-NCDBNGIB.js → chunk-YTE6WCBX.js} +76 -76
  82. package/dist/{chunk-NCDBNGIB.js.map → chunk-YTE6WCBX.js.map} +1 -1
  83. package/dist/{chunk-7UHV6A4C.mjs → chunk-ZYVDDSAC.mjs} +6 -6
  84. package/dist/{chunk-7UHV6A4C.mjs.map → chunk-ZYVDDSAC.mjs.map} +1 -1
  85. package/dist/dynamic-island-confirm-BKsZkAEP.d.mts +17 -0
  86. package/dist/dynamic-island-confirm-BKsZkAEP.d.ts +17 -0
  87. package/dist/index-BNRGVAS5.d.mts +222 -0
  88. package/dist/index-BoebbJ44.d.mts +49 -0
  89. package/dist/index-BoebbJ44.d.ts +49 -0
  90. package/dist/index-CnCY-b5V.d.ts +222 -0
  91. package/dist/index.d.mts +5310 -0
  92. package/dist/index.d.ts +5310 -0
  93. package/dist/index.js +721 -721
  94. package/dist/index.mjs +2 -2
  95. package/dist/layout-engine-YZcVr20M.d.mts +19 -0
  96. package/dist/layout-engine-YZcVr20M.d.ts +19 -0
  97. package/dist/lib/i18n-context.d.mts +36 -0
  98. package/dist/lib/i18n-context.d.ts +36 -0
  99. package/dist/lib/router-context.d.mts +35 -0
  100. package/dist/lib/router-context.d.ts +35 -0
  101. package/dist/navigation-BiWVffAN.d.mts +49 -0
  102. package/dist/navigation-BiWVffAN.d.ts +49 -0
  103. package/dist/platform/admin/index.d.mts +17 -0
  104. package/dist/platform/admin/index.d.ts +17 -0
  105. package/dist/platform/admin/index.js +11 -11
  106. package/dist/platform/admin/index.mjs +5 -5
  107. package/dist/platform/agents-workspace.d.mts +19 -0
  108. package/dist/platform/agents-workspace.d.ts +19 -0
  109. package/dist/platform/agents-workspace.js +7 -7
  110. package/dist/platform/agents-workspace.mjs +6 -6
  111. package/dist/platform/app-shell.d.mts +58 -0
  112. package/dist/platform/app-shell.d.ts +58 -0
  113. package/dist/platform/app-shell.js +4 -4
  114. package/dist/platform/app-shell.mjs +3 -3
  115. package/dist/platform/auth/index.d.mts +73 -0
  116. package/dist/platform/auth/index.d.ts +73 -0
  117. package/dist/platform/auth/index.js +28 -28
  118. package/dist/platform/auth/index.mjs +5 -5
  119. package/dist/platform/billing/index.d.mts +29 -0
  120. package/dist/platform/billing/index.d.ts +29 -0
  121. package/dist/platform/billing/index.js +4 -4
  122. package/dist/platform/billing/index.mjs +3 -3
  123. package/dist/platform/impersonation/index.d.mts +19 -0
  124. package/dist/platform/impersonation/index.d.ts +19 -0
  125. package/dist/platform/impersonation/index.js +4 -4
  126. package/dist/platform/impersonation/index.mjs +3 -3
  127. package/dist/platform/index.d.mts +188 -0
  128. package/dist/platform/index.d.ts +188 -0
  129. package/dist/platform/index.js +89 -89
  130. package/dist/platform/index.mjs +19 -19
  131. package/dist/platform/pages/index.d.mts +441 -0
  132. package/dist/platform/pages/index.d.ts +441 -0
  133. package/dist/platform/pages/index.js +326 -302
  134. package/dist/platform/pages/index.js.map +1 -1
  135. package/dist/platform/pages/index.mjs +148 -124
  136. package/dist/platform/pages/index.mjs.map +1 -1
  137. package/dist/platform/rbac.d.mts +42 -0
  138. package/dist/platform/rbac.d.ts +42 -0
  139. package/dist/platform/settings/index.d.mts +31 -0
  140. package/dist/platform/settings/index.d.ts +31 -0
  141. package/dist/platform/settings/index.js +8 -8
  142. package/dist/platform/settings/index.mjs +7 -7
  143. package/dist/platform/telemetry/index.d.mts +51 -0
  144. package/dist/platform/telemetry/index.d.ts +51 -0
  145. package/dist/platform/utils/index.d.mts +32 -0
  146. package/dist/platform/utils/index.d.ts +32 -0
  147. package/dist/platform/windsock-admin-client.d.mts +57 -0
  148. package/dist/platform/windsock-admin-client.d.ts +57 -0
  149. package/dist/platform/workflow-api-client.d.mts +6 -0
  150. package/dist/platform/workflow-api-client.d.ts +6 -0
  151. package/dist/platform/workflow-canvas-shell.d.mts +18 -0
  152. package/dist/platform/workflow-canvas-shell.d.ts +18 -0
  153. package/dist/platform/workflow-canvas-shell.js +5 -5
  154. package/dist/platform/workflow-canvas-shell.mjs +4 -4
  155. package/dist/rule-form-BYJzyork.d.mts +128 -0
  156. package/dist/rule-form-BYJzyork.d.ts +128 -0
  157. package/dist/workflow-api-client-CpFl3WcG.d.mts +468 -0
  158. package/dist/workflow-api-client-uLICOanv.d.ts +468 -0
  159. package/dist/workflow-canvas--qaYKuMm.d.ts +113 -0
  160. package/dist/workflow-canvas-B80fmD_n.d.mts +113 -0
  161. package/dist/workflow-store-o17I6L6A.d.ts +79 -0
  162. package/dist/workflow-store-ppVHdMZi.d.mts +79 -0
  163. package/package.json +1 -1
  164. package/dist/chunk-3OLYSMI5.mjs.map +0 -1
  165. package/dist/chunk-AVM53A3Y.js.map +0 -1
  166. package/dist/chunk-AWDH6WNA.js.map +0 -1
  167. package/dist/chunk-NOHHZ6FM.mjs.map +0 -1
@@ -2,18 +2,18 @@
2
2
  'use strict';
3
3
 
4
4
  var chunk3T2WGL47_js = require('../../chunk-3T2WGL47.js');
5
- var chunkAVM53A3Y_js = require('../../chunk-AVM53A3Y.js');
6
- var chunkV5VBYOF5_js = require('../../chunk-V5VBYOF5.js');
7
- var chunk74MHWEDC_js = require('../../chunk-74MHWEDC.js');
5
+ var chunk3WXMBAGN_js = require('../../chunk-3WXMBAGN.js');
6
+ var chunkLVK7VXW7_js = require('../../chunk-LVK7VXW7.js');
7
+ var chunkUWSMHKOF_js = require('../../chunk-UWSMHKOF.js');
8
8
  require('../../chunk-55H6WZQP.js');
9
9
  require('../../chunk-DJDZIRM6.js');
10
- require('../../chunk-QSMPKL27.js');
11
- var chunkAWDH6WNA_js = require('../../chunk-AWDH6WNA.js');
10
+ require('../../chunk-S7AV6XEY.js');
11
+ var chunkGCYYGSHU_js = require('../../chunk-GCYYGSHU.js');
12
12
  require('../../chunk-UZ3CMNUJ.js');
13
+ require('../../chunk-YXN2K77G.js');
13
14
  var chunkS7KHTUHA_js = require('../../chunk-S7KHTUHA.js');
14
15
  require('../../chunk-SY4MUT5V.js');
15
16
  require('../../chunk-2OZZH2IO.js');
16
- require('../../chunk-YXN2K77G.js');
17
17
  require('../../chunk-P4YYEM4B.js');
18
18
  require('../../chunk-72SWXOD5.js');
19
19
  var react = require('react');
@@ -26,50 +26,64 @@ function AgentsModelsPageView({ labels, models, loading }) {
26
26
  const filteredModels = searchTerm.trim() ? allModels.filter((model) => model.name.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allModels;
27
27
  const isEmpty = allModels.length === 0;
28
28
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
29
- chunkAWDH6WNA_js.HeroSection,
29
+ chunkGCYYGSHU_js.HeroSection,
30
30
  {
31
31
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CubeTransparentIcon, { className: "h-5 w-5" }),
32
32
  label: labels.title,
33
33
  title: labels.title,
34
34
  subtitle: labels.subtitle,
35
- gradient: "from-emerald-500 to-teal-700"
35
+ gradient: "from-emerald-500 to-teal-700",
36
+ toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
37
+ chunkGCYYGSHU_js.SearchBar,
38
+ {
39
+ searchTerm,
40
+ onSearchChange: setSearchTerm,
41
+ placeholder: labels.searchPlaceholder ?? labels.title,
42
+ noBorder: true
43
+ }
44
+ ) : void 0
36
45
  }
37
46
  );
38
- const summary = !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
39
- chunkAWDH6WNA_js.SearchBar,
40
- {
41
- searchTerm,
42
- onSearchChange: setSearchTerm,
43
- placeholder: labels.searchPlaceholder ?? labels.title
44
- }
45
- ) : void 0;
46
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_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: filteredModels.map((model) => /* @__PURE__ */ jsxRuntime.jsx(
47
- chunkAWDH6WNA_js.EntityCard,
47
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_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: filteredModels.map((model) => /* @__PURE__ */ jsxRuntime.jsx(
48
+ chunkGCYYGSHU_js.EntityCard,
48
49
  {
49
50
  accentGradient: "from-emerald-500 to-teal-700",
50
51
  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" }) }),
51
52
  title: model.name,
52
53
  subtitle: `${labels.provider}: ${model.provider}`,
53
- status: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Badge, { color: model.enabled ? "emerald" : "zinc", children: model.enabled ? labels.enabled : labels.disabled })
54
+ status: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Badge, { color: model.enabled ? "emerald" : "zinc", children: model.enabled ? labels.enabled : labels.disabled })
54
55
  },
55
56
  model.id
56
57
  )) });
57
- return /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.ManagementPageLayout, { hero, summary, content });
58
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.ManagementPageLayout, { hero, content });
58
59
  }
59
60
  function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpdate, onDelete }) {
60
61
  const [editing, setEditing] = react.useState(null);
61
62
  const [createOpen, setCreateOpen] = react.useState(false);
63
+ const [searchTerm, setSearchTerm] = react.useState("");
62
64
  const modelOptions = models.map((model) => ({ value: model.id, label: `${model.name} (${model.provider})` }));
65
+ const allAgents = agents;
66
+ const filteredAgents = searchTerm.trim() ? allAgents.filter((agent) => String(agent.name ?? "").toLowerCase().includes(searchTerm.trim().toLowerCase())) : allAgents;
67
+ const isEmpty = allAgents.length === 0;
63
68
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
64
- chunkAWDH6WNA_js.HeroSection,
69
+ chunkGCYYGSHU_js.HeroSection,
65
70
  {
66
71
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
67
72
  label: labels.title,
68
73
  title: labels.title,
69
74
  subtitle: labels.subtitle,
70
75
  gradient: "from-violet-500 to-indigo-700",
71
- toolbar: /* @__PURE__ */ jsxRuntime.jsx(
72
- chunkAWDH6WNA_js.CreateActionButton,
76
+ toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
77
+ chunkGCYYGSHU_js.SearchBar,
78
+ {
79
+ searchTerm,
80
+ onSearchChange: setSearchTerm,
81
+ placeholder: labels.searchPlaceholder ?? labels.title,
82
+ noBorder: true
83
+ }
84
+ ) : void 0,
85
+ actions: /* @__PURE__ */ jsxRuntime.jsx(
86
+ chunkGCYYGSHU_js.CreateActionButton,
73
87
  {
74
88
  mode: "desktop",
75
89
  label: labels.addAgent,
@@ -80,7 +94,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
80
94
  }
81
95
  );
82
96
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
83
- chunkAWDH6WNA_js.CreateActionButton,
97
+ chunkGCYYGSHU_js.CreateActionButton,
84
98
  {
85
99
  mode: "mobile",
86
100
  label: labels.addAgent,
@@ -88,23 +102,23 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
88
102
  accent: "violet"
89
103
  }
90
104
  );
91
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.PageLoadingState, {}) : agents.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_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) => {
105
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.PageEmptyState, { title: labels.empty, message: labels.subtitle, iconName: "folder-open" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: filteredAgents.map((agent) => {
92
106
  const modelRecord = models.find((model) => model.id === String(agent.modelId ?? ""));
93
107
  return /* @__PURE__ */ jsxRuntime.jsx(
94
- chunkAWDH6WNA_js.EntityCard,
108
+ chunkGCYYGSHU_js.EntityCard,
95
109
  {
96
110
  accentGradient: "from-violet-500 to-indigo-700",
97
111
  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" }) }),
98
112
  title: String(agent.name ?? ""),
99
113
  subtitle: String(modelRecord?.name ?? agent.modelId ?? ""),
100
- status: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.Badge, { color: "emerald", children: [
114
+ status: agent.activePromptVersion > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.Badge, { color: "emerald", children: [
101
115
  "v",
102
116
  agent.activePromptVersion
103
117
  ] }) : null,
104
118
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
105
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(agent), children: labels.edit }),
119
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(agent), children: labels.edit }),
106
120
  /* @__PURE__ */ jsxRuntime.jsx(
107
- chunkAWDH6WNA_js.Button,
121
+ chunkGCYYGSHU_js.Button,
108
122
  {
109
123
  type: "button",
110
124
  size: "sm",
@@ -128,7 +142,7 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
128
142
  );
129
143
  }) });
130
144
  const renderForm = (initial, onSubmit) => /* @__PURE__ */ jsxRuntime.jsx(
131
- chunkAWDH6WNA_js.GlassModal,
145
+ chunkGCYYGSHU_js.GlassModal,
132
146
  {
133
147
  open: true,
134
148
  onClose: () => {
@@ -151,18 +165,18 @@ function AgentsConfigPageView({ labels, agents, models, loading, onCreate, onUpd
151
165
  outputSchema: String(form.get("outputSchema") ?? "").trim() || void 0
152
166
  });
153
167
  },
154
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.FormGrid, { children: [
155
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormInput, { name: "name", label: labels.name, defaultValue: initial.name ?? "", required: true }),
156
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormSelect, { name: "modelId", label: labels.model, options: modelOptions, defaultValue: initial.modelId ?? modelOptions[0]?.value ?? "", required: true }),
157
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormInput, { name: "maxTokens", label: String(labels.maxTokens), type: "number", defaultValue: String(initial.maxTokens ?? 2048) }),
158
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormInput, { name: "temperature", label: labels.temperature, type: "number", step: 0.1, min: 0, max: 2, defaultValue: String(initial.temperature ?? 0.2) }),
159
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, defaultValue: initial.systemPrompt ?? "", rows: 4 }),
160
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormTextarea, { name: "outputSchema", label: labels.outputSchema, placeholder: labels.outputSchemaPlaceholder, defaultValue: initial.outputSchema ?? "", rows: 4 })
168
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.FormGrid, { children: [
169
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormInput, { name: "name", label: labels.name, defaultValue: initial.name ?? "", required: true }),
170
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormSelect, { name: "modelId", label: labels.model, options: modelOptions, defaultValue: initial.modelId ?? modelOptions[0]?.value ?? "", required: true }),
171
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormInput, { name: "maxTokens", label: String(labels.maxTokens), type: "number", defaultValue: String(initial.maxTokens ?? 2048) }),
172
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormInput, { name: "temperature", label: labels.temperature, type: "number", step: 0.1, min: 0, max: 2, defaultValue: String(initial.temperature ?? 0.2) }),
173
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, defaultValue: initial.systemPrompt ?? "", rows: 4 }),
174
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormTextarea, { name: "outputSchema", label: labels.outputSchema, placeholder: labels.outputSchemaPlaceholder, defaultValue: initial.outputSchema ?? "", rows: 4 })
161
175
  ] })
162
176
  }
163
177
  );
164
178
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
165
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.ManagementPageLayout, { hero, content, mobileAction }),
179
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.ManagementPageLayout, { hero, content, mobileAction }),
166
180
  createOpen && renderForm({ title: labels.createTitle }, (input) => {
167
181
  onCreate(input);
168
182
  setCreateOpen(false);
@@ -211,16 +225,33 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
211
225
  }
212
226
  return map;
213
227
  }, [agents]);
228
+ const allPrompts = prompts;
229
+ const filteredPrompts = searchTerm.trim() ? allPrompts.filter((prompt) => {
230
+ const term = searchTerm.trim().toLowerCase();
231
+ const agentName = agentNameById.get(prompt.agentId) ?? prompt.agentId;
232
+ const promptText = prompt.prompt ?? "";
233
+ return agentName.toLowerCase().includes(term) || promptText.toLowerCase().includes(term);
234
+ }) : allPrompts;
235
+ const isEmpty = allPrompts.length === 0;
214
236
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
215
- chunkAWDH6WNA_js.HeroSection,
237
+ chunkGCYYGSHU_js.HeroSection,
216
238
  {
217
239
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ChatBubbleLeftEllipsisIcon, { className: "h-5 w-5" }),
218
240
  label: labels.title,
219
241
  title: labels.title,
220
242
  subtitle: labels.subtitle,
221
243
  gradient: "from-sky-500 to-blue-700",
222
- toolbar: /* @__PURE__ */ jsxRuntime.jsx(
223
- chunkAWDH6WNA_js.CreateActionButton,
244
+ toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
245
+ chunkGCYYGSHU_js.SearchBar,
246
+ {
247
+ searchTerm,
248
+ onSearchChange: setSearchTerm,
249
+ placeholder: labels.searchPlaceholder ?? labels.title,
250
+ noBorder: true
251
+ }
252
+ ) : void 0,
253
+ actions: /* @__PURE__ */ jsxRuntime.jsx(
254
+ chunkGCYYGSHU_js.CreateActionButton,
224
255
  {
225
256
  mode: "desktop",
226
257
  label: labels.addPrompt,
@@ -231,7 +262,7 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
231
262
  }
232
263
  );
233
264
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
234
- chunkAWDH6WNA_js.CreateActionButton,
265
+ chunkGCYYGSHU_js.CreateActionButton,
235
266
  {
236
267
  mode: "mobile",
237
268
  label: labels.addPrompt,
@@ -239,37 +270,21 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
239
270
  accent: "sky"
240
271
  }
241
272
  );
242
- const allPrompts = prompts;
243
- const filteredPrompts = searchTerm.trim() ? allPrompts.filter((prompt) => {
244
- const term = searchTerm.trim().toLowerCase();
245
- const agentName = agentNameById.get(prompt.agentId) ?? prompt.agentId;
246
- const promptText = prompt.prompt ?? "";
247
- return agentName.toLowerCase().includes(term) || promptText.toLowerCase().includes(term);
248
- }) : allPrompts;
249
- const isEmpty = allPrompts.length === 0;
250
- const summary = !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
251
- chunkAWDH6WNA_js.SearchBar,
252
- {
253
- searchTerm,
254
- onSearchChange: setSearchTerm,
255
- placeholder: labels.searchPlaceholder ?? labels.title
256
- }
257
- ) : void 0;
258
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_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: filteredPrompts.map((prompt) => {
273
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_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: filteredPrompts.map((prompt) => {
259
274
  const agentName = agentNameById.get(prompt.agentId) ?? prompt.agentId;
260
275
  const key = `${prompt.agentId}:${prompt.locale}:${prompt.version}`;
261
276
  return /* @__PURE__ */ jsxRuntime.jsx(
262
- chunkAWDH6WNA_js.EntityCard,
277
+ chunkGCYYGSHU_js.EntityCard,
263
278
  {
264
279
  accentGradient: "from-sky-500 to-blue-700",
265
280
  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" }) }),
266
281
  title: agentName,
267
282
  subtitle: `${prompt.locale} \xB7 v${prompt.version}`,
268
- status: prompt.isActive ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Badge, { color: "emerald", children: labels.isActive }) : null,
283
+ status: prompt.isActive ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Badge, { color: "emerald", children: labels.isActive }) : null,
269
284
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
270
- !prompt.isActive && /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onActivate(prompt), children: labels.activate }),
285
+ !prompt.isActive && /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onActivate(prompt), children: labels.activate }),
271
286
  /* @__PURE__ */ jsxRuntime.jsx(
272
- chunkAWDH6WNA_js.Button,
287
+ chunkGCYYGSHU_js.Button,
273
288
  {
274
289
  type: "button",
275
290
  size: "sm",
@@ -287,9 +302,9 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
287
302
  );
288
303
  }) });
289
304
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
290
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.ManagementPageLayout, { hero, summary, content, mobileAction }),
305
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.ManagementPageLayout, { hero, content, mobileAction }),
291
306
  /* @__PURE__ */ jsxRuntime.jsx(
292
- chunkAWDH6WNA_js.GlassModal,
307
+ chunkGCYYGSHU_js.GlassModal,
293
308
  {
294
309
  open: createOpen,
295
310
  onClose: () => setCreateOpen(false),
@@ -313,11 +328,11 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
313
328
  });
314
329
  setCreateOpen(false);
315
330
  },
316
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.FormGrid, { children: [
317
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormSelect, { name: "agentId", label: labels.agent, options: agentOptions, required: true }),
318
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormSelect, { name: "locale", label: labels.locale, options: LOCALE_OPTIONS, defaultValue: "en" }),
331
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.FormGrid, { children: [
332
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormSelect, { name: "agentId", label: labels.agent, options: agentOptions, required: true }),
333
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormSelect, { name: "locale", label: labels.locale, options: LOCALE_OPTIONS, defaultValue: "en" }),
319
334
  /* @__PURE__ */ jsxRuntime.jsx(
320
- chunkAWDH6WNA_js.FormSelect,
335
+ chunkGCYYGSHU_js.FormSelect,
321
336
  {
322
337
  name: "isActive",
323
338
  label: labels.isActive,
@@ -325,10 +340,10 @@ function AgentsPromptsPageView({ labels, agents, prompts, loading, onCreate, onA
325
340
  defaultValue: "true"
326
341
  }
327
342
  ),
328
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormInput, { name: "reason", label: labels.reason }),
329
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, rows: 3 }),
330
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormTextarea, { name: "userTemplate", label: labels.userTemplate, rows: 3 }),
331
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormTextarea, { name: "prompt", label: labels.prompt, rows: 6, required: true })
343
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormInput, { name: "reason", label: labels.reason }),
344
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormTextarea, { name: "systemPrompt", label: labels.systemPrompt, rows: 3 }),
345
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormTextarea, { name: "userTemplate", label: labels.userTemplate, rows: 3 }),
346
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormTextarea, { name: "prompt", label: labels.prompt, rows: 6, required: true })
332
347
  ] })
333
348
  }
334
349
  )
@@ -362,24 +377,25 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
362
377
  const allTools = tools;
363
378
  const filteredTools = searchTerm.trim() ? allTools.filter((tool) => tool.name.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allTools;
364
379
  const isEmpty = allTools.length === 0;
365
- const summary = !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
366
- chunkAWDH6WNA_js.SearchBar,
367
- {
368
- searchTerm,
369
- onSearchChange: setSearchTerm,
370
- placeholder: labels.searchPlaceholder ?? labels.title
371
- }
372
- ) : void 0;
373
380
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
374
- chunkAWDH6WNA_js.HeroSection,
381
+ chunkGCYYGSHU_js.HeroSection,
375
382
  {
376
383
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.WrenchScrewdriverIcon, { className: "h-5 w-5" }),
377
384
  label: labels.title,
378
385
  title: labels.title,
379
386
  subtitle: labels.subtitle,
380
387
  gradient: "from-amber-500 to-orange-700",
381
- toolbar: /* @__PURE__ */ jsxRuntime.jsx(
382
- chunkAWDH6WNA_js.CreateActionButton,
388
+ toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
389
+ chunkGCYYGSHU_js.SearchBar,
390
+ {
391
+ searchTerm,
392
+ onSearchChange: setSearchTerm,
393
+ placeholder: labels.searchPlaceholder ?? labels.title,
394
+ noBorder: true
395
+ }
396
+ ) : void 0,
397
+ actions: /* @__PURE__ */ jsxRuntime.jsx(
398
+ chunkGCYYGSHU_js.CreateActionButton,
383
399
  {
384
400
  mode: "desktop",
385
401
  label: labels.addTool,
@@ -390,7 +406,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
390
406
  }
391
407
  );
392
408
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
393
- chunkAWDH6WNA_js.CreateActionButton,
409
+ chunkGCYYGSHU_js.CreateActionButton,
394
410
  {
395
411
  mode: "mobile",
396
412
  label: labels.addTool,
@@ -398,18 +414,18 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
398
414
  accent: "amber"
399
415
  }
400
416
  );
401
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_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: filteredTools.map((tool) => /* @__PURE__ */ jsxRuntime.jsx(
402
- chunkAWDH6WNA_js.EntityCard,
417
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_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: filteredTools.map((tool) => /* @__PURE__ */ jsxRuntime.jsx(
418
+ chunkGCYYGSHU_js.EntityCard,
403
419
  {
404
420
  accentGradient: "from-amber-500 to-orange-700",
405
421
  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" }) }),
406
422
  title: tool.name,
407
423
  subtitle: toolTypeLabel(tool),
408
- status: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Badge, { color: tool.enabled ? "emerald" : "zinc", children: tool.enabled ? labels.enabled : labels.disabled }),
424
+ status: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Badge, { color: tool.enabled ? "emerald" : "zinc", children: tool.enabled ? labels.enabled : labels.disabled }),
409
425
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
410
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(tool), children: labels.edit }),
426
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(tool), children: labels.edit }),
411
427
  /* @__PURE__ */ jsxRuntime.jsx(
412
- chunkAWDH6WNA_js.Button,
428
+ chunkGCYYGSHU_js.Button,
413
429
  {
414
430
  type: "button",
415
431
  size: "sm",
@@ -426,7 +442,7 @@ function AgentsToolDefinitionsPageView({ labels, tools, loading, onCreate, onUpd
426
442
  tool.agentToolId
427
443
  )) });
428
444
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
429
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.ManagementPageLayout, { hero, summary, content, mobileAction }),
445
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.ManagementPageLayout, { hero, content, mobileAction }),
430
446
  createOpen && /* @__PURE__ */ jsxRuntime.jsx(
431
447
  ToolEditor,
432
448
  {
@@ -484,7 +500,7 @@ function ToolEditor({
484
500
  setValue((v) => ({ ...v, [key]: next }));
485
501
  };
486
502
  return /* @__PURE__ */ jsxRuntime.jsx(
487
- chunkAWDH6WNA_js.GlassModal,
503
+ chunkGCYYGSHU_js.GlassModal,
488
504
  {
489
505
  open: true,
490
506
  onClose,
@@ -497,9 +513,9 @@ function ToolEditor({
497
513
  handleSubmit();
498
514
  },
499
515
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
500
- /* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.FormGrid, { children: [
516
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.FormGrid, { children: [
501
517
  /* @__PURE__ */ jsxRuntime.jsx(
502
- chunkAWDH6WNA_js.FormInput,
518
+ chunkGCYYGSHU_js.FormInput,
503
519
  {
504
520
  label: "Name",
505
521
  required: true,
@@ -509,7 +525,7 @@ function ToolEditor({
509
525
  }
510
526
  ),
511
527
  /* @__PURE__ */ jsxRuntime.jsx(
512
- chunkAWDH6WNA_js.FormSelect,
528
+ chunkGCYYGSHU_js.FormSelect,
513
529
  {
514
530
  label: "Tool type",
515
531
  value: value.toolType,
@@ -519,7 +535,7 @@ function ToolEditor({
519
535
  }
520
536
  ),
521
537
  /* @__PURE__ */ jsxRuntime.jsx(
522
- chunkAWDH6WNA_js.FormSelect,
538
+ chunkGCYYGSHU_js.FormSelect,
523
539
  {
524
540
  label: "Enabled",
525
541
  value: value.enabled ? "true" : "false",
@@ -528,7 +544,7 @@ function ToolEditor({
528
544
  }
529
545
  ),
530
546
  /* @__PURE__ */ jsxRuntime.jsx(
531
- chunkAWDH6WNA_js.FormInput,
547
+ chunkGCYYGSHU_js.FormInput,
532
548
  {
533
549
  label: "Icon (optional)",
534
550
  value: value.icon ?? "",
@@ -538,7 +554,7 @@ function ToolEditor({
538
554
  )
539
555
  ] }),
540
556
  /* @__PURE__ */ jsxRuntime.jsx(
541
- chunkAWDH6WNA_js.FormTextarea,
557
+ chunkGCYYGSHU_js.FormTextarea,
542
558
  {
543
559
  label: "Description",
544
560
  rows: 2,
@@ -586,7 +602,7 @@ function ParametersEditor({
586
602
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
587
603
  parameters.map((param, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[1fr_160px_1fr_110px_auto] items-end gap-2", children: [
588
604
  /* @__PURE__ */ jsxRuntime.jsx(
589
- chunkAWDH6WNA_js.FormInput,
605
+ chunkGCYYGSHU_js.FormInput,
590
606
  {
591
607
  label: "Name",
592
608
  value: param.name,
@@ -595,7 +611,7 @@ function ParametersEditor({
595
611
  }
596
612
  ),
597
613
  /* @__PURE__ */ jsxRuntime.jsx(
598
- chunkAWDH6WNA_js.FormSelect,
614
+ chunkGCYYGSHU_js.FormSelect,
599
615
  {
600
616
  label: "Type",
601
617
  value: param.type,
@@ -604,28 +620,28 @@ function ParametersEditor({
604
620
  }
605
621
  ),
606
622
  /* @__PURE__ */ jsxRuntime.jsx(
607
- chunkAWDH6WNA_js.FormInput,
623
+ chunkGCYYGSHU_js.FormInput,
608
624
  {
609
625
  label: "Description",
610
626
  value: param.description,
611
627
  onValueChange: (description) => update(index, { description })
612
628
  }
613
629
  ),
614
- /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center gap-2 pb-2 text-xs text-gray-700 dark:text-gray-300", children: [
630
+ /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center gap-2 pb-2 text-xs text-slate-700 dark:text-slate-300", children: [
615
631
  /* @__PURE__ */ jsxRuntime.jsx(
616
632
  "input",
617
633
  {
618
634
  type: "checkbox",
619
635
  checked: param.required,
620
636
  onChange: (event) => update(index, { required: event.target.checked }),
621
- className: "h-4 w-4 rounded border-gray-300"
637
+ className: "h-4 w-4 rounded border-slate-300 text-indigo-600 focus:ring-2 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-white/15 dark:bg-white/[0.08]"
622
638
  }
623
639
  ),
624
640
  "Required"
625
641
  ] }),
626
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", plain: true, onClick: () => remove(index), children: "Remove" })
642
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", plain: true, onClick: () => remove(index), children: "Remove" })
627
643
  ] }, index)),
628
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", outline: true, onClick: add, children: "+ Add parameter" })
644
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", outline: true, onClick: add, children: "+ Add parameter" })
629
645
  ] })
630
646
  ] });
631
647
  }
@@ -638,9 +654,9 @@ function HandlerConfigEditor({
638
654
  if (toolType === "http") {
639
655
  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: [
640
656
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "HTTP handler" }),
641
- /* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.FormGrid, { children: [
657
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.FormGrid, { children: [
642
658
  /* @__PURE__ */ jsxRuntime.jsx(
643
- chunkAWDH6WNA_js.FormSelect,
659
+ chunkGCYYGSHU_js.FormSelect,
644
660
  {
645
661
  label: "Method",
646
662
  value: stringProp(config, "method", "GET"),
@@ -649,7 +665,7 @@ function HandlerConfigEditor({
649
665
  }
650
666
  ),
651
667
  /* @__PURE__ */ jsxRuntime.jsx(
652
- chunkAWDH6WNA_js.FormInput,
668
+ chunkGCYYGSHU_js.FormInput,
653
669
  {
654
670
  label: "URL template",
655
671
  value: stringProp(config, "url"),
@@ -659,7 +675,7 @@ function HandlerConfigEditor({
659
675
  )
660
676
  ] }),
661
677
  /* @__PURE__ */ jsxRuntime.jsx(
662
- chunkAWDH6WNA_js.FormTextarea,
678
+ chunkGCYYGSHU_js.FormTextarea,
663
679
  {
664
680
  label: "Headers (JSON)",
665
681
  rows: 3,
@@ -669,7 +685,7 @@ function HandlerConfigEditor({
669
685
  }
670
686
  ),
671
687
  /* @__PURE__ */ jsxRuntime.jsx(
672
- chunkAWDH6WNA_js.FormTextarea,
688
+ chunkGCYYGSHU_js.FormTextarea,
673
689
  {
674
690
  label: "Body template",
675
691
  rows: 3,
@@ -684,7 +700,7 @@ function HandlerConfigEditor({
684
700
  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: [
685
701
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Function handler" }),
686
702
  /* @__PURE__ */ jsxRuntime.jsx(
687
- chunkAWDH6WNA_js.FormInput,
703
+ chunkGCYYGSHU_js.FormInput,
688
704
  {
689
705
  label: "Implementation key",
690
706
  value: stringProp(config, "implementationKey"),
@@ -698,9 +714,9 @@ function HandlerConfigEditor({
698
714
  if (toolType === "database_query") {
699
715
  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: [
700
716
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Database query handler" }),
701
- /* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.FormGrid, { children: [
717
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.FormGrid, { children: [
702
718
  /* @__PURE__ */ jsxRuntime.jsx(
703
- chunkAWDH6WNA_js.FormInput,
719
+ chunkGCYYGSHU_js.FormInput,
704
720
  {
705
721
  label: "Datasource ID",
706
722
  value: stringProp(config, "datasourceId"),
@@ -709,7 +725,7 @@ function HandlerConfigEditor({
709
725
  }
710
726
  ),
711
727
  /* @__PURE__ */ jsxRuntime.jsx(
712
- chunkAWDH6WNA_js.FormInput,
728
+ chunkGCYYGSHU_js.FormInput,
713
729
  {
714
730
  label: "Max rows",
715
731
  type: "number",
@@ -719,7 +735,7 @@ function HandlerConfigEditor({
719
735
  )
720
736
  ] }),
721
737
  /* @__PURE__ */ jsxRuntime.jsx(
722
- chunkAWDH6WNA_js.FormTextarea,
738
+ chunkGCYYGSHU_js.FormTextarea,
723
739
  {
724
740
  label: "Query template",
725
741
  rows: 4,
@@ -735,7 +751,7 @@ function HandlerConfigEditor({
735
751
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Code execution handler" }),
736
752
  /* @__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." }),
737
753
  /* @__PURE__ */ jsxRuntime.jsx(
738
- chunkAWDH6WNA_js.FormSelect,
754
+ chunkGCYYGSHU_js.FormSelect,
739
755
  {
740
756
  label: "Language",
741
757
  value: stringProp(config, "language", "javascript"),
@@ -747,7 +763,7 @@ function HandlerConfigEditor({
747
763
  }
748
764
  ),
749
765
  /* @__PURE__ */ jsxRuntime.jsx(
750
- chunkAWDH6WNA_js.FormTextarea,
766
+ chunkGCYYGSHU_js.FormTextarea,
751
767
  {
752
768
  label: "Code",
753
769
  rows: 6,
@@ -760,9 +776,9 @@ function HandlerConfigEditor({
760
776
  }
761
777
  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: [
762
778
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold text-slate-700 dark:text-slate-200", children: "API call handler" }),
763
- /* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.FormGrid, { children: [
779
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.FormGrid, { children: [
764
780
  /* @__PURE__ */ jsxRuntime.jsx(
765
- chunkAWDH6WNA_js.FormInput,
781
+ chunkGCYYGSHU_js.FormInput,
766
782
  {
767
783
  label: "URL",
768
784
  value: stringProp(config, "url"),
@@ -770,7 +786,7 @@ function HandlerConfigEditor({
770
786
  }
771
787
  ),
772
788
  /* @__PURE__ */ jsxRuntime.jsx(
773
- chunkAWDH6WNA_js.FormSelect,
789
+ chunkGCYYGSHU_js.FormSelect,
774
790
  {
775
791
  label: "Auth",
776
792
  value: stringProp(config, "authType", "bearer"),
@@ -784,7 +800,7 @@ function HandlerConfigEditor({
784
800
  }
785
801
  ),
786
802
  /* @__PURE__ */ jsxRuntime.jsx(
787
- chunkAWDH6WNA_js.FormInput,
803
+ chunkGCYYGSHU_js.FormInput,
788
804
  {
789
805
  label: "Credential secret id",
790
806
  value: stringProp(config, "credentialRef"),
@@ -916,24 +932,25 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
916
932
  const allRules = rules;
917
933
  const filteredRules = searchTerm.trim() ? allRules.filter((rule) => (rule.name ?? "").toLowerCase().includes(searchTerm.trim().toLowerCase())) : allRules;
918
934
  const isEmpty = allRules.length === 0;
919
- const summary = !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
920
- chunkAWDH6WNA_js.SearchBar,
921
- {
922
- searchTerm,
923
- onSearchChange: setSearchTerm,
924
- placeholder: labels.searchPlaceholder ?? labels.title
925
- }
926
- ) : void 0;
927
935
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
928
- chunkAWDH6WNA_js.HeroSection,
936
+ chunkGCYYGSHU_js.HeroSection,
929
937
  {
930
938
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.AdjustmentsHorizontalIcon, { className: "h-5 w-5" }),
931
939
  label: labels.title,
932
940
  title: labels.title,
933
941
  subtitle: labels.subtitle,
934
942
  gradient: "from-fuchsia-500 to-purple-700",
935
- toolbar: /* @__PURE__ */ jsxRuntime.jsx(
936
- chunkAWDH6WNA_js.CreateActionButton,
943
+ toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
944
+ chunkGCYYGSHU_js.SearchBar,
945
+ {
946
+ searchTerm,
947
+ onSearchChange: setSearchTerm,
948
+ placeholder: labels.searchPlaceholder ?? labels.title,
949
+ noBorder: true
950
+ }
951
+ ) : void 0,
952
+ actions: /* @__PURE__ */ jsxRuntime.jsx(
953
+ chunkGCYYGSHU_js.CreateActionButton,
937
954
  {
938
955
  mode: "desktop",
939
956
  label: labels.addRule,
@@ -944,7 +961,7 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
944
961
  }
945
962
  );
946
963
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
947
- chunkAWDH6WNA_js.CreateActionButton,
964
+ chunkGCYYGSHU_js.CreateActionButton,
948
965
  {
949
966
  mode: "mobile",
950
967
  label: labels.addRule,
@@ -952,18 +969,18 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
952
969
  accent: "fuchsia"
953
970
  }
954
971
  );
955
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_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: filteredRules.map((rule) => /* @__PURE__ */ jsxRuntime.jsx(
956
- chunkAWDH6WNA_js.EntityCard,
972
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_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: filteredRules.map((rule) => /* @__PURE__ */ jsxRuntime.jsx(
973
+ chunkGCYYGSHU_js.EntityCard,
957
974
  {
958
975
  accentGradient: "from-fuchsia-500 to-purple-700",
959
976
  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" }) }),
960
977
  title: rule.name,
961
978
  subtitle: `${labels.order}: ${rule.order ?? 0}`,
962
- status: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Badge, { color: rule.enabled ? "emerald" : "zinc", children: rule.enabled ? labels.enabled : labels.disabled }),
979
+ status: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Badge, { color: rule.enabled ? "emerald" : "zinc", children: rule.enabled ? labels.enabled : labels.disabled }),
963
980
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
964
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(rule), children: labels.edit }),
981
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(rule), children: labels.edit }),
965
982
  /* @__PURE__ */ jsxRuntime.jsx(
966
- chunkAWDH6WNA_js.Button,
983
+ chunkGCYYGSHU_js.Button,
967
984
  {
968
985
  type: "button",
969
986
  size: "sm",
@@ -980,13 +997,13 @@ function RulesPageView({ labels, rules, loading, onCreate, onUpdate, onDelete })
980
997
  rule.ruleId
981
998
  )) });
982
999
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
983
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.ManagementPageLayout, { hero, summary, content, mobileAction }),
1000
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.ManagementPageLayout, { hero, content, mobileAction }),
984
1001
  createOpen && /* @__PURE__ */ jsxRuntime.jsx(
985
1002
  RuleEditor,
986
1003
  {
987
1004
  title: labels.createTitle,
988
1005
  saveLabel: labels.save,
989
- initial: chunk74MHWEDC_js.defaultRuleForm(),
1006
+ initial: chunkUWSMHKOF_js.defaultRuleForm(),
990
1007
  onClose: () => setCreateOpen(false),
991
1008
  onSubmit: (value) => {
992
1009
  onCreate(value);
@@ -1018,7 +1035,7 @@ function RuleEditor({
1018
1035
  }) {
1019
1036
  const [value, setValue] = react.useState(initial);
1020
1037
  return /* @__PURE__ */ jsxRuntime.jsx(
1021
- chunkAWDH6WNA_js.GlassModal,
1038
+ chunkGCYYGSHU_js.GlassModal,
1022
1039
  {
1023
1040
  open: true,
1024
1041
  onClose,
@@ -1030,12 +1047,12 @@ function RuleEditor({
1030
1047
  event.preventDefault();
1031
1048
  onSubmit(value);
1032
1049
  },
1033
- children: /* @__PURE__ */ jsxRuntime.jsx(chunk74MHWEDC_js.RuleForm, { value, onChange: setValue })
1050
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkUWSMHKOF_js.RuleForm, { value, onChange: setValue })
1034
1051
  }
1035
1052
  );
1036
1053
  }
1037
1054
  function ruleToFormValue(rule) {
1038
- const base = chunk74MHWEDC_js.defaultRuleForm();
1055
+ const base = chunkUWSMHKOF_js.defaultRuleForm();
1039
1056
  const rawCondition = rule.condition ?? rule.conditions;
1040
1057
  const rawAction = pickAction(rule);
1041
1058
  return {
@@ -1166,7 +1183,7 @@ var SAMPLE_DATASOURCES = [
1166
1183
  ];
1167
1184
  function getDialectLabel(dialect) {
1168
1185
  if (!dialect) return "Unknown";
1169
- for (const category of chunkV5VBYOF5_js.DIALECT_CATEGORIES) {
1186
+ for (const category of chunkLVK7VXW7_js.DIALECT_CATEGORIES) {
1170
1187
  const found = category.dialects.find((d) => d.value === dialect);
1171
1188
  if (found) return found.label;
1172
1189
  }
@@ -1174,12 +1191,12 @@ function getDialectLabel(dialect) {
1174
1191
  }
1175
1192
  function getDialectGradient(dialect) {
1176
1193
  if (!dialect) return "from-gray-400 to-gray-500";
1177
- const category = chunkV5VBYOF5_js.findCategory(dialect);
1194
+ const category = chunkLVK7VXW7_js.findCategory(dialect);
1178
1195
  return category?.gradient ?? "from-gray-400 to-gray-500";
1179
1196
  }
1180
1197
  function getDialectIcon(dialect) {
1181
1198
  if (!dialect) return outline.CircleStackIcon;
1182
- const category = chunkV5VBYOF5_js.findCategory(dialect);
1199
+ const category = chunkLVK7VXW7_js.findCategory(dialect);
1183
1200
  return category?.icon ?? outline.CircleStackIcon;
1184
1201
  }
1185
1202
  var DIALECT_LOGO = {
@@ -1222,7 +1239,7 @@ function DatasourcesPageView({
1222
1239
  useSampleData ? SAMPLE_DATASOURCES : []
1223
1240
  );
1224
1241
  const allDatasources = externalDatasources ?? localDatasources;
1225
- const datasources = searchTerm.trim() ? allDatasources.filter((ds) => ds.name.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allDatasources;
1242
+ const datasources = searchTerm.trim() ? allDatasources.filter((ds) => (ds.name ?? "").toLowerCase().includes(searchTerm.trim().toLowerCase())) : allDatasources;
1226
1243
  const isEmpty = allDatasources.length === 0;
1227
1244
  function handleCreate(data) {
1228
1245
  if (onCreate) {
@@ -1249,15 +1266,24 @@ function DatasourcesPageView({
1249
1266
  }
1250
1267
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
1251
1268
  /* @__PURE__ */ jsxRuntime.jsx(
1252
- chunkAWDH6WNA_js.HeroSection,
1269
+ chunkGCYYGSHU_js.HeroSection,
1253
1270
  {
1254
1271
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CircleStackIcon, { className: "h-5 w-5" }),
1255
1272
  label: labels.title,
1256
1273
  title: labels.title,
1257
1274
  subtitle: labels.subtitle,
1258
1275
  gradient: "from-amber-500 to-orange-600",
1259
- toolbar: /* @__PURE__ */ jsxRuntime.jsx(
1260
- chunkAWDH6WNA_js.CreateActionButton,
1276
+ toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
1277
+ chunkGCYYGSHU_js.SearchBar,
1278
+ {
1279
+ searchTerm,
1280
+ onSearchChange: setSearchTerm,
1281
+ placeholder: labels.searchPlaceholder ?? labels.title,
1282
+ noBorder: true
1283
+ }
1284
+ ) : void 0,
1285
+ actions: /* @__PURE__ */ jsxRuntime.jsx(
1286
+ chunkGCYYGSHU_js.CreateActionButton,
1261
1287
  {
1262
1288
  mode: "desktop",
1263
1289
  label: labels.addDatasource,
@@ -1268,7 +1294,7 @@ function DatasourcesPageView({
1268
1294
  }
1269
1295
  ),
1270
1296
  /* @__PURE__ */ jsxRuntime.jsx(
1271
- chunkAWDH6WNA_js.CreateActionButton,
1297
+ chunkGCYYGSHU_js.CreateActionButton,
1272
1298
  {
1273
1299
  mode: "mobile",
1274
1300
  label: labels.addDatasource,
@@ -1276,16 +1302,8 @@ function DatasourcesPageView({
1276
1302
  accent: "amber"
1277
1303
  }
1278
1304
  ),
1279
- !isEmpty && /* @__PURE__ */ jsxRuntime.jsx(
1280
- chunkAWDH6WNA_js.SearchBar,
1281
- {
1282
- searchTerm,
1283
- onSearchChange: setSearchTerm,
1284
- placeholder: labels.searchPlaceholder ?? labels.title
1285
- }
1286
- ),
1287
1305
  isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
1288
- chunkAWDH6WNA_js.PageEmptyState,
1306
+ chunkGCYYGSHU_js.PageEmptyState,
1289
1307
  {
1290
1308
  title: labels.emptyTitle,
1291
1309
  message: labels.emptyDescription,
@@ -1297,29 +1315,29 @@ function DatasourcesPageView({
1297
1315
  const gradient = getDialectGradient(ds.dialect);
1298
1316
  const dialectLabel = getDialectLabel(ds.dialect);
1299
1317
  const logoSrc = getDialectLogoSrc(ds.dialect);
1300
- 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" }) });
1318
+ const iconElement = logoSrc ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "liquid-surface flex h-11 w-11 items-center justify-center rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: logoSrc, alt: dialectLabel, className: "h-7 w-7 object-contain" }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-11 w-11 items-center justify-center rounded-lg bg-gradient-to-br ${gradient} shadow-lg`, children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "h-6 w-6 text-white" }) });
1301
1319
  return /* @__PURE__ */ jsxRuntime.jsx(
1302
- chunkAWDH6WNA_js.EntityCard,
1320
+ chunkGCYYGSHU_js.EntityCard,
1303
1321
  {
1304
1322
  accentGradient: gradient,
1305
1323
  icon: iconElement,
1306
1324
  title: ds.name ?? ds.id,
1307
1325
  subtitle: dialectLabel,
1308
- status: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Badge, { color: ds.enabled ? "emerald" : "zinc", children: ds.enabled ? labels.enabled : labels.disabled }),
1309
- footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-xs text-gray-400 dark:text-gray-500", children: [
1326
+ status: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Badge, { color: ds.enabled ? "emerald" : "zinc", children: ds.enabled ? labels.enabled : labels.disabled }),
1327
+ footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-xs text-slate-500 dark:text-slate-400", children: [
1310
1328
  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" }),
1311
1329
  ds.timeoutMs && /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
1312
1330
  ds.timeoutMs / 1e3,
1313
1331
  "s timeout"
1314
1332
  ] })
1315
1333
  ] }),
1316
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2 text-xs text-gray-500 dark:text-gray-400", children: [
1334
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2 text-xs text-slate-500 dark:text-slate-400", children: [
1317
1335
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1318
1336
  labels.dialect,
1319
1337
  ": ",
1320
1338
  dialectLabel
1321
1339
  ] }),
1322
- ds.slug && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "truncate text-gray-400", children: [
1340
+ ds.slug && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "truncate text-slate-400 dark:text-slate-500", children: [
1323
1341
  "/",
1324
1342
  ds.slug
1325
1343
  ] })
@@ -1329,7 +1347,7 @@ function DatasourcesPageView({
1329
1347
  );
1330
1348
  }) }),
1331
1349
  /* @__PURE__ */ jsxRuntime.jsx(
1332
- chunkV5VBYOF5_js.DatasourceModal,
1350
+ chunkLVK7VXW7_js.DatasourceModal,
1333
1351
  {
1334
1352
  open: modalOpen,
1335
1353
  onClose: () => setModalOpen(false),
@@ -1342,9 +1360,9 @@ function DatasourcesPageView({
1342
1360
  function DashboardPageView({ labels, appLogo }) {
1343
1361
  const hero = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full text-center", children: [
1344
1362
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center mb-6", children: appLogo }),
1345
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-3 text-base text-gray-500 dark:text-gray-400", children: labels.subtitle })
1363
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-3 text-base text-slate-600 dark:text-slate-300", children: labels.subtitle })
1346
1364
  ] });
1347
- return /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.ManagementPageLayout, { hero, content: null });
1365
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.ManagementPageLayout, { hero, content: null });
1348
1366
  }
1349
1367
  function AgentsIndexPageView({ labels }) {
1350
1368
  const Link = chunkS7KHTUHA_js.useLink();
@@ -1358,27 +1376,28 @@ function AgentsIndexPageView({ labels }) {
1358
1376
  const filteredTiles = searchTerm.trim() ? allTiles.filter((tile) => tile.title.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allTiles;
1359
1377
  const isEmpty = allTiles.length === 0;
1360
1378
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
1361
- chunkAWDH6WNA_js.HeroSection,
1379
+ chunkGCYYGSHU_js.HeroSection,
1362
1380
  {
1363
1381
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-5 w-5" }),
1364
1382
  label: labels.title,
1365
1383
  title: labels.title,
1366
1384
  subtitle: labels.subtitle,
1367
- gradient: "from-violet-500 to-indigo-700"
1385
+ gradient: "from-violet-500 to-indigo-700",
1386
+ toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
1387
+ chunkGCYYGSHU_js.SearchBar,
1388
+ {
1389
+ searchTerm,
1390
+ onSearchChange: setSearchTerm,
1391
+ placeholder: labels.searchPlaceholder ?? labels.title,
1392
+ noBorder: true
1393
+ }
1394
+ ) : void 0
1368
1395
  }
1369
1396
  );
1370
- const summary = !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
1371
- chunkAWDH6WNA_js.SearchBar,
1372
- {
1373
- searchTerm,
1374
- onSearchChange: setSearchTerm,
1375
- placeholder: labels.searchPlaceholder ?? labels.title
1376
- }
1377
- ) : void 0;
1378
1397
  const content = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4", children: filteredTiles.map((tile) => {
1379
1398
  const Icon = tile.icon;
1380
1399
  return /* @__PURE__ */ jsxRuntime.jsx(Link, { href: tile.href, className: "block focus:outline-none", children: /* @__PURE__ */ jsxRuntime.jsx(
1381
- chunkAWDH6WNA_js.EntityCard,
1400
+ chunkGCYYGSHU_js.EntityCard,
1382
1401
  {
1383
1402
  accentGradient: tile.gradient,
1384
1403
  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" }) }),
@@ -1387,13 +1406,13 @@ function AgentsIndexPageView({ labels }) {
1387
1406
  }
1388
1407
  ) }, tile.id);
1389
1408
  }) });
1390
- return /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.ManagementPageLayout, { hero, summary, content });
1409
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.ManagementPageLayout, { hero, content });
1391
1410
  }
1392
1411
  function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublish }) {
1393
1412
  const selectedWorkflow = workflows[0] ?? null;
1394
1413
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
1395
1414
  /* @__PURE__ */ jsxRuntime.jsx(
1396
- chunkAWDH6WNA_js.SectionHeader,
1415
+ chunkGCYYGSHU_js.SectionHeader,
1397
1416
  {
1398
1417
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.RectangleStackIcon, { className: "h-5 w-5 text-white" }),
1399
1418
  title: labels.title,
@@ -1402,9 +1421,9 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
1402
1421
  }
1403
1422
  ),
1404
1423
  /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
1405
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.add }),
1424
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.add }),
1406
1425
  /* @__PURE__ */ jsxRuntime.jsx(
1407
- chunkAWDH6WNA_js.Form,
1426
+ chunkGCYYGSHU_js.Form,
1408
1427
  {
1409
1428
  onSubmit: (event) => {
1410
1429
  event.preventDefault();
@@ -1415,32 +1434,32 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
1415
1434
  onCreate({ name, description });
1416
1435
  event.currentTarget.reset();
1417
1436
  },
1418
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.FormGrid, { children: [
1419
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormInput, { name: "name", label: labels.workflowName, placeholder: labels.workflowNamePlaceholder, required: true }),
1420
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.workflowDescriptionPlaceholder, rows: 3 }),
1421
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormActionsRow, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "submit", children: labels.create }) })
1437
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.FormGrid, { children: [
1438
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormInput, { name: "name", label: labels.workflowName, placeholder: labels.workflowNamePlaceholder, required: true }),
1439
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.workflowDescriptionPlaceholder, rows: 3 }),
1440
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormActionsRow, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "submit", children: labels.create }) })
1422
1441
  ] })
1423
1442
  }
1424
1443
  )
1425
1444
  ] }),
1426
1445
  /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
1427
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.registry }),
1428
- /* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.Table, { children: [
1429
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableHead, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.TableRow, { children: [
1430
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableHeader, { children: labels.name }),
1431
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableHeader, { children: labels.description }),
1432
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableHeader, { children: labels.version }),
1433
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableHeader, { children: labels.status }),
1434
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableHeader, { children: labels.actions })
1446
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.registry }),
1447
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.Table, { children: [
1448
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableHead, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.TableRow, { children: [
1449
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableHeader, { children: labels.name }),
1450
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableHeader, { children: labels.description }),
1451
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableHeader, { children: labels.version }),
1452
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableHeader, { children: labels.status }),
1453
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableHeader, { children: labels.actions })
1435
1454
  ] }) }),
1436
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableBody, { children: workflows.map((workflow) => /* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.TableRow, { children: [
1437
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableCell, { children: workflow.name }),
1438
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableCell, { children: workflow.description }),
1439
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableCell, { children: String(workflow.version) }),
1440
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Badge, { children: workflow.isDraft ? labels.statusDraft : labels.statusPublished }) }),
1441
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
1455
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableBody, { children: workflows.map((workflow) => /* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.TableRow, { children: [
1456
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableCell, { children: workflow.name }),
1457
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableCell, { children: workflow.description }),
1458
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableCell, { children: String(workflow.version) }),
1459
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Badge, { children: workflow.isDraft ? labels.statusDraft : labels.statusPublished }) }),
1460
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.TableCell, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
1442
1461
  /* @__PURE__ */ jsxRuntime.jsx(
1443
- chunkAWDH6WNA_js.Form,
1462
+ chunkGCYYGSHU_js.Form,
1444
1463
  {
1445
1464
  onSubmit: (event) => {
1446
1465
  event.preventDefault();
@@ -1450,17 +1469,17 @@ function WorkflowsPageView({ labels, workflows, onCreate, onUpdateMeta, onPublis
1450
1469
  description: workflow.description ?? ""
1451
1470
  });
1452
1471
  },
1453
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.InlineForm, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "submit", outline: true, children: labels.saveMeta }) })
1472
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.InlineForm, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "submit", outline: true, children: labels.saveMeta }) })
1454
1473
  }
1455
1474
  ),
1456
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", color: "sky", onClick: () => onPublish(workflow.id), children: labels.publish })
1475
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", color: "sky", onClick: () => onPublish(workflow.id), children: labels.publish })
1457
1476
  ] }) })
1458
1477
  ] }, workflow.id)) })
1459
1478
  ] })
1460
1479
  ] }),
1461
1480
  /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "liquid-surface rounded-2xl p-4 space-y-3", children: [
1462
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.workspace }),
1463
- 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(chunkAVM53A3Y_js.WorkflowWorkspace, { graph: chunk3T2WGL47_js.adaptWorkflowGraphToUi(selectedWorkflow.graph) }) }) : /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Text, { children: labels.empty })
1481
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Text, { className: "font-semibold text-slate-900 dark:text-slate-100", children: labels.workspace }),
1482
+ 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(chunk3WXMBAGN_js.WorkflowWorkspace, { graph: chunk3T2WGL47_js.adaptWorkflowGraphToUi(selectedWorkflow.graph) }) }) : /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Text, { children: labels.empty })
1464
1483
  ] })
1465
1484
  ] });
1466
1485
  }
@@ -1509,46 +1528,49 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
1509
1528
  });
1510
1529
  const isEmpty = allRuns.length === 0;
1511
1530
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
1512
- chunkAWDH6WNA_js.HeroSection,
1531
+ chunkGCYYGSHU_js.HeroSection,
1513
1532
  {
1514
1533
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
1515
1534
  label: labels.title,
1516
1535
  title: labels.title,
1517
1536
  subtitle: labels.subtitle,
1518
1537
  gradient: "from-indigo-500 to-sky-700",
1519
- toolbar: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-48", children: /* @__PURE__ */ jsxRuntime.jsx(
1520
- chunkAWDH6WNA_js.FormSelect,
1521
- {
1522
- name: "statusFilter",
1523
- label: labels.filterStatus,
1524
- options: statusOptions,
1525
- value: statusFilter,
1526
- onValueChange: setStatusFilter
1527
- }
1528
- ) })
1538
+ toolbar: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 sm:flex-row sm:items-end", children: [
1539
+ !isEmpty && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(
1540
+ chunkGCYYGSHU_js.SearchBar,
1541
+ {
1542
+ searchTerm,
1543
+ onSearchChange: setSearchTerm,
1544
+ placeholder: labels.searchPlaceholder ?? labels.title,
1545
+ noBorder: true
1546
+ }
1547
+ ) }),
1548
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full sm:w-48", children: /* @__PURE__ */ jsxRuntime.jsx(
1549
+ chunkGCYYGSHU_js.FormSelect,
1550
+ {
1551
+ name: "statusFilter",
1552
+ label: labels.filterStatus,
1553
+ options: statusOptions,
1554
+ value: statusFilter,
1555
+ onValueChange: setStatusFilter
1556
+ }
1557
+ ) })
1558
+ ] })
1529
1559
  }
1530
1560
  );
1531
- const summary = !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
1532
- chunkAWDH6WNA_js.SearchBar,
1533
- {
1534
- searchTerm,
1535
- onSearchChange: setSearchTerm,
1536
- placeholder: labels.searchPlaceholder ?? labels.title
1537
- }
1538
- ) : void 0;
1539
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.PageLoadingState, {}) : filteredRuns.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_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(
1540
- chunkAWDH6WNA_js.EntityCard,
1561
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.PageLoadingState, {}) : filteredRuns.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_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(
1562
+ chunkGCYYGSHU_js.EntityCard,
1541
1563
  {
1542
1564
  accentGradient: "from-indigo-500 to-sky-700",
1543
1565
  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" }) }),
1544
1566
  title: run.id.slice(0, 8),
1545
1567
  subtitle: `${labels.startedAt}: ${new Date(run.createdAt).toLocaleString()}`,
1546
- status: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Badge, { color: BADGE_COLOR[run.status] ?? "zinc", children: statusLabelFor(run.status) }),
1568
+ status: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Badge, { color: BADGE_COLOR[run.status] ?? "zinc", children: statusLabelFor(run.status) }),
1547
1569
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
1548
- onView && /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onView(run), children: labels.view }),
1549
- onViewTimeline && labels.timeline && /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onViewTimeline(run), children: labels.timeline }),
1550
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onReplay(run), children: labels.replay }),
1551
- run.status === "running" && /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", size: "sm", color: "rose", onClick: () => onCancel(run), children: labels.cancel })
1570
+ onView && /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onView(run), children: labels.view }),
1571
+ onViewTimeline && labels.timeline && /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onViewTimeline(run), children: labels.timeline }),
1572
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", size: "sm", outline: true, onClick: () => onReplay(run), children: labels.replay }),
1573
+ run.status === "running" && /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", size: "sm", color: "rose", onClick: () => onCancel(run), children: labels.cancel })
1552
1574
  ] }),
1553
1575
  children: [
1554
1576
  /* @__PURE__ */ jsxRuntime.jsxs("dl", { className: "mt-1 grid grid-cols-2 gap-1 text-xs text-slate-500 dark:text-slate-400", children: [
@@ -1562,11 +1584,11 @@ function WorkflowRunsPageView({ labels, runs, loading, onCancel, onReplay, onVie
1562
1584
  },
1563
1585
  run.id
1564
1586
  )) });
1565
- return /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.ManagementPageLayout, { hero, summary, content });
1587
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.ManagementPageLayout, { hero, content });
1566
1588
  }
1567
1589
  function RunTimelinePageView({ labels, entries, loading, runId }) {
1568
1590
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
1569
- chunkAWDH6WNA_js.HeroSection,
1591
+ chunkGCYYGSHU_js.HeroSection,
1570
1592
  {
1571
1593
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5" }),
1572
1594
  label: labels.title,
@@ -1576,23 +1598,23 @@ function RunTimelinePageView({ labels, entries, loading, runId }) {
1576
1598
  }
1577
1599
  );
1578
1600
  if (loading) {
1579
- return /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.ManagementPageLayout, { hero, content: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.PageLoadingState, {}) });
1601
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.ManagementPageLayout, { hero, content: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.PageLoadingState, {}) });
1580
1602
  }
1581
1603
  if (entries.length === 0) {
1582
1604
  return /* @__PURE__ */ jsxRuntime.jsx(
1583
- chunkAWDH6WNA_js.ManagementPageLayout,
1605
+ chunkGCYYGSHU_js.ManagementPageLayout,
1584
1606
  {
1585
1607
  hero,
1586
- content: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.PageEmptyState, { title: labels.empty ?? "", message: "", iconName: "folder-open" })
1608
+ content: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.PageEmptyState, { title: labels.empty ?? "", message: "", iconName: "folder-open" })
1587
1609
  }
1588
1610
  );
1589
1611
  }
1590
1612
  return /* @__PURE__ */ jsxRuntime.jsx(
1591
- chunkAWDH6WNA_js.ManagementPageLayout,
1613
+ chunkGCYYGSHU_js.ManagementPageLayout,
1592
1614
  {
1593
1615
  hero,
1594
1616
  content: /* @__PURE__ */ jsxRuntime.jsx(
1595
- chunk74MHWEDC_js.ExecutionTimelinePanel,
1617
+ chunkUWSMHKOF_js.ExecutionTimelinePanel,
1596
1618
  {
1597
1619
  entries,
1598
1620
  labels
@@ -1677,24 +1699,25 @@ function ConnectionsPageView({
1677
1699
  const allConnections = connections;
1678
1700
  const filteredConnections = searchTerm.trim() ? allConnections.filter((conn) => conn.name.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allConnections;
1679
1701
  const isEmpty = allConnections.length === 0;
1680
- const summary = !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
1681
- chunkAWDH6WNA_js.SearchBar,
1682
- {
1683
- searchTerm,
1684
- onSearchChange: setSearchTerm,
1685
- placeholder: labels.searchPlaceholder ?? labels.title
1686
- }
1687
- ) : void 0;
1688
1702
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
1689
- chunkAWDH6WNA_js.HeroSection,
1703
+ chunkGCYYGSHU_js.HeroSection,
1690
1704
  {
1691
1705
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.LinkIcon, { className: "h-5 w-5" }),
1692
1706
  label: labels.title,
1693
1707
  title: labels.title,
1694
1708
  subtitle: labels.subtitle,
1695
1709
  gradient: "from-sky-500 to-indigo-600",
1696
- toolbar: /* @__PURE__ */ jsxRuntime.jsx(
1697
- chunkAWDH6WNA_js.CreateActionButton,
1710
+ toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
1711
+ chunkGCYYGSHU_js.SearchBar,
1712
+ {
1713
+ searchTerm,
1714
+ onSearchChange: setSearchTerm,
1715
+ placeholder: labels.searchPlaceholder ?? labels.title,
1716
+ noBorder: true
1717
+ }
1718
+ ) : void 0,
1719
+ actions: /* @__PURE__ */ jsxRuntime.jsx(
1720
+ chunkGCYYGSHU_js.CreateActionButton,
1698
1721
  {
1699
1722
  mode: "desktop",
1700
1723
  label: labels.add,
@@ -1705,7 +1728,7 @@ function ConnectionsPageView({
1705
1728
  }
1706
1729
  );
1707
1730
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
1708
- chunkAWDH6WNA_js.CreateActionButton,
1731
+ chunkGCYYGSHU_js.CreateActionButton,
1709
1732
  {
1710
1733
  mode: "mobile",
1711
1734
  label: labels.add,
@@ -1713,21 +1736,21 @@ function ConnectionsPageView({
1713
1736
  accent: "sky"
1714
1737
  }
1715
1738
  );
1716
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_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: filteredConnections.map((conn) => /* @__PURE__ */ jsxRuntime.jsx(
1717
- chunkAWDH6WNA_js.EntityCard,
1739
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_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: filteredConnections.map((conn) => /* @__PURE__ */ jsxRuntime.jsx(
1740
+ chunkGCYYGSHU_js.EntityCard,
1718
1741
  {
1719
1742
  accentGradient: "from-sky-500 to-indigo-600",
1720
1743
  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" }) }),
1721
1744
  title: conn.name,
1722
1745
  subtitle: providerLabel(conn.providerSlug),
1723
1746
  status: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1", children: [
1724
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Badge, { color: conn.enabled ? "emerald" : "zinc", children: conn.enabled ? labels.enable : labels.disable }),
1725
- conn.credentialRef ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Badge, { color: "indigo", children: "Secret set" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Badge, { color: "amber", children: "No secret" })
1747
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Badge, { color: conn.enabled ? "emerald" : "zinc", children: conn.enabled ? labels.enable : labels.disable }),
1748
+ conn.credentialRef ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Badge, { color: "indigo", children: "Secret set" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Badge, { color: "amber", children: "No secret" })
1726
1749
  ] }),
1727
1750
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
1728
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(conn), children: labels.edit }),
1751
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setEditing(conn), children: labels.edit }),
1729
1752
  /* @__PURE__ */ jsxRuntime.jsx(
1730
- chunkAWDH6WNA_js.Button,
1753
+ chunkGCYYGSHU_js.Button,
1731
1754
  {
1732
1755
  type: "button",
1733
1756
  size: "sm",
@@ -1748,7 +1771,7 @@ function ConnectionsPageView({
1748
1771
  conn.id
1749
1772
  )) });
1750
1773
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1751
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.ManagementPageLayout, { hero, summary, content, mobileAction }),
1774
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.ManagementPageLayout, { hero, content, mobileAction }),
1752
1775
  createOpen && /* @__PURE__ */ jsxRuntime.jsx(
1753
1776
  ConnectionEditor,
1754
1777
  {
@@ -1862,7 +1885,7 @@ function ConnectionEditor({
1862
1885
  return preset.exampleModels?.join(", ") ?? "";
1863
1886
  }, [preset]);
1864
1887
  return /* @__PURE__ */ jsxRuntime.jsx(
1865
- chunkAWDH6WNA_js.GlassModal,
1888
+ chunkGCYYGSHU_js.GlassModal,
1866
1889
  {
1867
1890
  open: true,
1868
1891
  onClose,
@@ -1875,9 +1898,9 @@ function ConnectionEditor({
1875
1898
  void handleSubmit();
1876
1899
  },
1877
1900
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
1878
- /* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.FormGrid, { children: [
1901
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.FormGrid, { children: [
1879
1902
  /* @__PURE__ */ jsxRuntime.jsx(
1880
- chunkAWDH6WNA_js.FormSelect,
1903
+ chunkGCYYGSHU_js.FormSelect,
1881
1904
  {
1882
1905
  label: "Provider",
1883
1906
  value: value.providerSlug,
@@ -1888,7 +1911,7 @@ function ConnectionEditor({
1888
1911
  }
1889
1912
  ),
1890
1913
  /* @__PURE__ */ jsxRuntime.jsx(
1891
- chunkAWDH6WNA_js.FormInput,
1914
+ chunkGCYYGSHU_js.FormInput,
1892
1915
  {
1893
1916
  label: "Display name",
1894
1917
  required: true,
@@ -1898,7 +1921,7 @@ function ConnectionEditor({
1898
1921
  }
1899
1922
  ),
1900
1923
  preset.needsRegion && /* @__PURE__ */ jsxRuntime.jsx(
1901
- chunkAWDH6WNA_js.FormInput,
1924
+ chunkGCYYGSHU_js.FormInput,
1902
1925
  {
1903
1926
  label: "Region",
1904
1927
  value: value.region,
@@ -1907,7 +1930,7 @@ function ConnectionEditor({
1907
1930
  }
1908
1931
  ),
1909
1932
  preset.needsEndpoint && /* @__PURE__ */ jsxRuntime.jsx(
1910
- chunkAWDH6WNA_js.FormInput,
1933
+ chunkGCYYGSHU_js.FormInput,
1911
1934
  {
1912
1935
  label: "Endpoint URL",
1913
1936
  value: value.endpoint,
@@ -1917,7 +1940,7 @@ function ConnectionEditor({
1917
1940
  )
1918
1941
  ] }),
1919
1942
  /* @__PURE__ */ jsxRuntime.jsx(
1920
- chunkAWDH6WNA_js.FormInput,
1943
+ chunkGCYYGSHU_js.FormInput,
1921
1944
  {
1922
1945
  label: value.credentialRef ? "Rotate API key (leave blank to keep current)" : "API key",
1923
1946
  type: "password",
@@ -1928,7 +1951,7 @@ function ConnectionEditor({
1928
1951
  }
1929
1952
  ),
1930
1953
  /* @__PURE__ */ jsxRuntime.jsx(
1931
- chunkAWDH6WNA_js.FormInput,
1954
+ chunkGCYYGSHU_js.FormInput,
1932
1955
  {
1933
1956
  label: "Model filter (comma-separated, optional)",
1934
1957
  value: value.modelFilter,
@@ -1940,7 +1963,7 @@ function ConnectionEditor({
1940
1963
  /* @__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: [
1941
1964
  /* @__PURE__ */ jsxRuntime.jsx("summary", { className: "cursor-pointer font-medium text-slate-700 dark:text-slate-200", children: "Advanced config (JSON)" }),
1942
1965
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsx(
1943
- chunkAWDH6WNA_js.FormTextarea,
1966
+ chunkGCYYGSHU_js.FormTextarea,
1944
1967
  {
1945
1968
  rows: 4,
1946
1969
  value: value.configJson,
@@ -2003,14 +2026,6 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
2003
2026
  const allCredentials = credentials;
2004
2027
  const filteredCredentials = searchTerm.trim() ? allCredentials.filter((secret) => secret.name.toLowerCase().includes(searchTerm.trim().toLowerCase())) : allCredentials;
2005
2028
  const isEmpty = allCredentials.length === 0;
2006
- const summary = !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
2007
- chunkAWDH6WNA_js.SearchBar,
2008
- {
2009
- searchTerm,
2010
- onSearchChange: setSearchTerm,
2011
- placeholder: labels.searchPlaceholder ?? labels.title
2012
- }
2013
- ) : void 0;
2014
2029
  const typeOptions = [
2015
2030
  { value: "generic", label: labels.typeGeneric },
2016
2031
  { value: "api_key", label: labels.typeApiKey },
@@ -2018,15 +2033,24 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
2018
2033
  { value: "password", label: labels.typePassword }
2019
2034
  ];
2020
2035
  const hero = /* @__PURE__ */ jsxRuntime.jsx(
2021
- chunkAWDH6WNA_js.HeroSection,
2036
+ chunkGCYYGSHU_js.HeroSection,
2022
2037
  {
2023
2038
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-5 w-5" }),
2024
2039
  label: labels.title,
2025
2040
  title: labels.title,
2026
2041
  subtitle: labels.subtitle,
2027
2042
  gradient: "from-rose-500 to-orange-600",
2028
- toolbar: /* @__PURE__ */ jsxRuntime.jsx(
2029
- chunkAWDH6WNA_js.CreateActionButton,
2043
+ toolbar: !isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
2044
+ chunkGCYYGSHU_js.SearchBar,
2045
+ {
2046
+ searchTerm,
2047
+ onSearchChange: setSearchTerm,
2048
+ placeholder: labels.searchPlaceholder ?? labels.title,
2049
+ noBorder: true
2050
+ }
2051
+ ) : void 0,
2052
+ actions: /* @__PURE__ */ jsxRuntime.jsx(
2053
+ chunkGCYYGSHU_js.CreateActionButton,
2030
2054
  {
2031
2055
  mode: "desktop",
2032
2056
  label: labels.addCredential,
@@ -2037,7 +2061,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
2037
2061
  }
2038
2062
  );
2039
2063
  const mobileAction = /* @__PURE__ */ jsxRuntime.jsx(
2040
- chunkAWDH6WNA_js.CreateActionButton,
2064
+ chunkGCYYGSHU_js.CreateActionButton,
2041
2065
  {
2042
2066
  mode: "mobile",
2043
2067
  label: labels.addCredential,
@@ -2045,23 +2069,23 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
2045
2069
  accent: "rose"
2046
2070
  }
2047
2071
  );
2048
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_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: filteredCredentials.map((secret) => /* @__PURE__ */ jsxRuntime.jsxs(
2049
- chunkAWDH6WNA_js.EntityCard,
2072
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.PageLoadingState, {}) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_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: filteredCredentials.map((secret) => /* @__PURE__ */ jsxRuntime.jsxs(
2073
+ chunkGCYYGSHU_js.EntityCard,
2050
2074
  {
2051
2075
  accentGradient: "from-rose-500 to-orange-700",
2052
2076
  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" }) }),
2053
2077
  title: secret.name,
2054
2078
  subtitle: secret.secretType,
2055
- status: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.Badge, { color: secret.disabled ? "zinc" : "emerald", children: secret.disabled ? labels.disable : "Active" }),
2079
+ status: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.Badge, { color: secret.disabled ? "zinc" : "emerald", children: secret.disabled ? labels.disable : "Active" }),
2056
2080
  footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-2", children: [
2057
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.CopyableId, { id: secret.secretId }),
2081
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.CopyableId, { id: secret.secretId }),
2058
2082
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
2059
- /* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setRotateFor(secret), children: [
2083
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.Button, { type: "button", size: "sm", outline: true, onClick: () => setRotateFor(secret), children: [
2060
2084
  /* @__PURE__ */ jsxRuntime.jsx(outline.ArrowPathIcon, { className: "mr-1 h-3.5 w-3.5" }),
2061
2085
  labels.rotate
2062
2086
  ] }),
2063
2087
  !secret.disabled && /* @__PURE__ */ jsxRuntime.jsxs(
2064
- chunkAWDH6WNA_js.Button,
2088
+ chunkGCYYGSHU_js.Button,
2065
2089
  {
2066
2090
  type: "button",
2067
2091
  size: "sm",
@@ -2090,9 +2114,9 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
2090
2114
  secret.secretId
2091
2115
  )) });
2092
2116
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2093
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.ManagementPageLayout, { hero, summary, content, mobileAction }),
2117
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.ManagementPageLayout, { hero, content, mobileAction }),
2094
2118
  /* @__PURE__ */ jsxRuntime.jsx(
2095
- chunkAWDH6WNA_js.GlassModal,
2119
+ chunkGCYYGSHU_js.GlassModal,
2096
2120
  {
2097
2121
  open: createOpen,
2098
2122
  onClose: () => setCreateOpen(false),
@@ -2110,16 +2134,16 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
2110
2134
  onCreate({ name, value, secretType, description });
2111
2135
  setCreateOpen(false);
2112
2136
  },
2113
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkAWDH6WNA_js.FormGrid, { children: [
2114
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormInput, { name: "name", label: labels.name, placeholder: labels.namePlaceholder, required: true }),
2115
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormSelect, { name: "secretType", label: labels.type, options: typeOptions, defaultValue: "generic" }),
2116
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }),
2117
- /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.descriptionPlaceholder, rows: 2 })
2137
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkGCYYGSHU_js.FormGrid, { children: [
2138
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormInput, { name: "name", label: labels.name, placeholder: labels.namePlaceholder, required: true }),
2139
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormSelect, { name: "secretType", label: labels.type, options: typeOptions, defaultValue: "generic" }),
2140
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }),
2141
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormTextarea, { name: "description", label: labels.description, placeholder: labels.descriptionPlaceholder, rows: 2 })
2118
2142
  ] })
2119
2143
  }
2120
2144
  ),
2121
2145
  /* @__PURE__ */ jsxRuntime.jsx(
2122
- chunkAWDH6WNA_js.GlassModal,
2146
+ chunkGCYYGSHU_js.GlassModal,
2123
2147
  {
2124
2148
  open: rotateFor !== null,
2125
2149
  onClose: () => setRotateFor(null),
@@ -2134,7 +2158,7 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
2134
2158
  onRotate(rotateFor, value);
2135
2159
  setRotateFor(null);
2136
2160
  },
2137
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormGrid, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkAWDH6WNA_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }) })
2161
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormGrid, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.FormInput, { name: "value", label: labels.value, placeholder: labels.valuePlaceholder, required: true, type: "password" }) })
2138
2162
  }
2139
2163
  )
2140
2164
  ] });
@@ -2142,31 +2166,31 @@ function CredentialsPageView({ labels, credentials, loading, onCreate, onRotate,
2142
2166
 
2143
2167
  Object.defineProperty(exports, "RolesPageView", {
2144
2168
  enumerable: true,
2145
- get: function () { return chunkAVM53A3Y_js.RolesPageView; }
2169
+ get: function () { return chunk3WXMBAGN_js.RolesPageView; }
2146
2170
  });
2147
2171
  Object.defineProperty(exports, "UsersPageView", {
2148
2172
  enumerable: true,
2149
- get: function () { return chunkAVM53A3Y_js.UsersPageView; }
2173
+ get: function () { return chunk3WXMBAGN_js.UsersPageView; }
2150
2174
  });
2151
2175
  Object.defineProperty(exports, "DIALECT_CATEGORIES", {
2152
2176
  enumerable: true,
2153
- get: function () { return chunkV5VBYOF5_js.DIALECT_CATEGORIES; }
2177
+ get: function () { return chunkLVK7VXW7_js.DIALECT_CATEGORIES; }
2154
2178
  });
2155
2179
  Object.defineProperty(exports, "DatasourceFormModal", {
2156
2180
  enumerable: true,
2157
- get: function () { return chunkV5VBYOF5_js.DatasourceFormModal; }
2181
+ get: function () { return chunkLVK7VXW7_js.DatasourceFormModal; }
2158
2182
  });
2159
2183
  Object.defineProperty(exports, "DatasourceModal", {
2160
2184
  enumerable: true,
2161
- get: function () { return chunkV5VBYOF5_js.DatasourceModal; }
2185
+ get: function () { return chunkLVK7VXW7_js.DatasourceModal; }
2162
2186
  });
2163
2187
  Object.defineProperty(exports, "findCategory", {
2164
2188
  enumerable: true,
2165
- get: function () { return chunkV5VBYOF5_js.findCategory; }
2189
+ get: function () { return chunkLVK7VXW7_js.findCategory; }
2166
2190
  });
2167
2191
  Object.defineProperty(exports, "findDialect", {
2168
2192
  enumerable: true,
2169
- get: function () { return chunkV5VBYOF5_js.findDialect; }
2193
+ get: function () { return chunkLVK7VXW7_js.findDialect; }
2170
2194
  });
2171
2195
  exports.AgentsConfigPageView = AgentsConfigPageView;
2172
2196
  exports.AgentsIndexPageView = AgentsIndexPageView;