@datatechsolutions/ui 3.13.0 → 3.13.1

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 (131) hide show
  1. package/dist/astrlabe/graph-node.js +6 -6
  2. package/dist/astrlabe/graph-node.mjs +2 -2
  3. package/dist/astrlabe/index.js +113 -113
  4. package/dist/astrlabe/index.mjs +5 -5
  5. package/dist/astrlabe/workflow-canvas.js +5 -5
  6. package/dist/astrlabe/workflow-canvas.mjs +4 -4
  7. package/dist/{chunk-CSOMZ5UM.mjs → chunk-3VCSMSJB.mjs} +5 -5
  8. package/dist/{chunk-CSOMZ5UM.mjs.map → chunk-3VCSMSJB.mjs.map} +1 -1
  9. package/dist/{chunk-KWH7JIRP.mjs → chunk-4MNKVDTJ.mjs} +9 -8
  10. package/dist/chunk-4MNKVDTJ.mjs.map +1 -0
  11. package/dist/{chunk-ZRCXDKBE.mjs → chunk-4QCO4CBC.mjs} +4 -4
  12. package/dist/{chunk-ZRCXDKBE.mjs.map → chunk-4QCO4CBC.mjs.map} +1 -1
  13. package/dist/{chunk-VIB42VMZ.mjs → chunk-4VEQJAXJ.mjs} +5 -5
  14. package/dist/{chunk-VIB42VMZ.mjs.map → chunk-4VEQJAXJ.mjs.map} +1 -1
  15. package/dist/{chunk-D5OTZGA2.js → chunk-4Z5NZINA.js} +373 -422
  16. package/dist/chunk-4Z5NZINA.js.map +1 -0
  17. package/dist/{chunk-K5567JM5.js → chunk-54T5F65C.js} +26 -26
  18. package/dist/{chunk-K5567JM5.js.map → chunk-54T5F65C.js.map} +1 -1
  19. package/dist/{chunk-IIRS5XZY.js → chunk-7IAWXG43.js} +33 -33
  20. package/dist/{chunk-IIRS5XZY.js.map → chunk-7IAWXG43.js.map} +1 -1
  21. package/dist/{chunk-N4YT3QA5.js → chunk-AC54BNSK.js} +13 -13
  22. package/dist/{chunk-N4YT3QA5.js.map → chunk-AC54BNSK.js.map} +1 -1
  23. package/dist/{chunk-OY5HUZSD.js → chunk-B3TA74C4.js} +91 -91
  24. package/dist/chunk-B3TA74C4.js.map +1 -0
  25. package/dist/{chunk-PPIUMCUZ.js → chunk-CKY2QIRR.js} +4 -4
  26. package/dist/{chunk-PPIUMCUZ.js.map → chunk-CKY2QIRR.js.map} +1 -1
  27. package/dist/{chunk-EZQ2D47U.js → chunk-CVEI4RQP.js} +4 -4
  28. package/dist/{chunk-EZQ2D47U.js.map → chunk-CVEI4RQP.js.map} +1 -1
  29. package/dist/{chunk-OC4AOYU5.mjs → chunk-DJHNSBIR.mjs} +62 -99
  30. package/dist/chunk-DJHNSBIR.mjs.map +1 -0
  31. package/dist/{chunk-P4RVGMZL.js → chunk-DTFU3ZTD.js} +5 -33
  32. package/dist/chunk-DTFU3ZTD.js.map +1 -0
  33. package/dist/{chunk-BHOT22QL.js → chunk-EBARYRSA.js} +2 -2
  34. package/dist/{chunk-BHOT22QL.js.map → chunk-EBARYRSA.js.map} +1 -1
  35. package/dist/{chunk-QGLGQXJE.js → chunk-FV42SSLP.js} +10 -10
  36. package/dist/chunk-FV42SSLP.js.map +1 -0
  37. package/dist/{chunk-AHNH2PMI.mjs → chunk-M4KRQXOT.mjs} +3 -3
  38. package/dist/{chunk-AHNH2PMI.mjs.map → chunk-M4KRQXOT.mjs.map} +1 -1
  39. package/dist/{chunk-WR55H7DH.mjs → chunk-O4RZCDP2.mjs} +2 -2
  40. package/dist/{chunk-WR55H7DH.mjs.map → chunk-O4RZCDP2.mjs.map} +1 -1
  41. package/dist/{chunk-6YTYD4P5.js → chunk-PM7A5I3X.js} +135 -172
  42. package/dist/chunk-PM7A5I3X.js.map +1 -0
  43. package/dist/{chunk-SDYKXLCU.js → chunk-Q7QPHZOV.js} +63 -63
  44. package/dist/{chunk-SDYKXLCU.js.map → chunk-Q7QPHZOV.js.map} +1 -1
  45. package/dist/{chunk-MSKKNPRE.mjs → chunk-QEACOJXX.mjs} +73 -73
  46. package/dist/chunk-QEACOJXX.mjs.map +1 -0
  47. package/dist/{chunk-6KDTVSZT.mjs → chunk-RMPXGEFL.mjs} +10 -9
  48. package/dist/chunk-RMPXGEFL.mjs.map +1 -0
  49. package/dist/{chunk-WOTKBKS6.js → chunk-RPNMDGRA.js} +44 -44
  50. package/dist/chunk-RPNMDGRA.js.map +1 -0
  51. package/dist/{chunk-UPYACFZJ.mjs → chunk-RSCRIDMW.mjs} +274 -312
  52. package/dist/chunk-RSCRIDMW.mjs.map +1 -0
  53. package/dist/{chunk-NF5DDM5V.js → chunk-RUZPOHJW.js} +43 -42
  54. package/dist/chunk-RUZPOHJW.js.map +1 -0
  55. package/dist/{chunk-5ETT54QS.js → chunk-RWZ2PLMQ.js} +142 -142
  56. package/dist/chunk-RWZ2PLMQ.js.map +1 -0
  57. package/dist/{chunk-ANFSQJNI.mjs → chunk-SCGICCQM.mjs} +14 -14
  58. package/dist/chunk-SCGICCQM.mjs.map +1 -0
  59. package/dist/{chunk-UXHJS2SH.mjs → chunk-TRNDFSM6.mjs} +273 -322
  60. package/dist/chunk-TRNDFSM6.mjs.map +1 -0
  61. package/dist/{chunk-VI4IUTMX.js → chunk-ULSG4JLR.js} +6 -6
  62. package/dist/{chunk-VI4IUTMX.js.map → chunk-ULSG4JLR.js.map} +1 -1
  63. package/dist/{chunk-MQDCUBVW.js → chunk-UPWJRCAD.js} +430 -468
  64. package/dist/chunk-UPWJRCAD.js.map +1 -0
  65. package/dist/{chunk-AKWCT53S.mjs → chunk-UUTTS3VV.mjs} +44 -44
  66. package/dist/chunk-UUTTS3VV.mjs.map +1 -0
  67. package/dist/{chunk-AMCFAGK3.js → chunk-VCL5LDS5.js} +42 -41
  68. package/dist/chunk-VCL5LDS5.js.map +1 -0
  69. package/dist/{chunk-PLTLRL2V.mjs → chunk-VPRAESA7.mjs} +3 -3
  70. package/dist/{chunk-PLTLRL2V.mjs.map → chunk-VPRAESA7.mjs.map} +1 -1
  71. package/dist/{chunk-2ECLDHAT.js → chunk-VWZ53TE2.js} +9 -9
  72. package/dist/{chunk-2ECLDHAT.js.map → chunk-VWZ53TE2.js.map} +1 -1
  73. package/dist/{chunk-3VYD7QL2.mjs → chunk-WX44DAQD.mjs} +9 -9
  74. package/dist/chunk-WX44DAQD.mjs.map +1 -0
  75. package/dist/{chunk-DJ33CSGJ.mjs → chunk-XYMHIZ3K.mjs} +5 -33
  76. package/dist/chunk-XYMHIZ3K.mjs.map +1 -0
  77. package/dist/{chunk-4VHFGW7I.mjs → chunk-Y65X2NHF.mjs} +3 -3
  78. package/dist/{chunk-4VHFGW7I.mjs.map → chunk-Y65X2NHF.mjs.map} +1 -1
  79. package/dist/{chunk-7TYNV6SY.mjs → chunk-YHD6SJIN.mjs} +14 -14
  80. package/dist/{chunk-7TYNV6SY.mjs.map → chunk-YHD6SJIN.mjs.map} +1 -1
  81. package/dist/{chunk-QGRTV35L.mjs → chunk-ZPV7X4ZE.mjs} +6 -6
  82. package/dist/{chunk-QGRTV35L.mjs.map → chunk-ZPV7X4ZE.mjs.map} +1 -1
  83. package/dist/index.js +703 -703
  84. package/dist/index.mjs +2 -2
  85. package/dist/platform/admin/index.js +11 -11
  86. package/dist/platform/admin/index.mjs +5 -5
  87. package/dist/platform/agents-workspace.js +8 -8
  88. package/dist/platform/agents-workspace.mjs +7 -7
  89. package/dist/platform/app-shell.js +4 -4
  90. package/dist/platform/app-shell.mjs +3 -3
  91. package/dist/platform/auth/index.js +28 -28
  92. package/dist/platform/auth/index.mjs +5 -5
  93. package/dist/platform/billing/index.js +6 -6
  94. package/dist/platform/billing/index.mjs +4 -4
  95. package/dist/platform/impersonation/index.js +4 -4
  96. package/dist/platform/impersonation/index.mjs +3 -3
  97. package/dist/platform/index.js +101 -101
  98. package/dist/platform/index.js.map +1 -1
  99. package/dist/platform/index.mjs +29 -29
  100. package/dist/platform/index.mjs.map +1 -1
  101. package/dist/platform/pages/index.d.mts +12 -2
  102. package/dist/platform/pages/index.d.ts +12 -2
  103. package/dist/platform/pages/index.js +450 -449
  104. package/dist/platform/pages/index.js.map +1 -1
  105. package/dist/platform/pages/index.mjs +50 -49
  106. package/dist/platform/pages/index.mjs.map +1 -1
  107. package/dist/platform/settings/index.js +8 -8
  108. package/dist/platform/settings/index.mjs +7 -7
  109. package/dist/platform/workflow-canvas-shell.js +6 -6
  110. package/dist/platform/workflow-canvas-shell.mjs +5 -5
  111. package/package.json +1 -1
  112. package/dist/chunk-3VYD7QL2.mjs.map +0 -1
  113. package/dist/chunk-5ETT54QS.js.map +0 -1
  114. package/dist/chunk-6KDTVSZT.mjs.map +0 -1
  115. package/dist/chunk-6YTYD4P5.js.map +0 -1
  116. package/dist/chunk-AKWCT53S.mjs.map +0 -1
  117. package/dist/chunk-AMCFAGK3.js.map +0 -1
  118. package/dist/chunk-ANFSQJNI.mjs.map +0 -1
  119. package/dist/chunk-D5OTZGA2.js.map +0 -1
  120. package/dist/chunk-DJ33CSGJ.mjs.map +0 -1
  121. package/dist/chunk-KWH7JIRP.mjs.map +0 -1
  122. package/dist/chunk-MQDCUBVW.js.map +0 -1
  123. package/dist/chunk-MSKKNPRE.mjs.map +0 -1
  124. package/dist/chunk-NF5DDM5V.js.map +0 -1
  125. package/dist/chunk-OC4AOYU5.mjs.map +0 -1
  126. package/dist/chunk-OY5HUZSD.js.map +0 -1
  127. package/dist/chunk-P4RVGMZL.js.map +0 -1
  128. package/dist/chunk-QGLGQXJE.js.map +0 -1
  129. package/dist/chunk-UPYACFZJ.mjs.map +0 -1
  130. package/dist/chunk-UXHJS2SH.mjs.map +0 -1
  131. package/dist/chunk-WOTKBKS6.js.map +0 -1
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkD5OTZGA2_js = require('./chunk-D5OTZGA2.js');
5
- var chunk5ETT54QS_js = require('./chunk-5ETT54QS.js');
4
+ var chunk4Z5NZINA_js = require('./chunk-4Z5NZINA.js');
5
+ var chunkRWZ2PLMQ_js = require('./chunk-RWZ2PLMQ.js');
6
6
  var chunkY5VN4SPH_js = require('./chunk-Y5VN4SPH.js');
7
- var chunkBHOT22QL_js = require('./chunk-BHOT22QL.js');
7
+ var chunkEBARYRSA_js = require('./chunk-EBARYRSA.js');
8
8
  var chunk72SWXOD5_js = require('./chunk-72SWXOD5.js');
9
9
  var react = require('react');
10
10
  var react$1 = require('@xyflow/react');
@@ -41,11 +41,11 @@ var ModelProviderFlowNode = react.memo(function ModelProviderFlowNode2({ id, dat
41
41
  const isCompact = data.displayMode === "compact";
42
42
  if (!config) {
43
43
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
44
- /* @__PURE__ */ jsxRuntime.jsx(chunkD5OTZGA2_js.NodeRunningIndicator, { nodeId: id }),
45
- /* @__PURE__ */ jsxRuntime.jsx(chunkD5OTZGA2_js.WorkflowHandle, { type: "target", position: react$1.Position.Left, id: "left-in", colorClass: "!bg-gray-400 dark:!bg-gray-500" }),
46
- /* @__PURE__ */ jsxRuntime.jsx(chunkD5OTZGA2_js.WorkflowHandle, { type: "target", position: react$1.Position.Top, id: "top-in", colorClass: "!bg-gray-400 dark:!bg-gray-500" }),
47
- /* @__PURE__ */ jsxRuntime.jsx(chunkD5OTZGA2_js.NodeCard, { variant: "error", nodeType: "model_provider", width: "w-[280px]", children: /* @__PURE__ */ jsxRuntime.jsx(
48
- chunkD5OTZGA2_js.NodeCardHeader,
44
+ /* @__PURE__ */ jsxRuntime.jsx(chunk4Z5NZINA_js.NodeRunningIndicator, { nodeId: id }),
45
+ /* @__PURE__ */ jsxRuntime.jsx(chunk4Z5NZINA_js.WorkflowHandle, { type: "target", position: react$1.Position.Left, id: "left-in", colorClass: "!bg-gray-400 dark:!bg-gray-500" }),
46
+ /* @__PURE__ */ jsxRuntime.jsx(chunk4Z5NZINA_js.WorkflowHandle, { type: "target", position: react$1.Position.Top, id: "top-in", colorClass: "!bg-gray-400 dark:!bg-gray-500" }),
47
+ /* @__PURE__ */ jsxRuntime.jsx(chunk4Z5NZINA_js.NodeCard, { variant: "error", nodeType: "model_provider", width: "w-[280px]", children: /* @__PURE__ */ jsxRuntime.jsx(
48
+ chunk4Z5NZINA_js.NodeCardHeader,
49
49
  {
50
50
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ExclamationTriangleIcon, { className: "h-6 w-6 text-white" }),
51
51
  title: data.label || "Model Provider",
@@ -53,8 +53,8 @@ var ModelProviderFlowNode = react.memo(function ModelProviderFlowNode2({ id, dat
53
53
  iconClassName: "flex h-11 w-11 items-center justify-center rounded-xl bg-gradient-to-br from-amber-400 to-orange-500 shadow-lg"
54
54
  }
55
55
  ) }),
56
- /* @__PURE__ */ jsxRuntime.jsx(chunkD5OTZGA2_js.WorkflowHandle, { type: "source", position: react$1.Position.Right, id: "right-out", colorClass: "!bg-slate-500" }),
57
- /* @__PURE__ */ jsxRuntime.jsx(chunkD5OTZGA2_js.WorkflowHandle, { type: "source", position: react$1.Position.Bottom, id: "bottom-out", colorClass: "!bg-slate-500" })
56
+ /* @__PURE__ */ jsxRuntime.jsx(chunk4Z5NZINA_js.WorkflowHandle, { type: "source", position: react$1.Position.Right, id: "right-out", colorClass: "!bg-slate-500" }),
57
+ /* @__PURE__ */ jsxRuntime.jsx(chunk4Z5NZINA_js.WorkflowHandle, { type: "source", position: react$1.Position.Bottom, id: "bottom-out", colorClass: "!bg-slate-500" })
58
58
  ] });
59
59
  }
60
60
  const providerLabel = PROVIDER_TYPE_LABELS[config.providerType] ?? config.providerType;
@@ -63,18 +63,18 @@ var ModelProviderFlowNode = react.memo(function ModelProviderFlowNode2({ id, dat
63
63
  const isConfigured = !!(config.credentialRef || config.apiKeyRef);
64
64
  const logo = PROVIDER_LOGOS[config.providerType];
65
65
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
66
- /* @__PURE__ */ jsxRuntime.jsx(chunkD5OTZGA2_js.NodeRunningIndicator, { nodeId: id }),
67
- /* @__PURE__ */ jsxRuntime.jsx(chunkD5OTZGA2_js.WorkflowHandle, { type: "target", position: react$1.Position.Left, id: "left-in", colorClass: "!bg-gray-400 dark:!bg-gray-500" }),
68
- /* @__PURE__ */ jsxRuntime.jsx(chunkD5OTZGA2_js.WorkflowHandle, { type: "target", position: react$1.Position.Top, id: "top-in", colorClass: "!bg-gray-400 dark:!bg-gray-500" }),
66
+ /* @__PURE__ */ jsxRuntime.jsx(chunk4Z5NZINA_js.NodeRunningIndicator, { nodeId: id }),
67
+ /* @__PURE__ */ jsxRuntime.jsx(chunk4Z5NZINA_js.WorkflowHandle, { type: "target", position: react$1.Position.Left, id: "left-in", colorClass: "!bg-gray-400 dark:!bg-gray-500" }),
68
+ /* @__PURE__ */ jsxRuntime.jsx(chunk4Z5NZINA_js.WorkflowHandle, { type: "target", position: react$1.Position.Top, id: "top-in", colorClass: "!bg-gray-400 dark:!bg-gray-500" }),
69
69
  /* @__PURE__ */ jsxRuntime.jsx(
70
70
  "button",
71
71
  {
72
72
  type: "button",
73
73
  onClick: () => data.onEdit?.(id),
74
74
  className: "w-full text-left",
75
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkD5OTZGA2_js.NodeCard, { compact: isCompact, selected, nodeType: "model_provider", width: "w-[280px]", children: [
75
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunk4Z5NZINA_js.NodeCard, { compact: isCompact, selected, nodeType: "model_provider", width: "w-[280px]", children: [
76
76
  /* @__PURE__ */ jsxRuntime.jsx(
77
- chunkD5OTZGA2_js.NodeCardHeader,
77
+ chunk4Z5NZINA_js.NodeCardHeader,
78
78
  {
79
79
  icon: logo ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: logo, alt: providerLabel, className: "h-6 w-6 object-contain", loading: "lazy" }) : /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-6 w-6 text-white" }),
80
80
  title: displayName,
@@ -82,11 +82,11 @@ var ModelProviderFlowNode = react.memo(function ModelProviderFlowNode2({ id, dat
82
82
  iconClassName: `flex h-11 w-11 items-center justify-center rounded-xl shadow-lg ${logo ? "bg-white/10 dark:bg-white/5 p-2" : "bg-gradient-to-br from-slate-600 to-slate-700 p-1.5"}`
83
83
  }
84
84
  ),
85
- /* @__PURE__ */ jsxRuntime.jsx(chunkD5OTZGA2_js.NodeCardMeta, { compact: isCompact, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-1.5", children: [
86
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "zinc", size: "xs", children: providerLabel }),
87
- regionLabel && /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "zinc", size: "xs", children: regionLabel }),
88
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: isConfigured ? "green" : "amber", size: "xs", children: isConfigured ? "Configured" : "Setup needed" }),
89
- config.modelFilter && config.modelFilter.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Badge, { color: "zinc", size: "xs", children: [
85
+ /* @__PURE__ */ jsxRuntime.jsx(chunk4Z5NZINA_js.NodeCardMeta, { compact: isCompact, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-1.5", children: [
86
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Badge, { color: "zinc", size: "xs", children: providerLabel }),
87
+ regionLabel && /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Badge, { color: "zinc", size: "xs", children: regionLabel }),
88
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Badge, { color: isConfigured ? "green" : "amber", size: "xs", children: isConfigured ? "Configured" : "Setup needed" }),
89
+ config.modelFilter && config.modelFilter.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(chunkEBARYRSA_js.Badge, { color: "zinc", size: "xs", children: [
90
90
  config.modelFilter.length,
91
91
  " models"
92
92
  ] })
@@ -94,8 +94,8 @@ var ModelProviderFlowNode = react.memo(function ModelProviderFlowNode2({ id, dat
94
94
  ] })
95
95
  }
96
96
  ),
97
- /* @__PURE__ */ jsxRuntime.jsx(chunkD5OTZGA2_js.WorkflowHandle, { type: "source", position: react$1.Position.Right, id: "right-out", colorClass: "!bg-slate-500" }),
98
- /* @__PURE__ */ jsxRuntime.jsx(chunkD5OTZGA2_js.WorkflowHandle, { type: "source", position: react$1.Position.Bottom, id: "bottom-out", colorClass: "!bg-slate-500" })
97
+ /* @__PURE__ */ jsxRuntime.jsx(chunk4Z5NZINA_js.WorkflowHandle, { type: "source", position: react$1.Position.Right, id: "right-out", colorClass: "!bg-slate-500" }),
98
+ /* @__PURE__ */ jsxRuntime.jsx(chunk4Z5NZINA_js.WorkflowHandle, { type: "source", position: react$1.Position.Bottom, id: "bottom-out", colorClass: "!bg-slate-500" })
99
99
  ] });
100
100
  });
101
101
  var S3WriteFlowNode = react.memo(function S3WriteFlowNode2({ id, data, selected }) {
@@ -104,10 +104,10 @@ var S3WriteFlowNode = react.memo(function S3WriteFlowNode2({ id, data, selected
104
104
  const isCompact = data.displayMode === "compact";
105
105
  const keyPreview = config.key ? config.key.slice(0, 30) : "";
106
106
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
107
- /* @__PURE__ */ jsxRuntime.jsx(chunkD5OTZGA2_js.NodeRunningIndicator, { nodeId: id }),
108
- /* @__PURE__ */ jsxRuntime.jsx(chunkD5OTZGA2_js.WorkflowHandle, { type: "target", position: react$1.Position.Left, id: "left-in", colorClass: "!bg-cyan-500" }),
107
+ /* @__PURE__ */ jsxRuntime.jsx(chunk4Z5NZINA_js.NodeRunningIndicator, { nodeId: id }),
108
+ /* @__PURE__ */ jsxRuntime.jsx(chunk4Z5NZINA_js.WorkflowHandle, { type: "target", position: react$1.Position.Left, id: "left-in", colorClass: "!bg-cyan-500" }),
109
109
  /* @__PURE__ */ jsxRuntime.jsxs(
110
- chunkD5OTZGA2_js.NodeInteractiveCard,
110
+ chunk4Z5NZINA_js.NodeInteractiveCard,
111
111
  {
112
112
  nodeId: id,
113
113
  onEdit,
@@ -116,27 +116,27 @@ var S3WriteFlowNode = react.memo(function S3WriteFlowNode2({ id, data, selected
116
116
  nodeType: "s3_write",
117
117
  children: [
118
118
  /* @__PURE__ */ jsxRuntime.jsx(
119
- chunkD5OTZGA2_js.NodeCardHeader,
119
+ chunk4Z5NZINA_js.NodeCardHeader,
120
120
  {
121
- icon: /* @__PURE__ */ jsxRuntime.jsx(chunkD5OTZGA2_js.NodeIconBubble, { tone: "s3_write", children: /* @__PURE__ */ jsxRuntime.jsx(outline.CloudArrowUpIcon, { className: "h-5 w-5 text-white" }) }),
121
+ icon: /* @__PURE__ */ jsxRuntime.jsx(chunk4Z5NZINA_js.NodeIconBubble, { tone: "s3_write", children: /* @__PURE__ */ jsxRuntime.jsx(outline.CloudArrowUpIcon, { className: "h-5 w-5 text-white" }) }),
122
122
  title: label,
123
123
  description: t("s3WriteNodeDescription"),
124
124
  compact: isCompact,
125
125
  iconClassName: ""
126
126
  }
127
127
  ),
128
- /* @__PURE__ */ jsxRuntime.jsxs(chunkD5OTZGA2_js.NodeCardMeta, { compact: isCompact, children: [
128
+ /* @__PURE__ */ jsxRuntime.jsxs(chunk4Z5NZINA_js.NodeCardMeta, { compact: isCompact, children: [
129
129
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
130
- /* @__PURE__ */ jsxRuntime.jsx(chunkD5OTZGA2_js.NodeCardBadge, { tone: "s3_write", children: t("s3WriteNode") }),
131
- config.bucket && /* @__PURE__ */ jsxRuntime.jsx(chunkD5OTZGA2_js.NodeCardBadge, { tone: "s3_write", soft: true, children: config.bucket }),
130
+ /* @__PURE__ */ jsxRuntime.jsx(chunk4Z5NZINA_js.NodeCardBadge, { tone: "s3_write", children: t("s3WriteNode") }),
131
+ config.bucket && /* @__PURE__ */ jsxRuntime.jsx(chunk4Z5NZINA_js.NodeCardBadge, { tone: "s3_write", soft: true, children: config.bucket }),
132
132
  keyPreview && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: keyPreview })
133
133
  ] }),
134
- /* @__PURE__ */ jsxRuntime.jsx(chunkD5OTZGA2_js.NodeCardDeleteAction, { nodeId: id, onDelete })
134
+ /* @__PURE__ */ jsxRuntime.jsx(chunk4Z5NZINA_js.NodeCardDeleteAction, { nodeId: id, onDelete })
135
135
  ] })
136
136
  ]
137
137
  }
138
138
  ),
139
- /* @__PURE__ */ jsxRuntime.jsx(chunkD5OTZGA2_js.WorkflowHandle, { type: "source", position: react$1.Position.Right, id: "right-out", colorClass: "!bg-cyan-500" })
139
+ /* @__PURE__ */ jsxRuntime.jsx(chunk4Z5NZINA_js.WorkflowHandle, { type: "source", position: react$1.Position.Right, id: "right-out", colorClass: "!bg-cyan-500" })
140
140
  ] });
141
141
  });
142
142
  function AnthropicModelIcon({ className }) {
@@ -200,7 +200,7 @@ function OutputSchemaBuilder({ value, onChange, depth = 0 }) {
200
200
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-xl border border-dashed border-slate-300 bg-slate-50/40 p-4 text-center dark:border-slate-700 dark:bg-slate-900/30", children: [
201
201
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-3 text-xs text-slate-500 dark:text-slate-400", children: "No schema yet \u2014 agent text is exposed as a raw string. Add a schema to enforce structured output." }),
202
202
  /* @__PURE__ */ jsxRuntime.jsx(
203
- chunkBHOT22QL_js.Button,
203
+ chunkEBARYRSA_js.Button,
204
204
  {
205
205
  type: "button",
206
206
  outline: true,
@@ -264,7 +264,7 @@ function OutputSchemaBuilder({ value, onChange, depth = 0 }) {
264
264
  },
265
265
  index
266
266
  )),
267
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", outline: true, onClick: addField, children: "+ Add field" })
267
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { type: "button", outline: true, onClick: addField, children: "+ Add field" })
268
268
  ] })
269
269
  ] });
270
270
  }
@@ -287,7 +287,7 @@ function FieldEditor({
287
287
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-xl border border-slate-200 bg-slate-50/60 p-3 dark:border-slate-700 dark:bg-slate-900/40", children: [
288
288
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[1fr_140px_auto_auto] items-end gap-2", children: [
289
289
  /* @__PURE__ */ jsxRuntime.jsx(
290
- chunk5ETT54QS_js.FormInput,
290
+ chunkRWZ2PLMQ_js.FormInput,
291
291
  {
292
292
  label: "Name",
293
293
  value: field.name,
@@ -296,7 +296,7 @@ function FieldEditor({
296
296
  }
297
297
  ),
298
298
  /* @__PURE__ */ jsxRuntime.jsx(
299
- chunk5ETT54QS_js.FormSelect,
299
+ chunkRWZ2PLMQ_js.FormSelect,
300
300
  {
301
301
  label: "Type",
302
302
  value: field.type,
@@ -316,10 +316,10 @@ function FieldEditor({
316
316
  ),
317
317
  "Required"
318
318
  ] }),
319
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", plain: true, onClick: onRemove, children: "Remove" })
319
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { type: "button", plain: true, onClick: onRemove, children: "Remove" })
320
320
  ] }),
321
321
  /* @__PURE__ */ jsxRuntime.jsx(
322
- chunk5ETT54QS_js.FormInput,
322
+ chunkRWZ2PLMQ_js.FormInput,
323
323
  {
324
324
  label: "Description (optional)",
325
325
  value: field.description,
@@ -501,17 +501,17 @@ function AgentCapabilityCard({ elo, setElo, models, selectedModelId, setSelected
501
501
  }, [family, models, setSelectedModelId, setTemperature, onChanged]);
502
502
  const currentFamilyEntry = family.find((entry) => selectedModelId.startsWith(entry.prefix)) ?? family[0];
503
503
  const currentModelName = models.find((model) => model.id === selectedModelId)?.name ?? selectedModelId;
504
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-4 mt-4 overflow-hidden rounded-xl border border-gray-200/30 bg-white/40 dark:border-white/10 dark:bg-white/5", children: [
504
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-4 mt-4 overflow-hidden rounded-xl border border-slate-200/30 bg-white/40 dark:border-white/10 dark:bg-white/5", children: [
505
505
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-4 pt-3 pb-2", children: [
506
506
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-1 flex items-center justify-between", children: [
507
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] font-semibold uppercase tracking-wider text-gray-500 dark:text-gray-400", children: t("agentDrawer.capabilityRating") }),
507
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400", children: t("agentDrawer.capabilityRating") }),
508
508
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-baseline gap-1", children: [
509
509
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: `text-lg font-bold tabular-nums ${tierInfo.color}`, children: elo }),
510
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: "ELO" })
510
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: "ELO" })
511
511
  ] })
512
512
  ] }),
513
513
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
514
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-x-0 top-1/2 h-2 -translate-y-1/2 overflow-hidden rounded-full bg-gray-200 dark:bg-gray-700", children: [
514
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-x-0 top-1/2 h-2 -translate-y-1/2 overflow-hidden rounded-full bg-slate-200 dark:bg-slate-700", children: [
515
515
  /* @__PURE__ */ jsxRuntime.jsx(
516
516
  "div",
517
517
  {
@@ -522,7 +522,7 @@ function AgentCapabilityCard({ elo, setElo, models, selectedModelId, setSelected
522
522
  [1200, 1600, 2e3].map((boundary) => /* @__PURE__ */ jsxRuntime.jsx(
523
523
  "div",
524
524
  {
525
- className: "absolute top-0 h-full w-px bg-gray-400/40 dark:bg-gray-500/40",
525
+ className: "absolute top-0 h-full w-px bg-slate-400/40 dark:bg-slate-500/40",
526
526
  style: { left: `${(boundary - 800) / (2400 - 800) * 100}%` }
527
527
  },
528
528
  boundary
@@ -542,12 +542,12 @@ function AgentCapabilityCard({ elo, setElo, models, selectedModelId, setSelected
542
542
  "aria-valuemax": 2400,
543
543
  "aria-valuenow": elo,
544
544
  "aria-valuetext": `${elo} ELO \u2014 ${t(`agentDrawer.tier${tierInfo.tierKey.charAt(0).toUpperCase()}${tierInfo.tierKey.slice(1)}`)}`,
545
- className: "relative z-10 h-5 w-full cursor-pointer appearance-none bg-transparent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-white [&::-webkit-slider-thumb]:shadow-lg dark:[&::-webkit-slider-thumb]:border-gray-900"
545
+ className: "relative z-10 h-5 w-full cursor-pointer appearance-none bg-transparent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-white [&::-webkit-slider-thumb]:shadow-lg dark:[&::-webkit-slider-thumb]:border-slate-900"
546
546
  }
547
547
  ),
548
548
  /* @__PURE__ */ jsxRuntime.jsx("style", { children: `input[type="range"]::-webkit-slider-thumb { background: ${elo < 1200 ? "#06b6d4" : elo < 1600 ? "#ec4899" : elo < 2e3 ? "#f59e0b" : "#10b981"}; box-shadow: 0 0 6px ${elo < 1200 ? "rgba(6,182,212,0.5)" : elo < 1600 ? "rgba(236,72,153,0.5)" : elo < 2e3 ? "rgba(245,158,11,0.5)" : "rgba(16,185,129,0.5)"}; }` })
549
549
  ] }),
550
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-0.5 flex justify-between text-[8px] text-gray-400 dark:text-gray-500", children: [
550
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-0.5 flex justify-between text-[8px] text-slate-400 dark:text-slate-500", children: [
551
551
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: "800" }),
552
552
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: "1200" }),
553
553
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: "1600" }),
@@ -555,35 +555,35 @@ function AgentCapabilityCard({ elo, setElo, models, selectedModelId, setSelected
555
555
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: "2400" })
556
556
  ] })
557
557
  ] }),
558
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-3 gap-px border-t border-gray-200/30 bg-gray-200/30 dark:border-white/10 dark:bg-white/10", children: [
559
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-gray-900/60", children: [
560
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[9px] text-gray-400 dark:text-gray-500", children: t("agentDrawer.model") }),
561
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs font-semibold text-gray-900 dark:text-white", children: currentModelName })
558
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-3 gap-px border-t border-slate-200/30 bg-slate-200/30 dark:border-white/10 dark:bg-white/10", children: [
559
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-slate-900/60", children: [
560
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[9px] text-slate-400 dark:text-slate-500", children: t("agentDrawer.model") }),
561
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs font-semibold text-slate-900 dark:text-white", children: currentModelName })
562
562
  ] }),
563
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-gray-900/60", children: [
564
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[9px] text-gray-400 dark:text-gray-500", children: t("agentDrawer.maxTokens") }),
565
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-semibold text-gray-900 dark:text-white", children: currentFamilyEntry.maxTokens.toLocaleString() })
563
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-slate-900/60", children: [
564
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[9px] text-slate-400 dark:text-slate-500", children: t("agentDrawer.maxTokens") }),
565
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-semibold text-slate-900 dark:text-white", children: currentFamilyEntry.maxTokens.toLocaleString() })
566
566
  ] }),
567
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-gray-900/60", children: [
568
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[9px] text-gray-400 dark:text-gray-500", children: t("agentDrawer.context") }),
569
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-semibold text-gray-900 dark:text-white", children: currentFamilyEntry.contextWindow })
567
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-slate-900/60", children: [
568
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[9px] text-slate-400 dark:text-slate-500", children: t("agentDrawer.context") }),
569
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-semibold text-slate-900 dark:text-white", children: currentFamilyEntry.contextWindow })
570
570
  ] }),
571
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-gray-900/60", children: [
572
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[9px] text-gray-400 dark:text-gray-500", children: t("agentDrawer.temperature") }),
573
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-semibold text-gray-900 dark:text-white", children: temperature.toFixed(2) })
571
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-slate-900/60", children: [
572
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[9px] text-slate-400 dark:text-slate-500", children: t("agentDrawer.temperature") }),
573
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-semibold text-slate-900 dark:text-white", children: temperature.toFixed(2) })
574
574
  ] }),
575
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-gray-900/60", children: [
576
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[9px] text-gray-400 dark:text-gray-500", children: t("agentDrawer.autonomy") }),
575
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-slate-900/60", children: [
576
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[9px] text-slate-400 dark:text-slate-500", children: t("agentDrawer.autonomy") }),
577
577
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: `text-xs font-semibold ${tierInfo.color}`, children: t(`agentDrawer.${tierInfo.autonomyKey}`) })
578
578
  ] }),
579
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-gray-900/60", children: [
580
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[9px] text-gray-400 dark:text-gray-500", children: t("agentDrawer.costPerTask") }),
581
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-semibold text-gray-900 dark:text-white", children: tierInfo.costPerTask })
579
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-slate-900/60", children: [
580
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[9px] text-slate-400 dark:text-slate-500", children: t("agentDrawer.costPerTask") }),
581
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-semibold text-slate-900 dark:text-white", children: tierInfo.costPerTask })
582
582
  ] })
583
583
  ] }),
584
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-t border-gray-200/30 bg-white/60 px-4 py-2.5 dark:border-white/10 dark:bg-gray-900/60", children: [
584
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-t border-slate-200/30 bg-white/60 px-4 py-2.5 dark:border-white/10 dark:bg-slate-900/60", children: [
585
585
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-1 flex items-center justify-between", children: [
586
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[9px] text-gray-400 dark:text-gray-500", children: t("agentDrawer.autonomyLevel") }),
586
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[9px] text-slate-400 dark:text-slate-500", children: t("agentDrawer.autonomyLevel") }),
587
587
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: `text-[10px] font-semibold ${tierInfo.color}`, children: t(`agentDrawer.${tierInfo.autonomyKey}`) })
588
588
  ] }),
589
589
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-1", children: [
@@ -598,11 +598,11 @@ function AgentCapabilityCard({ elo, setElo, models, selectedModelId, setSelected
598
598
  onClick: () => handleAutonomyClick(level),
599
599
  "aria-label": t(`agentDrawer.${labelKey}`),
600
600
  "aria-pressed": level <= tierInfo.autonomyPercent,
601
- className: `h-2 flex-1 rounded-full transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 ${level <= tierInfo.autonomyPercent ? `bg-gradient-to-r ${tierInfo.barColor} hover:opacity-80` : "bg-gray-200 hover:bg-gray-300 dark:bg-gray-700 dark:hover:bg-gray-600"}`
601
+ className: `h-2 flex-1 rounded-full transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 ${level <= tierInfo.autonomyPercent ? `bg-gradient-to-r ${tierInfo.barColor} hover:opacity-80` : "bg-slate-200 hover:bg-slate-300 dark:bg-slate-700 dark:hover:bg-slate-600"}`
602
602
  },
603
603
  level
604
604
  )) }),
605
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-1 flex justify-between text-[7px] text-gray-400 dark:text-gray-500", children: [
605
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-1 flex justify-between text-[7px] text-slate-400 dark:text-slate-500", children: [
606
606
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: t("agentDrawer.autonomyLow") }),
607
607
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: t("agentDrawer.autonomyMedium") }),
608
608
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: t("agentDrawer.autonomyHigh") }),
@@ -612,13 +612,13 @@ function AgentCapabilityCard({ elo, setElo, models, selectedModelId, setSelected
612
612
  ] });
613
613
  }
614
614
  function ConfigTab({ models, t, selectedModelId, setSelectedModelId, selectedFramework, setSelectedFramework, markDirty, connectedProviderTypes }) {
615
- const frameworkKeys = Object.keys(chunkD5OTZGA2_js.FRAMEWORK_META);
615
+ const frameworkKeys = Object.keys(chunk4Z5NZINA_js.FRAMEWORK_META);
616
616
  const hasProviderConstraints = connectedProviderTypes.length > 0;
617
- const compatibleModels = chunkD5OTZGA2_js.getCompatibleModels(models, selectedFramework);
617
+ const compatibleModels = chunk4Z5NZINA_js.getCompatibleModels(models, selectedFramework);
618
618
  const handleFrameworkChange = react.useCallback((newFramework) => {
619
619
  setSelectedFramework(newFramework);
620
- if (!chunkD5OTZGA2_js.isModelCompatibleWithFramework(selectedModelId, newFramework)) {
621
- const compatible = chunkD5OTZGA2_js.getCompatibleModels(models, newFramework);
620
+ if (!chunk4Z5NZINA_js.isModelCompatibleWithFramework(selectedModelId, newFramework)) {
621
+ const compatible = chunk4Z5NZINA_js.getCompatibleModels(models, newFramework);
622
622
  if (compatible.length > 0) {
623
623
  setSelectedModelId(compatible[0].id);
624
624
  }
@@ -627,19 +627,19 @@ function ConfigTab({ models, t, selectedModelId, setSelectedModelId, selectedFra
627
627
  }, [selectedModelId, models, setSelectedFramework, setSelectedModelId, markDirty]);
628
628
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5 p-4", children: [
629
629
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
630
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-2 block text-xs font-medium text-gray-500 dark:text-gray-400", children: t("agentDrawer.framework") }),
630
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-2 block text-xs font-medium text-slate-500 dark:text-slate-400", children: t("agentDrawer.framework") }),
631
631
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1.5", children: frameworkKeys.map((key) => {
632
- const meta = chunkD5OTZGA2_js.FRAMEWORK_META[key];
632
+ const meta = chunk4Z5NZINA_js.FRAMEWORK_META[key];
633
633
  const isSelected = key === selectedFramework;
634
- const compatCount = chunkD5OTZGA2_js.getCompatibleModels(models, key).length;
635
- const isCompatibleWithProviders = !hasProviderConstraints || chunkD5OTZGA2_js.isFrameworkCompatibleWithProviders(key, connectedProviderTypes);
634
+ const compatCount = chunk4Z5NZINA_js.getCompatibleModels(models, key).length;
635
+ const isCompatibleWithProviders = !hasProviderConstraints || chunk4Z5NZINA_js.isFrameworkCompatibleWithProviders(key, connectedProviderTypes);
636
636
  return /* @__PURE__ */ jsxRuntime.jsxs(
637
637
  "button",
638
638
  {
639
639
  type: "button",
640
640
  onClick: () => handleFrameworkChange(key),
641
641
  disabled: !isCompatibleWithProviders,
642
- className: `inline-flex items-center gap-1.5 rounded-full px-3 py-1.5 text-[10px] font-semibold transition-all ${!isCompatibleWithProviders ? "cursor-not-allowed bg-gray-100 text-gray-400 opacity-40 dark:bg-white/5 dark:text-gray-500" : isSelected ? `${meta.badgeColor} ring-1 ring-current/20` : "bg-gray-100 text-gray-500 hover:bg-gray-200 dark:bg-white/5 dark:text-gray-400 dark:hover:bg-white/10"}`,
642
+ className: `inline-flex items-center gap-1.5 rounded-full px-3 py-1.5 text-[10px] font-semibold transition-all focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 ${!isCompatibleWithProviders ? "cursor-not-allowed bg-slate-100 text-slate-400 opacity-40 dark:bg-white/5 dark:text-slate-500" : isSelected ? `${meta.badgeColor} ring-1 ring-current/20` : "bg-slate-100 text-slate-500 hover:bg-slate-200 dark:bg-white/5 dark:text-slate-400 dark:hover:bg-white/10"}`,
643
643
  title: !isCompatibleWithProviders ? t("agentDrawer.frameworkIncompatible") : void 0,
644
644
  children: [
645
645
  /* @__PURE__ */ jsxRuntime.jsx(meta.IconComponent, { className: "h-3.5 w-3.5" }),
@@ -652,9 +652,9 @@ function ConfigTab({ models, t, selectedModelId, setSelectedModelId, selectedFra
652
652
  }) })
653
653
  ] }),
654
654
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
655
- /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "mb-2 block text-xs font-medium text-gray-500 dark:text-gray-400", children: [
655
+ /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "mb-2 block text-xs font-medium text-slate-500 dark:text-slate-400", children: [
656
656
  t("agentDrawer.model"),
657
- compatibleModels.length < models.length && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "ml-1.5 text-[10px] font-normal text-gray-400 dark:text-gray-500", children: [
657
+ compatibleModels.length < models.length && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "ml-1.5 text-[10px] font-normal text-slate-400 dark:text-slate-500", children: [
658
658
  "(",
659
659
  compatibleModels.length,
660
660
  "/",
@@ -664,7 +664,7 @@ function ConfigTab({ models, t, selectedModelId, setSelectedModelId, selectedFra
664
664
  ] }),
665
665
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 gap-2", children: models.map((model) => {
666
666
  const isSelected = model.id === selectedModelId;
667
- const isCompatible = chunkD5OTZGA2_js.isModelCompatibleWithFramework(model.id, selectedFramework);
667
+ const isCompatible = chunk4Z5NZINA_js.isModelCompatibleWithFramework(model.id, selectedFramework);
668
668
  const { IconComponent, color, providerLabel } = getModelIcon(model.id);
669
669
  return /* @__PURE__ */ jsxRuntime.jsxs(
670
670
  "button",
@@ -675,12 +675,12 @@ function ConfigTab({ models, t, selectedModelId, setSelectedModelId, selectedFra
675
675
  setSelectedModelId(model.id);
676
676
  markDirty();
677
677
  },
678
- className: `flex items-center gap-2.5 rounded-xl border px-3 py-2.5 text-left transition-all ${!isCompatible ? "cursor-not-allowed border-gray-200/30 opacity-35 dark:border-white/5" : isSelected ? "border-indigo-500/50 bg-indigo-50/50 ring-1 ring-indigo-500/30 dark:border-indigo-400/40 dark:bg-indigo-500/10" : "border-gray-200/50 bg-gray-50/50 hover:border-gray-300 dark:border-white/10 dark:bg-white/5 dark:hover:border-white/20"}`,
678
+ className: `flex items-center gap-2.5 rounded-xl border px-3 py-2.5 text-left transition-all focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 ${!isCompatible ? "cursor-not-allowed border-slate-200/30 opacity-35 dark:border-white/5" : isSelected ? "border-indigo-500/50 bg-indigo-50/50 ring-1 ring-indigo-500/30 dark:border-indigo-400/40 dark:bg-indigo-500/10" : "border-slate-200/50 bg-white/40 backdrop-blur-sm hover:border-slate-300 dark:border-white/10 dark:bg-white/[0.04] dark:hover:border-white/20"}`,
679
679
  children: [
680
- /* @__PURE__ */ jsxRuntime.jsx(IconComponent, { className: `h-5 w-5 flex-shrink-0 ${isSelected && isCompatible ? color : "text-gray-400 dark:text-gray-500"}` }),
680
+ /* @__PURE__ */ jsxRuntime.jsx(IconComponent, { className: `h-5 w-5 flex-shrink-0 ${isSelected && isCompatible ? color : "text-slate-400 dark:text-slate-500"}` }),
681
681
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
682
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: `truncate text-xs font-semibold ${isSelected && isCompatible ? "text-gray-900 dark:text-white" : "text-gray-600 dark:text-gray-300"}`, children: model.name }),
683
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: providerLabel })
682
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: `truncate text-xs font-semibold ${isSelected && isCompatible ? "text-slate-900 dark:text-white" : "text-slate-600 dark:text-slate-300"}`, children: model.name }),
683
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[10px] text-slate-400 dark:text-slate-500", children: providerLabel })
684
684
  ] })
685
685
  ]
686
686
  },
@@ -716,11 +716,11 @@ function PromptTab({
716
716
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5 p-4", children: [
717
717
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
718
718
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-center justify-between", children: [
719
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-xs font-medium text-gray-500 dark:text-gray-400", children: t("agentDrawer.temperature") }),
720
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-bold tabular-nums text-gray-900 dark:text-white", children: temperature.toFixed(2) })
719
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-xs font-medium text-slate-500 dark:text-slate-400", children: t("agentDrawer.temperature") }),
720
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-bold tabular-nums text-slate-900 dark:text-white", children: temperature.toFixed(2) })
721
721
  ] }),
722
722
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
723
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-x-0 top-1/2 h-2 -translate-y-1/2 overflow-hidden rounded-full bg-gray-200 dark:bg-gray-700", children: /* @__PURE__ */ jsxRuntime.jsx(
723
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-x-0 top-1/2 h-2 -translate-y-1/2 overflow-hidden rounded-full bg-slate-200 dark:bg-slate-700", children: /* @__PURE__ */ jsxRuntime.jsx(
724
724
  "div",
725
725
  {
726
726
  className: "h-full rounded-full transition-all duration-300 ease-out",
@@ -739,21 +739,21 @@ function PromptTab({
739
739
  "aria-label": t("agentDrawer.temperature"),
740
740
  "aria-valuenow": temperature,
741
741
  "aria-valuetext": `${temperature.toFixed(2)} \u2014 ${isPrecise ? t("agentDrawer.precise") : isBalanced ? t("agentDrawer.balanced") : t("agentDrawer.creative")}`,
742
- className: "relative z-10 h-5 w-full cursor-pointer appearance-none bg-transparent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 [&::-webkit-slider-thumb]:h-5 [&::-webkit-slider-thumb]:w-5 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-white [&::-webkit-slider-thumb]:shadow-lg dark:[&::-webkit-slider-thumb]:border-gray-900"
742
+ className: "relative z-10 h-5 w-full cursor-pointer appearance-none bg-transparent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 [&::-webkit-slider-thumb]:h-5 [&::-webkit-slider-thumb]:w-5 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-white [&::-webkit-slider-thumb]:shadow-lg dark:[&::-webkit-slider-thumb]:border-slate-900"
743
743
  }
744
744
  ),
745
745
  /* @__PURE__ */ jsxRuntime.jsx("style", { children: `input[type="range"]::-webkit-slider-thumb { background: ${isPrecise ? "#3b82f6" : isBalanced ? "#8b5cf6" : "#ec4899"}; box-shadow: 0 0 8px ${isPrecise ? "rgba(59,130,246,0.5)" : isBalanced ? "rgba(139,92,246,0.5)" : "rgba(236,72,153,0.5)"}; }` })
746
746
  ] }),
747
747
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-1 flex items-center justify-between", children: [
748
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: `text-[10px] font-medium transition-colors ${isPrecise ? "text-blue-500" : "text-gray-400 dark:text-gray-500"}`, children: t("agentDrawer.precise") }),
749
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: `text-[10px] font-medium transition-colors ${isBalanced ? "text-purple-500" : "text-gray-400 dark:text-gray-500"}`, children: t("agentDrawer.balanced") }),
750
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: `text-[10px] font-medium transition-colors ${isCreative ? "text-pink-500" : "text-gray-400 dark:text-gray-500"}`, children: t("agentDrawer.creative") })
748
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: `text-[10px] font-medium transition-colors ${isPrecise ? "text-blue-500" : "text-slate-400 dark:text-slate-500"}`, children: t("agentDrawer.precise") }),
749
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: `text-[10px] font-medium transition-colors ${isBalanced ? "text-purple-500" : "text-slate-400 dark:text-slate-500"}`, children: t("agentDrawer.balanced") }),
750
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: `text-[10px] font-medium transition-colors ${isCreative ? "text-pink-500" : "text-slate-400 dark:text-slate-500"}`, children: t("agentDrawer.creative") })
751
751
  ] })
752
752
  ] }),
753
753
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
754
754
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-1 flex items-center justify-between", children: [
755
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-xs font-medium text-gray-500 dark:text-gray-400", children: t("agentDrawer.systemPrompt") }),
756
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: [
755
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-xs font-medium text-slate-500 dark:text-slate-400", children: t("agentDrawer.systemPrompt") }),
756
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: [
757
757
  promptText.length,
758
758
  " chars"
759
759
  ] })
@@ -764,14 +764,14 @@ function PromptTab({
764
764
  value: promptText,
765
765
  onChange: handlePromptChange,
766
766
  rows: 12,
767
- className: "w-full resize-y rounded-lg border border-gray-200/50 bg-gray-50/50 px-3 py-2.5 font-mono text-xs leading-relaxed text-gray-700 outline-none transition-colors placeholder:text-gray-400 focus:border-indigo-300/50 focus:ring-1 focus:ring-indigo-300/30 dark:border-white/10 dark:bg-white/5 dark:text-gray-300 dark:placeholder:text-gray-500 dark:focus:border-indigo-500/30 dark:focus:ring-indigo-500/20",
767
+ className: "liquid-surface w-full resize-y rounded-lg px-3 py-2.5 font-mono text-xs leading-relaxed text-slate-700 outline-none transition-colors placeholder:text-slate-400 focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 dark:text-slate-300 dark:placeholder:text-slate-500",
768
768
  placeholder: t("agentDrawer.systemPromptPlaceholder")
769
769
  }
770
770
  )
771
771
  ] }),
772
772
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
773
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs font-medium text-gray-500 dark:text-gray-400", children: t("agentDrawer.outputSchema", { _: "Output schema (optional)" }) }),
774
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-[11px] text-gray-400 dark:text-gray-500", children: t("agentDrawer.outputSchemaHint", {
773
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs font-medium text-slate-500 dark:text-slate-400", children: t("agentDrawer.outputSchema", { _: "Output schema (optional)" }) }),
774
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-[11px] text-slate-400 dark:text-slate-500", children: t("agentDrawer.outputSchemaHint", {
775
775
  _: "Define the structured JSON the model must return. The engine parses + validates and exposes it under `output.parsed`. Invalid output fails the node."
776
776
  }) }),
777
777
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -790,8 +790,8 @@ function PromptTab({
790
790
  function ToolsTab({ agentTools, enabledToolIds, onToggle, agentFramework, t }) {
791
791
  if (agentTools.length === 0) {
792
792
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center justify-center px-4 py-12 text-center", children: [
793
- /* @__PURE__ */ jsxRuntime.jsx(outline.CommandLineIcon, { className: "mb-2 h-8 w-8 text-gray-400 dark:text-gray-500" }),
794
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-gray-500 dark:text-gray-400", children: t("agentDrawer.noToolsAvailable") })
793
+ /* @__PURE__ */ jsxRuntime.jsx(outline.CommandLineIcon, { className: "mb-2 h-8 w-8 text-slate-400 dark:text-slate-500" }),
794
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: t("agentDrawer.noToolsAvailable") })
795
795
  ] });
796
796
  }
797
797
  const sortedTools = [...agentTools].sort((a, b) => {
@@ -802,7 +802,7 @@ function ToolsTab({ agentTools, enabledToolIds, onToggle, agentFramework, t }) {
802
802
  return 0;
803
803
  });
804
804
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2 p-4", children: [
805
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-3 text-xs text-gray-500 dark:text-gray-400", children: t("agentDrawer.toolsDescription") }),
805
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-3 text-xs text-slate-500 dark:text-slate-400", children: t("agentDrawer.toolsDescription") }),
806
806
  sortedTools.map((tool) => {
807
807
  const isEnabled = enabledToolIds.has(tool.agentToolId);
808
808
  const isCompatible = !tool.compatibleFrameworks || tool.compatibleFrameworks.length === 0 || tool.compatibleFrameworks.includes(agentFramework);
@@ -811,26 +811,26 @@ function ToolsTab({ agentTools, enabledToolIds, onToggle, agentFramework, t }) {
811
811
  {
812
812
  type: "button",
813
813
  onClick: () => onToggle(tool.agentToolId),
814
- className: `flex w-full items-center gap-3 rounded-xl border px-4 py-3 text-left transition-all ${!isCompatible ? "border-gray-200/30 opacity-40 dark:border-white/5" : isEnabled ? "border-amber-500/30 bg-amber-50/50 dark:border-amber-400/20 dark:bg-amber-500/5" : "border-gray-200/50 bg-gray-50/30 hover:border-gray-300 dark:border-white/10 dark:bg-white/[0.02] dark:hover:border-white/20"}`,
814
+ className: `flex w-full items-center gap-3 rounded-xl border px-4 py-3 text-left transition-all focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 ${!isCompatible ? "border-slate-200/30 opacity-40 dark:border-white/5" : isEnabled ? "border-amber-500/30 bg-amber-50/50 dark:border-amber-400/20 dark:bg-amber-500/5" : "border-slate-200/50 bg-white/40 backdrop-blur-sm hover:border-slate-300 dark:border-white/10 dark:bg-white/[0.04] dark:hover:border-white/20"}`,
815
815
  disabled: !isCompatible,
816
816
  children: [
817
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-8 w-8 shrink-0 items-center justify-center rounded-lg ${isEnabled ? "bg-gradient-to-br from-amber-400 to-orange-500" : "bg-gray-200 dark:bg-gray-700"}`, children: /* @__PURE__ */ jsxRuntime.jsx(outline.CommandLineIcon, { className: `h-4 w-4 ${isEnabled ? "text-white" : "text-gray-500 dark:text-gray-400"}` }) }),
817
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-8 w-8 shrink-0 items-center justify-center rounded-lg ${isEnabled ? "bg-gradient-to-br from-amber-400 to-orange-500" : "bg-slate-200 dark:bg-slate-700"}`, children: /* @__PURE__ */ jsxRuntime.jsx(outline.CommandLineIcon, { className: `h-4 w-4 ${isEnabled ? "text-white" : "text-slate-500 dark:text-slate-400"}` }) }),
818
818
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
819
819
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
820
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: `text-sm font-medium ${isEnabled ? "text-gray-900 dark:text-white" : "text-gray-600 dark:text-gray-400"}`, children: tool.name }),
821
- !isCompatible && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rounded-full bg-gray-100 px-1.5 py-0.5 text-[8px] font-medium text-gray-500 dark:bg-white/10 dark:text-gray-400", children: "incompatible" })
820
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: `text-sm font-medium ${isEnabled ? "text-slate-900 dark:text-white" : "text-slate-600 dark:text-slate-400"}`, children: tool.name }),
821
+ !isCompatible && /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Badge, { color: "zinc", size: "xs", children: "incompatible" })
822
822
  ] }),
823
- tool.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: tool.description }),
823
+ tool.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[10px] text-slate-400 dark:text-slate-500", children: tool.description }),
824
824
  tool.compatibleFrameworks && tool.compatibleFrameworks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 flex flex-wrap gap-0.5", children: tool.compatibleFrameworks.map((framework) => {
825
- const meta = chunkD5OTZGA2_js.getFrameworkMeta(framework);
825
+ const meta = chunk4Z5NZINA_js.getFrameworkMeta(framework);
826
826
  const isCurrentFw = framework === agentFramework;
827
- return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: `inline-flex items-center gap-0.5 rounded px-1.5 py-0.5 text-[8px] font-medium ${isCurrentFw ? meta.badgeColor : "bg-gray-100 text-gray-500 dark:bg-white/5 dark:text-gray-400"}`, children: [
827
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: `inline-flex items-center gap-0.5 rounded px-1.5 py-0.5 text-[8px] font-medium ${isCurrentFw ? meta.badgeColor : "bg-slate-100 text-slate-500 dark:bg-white/5 dark:text-slate-400"}`, children: [
828
828
  /* @__PURE__ */ jsxRuntime.jsx(meta.IconComponent, { className: "h-2.5 w-2.5" }),
829
829
  meta.label
830
830
  ] }, framework);
831
831
  }) })
832
832
  ] }),
833
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-5 w-5 shrink-0 items-center justify-center rounded-full transition-all ${isEnabled ? "bg-amber-500 text-white" : "border border-gray-300 dark:border-gray-600"}`, children: isEnabled && /* @__PURE__ */ jsxRuntime.jsx(outline.CheckIcon, { className: "h-3 w-3" }) }),
833
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-5 w-5 shrink-0 items-center justify-center rounded-full transition-all ${isEnabled ? "bg-amber-500 text-white" : "border border-slate-300 dark:border-slate-600"}`, children: isEnabled && /* @__PURE__ */ jsxRuntime.jsx(outline.CheckIcon, { className: "h-3 w-3" }) }),
834
834
  /* @__PURE__ */ jsxRuntime.jsx(
835
835
  "div",
836
836
  {
@@ -839,7 +839,7 @@ function ToolsTab({ agentTools, enabledToolIds, onToggle, agentFramework, t }) {
839
839
  event.stopPropagation();
840
840
  },
841
841
  children: /* @__PURE__ */ jsxRuntime.jsx(
842
- chunk5ETT54QS_js.ToggleSwitch,
842
+ chunkRWZ2PLMQ_js.ToggleSwitch,
843
843
  {
844
844
  checked: isEnabled,
845
845
  onChange: () => onToggle(tool.agentToolId),
@@ -887,8 +887,8 @@ function EngineTab({
887
887
  const compatibleProviders = findCompatibleProviders(selectedModelId, modelProviders);
888
888
  const configuredCompatible = compatibleProviders.filter((p) => p.configured);
889
889
  const effectiveProvider = compatibleProviders.find((p) => p.id === selectedProviderId) ?? configuredCompatible[0] ?? compatibleProviders[0];
890
- const frameworkMeta = chunkD5OTZGA2_js.getFrameworkMeta(selectedFramework);
891
- const inputCard = "liquid-surface w-full rounded-lg px-3 py-1.5 text-sm text-gray-800 outline-none transition-colors focus:ring-1 focus:ring-indigo-300/40 dark:text-gray-200 dark:focus:ring-indigo-500/20";
890
+ const frameworkMeta = chunk4Z5NZINA_js.getFrameworkMeta(selectedFramework);
891
+ const inputCard = "liquid-surface w-full rounded-lg px-3 py-1.5 text-sm text-slate-800 outline-none transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 dark:text-slate-200";
892
892
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-5", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "overflow-hidden rounded-2xl border border-indigo-500/20 bg-gradient-to-b from-indigo-500/[0.04] via-violet-500/[0.03] to-purple-500/[0.04] dark:border-indigo-400/20 dark:from-indigo-500/[0.10] dark:via-violet-500/[0.06] dark:to-purple-500/[0.08]", children: [
893
893
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-4 pb-3 pt-4", children: /* @__PURE__ */ jsxRuntime.jsx(
894
894
  AgentCapabilityCard,
@@ -916,9 +916,9 @@ function EngineTab({
916
916
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-2", children: [
917
917
  /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "mt-0.5 h-5 w-5 text-indigo-500 dark:text-indigo-400" }),
918
918
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
919
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-semibold text-gray-900 dark:text-white", children: modelName }),
919
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-semibold text-slate-900 dark:text-white", children: modelName }),
920
920
  compatibleProviders.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] text-amber-600 dark:text-amber-400", children: t("agentDrawer.noProviderForFamily", { _: "Nenhum provedor configurado serve a fam\xEDlia " + family }) }) : configuredCompatible.length > 1 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-1 flex items-center gap-1.5", children: [
921
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-gray-500 dark:text-gray-400", children: t("agentDrawer.servedVia", { _: "via" }) }),
921
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-slate-500 dark:text-slate-400", children: t("agentDrawer.servedVia", { _: "via" }) }),
922
922
  /* @__PURE__ */ jsxRuntime.jsx(
923
923
  "select",
924
924
  {
@@ -927,22 +927,17 @@ function EngineTab({
927
927
  onSelectProvider(event.target.value);
928
928
  markDirty();
929
929
  },
930
- className: "liquid-surface rounded-md px-2 py-0.5 text-[10px] font-semibold text-gray-900 outline-none focus:ring-1 focus:ring-indigo-300/40 dark:text-white",
930
+ "aria-label": t("agentDrawer.servedVia", { _: "via" }),
931
+ className: "liquid-surface rounded-md px-2 py-0.5 text-[10px] font-semibold text-slate-900 outline-none focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 dark:text-white",
931
932
  children: configuredCompatible.map((p) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: p.id, children: p.name }, p.id))
932
933
  }
933
934
  ),
934
- effectiveProvider && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: `inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[9px] font-semibold ${effectiveProvider.configured ? "bg-emerald-500/10 text-emerald-600 dark:text-emerald-400" : "bg-amber-500/10 text-amber-600 dark:text-amber-400"}`, children: [
935
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: `h-1 w-1 rounded-full ${effectiveProvider.configured ? "bg-emerald-500" : "bg-amber-500"}` }),
936
- effectiveProvider.configured ? t("agentDrawer.configured", { _: "connected" }) : t("agentDrawer.setup", { _: "setup" })
937
- ] })
938
- ] }) : /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-[10px] text-gray-500 dark:text-gray-400", children: [
935
+ effectiveProvider && /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Badge, { color: effectiveProvider.configured ? "emerald" : "amber", size: "xs", children: effectiveProvider.configured ? t("agentDrawer.configured", { _: "connected" }) : t("agentDrawer.setup", { _: "setup" }) })
936
+ ] }) : /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-[10px] text-slate-500 dark:text-slate-400", children: [
939
937
  t("agentDrawer.servedVia", { _: "via" }),
940
938
  " ",
941
939
  effectiveProvider?.name ?? family,
942
- effectiveProvider && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: `ml-2 inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[9px] font-semibold ${effectiveProvider.configured ? "bg-emerald-500/10 text-emerald-600 dark:text-emerald-400" : "bg-amber-500/10 text-amber-600 dark:text-amber-400"}`, children: [
943
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: `h-1 w-1 rounded-full ${effectiveProvider.configured ? "bg-emerald-500" : "bg-amber-500"}` }),
944
- effectiveProvider.configured ? t("agentDrawer.configured", { _: "connected" }) : t("agentDrawer.setup", { _: "setup" })
945
- ] })
940
+ effectiveProvider && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-2 inline-flex", children: /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Badge, { color: effectiveProvider.configured ? "emerald" : "amber", size: "xs", children: effectiveProvider.configured ? t("agentDrawer.configured", { _: "connected" }) : t("agentDrawer.setup", { _: "setup" }) }) })
946
941
  ] })
947
942
  ] })
948
943
  ] }),
@@ -952,13 +947,13 @@ function EngineTab({
952
947
  ] })
953
948
  ] }) }),
954
949
  /* @__PURE__ */ jsxRuntime.jsxs("details", { className: "group border-t border-indigo-500/15 bg-white/30 px-4 py-2.5 dark:border-indigo-400/15 dark:bg-white/[0.02]", children: [
955
- /* @__PURE__ */ jsxRuntime.jsxs("summary", { className: "flex cursor-pointer items-center gap-2 text-[10px] font-semibold uppercase tracking-wider text-gray-500 dark:text-gray-400", children: [
950
+ /* @__PURE__ */ jsxRuntime.jsxs("summary", { className: "flex cursor-pointer items-center gap-2 text-[10px] font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400", children: [
956
951
  /* @__PURE__ */ jsxRuntime.jsx(outline.Cog6ToothIcon, { className: "h-3 w-3" }),
957
952
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: t("agentDrawer.overrideDerivation", { _: "Override \xB7 ajustes avan\xE7ados" }) }),
958
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto font-normal text-gray-400 group-open:hidden", children: "\u25BE" }),
959
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto hidden font-normal text-gray-400 group-open:inline", children: "\u25B4" })
953
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto font-normal text-slate-400 group-open:hidden", children: "\u25BE" }),
954
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto hidden font-normal text-slate-400 group-open:inline", children: "\u25B4" })
960
955
  ] }),
961
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-[10px] italic text-gray-400 dark:text-gray-500", children: t("agentDrawer.overrideHint", { _: "Mude framework, modelo manual ou tokens s\xF3 se a deriva\xE7\xE3o por ELO n\xE3o atender." }) }),
956
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-[10px] italic text-slate-400 dark:text-slate-500", children: t("agentDrawer.overrideHint", { _: "Mude framework, modelo manual ou tokens s\xF3 se a deriva\xE7\xE3o por ELO n\xE3o atender." }) }),
962
957
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-3 space-y-4", children: [
963
958
  /* @__PURE__ */ jsxRuntime.jsx(
964
959
  ConfigTab,
@@ -974,13 +969,13 @@ function EngineTab({
974
969
  }
975
970
  ),
976
971
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
977
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-[10px] font-semibold uppercase tracking-wider text-gray-500 dark:text-gray-400", children: t("agentDrawer.generationParams", { _: "Par\xE2metros de gera\xE7\xE3o" }) }),
972
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-[10px] font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400", children: t("agentDrawer.generationParams", { _: "Par\xE2metros de gera\xE7\xE3o" }) }),
978
973
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-3 gap-2", children: [
979
974
  { key: "max", labelKey: "agentDrawer.maxOutputTokens", label: "Max output", value: maxOutputTokens, setter: setMaxOutputTokens, step: 1, min: 1, max: 32768 },
980
975
  { key: "topP", labelKey: "agentDrawer.topP", label: "Top-p", value: topP, setter: setTopP, step: 0.05, min: 0, max: 1 },
981
976
  { key: "topK", labelKey: "agentDrawer.topK", label: "Top-k", value: topK, setter: setTopK, step: 1, min: 0, max: 500 }
982
977
  ].map((field) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${inputCard} flex flex-col items-center !py-2`, children: [
983
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[8px] font-semibold uppercase tracking-wider text-gray-500 dark:text-gray-400", children: t(field.labelKey, { _: field.label }) }),
978
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[8px] font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400", children: t(field.labelKey, { _: field.label }) }),
984
979
  /* @__PURE__ */ jsxRuntime.jsx(
985
980
  "input",
986
981
  {
@@ -993,14 +988,14 @@ function EngineTab({
993
988
  field.setter(Number(event.target.value) || 0);
994
989
  markDirty();
995
990
  },
996
- className: "w-full bg-transparent text-center text-sm font-semibold tabular-nums text-gray-900 outline-none dark:text-white"
991
+ className: "w-full bg-transparent text-center text-sm font-semibold tabular-nums text-slate-900 outline-none dark:text-white"
997
992
  }
998
993
  )
999
994
  ] }, field.key)) })
1000
995
  ] }),
1001
996
  modelProviders.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1002
997
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-center justify-between", children: [
1003
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] font-semibold uppercase tracking-wider text-gray-500 dark:text-gray-400", children: t("agentDrawer.providerCredentials", { _: "Credenciais do provedor" }) }),
998
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400", children: t("agentDrawer.providerCredentials", { _: "Credenciais do provedor" }) }),
1004
999
  /* @__PURE__ */ jsxRuntime.jsx(
1005
1000
  "a",
1006
1001
  {
@@ -1013,17 +1008,17 @@ function EngineTab({
1013
1008
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-1", children: modelProviders.map((provider) => /* @__PURE__ */ jsxRuntime.jsxs(
1014
1009
  "div",
1015
1010
  {
1016
- className: "flex items-center gap-2 rounded-lg border border-gray-200/50 bg-white/40 px-3 py-1.5 dark:border-white/10 dark:bg-white/[0.03]",
1011
+ className: "flex items-center gap-2 rounded-lg border border-slate-200/50 bg-white/40 px-3 py-1.5 dark:border-white/10 dark:bg-white/[0.04]",
1017
1012
  children: [
1018
- /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-3 w-3 shrink-0 text-gray-500 dark:text-gray-400" }),
1019
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[11px] font-semibold text-gray-900 dark:text-white", children: provider.name }),
1020
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: `shrink-0 rounded-full px-1.5 py-0.5 text-[8px] font-semibold uppercase ${provider.configured ? "bg-emerald-500/10 text-emerald-600 dark:text-emerald-400" : "bg-amber-500/10 text-amber-600 dark:text-amber-400"}`, children: provider.configured ? t("agentDrawer.configured", { _: "connected" }) : t("agentDrawer.setup", { _: "setup" }) }),
1021
- provider.apiKeyMasked && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto truncate font-mono text-[9px] text-gray-400 dark:text-gray-500", title: provider.credentialRef, children: provider.apiKeyMasked })
1013
+ /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-3 w-3 shrink-0 text-slate-500 dark:text-slate-400" }),
1014
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[11px] font-semibold text-slate-900 dark:text-white", children: provider.name }),
1015
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Badge, { color: provider.configured ? "emerald" : "amber", size: "xs", children: provider.configured ? t("agentDrawer.configured", { _: "connected" }) : t("agentDrawer.setup", { _: "setup" }) }),
1016
+ provider.apiKeyMasked && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto truncate font-mono text-[9px] text-slate-400 dark:text-slate-500", title: provider.credentialRef, children: provider.apiKeyMasked })
1022
1017
  ]
1023
1018
  },
1024
1019
  provider.id
1025
1020
  )) }),
1026
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-[10px] text-gray-400 dark:text-gray-500", children: selectedProviderId ? "" : t("agentDrawer.providerHint", { _: "Credenciais s\xE3o configuradas no n\xEDvel da conta. Aqui voc\xEA s\xF3 confere o que est\xE1 conectado." }) })
1021
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-[10px] text-slate-400 dark:text-slate-500", children: selectedProviderId ? "" : t("agentDrawer.providerHint", { _: "Credenciais s\xE3o configuradas no n\xEDvel da conta. Aqui voc\xEA s\xF3 confere o que est\xE1 conectado." }) })
1027
1022
  ] })
1028
1023
  ] })
1029
1024
  ] })
@@ -1031,9 +1026,9 @@ function EngineTab({
1031
1026
  }
1032
1027
  function AgentModal({ onSaved, onPersist }) {
1033
1028
  const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
1034
- const activeModal = chunkD5OTZGA2_js.useModalStore((s) => s.activeModal);
1035
- const agentData = chunkD5OTZGA2_js.useModalStore((s) => s.agentData);
1036
- const closeModal = chunkD5OTZGA2_js.useModalStore((s) => s.closeModal);
1029
+ const activeModal = chunk4Z5NZINA_js.useModalStore((s) => s.activeModal);
1030
+ const agentData = chunk4Z5NZINA_js.useModalStore((s) => s.agentData);
1031
+ const closeModal = chunk4Z5NZINA_js.useModalStore((s) => s.closeModal);
1037
1032
  const open = activeModal === "agent";
1038
1033
  const agent = agentData?.agent ?? null;
1039
1034
  const models = agentData?.models ?? [];
@@ -1177,11 +1172,11 @@ function AgentModal({ onSaved, onPersist }) {
1177
1172
  if (!agent) return null;
1178
1173
  const sections = [];
1179
1174
  const effectiveAvatarUrl = avatarUrl || agent.avatar;
1180
- const fieldCard = "liquid-surface w-full rounded-lg px-2.5 py-1.5 text-xs text-gray-800 outline-none transition-colors focus:ring-1 focus:ring-indigo-300/40 dark:text-gray-200 dark:focus:ring-indigo-500/20";
1175
+ const fieldCard = "liquid-surface w-full rounded-lg px-2.5 py-1.5 text-xs text-slate-800 outline-none transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 dark:text-slate-200";
1181
1176
  const fieldLabel = "text-[9px] font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400";
1182
1177
  const avatarInitial = (displayName || agent.name).charAt(0).toUpperCase();
1183
1178
  const avatarNode = /* @__PURE__ */ jsxRuntime.jsx(
1184
- chunk5ETT54QS_js.Avatar,
1179
+ chunkRWZ2PLMQ_js.Avatar,
1185
1180
  {
1186
1181
  src: effectiveAvatarUrl || void 0,
1187
1182
  alt: displayName || agent.name,
@@ -1193,7 +1188,7 @@ function AgentModal({ onSaved, onPersist }) {
1193
1188
  const statusPill = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
1194
1189
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: `text-[9px] font-semibold ${status === "active" ? "text-emerald-600 dark:text-emerald-400" : "text-slate-500"}`, children: status === "active" ? t("agentDrawer.statusActive", { _: "Active" }) : t("agentDrawer.statusInactive", { _: "Inactive" }) }),
1195
1190
  /* @__PURE__ */ jsxRuntime.jsx(
1196
- chunk5ETT54QS_js.ToggleSwitch,
1191
+ chunkRWZ2PLMQ_js.ToggleSwitch,
1197
1192
  {
1198
1193
  size: "sm",
1199
1194
  color: "green",
@@ -1207,7 +1202,7 @@ function AgentModal({ onSaved, onPersist }) {
1207
1202
  )
1208
1203
  ] });
1209
1204
  const identityCard = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "liquid-surface rounded-2xl p-3 ring-1 ring-slate-200/50 dark:ring-white/10", children: /* @__PURE__ */ jsxRuntime.jsx(
1210
- chunk5ETT54QS_js.HeroBlock,
1205
+ chunkRWZ2PLMQ_js.HeroBlock,
1211
1206
  {
1212
1207
  icon: avatarNode,
1213
1208
  iconBackground: "none",
@@ -1270,7 +1265,7 @@ function AgentModal({ onSaved, onPersist }) {
1270
1265
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: `font-medium ${autosaveColor}`, children: autosaveLabel })
1271
1266
  ] });
1272
1267
  return /* @__PURE__ */ jsxRuntime.jsx(
1273
- chunk5ETT54QS_js.GlassModal,
1268
+ chunkRWZ2PLMQ_js.GlassModal,
1274
1269
  {
1275
1270
  open,
1276
1271
  onClose: handleClose,
@@ -1287,7 +1282,7 @@ function AgentModal({ onSaved, onPersist }) {
1287
1282
  },
1288
1283
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
1289
1284
  /* @__PURE__ */ jsxRuntime.jsx(
1290
- chunk5ETT54QS_js.SectionCard,
1285
+ chunkRWZ2PLMQ_js.SectionCard,
1291
1286
  {
1292
1287
  variant: "glass",
1293
1288
  padded: false,
@@ -1327,7 +1322,7 @@ function AgentModal({ onSaved, onPersist }) {
1327
1322
  }
1328
1323
  ),
1329
1324
  /* @__PURE__ */ jsxRuntime.jsx(
1330
- chunk5ETT54QS_js.SectionCard,
1325
+ chunkRWZ2PLMQ_js.SectionCard,
1331
1326
  {
1332
1327
  variant: "glass",
1333
1328
  padded: false,
@@ -1355,7 +1350,7 @@ function AgentModal({ onSaved, onPersist }) {
1355
1350
  }
1356
1351
  ),
1357
1352
  /* @__PURE__ */ jsxRuntime.jsx(
1358
- chunk5ETT54QS_js.SectionCard,
1353
+ chunkRWZ2PLMQ_js.SectionCard,
1359
1354
  {
1360
1355
  variant: "glass",
1361
1356
  padded: false,
@@ -1451,9 +1446,9 @@ function ConfigSection({ title, icon: Icon, defaultOpen = true, children }) {
1451
1446
  "aria-expanded": open,
1452
1447
  className: "flex w-full items-center gap-2 px-4 py-2.5 text-left hover:bg-white/5",
1453
1448
  children: [
1454
- open ? /* @__PURE__ */ jsxRuntime.jsx(outline.ChevronDownIcon, { className: "h-3 w-3 text-gray-400" }) : /* @__PURE__ */ jsxRuntime.jsx(outline.ChevronRightIcon, { className: "h-3 w-3 text-gray-400" }),
1455
- /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "h-3 w-3 text-gray-400" }),
1456
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] font-semibold uppercase tracking-wider text-gray-500 dark:text-gray-400", children: title })
1449
+ open ? /* @__PURE__ */ jsxRuntime.jsx(outline.ChevronDownIcon, { className: "h-3 w-3 text-slate-400" }) : /* @__PURE__ */ jsxRuntime.jsx(outline.ChevronRightIcon, { className: "h-3 w-3 text-slate-400" }),
1450
+ /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "h-3 w-3 text-slate-400" }),
1451
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400", children: title })
1457
1452
  ]
1458
1453
  }
1459
1454
  ),
@@ -1478,7 +1473,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
1478
1473
  const markDirty = useSubworkflowStore((s) => s.markDirty);
1479
1474
  const markSaved = useSubworkflowStore((s) => s.markSaved);
1480
1475
  const closeModal = useSubworkflowStore((s) => s.closeModal);
1481
- const agentBehind = chunkD5OTZGA2_js.useModalStore((s) => s.activeModal === "agent" ? s.agentData?.agent?.name : null);
1476
+ const agentBehind = chunk4Z5NZINA_js.useModalStore((s) => s.activeModal === "agent" ? s.agentData?.agent?.name : null);
1482
1477
  const isCreateMode = !tool?.toolId;
1483
1478
  const initialGraph = react.useMemo(() => {
1484
1479
  const config = tool?.config;
@@ -1507,9 +1502,9 @@ function SubworkflowModal({ onSaved, onMaximize }) {
1507
1502
  }, [tool, onSaved, name, category, description, timeoutMs, latestGraphRef, markSaved]);
1508
1503
  if (!tool) return null;
1509
1504
  const categoryKey = category ?? "external";
1510
- const gradient = tool.color ?? chunkD5OTZGA2_js.CATEGORY_COLORS[categoryKey] ?? chunkD5OTZGA2_js.CATEGORY_COLORS.external;
1511
- const categoryPill = chunkD5OTZGA2_js.CATEGORY_PILL_COLORS[categoryKey] ?? chunkD5OTZGA2_js.CATEGORY_PILL_COLORS.external;
1512
- const IconComponent = chunkD5OTZGA2_js.ICON_MAP[tool.icon ?? ""] ?? outline.ArrowPathRoundedSquareIcon;
1505
+ const gradient = tool.color ?? chunk4Z5NZINA_js.CATEGORY_COLORS[categoryKey] ?? chunk4Z5NZINA_js.CATEGORY_COLORS.external;
1506
+ const categoryPill = chunk4Z5NZINA_js.CATEGORY_PILL_COLORS[categoryKey] ?? chunk4Z5NZINA_js.CATEGORY_PILL_COLORS.external;
1507
+ const IconComponent = chunk4Z5NZINA_js.ICON_MAP[tool.icon ?? ""] ?? outline.ArrowPathRoundedSquareIcon;
1513
1508
  const graph = latestGraphRef.current;
1514
1509
  const startNode = graph.nodes.find((n) => n.type === "start");
1515
1510
  const endNode = graph.nodes.find((n) => n.type === "end");
@@ -1520,29 +1515,22 @@ function SubworkflowModal({ onSaved, onMaximize }) {
1520
1515
  const footer = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
1521
1516
  /* @__PURE__ */ jsxRuntime.jsx("div", { role: "status", "aria-live": "polite", className: "text-xs", children: dirty ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-amber-500 dark:text-amber-400", children: t("subworkflowDrawer.unsavedChanges") }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-emerald-500 dark:text-emerald-400", children: t("subworkflowDrawer.saved") }) }),
1522
1517
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
1518
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { type: "button", outline: true, size: "sm", onClick: closeModal, children: t("subworkflowDrawer.cancel") }),
1523
1519
  /* @__PURE__ */ jsxRuntime.jsx(
1524
- "button",
1525
- {
1526
- type: "button",
1527
- onClick: closeModal,
1528
- className: "rounded-lg border border-gray-200/50 px-4 py-2 text-xs font-medium text-gray-600 transition-colors hover:bg-gray-100/50 dark:border-white/10 dark:text-gray-300 dark:hover:bg-white/5",
1529
- children: t("subworkflowDrawer.cancel")
1530
- }
1531
- ),
1532
- /* @__PURE__ */ jsxRuntime.jsx(
1533
- "button",
1520
+ chunkEBARYRSA_js.Button,
1534
1521
  {
1535
1522
  type: "button",
1523
+ color: "ios-teal",
1524
+ size: "sm",
1536
1525
  onClick: handleSave,
1537
- disabled: isCreateMode && !name.trim(),
1538
- className: `rounded-lg px-4 py-2 text-xs font-semibold text-white shadow-sm transition-all ${dirty ? "bg-gradient-to-r from-teal-500 to-cyan-500 hover:from-teal-600 hover:to-cyan-600" : "cursor-not-allowed bg-gray-300 dark:bg-gray-700"}`,
1526
+ disabled: isCreateMode && !name.trim() || !dirty,
1539
1527
  children: isCreateMode ? t("subworkflowDrawer.create") : t("subworkflowDrawer.save")
1540
1528
  }
1541
1529
  )
1542
1530
  ] })
1543
1531
  ] });
1544
1532
  return /* @__PURE__ */ jsxRuntime.jsx(
1545
- chunk5ETT54QS_js.GlassModal,
1533
+ chunkRWZ2PLMQ_js.GlassModal,
1546
1534
  {
1547
1535
  open,
1548
1536
  onClose: closeModal,
@@ -1557,7 +1545,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
1557
1545
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-[80vh] min-h-[600px]", children: [
1558
1546
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-72 flex-shrink-0 flex-col overflow-y-auto border-r border-white/10", children: [
1559
1547
  isCreateMode ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-b border-white/10 bg-gradient-to-br from-teal-500/15 via-cyan-500/8 to-transparent px-4 py-4 dark:from-teal-500/8 dark:via-cyan-500/4", children: [
1560
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-[10px] font-semibold uppercase tracking-wider text-gray-500 dark:text-gray-400", children: t("subworkflowDrawer.name") }),
1548
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-[10px] font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400", children: t("subworkflowDrawer.name") }),
1561
1549
  /* @__PURE__ */ jsxRuntime.jsx(
1562
1550
  "input",
1563
1551
  {
@@ -1566,7 +1554,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
1566
1554
  onChange: (event) => setName(event.target.value),
1567
1555
  placeholder: t("subworkflowDrawer.namePlaceholder"),
1568
1556
  autoFocus: true,
1569
- className: "w-full rounded-lg border border-gray-200/50 bg-white/60 px-3 py-2 text-sm font-medium text-gray-900 outline-none placeholder:text-gray-400 focus:border-teal-300/50 focus:ring-1 focus:ring-teal-300/30 dark:border-white/10 dark:bg-white/5 dark:text-white dark:placeholder:text-gray-500"
1557
+ className: "w-full rounded-lg bg-white/40 dark:bg-white/[0.04] backdrop-blur-sm border border-slate-200/50 dark:border-white/10 px-3 py-2 text-sm font-medium text-slate-900 outline-none placeholder:text-slate-400 focus:border-teal-300/50 focus:ring-1 focus:ring-teal-300/30 dark:text-white dark:placeholder:text-slate-500"
1570
1558
  }
1571
1559
  ),
1572
1560
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3 flex flex-wrap gap-1", children: ["external", "market", "data", "communication", "analytics"].map((cat) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -1574,7 +1562,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
1574
1562
  {
1575
1563
  type: "button",
1576
1564
  onClick: () => setCategory(cat),
1577
- className: `rounded-full px-2 py-1 text-[9px] font-semibold transition-all ${cat === category ? `${chunkD5OTZGA2_js.CATEGORY_PILL_COLORS[cat] ?? chunkD5OTZGA2_js.CATEGORY_PILL_COLORS.external} ring-1 ring-current/20` : "bg-white/30 text-gray-500 hover:bg-white/50 dark:bg-white/5 dark:text-gray-400"}`,
1565
+ className: `rounded-full px-2 py-1 text-[9px] font-semibold transition-all ${cat === category ? `${chunk4Z5NZINA_js.CATEGORY_PILL_COLORS[cat] ?? chunk4Z5NZINA_js.CATEGORY_PILL_COLORS.external} ring-1 ring-current/20` : "bg-white/30 text-slate-500 hover:bg-white/50 dark:bg-white/5 dark:text-slate-400"}`,
1578
1566
  children: cat
1579
1567
  },
1580
1568
  cat
@@ -1582,7 +1570,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
1582
1570
  ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-b border-white/10 bg-gradient-to-br from-teal-500/15 via-cyan-500/8 to-transparent px-4 py-4 dark:from-teal-500/8 dark:via-cyan-500/4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
1583
1571
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-10 w-10 shrink-0 items-center justify-center rounded-xl bg-gradient-to-br ${gradient} shadow-lg`, children: /* @__PURE__ */ jsxRuntime.jsx(IconComponent, { className: "h-5 w-5 text-white" }) }),
1584
1572
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
1585
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "truncate text-sm font-bold text-gray-900 dark:text-white", children: name }),
1573
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "truncate text-sm font-bold text-slate-900 dark:text-white", children: name }),
1586
1574
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-1 flex flex-wrap gap-1", children: [
1587
1575
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex items-center rounded-full bg-teal-100 px-1.5 py-0.5 text-[8px] font-semibold text-teal-700 dark:bg-teal-400/15 dark:text-teal-400", children: t("subworkflowDrawer.subworkflow") }),
1588
1576
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: `inline-flex items-center rounded-full px-1.5 py-0.5 text-[8px] font-medium ${categoryPill}`, children: category })
@@ -1594,7 +1582,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
1594
1582
  type: "button",
1595
1583
  onClick: () => onMaximize(tool.toolId),
1596
1584
  title: t("subworkflowDrawer.openFullEditor"),
1597
- className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-lg text-gray-400 transition-colors hover:bg-white/10 hover:text-teal-500 dark:hover:text-teal-400",
1585
+ className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-lg text-slate-400 transition-colors hover:bg-white/10 hover:text-teal-500 dark:hover:text-teal-400",
1598
1586
  children: /* @__PURE__ */ jsxRuntime.jsx(outline.ArrowsPointingOutIcon, { className: "h-4 w-4" })
1599
1587
  }
1600
1588
  )
@@ -1606,19 +1594,19 @@ function SubworkflowModal({ onSaved, onMaximize }) {
1606
1594
  onChange: (event) => setDescription(event.target.value),
1607
1595
  rows: 2,
1608
1596
  placeholder: t("subworkflowDrawer.descriptionPlaceholder"),
1609
- className: "w-full resize-none rounded-lg border border-gray-200/50 bg-gray-50/50 px-2.5 py-2 text-[11px] leading-relaxed text-gray-700 outline-none placeholder:text-gray-400 focus:border-teal-300/50 dark:border-white/10 dark:bg-white/5 dark:text-gray-300 dark:placeholder:text-gray-500"
1597
+ className: "w-full resize-none rounded-lg bg-white/40 dark:bg-white/[0.04] backdrop-blur-sm border border-slate-200/50 dark:border-white/10 px-2.5 py-2 text-[11px] leading-relaxed text-slate-700 outline-none placeholder:text-slate-400 focus:border-teal-300/50 dark:text-slate-300 dark:placeholder:text-slate-500"
1610
1598
  }
1611
1599
  ) }),
1612
- /* @__PURE__ */ jsxRuntime.jsx(ConfigSection, { title: t("subworkflowDrawer.inputVariables"), icon: outline.ArrowsPointingInIcon, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1", children: inputVariables.length > 0 ? inputVariables.map((variable) => /* @__PURE__ */ jsxRuntime.jsx(VariableChip, { name: variable.name, type: variable.type }, variable.name)) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: t("subworkflowDrawer.noVariables") }) }) }),
1613
- /* @__PURE__ */ jsxRuntime.jsx(ConfigSection, { title: t("subworkflowDrawer.outputVariables"), icon: outline.ArrowsPointingOutIcon, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1", children: outputVariables.length > 0 ? outputVariables.map((variable) => /* @__PURE__ */ jsxRuntime.jsx(OutputChip, { name: variable.name, type: variable.type }, variable.name)) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: t("subworkflowDrawer.noVariables") }) }) }),
1600
+ /* @__PURE__ */ jsxRuntime.jsx(ConfigSection, { title: t("subworkflowDrawer.inputVariables"), icon: outline.ArrowsPointingInIcon, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1", children: inputVariables.length > 0 ? inputVariables.map((variable) => /* @__PURE__ */ jsxRuntime.jsx(VariableChip, { name: variable.name, type: variable.type }, variable.name)) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: t("subworkflowDrawer.noVariables") }) }) }),
1601
+ /* @__PURE__ */ jsxRuntime.jsx(ConfigSection, { title: t("subworkflowDrawer.outputVariables"), icon: outline.ArrowsPointingOutIcon, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1", children: outputVariables.length > 0 ? outputVariables.map((variable) => /* @__PURE__ */ jsxRuntime.jsx(OutputChip, { name: variable.name, type: variable.type }, variable.name)) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: t("subworkflowDrawer.noVariables") }) }) }),
1614
1602
  /* @__PURE__ */ jsxRuntime.jsxs(ConfigSection, { title: t("subworkflowDrawer.executionSettings"), icon: outline.BoltIcon, defaultOpen: false, children: [
1615
1603
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-3", children: [
1616
1604
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-1 flex items-center justify-between", children: [
1617
- /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center gap-1 text-[10px] text-gray-600 dark:text-gray-400", children: [
1605
+ /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center gap-1 text-[10px] text-slate-600 dark:text-slate-400", children: [
1618
1606
  /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-3 w-3" }),
1619
1607
  t("subworkflowDrawer.timeout")
1620
1608
  ] }),
1621
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] font-bold tabular-nums text-gray-900 dark:text-white", children: [
1609
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] font-bold tabular-nums text-slate-900 dark:text-white", children: [
1622
1610
  (timeoutMs / 1e3).toFixed(0),
1623
1611
  "s"
1624
1612
  ] })
@@ -1637,21 +1625,21 @@ function SubworkflowModal({ onSaved, onMaximize }) {
1637
1625
  "aria-valuemax": 30,
1638
1626
  "aria-valuenow": timeoutMs / 1e3,
1639
1627
  "aria-valuetext": `${(timeoutMs / 1e3).toFixed(0)} seconds`,
1640
- className: "h-3 w-full cursor-pointer appearance-none rounded-full bg-gray-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-teal-500 dark:bg-gray-700 [&::-webkit-slider-thumb]:h-3 [&::-webkit-slider-thumb]:w-3 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-teal-500"
1628
+ className: "h-3 w-full cursor-pointer appearance-none rounded-full bg-slate-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-teal-500 dark:bg-slate-700 [&::-webkit-slider-thumb]:h-3 [&::-webkit-slider-thumb]:w-3 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-teal-500"
1641
1629
  }
1642
1630
  )
1643
1631
  ] }),
1644
1632
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1645
1633
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-1 flex items-center justify-between", children: [
1646
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-[10px] text-gray-600 dark:text-gray-400", children: t("subworkflowDrawer.retries") }),
1647
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] font-bold tabular-nums text-gray-900 dark:text-white", children: retryCount })
1634
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-[10px] text-slate-600 dark:text-slate-400", children: t("subworkflowDrawer.retries") }),
1635
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] font-bold tabular-nums text-slate-900 dark:text-white", children: retryCount })
1648
1636
  ] }),
1649
1637
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-1", children: [0, 1, 2, 3].map((count) => /* @__PURE__ */ jsxRuntime.jsx(
1650
1638
  "button",
1651
1639
  {
1652
1640
  type: "button",
1653
1641
  onClick: () => setRetryCount(count),
1654
- className: `flex-1 rounded py-1 text-[10px] font-medium transition-all ${count === retryCount ? "bg-teal-500 text-white" : "bg-gray-100 text-gray-500 dark:bg-white/5 dark:text-gray-400"}`,
1642
+ className: `flex-1 rounded py-1 text-[10px] font-medium transition-all ${count === retryCount ? "bg-teal-500 text-white" : "bg-white/40 text-slate-500 dark:bg-white/5 dark:text-slate-400"}`,
1655
1643
  children: count
1656
1644
  },
1657
1645
  count
@@ -1661,7 +1649,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
1661
1649
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-auto" })
1662
1650
  ] }),
1663
1651
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(
1664
- chunkD5OTZGA2_js.WorkflowCanvas,
1652
+ chunk4Z5NZINA_js.WorkflowCanvas,
1665
1653
  {
1666
1654
  initialGraph,
1667
1655
  agents: [],
@@ -1677,9 +1665,9 @@ function SubworkflowModal({ onSaved, onMaximize }) {
1677
1665
  }
1678
1666
  function PipelineSettingsModal({ onSave }) {
1679
1667
  const t = chunkY5VN4SPH_js.useTranslations("agents.workflow");
1680
- const activeModal = chunkD5OTZGA2_js.useModalStore((s) => s.activeModal);
1681
- const data = chunkD5OTZGA2_js.useModalStore((s) => s.pipelineSettingsData);
1682
- const closeModal = chunkD5OTZGA2_js.useModalStore((s) => s.closeModal);
1668
+ const activeModal = chunk4Z5NZINA_js.useModalStore((s) => s.activeModal);
1669
+ const data = chunk4Z5NZINA_js.useModalStore((s) => s.pipelineSettingsData);
1670
+ const closeModal = chunk4Z5NZINA_js.useModalStore((s) => s.closeModal);
1683
1671
  const open = activeModal === "pipeline-settings";
1684
1672
  const [nameValue, setNameValue] = react.useState("");
1685
1673
  const [descriptionValue, setDescriptionValue] = react.useState("");
@@ -1730,17 +1718,9 @@ function PipelineSettingsModal({ onSave }) {
1730
1718
  }
1731
1719
  };
1732
1720
  const footer = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-end gap-2", children: [
1733
- /* @__PURE__ */ jsxRuntime.jsx(
1734
- "button",
1735
- {
1736
- type: "button",
1737
- onClick: closeModal,
1738
- className: "rounded-lg border border-gray-200/50 px-4 py-2 text-xs font-medium text-gray-600 transition-colors hover:bg-gray-100/50 dark:border-white/10 dark:text-gray-300 dark:hover:bg-white/5",
1739
- children: t("cancel")
1740
- }
1741
- ),
1721
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { type: "button", outline: true, size: "sm", onClick: closeModal, children: t("cancel") }),
1742
1722
  /* @__PURE__ */ jsxRuntime.jsxs(
1743
- chunkBHOT22QL_js.Button,
1723
+ chunkEBARYRSA_js.Button,
1744
1724
  {
1745
1725
  type: "button",
1746
1726
  onClick: () => {
@@ -1757,7 +1737,7 @@ function PipelineSettingsModal({ onSave }) {
1757
1737
  )
1758
1738
  ] });
1759
1739
  return /* @__PURE__ */ jsxRuntime.jsx(
1760
- chunk5ETT54QS_js.GlassModal,
1740
+ chunkRWZ2PLMQ_js.GlassModal,
1761
1741
  {
1762
1742
  open,
1763
1743
  onClose: closeModal,
@@ -1780,7 +1760,7 @@ function PipelineSettingsModal({ onSave }) {
1780
1760
  },
1781
1761
  children: [
1782
1762
  /* @__PURE__ */ jsxRuntime.jsx(
1783
- chunk5ETT54QS_js.FormInput,
1763
+ chunkRWZ2PLMQ_js.FormInput,
1784
1764
  {
1785
1765
  label: t("pipelineName"),
1786
1766
  value: nameValue,
@@ -1790,7 +1770,7 @@ function PipelineSettingsModal({ onSave }) {
1790
1770
  }
1791
1771
  ),
1792
1772
  /* @__PURE__ */ jsxRuntime.jsx(
1793
- chunk5ETT54QS_js.FormTextarea,
1773
+ chunkRWZ2PLMQ_js.FormTextarea,
1794
1774
  {
1795
1775
  label: t("pipelineDescription"),
1796
1776
  value: descriptionValue,
@@ -1801,7 +1781,7 @@ function PipelineSettingsModal({ onSave }) {
1801
1781
  ),
1802
1782
  lifecycleAvailable && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1803
1783
  /* @__PURE__ */ jsxRuntime.jsx(
1804
- chunk5ETT54QS_js.FormInput,
1784
+ chunkRWZ2PLMQ_js.FormInput,
1805
1785
  {
1806
1786
  label: t("pipelineSlug", { _: "Slug" }),
1807
1787
  value: slugValue,
@@ -1812,12 +1792,12 @@ function PipelineSettingsModal({ onSave }) {
1812
1792
  })
1813
1793
  }
1814
1794
  ),
1815
- /* @__PURE__ */ jsxRuntime.jsxs("fieldset", { className: "space-y-2 rounded-xl border border-gray-200/60 bg-gray-50/60 p-3 dark:border-white/10 dark:bg-white/5", children: [
1816
- /* @__PURE__ */ jsxRuntime.jsx("legend", { className: "px-1 text-xs font-medium text-gray-600 dark:text-gray-300", children: t("pipelineLifecycle", { _: "Lifecycle" }) }),
1817
- /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center justify-between gap-3 text-sm text-gray-700 dark:text-gray-200", children: [
1795
+ /* @__PURE__ */ jsxRuntime.jsxs("fieldset", { className: "space-y-2 rounded-xl liquid-surface p-3", children: [
1796
+ /* @__PURE__ */ jsxRuntime.jsx("legend", { className: "px-1 text-xs font-medium text-slate-600 dark:text-slate-300", children: t("pipelineLifecycle", { _: "Lifecycle" }) }),
1797
+ /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center justify-between gap-3 text-sm text-slate-700 dark:text-slate-200", children: [
1818
1798
  /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
1819
1799
  t("pipelineIsDraft", { _: "Draft mode" }),
1820
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-2 text-[11px] text-gray-400", children: isDraft ? t("pipelineIsDraftOn", { _: "Editable \u2014 changes do not affect runs." }) : t("pipelineIsDraftOff", { _: "Published \u2014 edits require a new version." }) })
1800
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-2 text-[11px] text-slate-400", children: isDraft ? t("pipelineIsDraftOn", { _: "Editable \u2014 changes do not affect runs." }) : t("pipelineIsDraftOff", { _: "Published \u2014 edits require a new version." }) })
1821
1801
  ] }),
1822
1802
  /* @__PURE__ */ jsxRuntime.jsx(
1823
1803
  "input",
@@ -1825,14 +1805,14 @@ function PipelineSettingsModal({ onSave }) {
1825
1805
  type: "checkbox",
1826
1806
  checked: isDraft,
1827
1807
  onChange: (event) => setIsDraft(event.target.checked),
1828
- className: "h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-500"
1808
+ className: "h-4 w-4 rounded border-slate-300 text-indigo-600 focus:ring-indigo-500/70 focus:ring-offset-1"
1829
1809
  }
1830
1810
  )
1831
1811
  ] }),
1832
- /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center justify-between gap-3 text-sm text-gray-700 dark:text-gray-200", children: [
1812
+ /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center justify-between gap-3 text-sm text-slate-700 dark:text-slate-200", children: [
1833
1813
  /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
1834
1814
  t("pipelineIsActive", { _: "Active" }),
1835
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-2 text-[11px] text-gray-400", children: isActive ? t("pipelineIsActiveOn", { _: "Visible in listings and runnable." }) : t("pipelineIsActiveOff", { _: "Archived \u2014 hidden from the default listing." }) })
1815
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-2 text-[11px] text-slate-400", children: isActive ? t("pipelineIsActiveOn", { _: "Visible in listings and runnable." }) : t("pipelineIsActiveOff", { _: "Archived \u2014 hidden from the default listing." }) })
1836
1816
  ] }),
1837
1817
  /* @__PURE__ */ jsxRuntime.jsx(
1838
1818
  "input",
@@ -1840,7 +1820,7 @@ function PipelineSettingsModal({ onSave }) {
1840
1820
  type: "checkbox",
1841
1821
  checked: isActive,
1842
1822
  onChange: (event) => setIsActive(event.target.checked),
1843
- className: "h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-500"
1823
+ className: "h-4 w-4 rounded border-slate-300 text-indigo-600 focus:ring-indigo-500/70 focus:ring-offset-1"
1844
1824
  }
1845
1825
  )
1846
1826
  ] })
@@ -1920,17 +1900,9 @@ function RunReplayModal({
1920
1900
  /* @__PURE__ */ jsxRuntime.jsx("code", { children: workflowId.slice(0, 8) })
1921
1901
  ] }),
1922
1902
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
1923
- /* @__PURE__ */ jsxRuntime.jsx(
1924
- "button",
1925
- {
1926
- type: "button",
1927
- onClick: onClose,
1928
- className: "rounded-lg border border-gray-200/50 px-4 py-2 text-xs font-medium text-gray-600 transition-colors hover:bg-gray-100/50 dark:border-white/10 dark:text-gray-300 dark:hover:bg-white/5",
1929
- children: t("cancel")
1930
- }
1931
- ),
1903
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { type: "button", outline: true, size: "sm", onClick: onClose, children: t("cancel") }),
1932
1904
  /* @__PURE__ */ jsxRuntime.jsxs(
1933
- chunkBHOT22QL_js.Button,
1905
+ chunkEBARYRSA_js.Button,
1934
1906
  {
1935
1907
  type: "submit",
1936
1908
  form: "run-replay-form",
@@ -1945,7 +1917,7 @@ function RunReplayModal({
1945
1917
  ] })
1946
1918
  ] });
1947
1919
  return /* @__PURE__ */ jsxRuntime.jsx(
1948
- chunk5ETT54QS_js.GlassModal,
1920
+ chunkRWZ2PLMQ_js.GlassModal,
1949
1921
  {
1950
1922
  open,
1951
1923
  onClose,
@@ -1995,16 +1967,8 @@ function RowEditor({
1995
1967
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-center justify-between gap-2", children: [
1996
1968
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-xs text-gray-700 dark:text-gray-200", children: row.key }),
1997
1969
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
1998
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "zinc", size: "xs", className: "uppercase tracking-wider", children: row.kind }),
1999
- row.touched && /* @__PURE__ */ jsxRuntime.jsx(
2000
- "button",
2001
- {
2002
- type: "button",
2003
- onClick: onReset,
2004
- className: "text-[11px] text-indigo-600 hover:text-indigo-500 dark:text-indigo-400",
2005
- children: "reset"
2006
- }
2007
- )
1970
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Badge, { color: "zinc", size: "xs", className: "uppercase tracking-wider", children: row.kind }),
1971
+ row.touched && /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { type: "button", plain: true, size: "xs", onClick: onReset, children: "reset" })
2008
1972
  ] })
2009
1973
  ] }),
2010
1974
  row.kind === "boolean" ? /* @__PURE__ */ jsxRuntime.jsxs(
@@ -2019,7 +1983,7 @@ function RowEditor({
2019
1983
  ]
2020
1984
  }
2021
1985
  ) : isJson ? /* @__PURE__ */ jsxRuntime.jsx(
2022
- chunk5ETT54QS_js.FormTextarea,
1986
+ chunkRWZ2PLMQ_js.FormTextarea,
2023
1987
  {
2024
1988
  value: row.value,
2025
1989
  onValueChange: (v) => onChange({ value: v }),
@@ -2027,7 +1991,7 @@ function RowEditor({
2027
1991
  className: "font-mono"
2028
1992
  }
2029
1993
  ) : /* @__PURE__ */ jsxRuntime.jsx(
2030
- chunk5ETT54QS_js.FormInput,
1994
+ chunkRWZ2PLMQ_js.FormInput,
2031
1995
  {
2032
1996
  type: row.kind === "number" ? "number" : "text",
2033
1997
  value: row.value,
@@ -2131,7 +2095,7 @@ function ExecutionTimelinePanel({
2131
2095
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "truncate font-medium text-slate-900 dark:text-white", children: entry.nodeId }),
2132
2096
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs text-slate-500 dark:text-slate-400", children: entry.nodeType })
2133
2097
  ] }),
2134
- /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Badge, { color: meta.color, children: [
2098
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkEBARYRSA_js.Badge, { color: meta.color, children: [
2135
2099
  /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "mr-1 h-3 w-3" }),
2136
2100
  labels[entry.status]
2137
2101
  ] })
@@ -2161,7 +2125,7 @@ function NodeInspector({
2161
2125
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "truncate text-base font-semibold text-slate-900 dark:text-white", children: entry.nodeId }),
2162
2126
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-slate-500 dark:text-slate-400", children: entry.nodeType })
2163
2127
  ] }),
2164
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: meta.color, children: labels[entry.status] })
2128
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Badge, { color: meta.color, children: labels[entry.status] })
2165
2129
  ] }),
2166
2130
  /* @__PURE__ */ jsxRuntime.jsxs("dl", { className: "grid grid-cols-2 gap-3 text-xs text-slate-500 dark:text-slate-400", children: [
2167
2131
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
@@ -2331,7 +2295,7 @@ function RuleConditionBuilder({ value, onChange, depth = 0 }) {
2331
2295
  };
2332
2296
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3 rounded-xl border border-slate-200 bg-slate-50/60 p-3 dark:border-slate-700 dark:bg-slate-900/40", children: [
2333
2297
  /* @__PURE__ */ jsxRuntime.jsx(
2334
- chunk5ETT54QS_js.FormSelect,
2298
+ chunkRWZ2PLMQ_js.FormSelect,
2335
2299
  {
2336
2300
  label: "Operator",
2337
2301
  value: value.operator,
@@ -2354,7 +2318,7 @@ function SimpleEditor({
2354
2318
  const isTruthy = value.operator === "truthy";
2355
2319
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2", children: [
2356
2320
  /* @__PURE__ */ jsxRuntime.jsx(
2357
- chunk5ETT54QS_js.FormInput,
2321
+ chunkRWZ2PLMQ_js.FormInput,
2358
2322
  {
2359
2323
  label: "Field",
2360
2324
  hint: "Dotted reference into the variable pool \u2014 e.g. `parse-pricing.margin`, `inputs.category`",
@@ -2364,7 +2328,7 @@ function SimpleEditor({
2364
2328
  }
2365
2329
  ),
2366
2330
  !isTruthy && /* @__PURE__ */ jsxRuntime.jsx(
2367
- chunk5ETT54QS_js.FormInput,
2331
+ chunkRWZ2PLMQ_js.FormInput,
2368
2332
  {
2369
2333
  label: "Value",
2370
2334
  hint: "Literal. Numeric operators coerce via `as f64`.",
@@ -2380,7 +2344,7 @@ function ThresholdEditor({
2380
2344
  }) {
2381
2345
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-3", children: [
2382
2346
  /* @__PURE__ */ jsxRuntime.jsx(
2383
- chunk5ETT54QS_js.FormInput,
2347
+ chunkRWZ2PLMQ_js.FormInput,
2384
2348
  {
2385
2349
  label: "Field",
2386
2350
  value: value.field ?? "",
@@ -2389,7 +2353,7 @@ function ThresholdEditor({
2389
2353
  }
2390
2354
  ),
2391
2355
  /* @__PURE__ */ jsxRuntime.jsx(
2392
- chunk5ETT54QS_js.FormSelect,
2356
+ chunkRWZ2PLMQ_js.FormSelect,
2393
2357
  {
2394
2358
  label: "Direction",
2395
2359
  value: value.comparison ?? "gte",
@@ -2403,7 +2367,7 @@ function ThresholdEditor({
2403
2367
  }
2404
2368
  ),
2405
2369
  /* @__PURE__ */ jsxRuntime.jsx(
2406
- chunk5ETT54QS_js.FormInput,
2370
+ chunkRWZ2PLMQ_js.FormInput,
2407
2371
  {
2408
2372
  label: "Threshold",
2409
2373
  type: "number",
@@ -2420,7 +2384,7 @@ function RegexEditor({
2420
2384
  }) {
2421
2385
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2", children: [
2422
2386
  /* @__PURE__ */ jsxRuntime.jsx(
2423
- chunk5ETT54QS_js.FormInput,
2387
+ chunkRWZ2PLMQ_js.FormInput,
2424
2388
  {
2425
2389
  label: "Field",
2426
2390
  value: value.field ?? "",
@@ -2429,7 +2393,7 @@ function RegexEditor({
2429
2393
  }
2430
2394
  ),
2431
2395
  /* @__PURE__ */ jsxRuntime.jsx(
2432
- chunk5ETT54QS_js.FormInput,
2396
+ chunkRWZ2PLMQ_js.FormInput,
2433
2397
  {
2434
2398
  label: "Pattern",
2435
2399
  hint: "Rust regex syntax \u2014 `(?i)` etc. supported.",
@@ -2457,7 +2421,7 @@ function TimeWindowEditor({
2457
2421
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
2458
2422
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2", children: [
2459
2423
  /* @__PURE__ */ jsxRuntime.jsx(
2460
- chunk5ETT54QS_js.FormSelect,
2424
+ chunkRWZ2PLMQ_js.FormSelect,
2461
2425
  {
2462
2426
  label: "Timezone",
2463
2427
  value: value.timezone ?? "UTC",
@@ -2466,7 +2430,7 @@ function TimeWindowEditor({
2466
2430
  }
2467
2431
  ),
2468
2432
  /* @__PURE__ */ jsxRuntime.jsx(
2469
- chunk5ETT54QS_js.FormInput,
2433
+ chunkRWZ2PLMQ_js.FormInput,
2470
2434
  {
2471
2435
  label: "Timestamp field (optional)",
2472
2436
  hint: "Pulls a timestamp from the pool. Leave blank to use the run's wall-clock.",
@@ -2479,7 +2443,7 @@ function TimeWindowEditor({
2479
2443
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
2480
2444
  windows.map((win, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[1fr_1fr_auto] items-end gap-2 rounded-lg border border-slate-200 p-2 dark:border-slate-700", children: [
2481
2445
  /* @__PURE__ */ jsxRuntime.jsx(
2482
- chunk5ETT54QS_js.FormInput,
2446
+ chunkRWZ2PLMQ_js.FormInput,
2483
2447
  {
2484
2448
  label: `Start (hour)`,
2485
2449
  type: "number",
@@ -2490,7 +2454,7 @@ function TimeWindowEditor({
2490
2454
  }
2491
2455
  ),
2492
2456
  /* @__PURE__ */ jsxRuntime.jsx(
2493
- chunk5ETT54QS_js.FormInput,
2457
+ chunkRWZ2PLMQ_js.FormInput,
2494
2458
  {
2495
2459
  label: `End (hour)`,
2496
2460
  type: "number",
@@ -2500,9 +2464,9 @@ function TimeWindowEditor({
2500
2464
  onValueChange: (raw) => update(index, { endHour: clampHour(raw, 24) })
2501
2465
  }
2502
2466
  ),
2503
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", plain: true, onClick: () => remove(index), children: "Remove" })
2467
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { type: "button", plain: true, onClick: () => remove(index), children: "Remove" })
2504
2468
  ] }, index)),
2505
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", outline: true, onClick: add, children: "+ Add window" })
2469
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { type: "button", outline: true, onClick: add, children: "+ Add window" })
2506
2470
  ] })
2507
2471
  ] });
2508
2472
  }
@@ -2525,7 +2489,7 @@ function BooleanGroupEditor({
2525
2489
  });
2526
2490
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
2527
2491
  /* @__PURE__ */ jsxRuntime.jsx(
2528
- chunk5ETT54QS_js.FormSelect,
2492
+ chunkRWZ2PLMQ_js.FormSelect,
2529
2493
  {
2530
2494
  label: "Combinator",
2531
2495
  value: value.combinator ?? "and",
@@ -2543,9 +2507,9 @@ function BooleanGroupEditor({
2543
2507
  depth
2544
2508
  }
2545
2509
  ),
2546
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", plain: true, onClick: () => remove(index), children: "Remove operand" }) })
2510
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { type: "button", plain: true, onClick: () => remove(index), children: "Remove operand" }) })
2547
2511
  ] }, index)),
2548
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", outline: true, onClick: add, children: "+ Add operand" })
2512
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { type: "button", outline: true, onClick: add, children: "+ Add operand" })
2549
2513
  ] })
2550
2514
  ] });
2551
2515
  }
@@ -2581,7 +2545,7 @@ function RuleActionBuilder({ value, onChange }) {
2581
2545
  };
2582
2546
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3 rounded-xl border border-slate-200 bg-slate-50/60 p-3 dark:border-slate-700 dark:bg-slate-900/40", children: [
2583
2547
  /* @__PURE__ */ jsxRuntime.jsx(
2584
- chunk5ETT54QS_js.FormSelect,
2548
+ chunkRWZ2PLMQ_js.FormSelect,
2585
2549
  {
2586
2550
  label: "Action type",
2587
2551
  value: type,
@@ -2591,7 +2555,7 @@ function RuleActionBuilder({ value, onChange }) {
2591
2555
  ),
2592
2556
  type === "adjust_price" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2", children: [
2593
2557
  /* @__PURE__ */ jsxRuntime.jsx(
2594
- chunk5ETT54QS_js.FormInput,
2558
+ chunkRWZ2PLMQ_js.FormInput,
2595
2559
  {
2596
2560
  label: "Multiplier",
2597
2561
  type: "number",
@@ -2601,7 +2565,7 @@ function RuleActionBuilder({ value, onChange }) {
2601
2565
  }
2602
2566
  ),
2603
2567
  /* @__PURE__ */ jsxRuntime.jsx(
2604
- chunk5ETT54QS_js.FormInput,
2568
+ chunkRWZ2PLMQ_js.FormInput,
2605
2569
  {
2606
2570
  label: "Reason code",
2607
2571
  value: stringParam(params.reason),
@@ -2611,7 +2575,7 @@ function RuleActionBuilder({ value, onChange }) {
2611
2575
  )
2612
2576
  ] }),
2613
2577
  type === "enforce_min_margin" && /* @__PURE__ */ jsxRuntime.jsx(
2614
- chunk5ETT54QS_js.FormInput,
2578
+ chunkRWZ2PLMQ_js.FormInput,
2615
2579
  {
2616
2580
  label: "Floor (fraction, e.g. 0.08)",
2617
2581
  type: "number",
@@ -2621,7 +2585,7 @@ function RuleActionBuilder({ value, onChange }) {
2621
2585
  }
2622
2586
  ),
2623
2587
  type === "realign_to_competitor" && /* @__PURE__ */ jsxRuntime.jsx(
2624
- chunk5ETT54QS_js.FormInput,
2588
+ chunkRWZ2PLMQ_js.FormInput,
2625
2589
  {
2626
2590
  label: "Tolerance (fraction)",
2627
2591
  type: "number",
@@ -2631,7 +2595,7 @@ function RuleActionBuilder({ value, onChange }) {
2631
2595
  }
2632
2596
  ),
2633
2597
  type === "request_manager_approval" && /* @__PURE__ */ jsxRuntime.jsx(
2634
- chunk5ETT54QS_js.FormInput,
2598
+ chunkRWZ2PLMQ_js.FormInput,
2635
2599
  {
2636
2600
  label: "Approval limit (fraction)",
2637
2601
  type: "number",
@@ -2641,7 +2605,7 @@ function RuleActionBuilder({ value, onChange }) {
2641
2605
  }
2642
2606
  ),
2643
2607
  type === "round_to" && /* @__PURE__ */ jsxRuntime.jsx(
2644
- chunk5ETT54QS_js.FormInput,
2608
+ chunkRWZ2PLMQ_js.FormInput,
2645
2609
  {
2646
2610
  label: "Step (e.g. 0.009)",
2647
2611
  type: "number",
@@ -2652,7 +2616,7 @@ function RuleActionBuilder({ value, onChange }) {
2652
2616
  ),
2653
2617
  type === "alert" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2", children: [
2654
2618
  /* @__PURE__ */ jsxRuntime.jsx(
2655
- chunk5ETT54QS_js.FormInput,
2619
+ chunkRWZ2PLMQ_js.FormInput,
2656
2620
  {
2657
2621
  label: "Channel",
2658
2622
  value: stringParam(params.channel),
@@ -2661,7 +2625,7 @@ function RuleActionBuilder({ value, onChange }) {
2661
2625
  }
2662
2626
  ),
2663
2627
  /* @__PURE__ */ jsxRuntime.jsx(
2664
- chunk5ETT54QS_js.FormInput,
2628
+ chunkRWZ2PLMQ_js.FormInput,
2665
2629
  {
2666
2630
  label: "Severity",
2667
2631
  value: stringParam(params.severity),
@@ -2699,7 +2663,7 @@ function CustomParamsEditor({
2699
2663
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
2700
2664
  entries.map(([key, value], index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[1fr_1fr_auto] items-end gap-2", children: [
2701
2665
  /* @__PURE__ */ jsxRuntime.jsx(
2702
- chunk5ETT54QS_js.FormInput,
2666
+ chunkRWZ2PLMQ_js.FormInput,
2703
2667
  {
2704
2668
  label: "Key",
2705
2669
  value: key,
@@ -2707,16 +2671,16 @@ function CustomParamsEditor({
2707
2671
  }
2708
2672
  ),
2709
2673
  /* @__PURE__ */ jsxRuntime.jsx(
2710
- chunk5ETT54QS_js.FormInput,
2674
+ chunkRWZ2PLMQ_js.FormInput,
2711
2675
  {
2712
2676
  label: "Value",
2713
2677
  value: String(value ?? ""),
2714
2678
  onValueChange: (raw) => update(index, key, raw)
2715
2679
  }
2716
2680
  ),
2717
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", plain: true, onClick: () => remove(index), children: "Remove" })
2681
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { type: "button", plain: true, onClick: () => remove(index), children: "Remove" })
2718
2682
  ] }, index)),
2719
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", outline: true, onClick: add, children: "+ Add param" })
2683
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { type: "button", outline: true, onClick: add, children: "+ Add param" })
2720
2684
  ] });
2721
2685
  }
2722
2686
  function numberParam(value, fallback) {
@@ -2746,9 +2710,9 @@ function RuleForm({ value, onChange }) {
2746
2710
  );
2747
2711
  const update = (key, v) => onChange({ ...value, [key]: v });
2748
2712
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
2749
- /* @__PURE__ */ jsxRuntime.jsxs(chunk5ETT54QS_js.FormGrid, { children: [
2713
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkRWZ2PLMQ_js.FormGrid, { children: [
2750
2714
  /* @__PURE__ */ jsxRuntime.jsx(
2751
- chunk5ETT54QS_js.FormInput,
2715
+ chunkRWZ2PLMQ_js.FormInput,
2752
2716
  {
2753
2717
  label: "Name",
2754
2718
  required: true,
@@ -2757,7 +2721,7 @@ function RuleForm({ value, onChange }) {
2757
2721
  }
2758
2722
  ),
2759
2723
  /* @__PURE__ */ jsxRuntime.jsx(
2760
- chunk5ETT54QS_js.FormInput,
2724
+ chunkRWZ2PLMQ_js.FormInput,
2761
2725
  {
2762
2726
  label: "Priority",
2763
2727
  type: "number",
@@ -2767,7 +2731,7 @@ function RuleForm({ value, onChange }) {
2767
2731
  }
2768
2732
  ),
2769
2733
  /* @__PURE__ */ jsxRuntime.jsx(
2770
- chunk5ETT54QS_js.FormSelect,
2734
+ chunkRWZ2PLMQ_js.FormSelect,
2771
2735
  {
2772
2736
  label: "Enabled",
2773
2737
  value: value.enabled ? "true" : "false",
@@ -2779,7 +2743,7 @@ function RuleForm({ value, onChange }) {
2779
2743
  }
2780
2744
  ),
2781
2745
  /* @__PURE__ */ jsxRuntime.jsx(
2782
- chunk5ETT54QS_js.FormTextarea,
2746
+ chunkRWZ2PLMQ_js.FormTextarea,
2783
2747
  {
2784
2748
  label: "Description",
2785
2749
  rows: 2,
@@ -2791,7 +2755,7 @@ function RuleForm({ value, onChange }) {
2791
2755
  /* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
2792
2756
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-center justify-between", children: [
2793
2757
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Condition" }),
2794
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "indigo", children: value.condition.operator })
2758
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Badge, { color: "indigo", children: value.condition.operator })
2795
2759
  ] }),
2796
2760
  /* @__PURE__ */ jsxRuntime.jsx(
2797
2761
  RuleConditionBuilder,
@@ -2804,7 +2768,7 @@ function RuleForm({ value, onChange }) {
2804
2768
  /* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
2805
2769
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-center justify-between", children: [
2806
2770
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-slate-700 dark:text-slate-200", children: "Action on match" }),
2807
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "fuchsia", children: value.action.type })
2771
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Badge, { color: "fuchsia", children: value.action.type })
2808
2772
  ] }),
2809
2773
  /* @__PURE__ */ jsxRuntime.jsx(
2810
2774
  RuleActionBuilder,
@@ -2826,7 +2790,7 @@ function RuleForm({ value, onChange }) {
2826
2790
  ),
2827
2791
  showAdvanced && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-3 grid grid-cols-1 gap-3 sm:grid-cols-2", children: [
2828
2792
  /* @__PURE__ */ jsxRuntime.jsx(
2829
- chunk5ETT54QS_js.FormInput,
2793
+ chunkRWZ2PLMQ_js.FormInput,
2830
2794
  {
2831
2795
  label: "Valid from (ISO 8601)",
2832
2796
  type: "datetime-local",
@@ -2835,7 +2799,7 @@ function RuleForm({ value, onChange }) {
2835
2799
  }
2836
2800
  ),
2837
2801
  /* @__PURE__ */ jsxRuntime.jsx(
2838
- chunk5ETT54QS_js.FormInput,
2802
+ chunkRWZ2PLMQ_js.FormInput,
2839
2803
  {
2840
2804
  label: "Valid until (ISO 8601)",
2841
2805
  type: "datetime-local",
@@ -2844,7 +2808,7 @@ function RuleForm({ value, onChange }) {
2844
2808
  }
2845
2809
  ),
2846
2810
  /* @__PURE__ */ jsxRuntime.jsx(
2847
- chunk5ETT54QS_js.FormSelect,
2811
+ chunkRWZ2PLMQ_js.FormSelect,
2848
2812
  {
2849
2813
  label: "Status",
2850
2814
  value: value.status ?? "active",
@@ -2853,7 +2817,7 @@ function RuleForm({ value, onChange }) {
2853
2817
  }
2854
2818
  ),
2855
2819
  /* @__PURE__ */ jsxRuntime.jsx(
2856
- chunk5ETT54QS_js.FormInput,
2820
+ chunkRWZ2PLMQ_js.FormInput,
2857
2821
  {
2858
2822
  label: "Tags (comma-separated)",
2859
2823
  value: (value.tags ?? []).join(", "),
@@ -3001,7 +2965,7 @@ function SectionHeader({ icon, title, colorClass, count, onAdd, addLabel, isOpen
3001
2965
  /* @__PURE__ */ jsxRuntime.jsx(
3002
2966
  outline.ChevronDownIcon,
3003
2967
  {
3004
- className: `h-3 w-3 text-gray-400 transition-transform duration-200 ${isOpen ? "" : "-rotate-90"}`
2968
+ className: `h-3 w-3 text-slate-400 transition-transform duration-200 ${isOpen ? "" : "-rotate-90"}`
3005
2969
  }
3006
2970
  )
3007
2971
  ]
@@ -3022,7 +2986,7 @@ function SectionHeader({ icon, title, colorClass, count, onAdd, addLabel, isOpen
3022
2986
  function CollapsibleSection({ title, icon, colorClass, defaultOpen = true, count, onAdd, addLabel, children }) {
3023
2987
  const [isOpen, setIsOpen] = react.useState(defaultOpen);
3024
2988
  const safeChildren = react.Children.toArray(children);
3025
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-t border-gray-200/40 dark:border-white/5", children: [
2989
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-t border-slate-200/40 dark:border-white/5", children: [
3026
2990
  /* @__PURE__ */ jsxRuntime.jsx(
3027
2991
  SectionHeader,
3028
2992
  {
@@ -3040,8 +3004,8 @@ function CollapsibleSection({ title, icon, colorClass, defaultOpen = true, count
3040
3004
  ] });
3041
3005
  }
3042
3006
  function LogicNodeItemCard({ item, translationFunction }) {
3043
- const IconComponent = chunkD5OTZGA2_js.LOGIC_ICON_MAP[item.nodeType];
3044
- const gradient = chunkD5OTZGA2_js.LOGIC_NODE_GRADIENTS[item.nodeType] ?? "from-gray-400 to-gray-500";
3007
+ const IconComponent = chunk4Z5NZINA_js.LOGIC_ICON_MAP[item.nodeType];
3008
+ const gradient = chunk4Z5NZINA_js.LOGIC_NODE_GRADIENTS[item.nodeType] ?? "from-slate-400 to-slate-500";
3045
3009
  const defaultConfig = chunk72SWXOD5_js.createDefaultLogicNodeConfig(item.nodeType);
3046
3010
  const configJson = defaultConfig ? JSON.stringify(defaultConfig) : void 0;
3047
3011
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -3053,8 +3017,8 @@ function LogicNodeItemCard({ item, translationFunction }) {
3053
3017
  children: [
3054
3018
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-6 w-6 items-center justify-center rounded-md bg-gradient-to-br ${gradient} shadow-sm`, children: IconComponent && /* @__PURE__ */ jsxRuntime.jsx(IconComponent, { className: "h-3.5 w-3.5 text-white" }) }),
3055
3019
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
3056
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs font-medium text-gray-900 dark:text-white", children: translationFunction(item.nameKey) }),
3057
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: translationFunction(item.descriptionKey) })
3020
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs font-medium text-slate-900 dark:text-white", children: translationFunction(item.nameKey) }),
3021
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[10px] text-slate-400 dark:text-slate-500", children: translationFunction(item.descriptionKey) })
3058
3022
  ] })
3059
3023
  ]
3060
3024
  }
@@ -3112,7 +3076,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
3112
3076
  [entityTypes, normalizedQuery]
3113
3077
  );
3114
3078
  const filteredLogicItems = react.useMemo(() => {
3115
- const visibleByDefault = LOGIC_NODE_ITEMS.filter((item) => !chunkD5OTZGA2_js.EXPERIMENTAL_NODE_TYPES.has(item.nodeType));
3079
+ const visibleByDefault = LOGIC_NODE_ITEMS.filter((item) => !chunk4Z5NZINA_js.EXPERIMENTAL_NODE_TYPES.has(item.nodeType));
3116
3080
  if (!normalizedQuery) return visibleByDefault;
3117
3081
  return visibleByDefault.filter(
3118
3082
  (item) => t(item.nameKey).toLowerCase().includes(normalizedQuery) || t(item.descriptionKey).toLowerCase().includes(normalizedQuery)
@@ -3134,13 +3098,13 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
3134
3098
  function renderLogicSubcategory(subcategory, items, isFirst) {
3135
3099
  if (items.length === 0) return null;
3136
3100
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5", children: [
3137
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: `${isFirst ? "mt-1" : "mt-2"} text-[9px] font-semibold uppercase tracking-wider text-gray-400 dark:text-gray-500`, children: t(SUBCATEGORY_LABELS[subcategory]) }),
3101
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: `${isFirst ? "mt-1" : "mt-2"} text-[9px] font-semibold uppercase tracking-wider text-slate-400 dark:text-slate-500`, children: t(SUBCATEGORY_LABELS[subcategory]) }),
3138
3102
  items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(LogicNodeItemCard, { item, translationFunction: t }, item.nodeType))
3139
3103
  ] }, subcategory);
3140
3104
  }
3141
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "liquid-surface w-[260px] flex-shrink-0 overflow-y-auto rounded-none border-0 border-r border-gray-200/30 dark:border-white/5", children: [
3105
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "liquid-surface w-[260px] flex-shrink-0 overflow-y-auto rounded-none border-0 border-r border-slate-200/30 dark:border-white/5", children: [
3142
3106
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-4 pb-2", children: [
3143
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xs font-semibold uppercase tracking-wider text-gray-500 dark:text-gray-400", children: t("palette") }),
3107
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xs font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400", children: t("palette") }),
3144
3108
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2", children: /* @__PURE__ */ jsxRuntime.jsx(
3145
3109
  "input",
3146
3110
  {
@@ -3148,7 +3112,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
3148
3112
  value: searchQuery,
3149
3113
  onChange: (event) => setSearchQuery(event.target.value),
3150
3114
  placeholder: t("searchPalette"),
3151
- className: "liquid-surface w-full rounded-lg px-2.5 py-1.5 text-[11px] text-gray-900 placeholder-gray-400 outline-none transition-colors focus:ring-1 focus:ring-indigo-300/40 dark:text-white dark:placeholder-gray-500 dark:focus:ring-indigo-500/20"
3115
+ className: "liquid-surface w-full rounded-lg px-2.5 py-1.5 text-[11px] text-slate-900 placeholder-slate-400 outline-none transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 dark:text-white dark:placeholder-slate-500"
3152
3116
  }
3153
3117
  ) })
3154
3118
  ] }),
@@ -3161,7 +3125,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
3161
3125
  onAdd: onCreateAgent,
3162
3126
  addLabel: t("newAgent"),
3163
3127
  count: filteredAgents.length,
3164
- children: filteredAgents.length === 0 && filteredAgentTools.length === 0 && filteredProviders.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: t("noAgents") }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3128
+ children: filteredAgents.length === 0 && filteredAgentTools.length === 0 && filteredProviders.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: t("noAgents") }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3165
3129
  filteredAgents.map((agent) => /* @__PURE__ */ jsxRuntime.jsxs(
3166
3130
  "div",
3167
3131
  {
@@ -3170,24 +3134,24 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
3170
3134
  className: "liquid-surface group flex items-center gap-2 rounded-lg px-3 py-2 transition-all cursor-grab hover:shadow-md active:cursor-grabbing",
3171
3135
  children: [
3172
3136
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex-shrink-0", children: [
3173
- agent.avatar ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: agent.avatar, alt: agent.name, className: "h-7 w-7 rounded-full bg-white shadow-sm ring-1 ring-gray-200/50 dark:bg-gray-800 dark:ring-white/10" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-7 w-7 items-center justify-center rounded-full bg-gradient-to-br from-indigo-400 to-purple-500 shadow-sm", children: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-3.5 w-3.5 text-white" }) }),
3174
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -bottom-0.5 -right-0.5 flex h-3.5 w-3.5 items-center justify-center rounded-full bg-indigo-500 ring-1.5 ring-white dark:ring-gray-900", children: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-2 w-2 text-white" }) })
3137
+ agent.avatar ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: agent.avatar, alt: agent.name, className: "h-7 w-7 rounded-full bg-white shadow-sm ring-1 ring-slate-200/50 dark:bg-slate-800 dark:ring-white/10" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-7 w-7 items-center justify-center rounded-full bg-gradient-to-br from-indigo-400 to-purple-500 shadow-sm", children: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-3.5 w-3.5 text-white" }) }),
3138
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -bottom-0.5 -right-0.5 flex h-3.5 w-3.5 items-center justify-center rounded-full bg-indigo-500 ring-1.5 ring-white dark:ring-slate-900", children: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-2 w-2 text-white" }) })
3175
3139
  ] }),
3176
3140
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
3177
3141
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
3178
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs font-medium text-gray-900 dark:text-white", children: agent.name }),
3142
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs font-medium text-slate-900 dark:text-white", children: agent.name }),
3179
3143
  (() => {
3180
3144
  const tier = chunk72SWXOD5_js.getAgentTier(Number(agent.elo ?? 0));
3181
3145
  return /* @__PURE__ */ jsxRuntime.jsx("span", { className: `shrink-0 rounded-full px-1.5 py-px text-[8px] font-bold ${tier.pillColor}`, children: t(`agentDrawer.tier${tier.key.charAt(0).toUpperCase()}${tier.key.slice(1)}`) });
3182
3146
  })()
3183
3147
  ] }),
3184
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: agent.role ?? agent.agentId })
3148
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[10px] text-slate-400 dark:text-slate-500", children: agent.role ?? agent.agentId })
3185
3149
  ] })
3186
3150
  ]
3187
3151
  },
3188
3152
  agent.agentId
3189
3153
  )),
3190
- filteredProviders.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2 border-t border-gray-200/40 pt-2 dark:border-white/5", children: [
3154
+ filteredProviders.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2 border-t border-slate-200/40 pt-2 dark:border-white/5", children: [
3191
3155
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-1.5 px-1 text-[9px] font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400", children: t("connectionsSection") }),
3192
3156
  filteredProviders.map((provider) => {
3193
3157
  const providerLogo = PROVIDER_LOGOS3[provider.provider];
@@ -3211,13 +3175,13 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
3211
3175
  children: [
3212
3176
  providerLogo ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-white/10 p-1", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: providerLogo, alt: "", className: "h-4 w-4 object-contain", loading: "lazy" }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-6 w-6 items-center justify-center rounded-md bg-gradient-to-br from-rose-400 to-pink-500 shadow-sm", children: /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-3.5 w-3.5 text-white" }) }),
3213
3177
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
3214
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs font-medium text-gray-900 dark:text-white", children: provider.name }),
3215
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: [
3178
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs font-medium text-slate-900 dark:text-white", children: provider.name }),
3179
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "truncate text-[10px] text-slate-400 dark:text-slate-500", children: [
3216
3180
  provider.modelCount,
3217
3181
  " models"
3218
3182
  ] })
3219
3183
  ] }),
3220
- provider.configured ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rounded-full bg-emerald-500/15 px-1.5 py-0.5 text-[9px] font-medium text-emerald-700 dark:bg-emerald-500/20 dark:text-emerald-300", children: t("configured") }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rounded-full bg-amber-500/15 px-1.5 py-0.5 text-[9px] font-medium text-amber-700 dark:bg-amber-500/20 dark:text-amber-300", children: t("setup") })
3184
+ provider.configured ? /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Badge, { color: "emerald", size: "xs", children: t("configured") }) : /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Badge, { color: "amber", size: "xs", children: t("setup") })
3221
3185
  ]
3222
3186
  },
3223
3187
  provider.id
@@ -3235,7 +3199,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
3235
3199
  colorClass: "text-teal-600 dark:text-teal-400",
3236
3200
  onAdd: onCreateTool,
3237
3201
  addLabel: t("newSubworkflow"),
3238
- children: filteredTools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: t("noSubworkflows") }) : filteredTools.map((tool) => /* @__PURE__ */ jsxRuntime.jsxs(
3202
+ children: filteredTools.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: t("noSubworkflows") }) : filteredTools.map((tool) => /* @__PURE__ */ jsxRuntime.jsxs(
3239
3203
  "div",
3240
3204
  {
3241
3205
  draggable: true,
@@ -3244,11 +3208,11 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
3244
3208
  children: [
3245
3209
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-6 w-6 items-center justify-center rounded-md bg-gradient-to-br from-teal-400 to-emerald-500 shadow-sm", children: /* @__PURE__ */ jsxRuntime.jsx(outline.ArrowPathRoundedSquareIcon, { className: "h-3.5 w-3.5 text-white" }) }),
3246
3210
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
3247
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs font-medium text-gray-900 dark:text-white", children: tool.name }),
3248
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: tool.category })
3211
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs font-medium text-slate-900 dark:text-white", children: tool.name }),
3212
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[10px] text-slate-400 dark:text-slate-500", children: tool.category })
3249
3213
  ] }),
3250
3214
  /* @__PURE__ */ jsxRuntime.jsx(
3251
- chunk5ETT54QS_js.ToggleSwitch,
3215
+ chunkRWZ2PLMQ_js.ToggleSwitch,
3252
3216
  {
3253
3217
  checked: Boolean(tool.enabled),
3254
3218
  onChange: () => {
@@ -3273,7 +3237,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
3273
3237
  colorClass: "text-violet-600 dark:text-violet-400",
3274
3238
  onAdd: onCreateRule,
3275
3239
  addLabel: t("newRule"),
3276
- children: filteredRules.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: t("noRules") }) : filteredRules.map((rule) => /* @__PURE__ */ jsxRuntime.jsxs(
3240
+ children: filteredRules.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: t("noRules") }) : filteredRules.map((rule) => /* @__PURE__ */ jsxRuntime.jsxs(
3277
3241
  "div",
3278
3242
  {
3279
3243
  draggable: true,
@@ -3282,14 +3246,14 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
3282
3246
  children: [
3283
3247
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-6 w-6 items-center justify-center rounded-md bg-gradient-to-br from-violet-400 to-purple-500 shadow-sm", children: /* @__PURE__ */ jsxRuntime.jsx(outline.AdjustmentsHorizontalIcon, { className: "h-3.5 w-3.5 text-white" }) }),
3284
3248
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
3285
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs font-medium text-gray-900 dark:text-white", children: rule.name }),
3286
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: [
3249
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs font-medium text-slate-900 dark:text-white", children: rule.name }),
3250
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "truncate text-[10px] text-slate-400 dark:text-slate-500", children: [
3287
3251
  "P",
3288
3252
  String(rule.priority ?? "")
3289
3253
  ] })
3290
3254
  ] }),
3291
3255
  /* @__PURE__ */ jsxRuntime.jsx(
3292
- chunk5ETT54QS_js.ToggleSwitch,
3256
+ chunkRWZ2PLMQ_js.ToggleSwitch,
3293
3257
  {
3294
3258
  checked: Boolean(rule.enabled),
3295
3259
  onChange: () => {
@@ -3315,7 +3279,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
3315
3279
  count: filteredEntityTypes.length,
3316
3280
  onAdd: onCreateDatasource,
3317
3281
  addLabel: t("newDataSource"),
3318
- children: filteredEntityTypes.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: t("noDataSources") }) : filteredEntityTypes.map((entity) => {
3282
+ children: filteredEntityTypes.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: t("noDataSources") }) : filteredEntityTypes.map((entity) => {
3319
3283
  const defaultConfig = JSON.stringify({
3320
3284
  type: "entity",
3321
3285
  entityMasterId: entity.id,
@@ -3325,8 +3289,8 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
3325
3289
  limit: entity.defaultLimit
3326
3290
  });
3327
3291
  const dsLogo = getDatasourceLogo(entity.id);
3328
- const EntityIcon = chunkD5OTZGA2_js.getEntityIcon(entity.id);
3329
- const entityGradient = chunkD5OTZGA2_js.getEntityGradient(entity.id);
3292
+ const EntityIcon = chunk4Z5NZINA_js.getEntityIcon(entity.id);
3293
+ const entityGradient = chunk4Z5NZINA_js.getEntityGradient(entity.id);
3330
3294
  return /* @__PURE__ */ jsxRuntime.jsxs(
3331
3295
  "div",
3332
3296
  {
@@ -3336,17 +3300,17 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
3336
3300
  children: [
3337
3301
  dsLogo ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-white/10 p-1", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: dsLogo, alt: "", className: "h-4 w-4 object-contain", loading: "lazy" }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-6 w-6 items-center justify-center rounded-md bg-gradient-to-br ${entityGradient} shadow-sm`, children: /* @__PURE__ */ jsxRuntime.jsx(EntityIcon, { className: "h-3.5 w-3.5 text-white" }) }),
3338
3302
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
3339
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs font-medium text-gray-900 dark:text-white", children: entity.label }),
3340
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: [
3303
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs font-medium text-slate-900 dark:text-white", children: entity.label }),
3304
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "truncate text-[10px] text-slate-400 dark:text-slate-500", children: [
3341
3305
  entity.fieldCount,
3342
3306
  " ",
3343
3307
  t("entityFieldsLabel")
3344
3308
  ] })
3345
3309
  ] }),
3346
3310
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
3347
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rounded-full bg-slate-500/15 px-1.5 py-0.5 text-[9px] font-medium text-slate-700 dark:bg-slate-500/20 dark:text-slate-300", children: "Read only" }),
3311
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Badge, { color: "zinc", size: "xs", children: "Read only" }),
3348
3312
  /* @__PURE__ */ jsxRuntime.jsx(
3349
- chunk5ETT54QS_js.ToggleSwitch,
3313
+ chunkRWZ2PLMQ_js.ToggleSwitch,
3350
3314
  {
3351
3315
  checked: true,
3352
3316
  onChange: () => {
@@ -3370,7 +3334,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
3370
3334
  {
3371
3335
  title: t("logicSection"),
3372
3336
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.BoltIcon, { className: "h-3 w-3" }),
3373
- colorClass: "text-gray-600 dark:text-gray-400",
3337
+ colorClass: "text-slate-600 dark:text-slate-400",
3374
3338
  count: filteredLogicItems.length,
3375
3339
  children: [
3376
3340
  renderLogicSubcategory("control_flow", groupedLogicItems.control_flow, true),
@@ -3456,19 +3420,17 @@ function WorkflowListBar({
3456
3420
  children: /* @__PURE__ */ jsxRuntime.jsx(outline.ArrowPathRoundedSquareIcon, { className: "h-3.5 w-3.5" })
3457
3421
  }
3458
3422
  ),
3459
- workflows.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
3460
- "button",
3423
+ workflows.length > 1 && /* @__PURE__ */ jsxRuntime.jsx("div", { onClick: (event) => event.stopPropagation(), children: /* @__PURE__ */ jsxRuntime.jsx(
3424
+ chunkEBARYRSA_js.IconButton,
3461
3425
  {
3462
- type: "button",
3463
- onClick: (event) => {
3464
- event.stopPropagation();
3465
- onDelete(workflow.id, workflow.name);
3466
- },
3467
- className: "rounded-md p-1 text-gray-400 transition-colors hover:bg-red-50 hover:text-red-500 dark:hover:bg-red-950/30 dark:hover:text-red-400",
3468
- "aria-label": `${tWorkflow("deleteWorkflow")} ${workflow.name}`,
3469
- children: /* @__PURE__ */ jsxRuntime.jsx(outline.TrashIcon, { className: "h-3.5 w-3.5" })
3426
+ label: `${tWorkflow("deleteWorkflow")} ${workflow.name}`,
3427
+ variant: "ghost",
3428
+ size: "sm",
3429
+ destructive: true,
3430
+ onClick: () => onDelete(workflow.id, workflow.name),
3431
+ icon: /* @__PURE__ */ jsxRuntime.jsx(outline.TrashIcon, { className: "h-3.5 w-3.5" })
3470
3432
  }
3471
- )
3433
+ ) })
3472
3434
  ] })
3473
3435
  ]
3474
3436
  },
@@ -3539,22 +3501,23 @@ function VersionHistoryPanel({
3539
3501
  return /* @__PURE__ */ jsxRuntime.jsxs(
3540
3502
  "div",
3541
3503
  {
3542
- className: "absolute right-0 top-0 z-40 flex h-full w-80 flex-col border-l border-gray-200 bg-white shadow-xl dark:border-gray-700 dark:bg-gray-900",
3504
+ className: "liquid-surface absolute right-0 top-0 z-40 flex h-full w-80 flex-col border-l border-slate-200/60 shadow-xl dark:border-white/10",
3543
3505
  "data-testid": "version-history-panel",
3544
3506
  children: [
3545
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between border-b border-gray-200 px-4 py-3 dark:border-gray-700", children: [
3507
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "liquid-divider flex items-center justify-between px-4 py-3", children: [
3546
3508
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
3547
- /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5 text-gray-500 dark:text-gray-400" }),
3548
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-gray-900 dark:text-white", children: translations("title") })
3509
+ /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "h-5 w-5 text-slate-500 dark:text-slate-400" }),
3510
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-slate-900 dark:text-white", children: translations("title") })
3549
3511
  ] }),
3550
3512
  /* @__PURE__ */ jsxRuntime.jsx(
3551
- "button",
3513
+ chunkEBARYRSA_js.IconButton,
3552
3514
  {
3553
- type: "button",
3515
+ label: translations("close"),
3516
+ variant: "ghost",
3517
+ size: "sm",
3554
3518
  onClick: onClose,
3555
- className: "rounded-lg p-1 text-gray-400 transition-colors hover:bg-gray-100 hover:text-gray-600 dark:hover:bg-gray-800 dark:hover:text-gray-300",
3556
- "data-testid": "version-history-close",
3557
- children: /* @__PURE__ */ jsxRuntime.jsx(outline.XMarkIcon, { className: "h-4 w-4" })
3519
+ icon: /* @__PURE__ */ jsxRuntime.jsx(outline.XMarkIcon, { className: "h-4 w-4" }),
3520
+ "data-testid": "version-history-close"
3558
3521
  }
3559
3522
  )
3560
3523
  ] }),
@@ -3562,36 +3525,28 @@ function VersionHistoryPanel({
3562
3525
  isLoading && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center py-12", "data-testid": "version-history-loading", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-6 w-6 animate-spin motion-reduce:animate-none rounded-full border-2 border-blue-500 border-t-transparent" }) }),
3563
3526
  loadError && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-4 py-8 text-center", "data-testid": "version-history-error", children: [
3564
3527
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-red-500 dark:text-red-400", children: loadError }),
3565
- /* @__PURE__ */ jsxRuntime.jsx(
3566
- "button",
3567
- {
3568
- type: "button",
3569
- onClick: loadVersions,
3570
- className: "mt-2 text-xs text-blue-600 hover:underline dark:text-blue-400",
3571
- children: translations("retry")
3572
- }
3573
- )
3528
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { type: "button", plain: true, size: "xs", onClick: loadVersions, children: translations("retry") })
3574
3529
  ] }),
3575
3530
  !isLoading && !loadError && versions.length === 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-4 py-12 text-center", "data-testid": "version-history-empty", children: [
3576
- /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "mx-auto h-8 w-8 text-gray-300 dark:text-gray-600" }),
3577
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-gray-500 dark:text-gray-400", children: translations("noVersions") })
3531
+ /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "mx-auto h-8 w-8 text-slate-300 dark:text-slate-600" }),
3532
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-slate-500 dark:text-slate-400", children: translations("noVersions") })
3578
3533
  ] }),
3579
- !isLoading && !loadError && versions.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "divide-y divide-gray-100 dark:divide-gray-800", children: versions.map((version) => {
3534
+ !isLoading && !loadError && versions.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "divide-y divide-slate-200/60 dark:divide-white/10", children: versions.map((version) => {
3580
3535
  const isCurrentVersion = version.version === currentVersion;
3581
3536
  return /* @__PURE__ */ jsxRuntime.jsxs(
3582
3537
  "div",
3583
3538
  {
3584
- className: `px-4 py-3 transition-colors ${isCurrentVersion ? "bg-blue-50 dark:bg-blue-500/10" : "hover:bg-gray-50 dark:hover:bg-gray-800/50"}`,
3539
+ className: `px-4 py-3 transition-colors ${isCurrentVersion ? "bg-blue-50 dark:bg-blue-500/10" : "hover:bg-white/40 dark:hover:bg-white/[0.04]"}`,
3585
3540
  "data-testid": `version-entry-${version.version}`,
3586
3541
  children: [
3587
3542
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
3588
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm font-semibold text-gray-900 dark:text-white", children: [
3543
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm font-semibold text-slate-900 dark:text-white", children: [
3589
3544
  "v",
3590
3545
  version.version
3591
3546
  ] }),
3592
- isCurrentVersion && /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "blue", size: "xs", children: translations("current") })
3547
+ isCurrentVersion && /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Badge, { color: "blue", size: "xs", children: translations("current") })
3593
3548
  ] }) }),
3594
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-1 text-xs text-gray-500 dark:text-gray-400", children: [
3549
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-1 text-xs text-slate-500 dark:text-slate-400", children: [
3595
3550
  /* @__PURE__ */ jsxRuntime.jsx("div", { children: formatTimestamp3(version.publishedAt) }),
3596
3551
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-0.5", children: [
3597
3552
  translations("publishedBy"),
@@ -3610,11 +3565,12 @@ function VersionHistoryPanel({
3610
3565
  ] }),
3611
3566
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2 flex gap-2", children: [
3612
3567
  /* @__PURE__ */ jsxRuntime.jsxs(
3613
- "button",
3568
+ chunkEBARYRSA_js.Button,
3614
3569
  {
3615
3570
  type: "button",
3571
+ outline: true,
3572
+ size: "xs",
3616
3573
  onClick: () => onPreview(version),
3617
- className: "inline-flex items-center gap-1 rounded-md border border-gray-300 px-2 py-1 text-xs font-medium text-gray-600 transition-colors hover:bg-gray-100 dark:border-gray-600 dark:text-gray-400 dark:hover:bg-gray-700",
3618
3574
  "data-testid": `version-preview-${version.version}`,
3619
3575
  children: [
3620
3576
  /* @__PURE__ */ jsxRuntime.jsx(outline.EyeIcon, { className: "h-3 w-3" }),
@@ -3623,11 +3579,12 @@ function VersionHistoryPanel({
3623
3579
  }
3624
3580
  ),
3625
3581
  !isCurrentVersion && /* @__PURE__ */ jsxRuntime.jsxs(
3626
- "button",
3582
+ chunkEBARYRSA_js.Button,
3627
3583
  {
3628
3584
  type: "button",
3585
+ outline: true,
3586
+ size: "xs",
3629
3587
  onClick: () => onRestore(version),
3630
- className: "inline-flex items-center gap-1 rounded-md border border-blue-300 px-2 py-1 text-xs font-medium text-blue-600 transition-colors hover:bg-blue-50 dark:border-blue-600 dark:text-blue-400 dark:hover:bg-blue-500/10",
3631
3588
  "data-testid": `version-restore-${version.version}`,
3632
3589
  children: [
3633
3590
  /* @__PURE__ */ jsxRuntime.jsx(outline.ArrowPathIcon, { className: "h-3 w-3" }),
@@ -3649,8 +3606,8 @@ function VersionHistoryPanel({
3649
3606
  var STATUS_CONFIG = {
3650
3607
  pending: {
3651
3608
  icon: outline.ClockIcon,
3652
- color: "text-gray-400 dark:text-gray-500",
3653
- background: "bg-gray-100 dark:bg-gray-800",
3609
+ color: "text-slate-400 dark:text-slate-500",
3610
+ background: "bg-slate-100 dark:bg-slate-800",
3654
3611
  label: "pending"
3655
3612
  },
3656
3613
  running: {
@@ -3681,9 +3638,9 @@ function formatDuration2(durationMs) {
3681
3638
  }
3682
3639
  function RunPanel({ open, onClose, onRun, onStop }) {
3683
3640
  const translations = chunkY5VN4SPH_js.useTranslations("agents.workflow.runPanel");
3684
- const nodes = chunkD5OTZGA2_js.useWorkflowStore((state) => state.nodes);
3685
- const isRunning = chunkD5OTZGA2_js.useWorkflowStore((state) => state.isRunning);
3686
- const nodeResults = chunkD5OTZGA2_js.useWorkflowStore((state) => state.nodeResults);
3641
+ const nodes = chunk4Z5NZINA_js.useWorkflowStore((state) => state.nodes);
3642
+ const isRunning = chunk4Z5NZINA_js.useWorkflowStore((state) => state.isRunning);
3643
+ const nodeResults = chunk4Z5NZINA_js.useWorkflowStore((state) => state.nodeResults);
3687
3644
  const startNode = nodes.find((node) => node.type === "start");
3688
3645
  const hasEndNode = nodes.some((node) => node.type === "end");
3689
3646
  const hasValidStartConfig = Boolean(
@@ -3695,13 +3652,13 @@ function RunPanel({ open, onClose, onRun, onStop }) {
3695
3652
  return /* @__PURE__ */ jsxRuntime.jsxs(
3696
3653
  "div",
3697
3654
  {
3698
- className: "absolute bottom-0 left-0 right-0 z-40 border-t border-gray-200 bg-white shadow-xl dark:border-gray-700 dark:bg-gray-900",
3655
+ className: "liquid-surface absolute bottom-0 left-0 right-0 z-40 border-t border-slate-200/60 shadow-xl dark:border-white/10",
3699
3656
  "data-testid": "run-panel",
3700
3657
  children: [
3701
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between border-b border-gray-100 px-4 py-2 dark:border-gray-800", children: [
3658
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "liquid-divider flex items-center justify-between px-4 py-2", children: [
3702
3659
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
3703
- /* @__PURE__ */ jsxRuntime.jsx(outline.PlayIcon, { className: "h-4 w-4 text-gray-500 dark:text-gray-400" }),
3704
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-gray-900 dark:text-white", children: translations("title") }),
3660
+ /* @__PURE__ */ jsxRuntime.jsx(outline.PlayIcon, { className: "h-4 w-4 text-slate-500 dark:text-slate-400" }),
3661
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-slate-900 dark:text-white", children: translations("title") }),
3705
3662
  isRunning && /* @__PURE__ */ jsxRuntime.jsxs(
3706
3663
  "span",
3707
3664
  {
@@ -3723,11 +3680,12 @@ function RunPanel({ open, onClose, onRun, onStop }) {
3723
3680
  ] }),
3724
3681
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
3725
3682
  isRunning ? /* @__PURE__ */ jsxRuntime.jsxs(
3726
- "button",
3683
+ chunkEBARYRSA_js.Button,
3727
3684
  {
3728
3685
  type: "button",
3686
+ destructive: true,
3687
+ size: "sm",
3729
3688
  onClick: onStop,
3730
- className: "inline-flex items-center gap-1.5 rounded-lg bg-red-500 px-3 py-1.5 text-xs font-medium text-white transition-colors hover:bg-red-600",
3731
3689
  "data-testid": "run-panel-stop",
3732
3690
  children: [
3733
3691
  /* @__PURE__ */ jsxRuntime.jsx(outline.StopIcon, { className: "h-3.5 w-3.5" }),
@@ -3735,12 +3693,13 @@ function RunPanel({ open, onClose, onRun, onStop }) {
3735
3693
  ]
3736
3694
  }
3737
3695
  ) : /* @__PURE__ */ jsxRuntime.jsxs(
3738
- "button",
3696
+ chunkEBARYRSA_js.Button,
3739
3697
  {
3740
3698
  type: "button",
3699
+ color: "ios-green",
3700
+ size: "sm",
3741
3701
  onClick: onRun,
3742
3702
  disabled: !canRun,
3743
- className: "inline-flex items-center gap-1.5 rounded-lg bg-green-500 px-3 py-1.5 text-xs font-medium text-white transition-colors hover:bg-green-600 disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-green-500",
3744
3703
  "data-testid": "run-panel-run",
3745
3704
  children: [
3746
3705
  /* @__PURE__ */ jsxRuntime.jsx(outline.PlayIcon, { className: "h-3.5 w-3.5" }),
@@ -3749,18 +3708,19 @@ function RunPanel({ open, onClose, onRun, onStop }) {
3749
3708
  }
3750
3709
  ),
3751
3710
  /* @__PURE__ */ jsxRuntime.jsx(
3752
- "button",
3711
+ chunkEBARYRSA_js.IconButton,
3753
3712
  {
3754
- type: "button",
3713
+ label: translations("close"),
3714
+ variant: "ghost",
3715
+ size: "sm",
3755
3716
  onClick: onClose,
3756
- className: "rounded-lg p-1 text-gray-400 transition-colors hover:bg-gray-100 hover:text-gray-600 dark:hover:bg-gray-800 dark:hover:text-gray-300",
3757
- "data-testid": "run-panel-close",
3758
- children: /* @__PURE__ */ jsxRuntime.jsx(outline.XMarkIcon, { className: "h-4 w-4" })
3717
+ icon: /* @__PURE__ */ jsxRuntime.jsx(outline.XMarkIcon, { className: "h-4 w-4" }),
3718
+ "data-testid": "run-panel-close"
3759
3719
  }
3760
3720
  )
3761
3721
  ] })
3762
3722
  ] }),
3763
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-h-48 overflow-y-auto px-4 py-2", children: executionNodes.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "py-4 text-center text-sm text-gray-500 dark:text-gray-400", children: translations("noNodes") }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-1", children: executionNodes.map((node) => {
3723
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-h-48 overflow-y-auto px-4 py-2", children: executionNodes.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "py-4 text-center text-sm text-slate-500 dark:text-slate-400", children: translations("noNodes") }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-1", children: executionNodes.map((node) => {
3764
3724
  const result = nodeResults[node.id];
3765
3725
  const status = result?.status ?? "pending";
3766
3726
  const statusConfig = STATUS_CONFIG[status];
@@ -3775,12 +3735,12 @@ function RunPanel({ open, onClose, onRun, onStop }) {
3775
3735
  /* @__PURE__ */ jsxRuntime.jsx(StatusIconComponent, { className: `h-4 w-4 flex-shrink-0 ${statusConfig.color}` }),
3776
3736
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
3777
3737
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
3778
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-sm font-medium text-gray-900 dark:text-white", children: nodeLabel }),
3779
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rounded bg-gray-200 px-1.5 py-0.5 text-[10px] text-gray-500 dark:bg-gray-700 dark:text-gray-400", children: node.type })
3738
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-sm font-medium text-slate-900 dark:text-white", children: nodeLabel }),
3739
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rounded bg-slate-200 px-1.5 py-0.5 text-[10px] text-slate-500 dark:bg-slate-700 dark:text-slate-400", children: node.type })
3780
3740
  ] }),
3781
3741
  result?.error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 truncate text-xs text-red-500 dark:text-red-400", children: result.error })
3782
3742
  ] }),
3783
- result?.durationMs !== void 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-shrink-0 text-xs text-gray-500 dark:text-gray-400", children: formatDuration2(result.durationMs) })
3743
+ result?.durationMs !== void 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-shrink-0 text-xs text-slate-500 dark:text-slate-400", children: formatDuration2(result.durationMs) })
3784
3744
  ]
3785
3745
  },
3786
3746
  node.id
@@ -4014,8 +3974,8 @@ function inferVariables(config, nodeType) {
4014
3974
  }
4015
3975
  function VariableInspector({ open, onClose }) {
4016
3976
  const translations = chunkY5VN4SPH_js.useTranslations("agents.workflow.variableInspector");
4017
- const nodes = chunkD5OTZGA2_js.useWorkflowStore((state) => state.nodes);
4018
- const edges = chunkD5OTZGA2_js.useWorkflowStore((state) => state.edges);
3977
+ const nodes = chunk4Z5NZINA_js.useWorkflowStore((state) => state.nodes);
3978
+ const edges = chunk4Z5NZINA_js.useWorkflowStore((state) => state.edges);
4019
3979
  const [expandedNodes, setExpandedNodes] = react.useState(/* @__PURE__ */ new Set());
4020
3980
  const toggleNodeExpansion = react.useCallback((nodeId) => {
4021
3981
  setExpandedNodes((current) => {
@@ -4053,32 +4013,33 @@ function VariableInspector({ open, onClose }) {
4053
4013
  return /* @__PURE__ */ jsxRuntime.jsxs(
4054
4014
  "div",
4055
4015
  {
4056
- className: "absolute right-0 top-0 z-40 flex h-full w-80 flex-col border-l border-gray-200 bg-white shadow-xl dark:border-gray-700 dark:bg-gray-900",
4016
+ className: "liquid-surface absolute right-0 top-0 z-40 flex h-full w-80 flex-col shadow-xl",
4057
4017
  "data-testid": "variable-inspector",
4058
4018
  children: [
4059
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between border-b border-gray-200 px-4 py-3 dark:border-gray-700", children: [
4019
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "liquid-divider flex items-center justify-between border-b px-4 py-3", children: [
4060
4020
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
4061
- /* @__PURE__ */ jsxRuntime.jsx(outline.VariableIcon, { className: "h-5 w-5 text-gray-500 dark:text-gray-400" }),
4062
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-gray-900 dark:text-white", children: translations("title") })
4021
+ /* @__PURE__ */ jsxRuntime.jsx(outline.VariableIcon, { className: "h-5 w-5 text-slate-500 dark:text-slate-400" }),
4022
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-slate-900 dark:text-white", children: translations("title") })
4063
4023
  ] }),
4064
4024
  /* @__PURE__ */ jsxRuntime.jsx(
4065
- "button",
4025
+ chunkEBARYRSA_js.IconButton,
4066
4026
  {
4067
- type: "button",
4027
+ label: translations("close"),
4028
+ variant: "ghost",
4029
+ size: "sm",
4068
4030
  onClick: onClose,
4069
- className: "rounded-lg p-1 text-gray-400 transition-colors hover:bg-gray-100 hover:text-gray-600 dark:hover:bg-gray-800 dark:hover:text-gray-300",
4070
- "data-testid": "variable-inspector-close",
4071
- children: /* @__PURE__ */ jsxRuntime.jsx(outline.XMarkIcon, { className: "h-4 w-4" })
4031
+ icon: /* @__PURE__ */ jsxRuntime.jsx(outline.XMarkIcon, { className: "h-4 w-4" }),
4032
+ "data-testid": "variable-inspector-close"
4072
4033
  }
4073
4034
  )
4074
4035
  ] }),
4075
4036
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 overflow-y-auto", children: nodeVariableEntries.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-4 py-12 text-center", "data-testid": "variable-inspector-empty", children: [
4076
- /* @__PURE__ */ jsxRuntime.jsx(outline.VariableIcon, { className: "mx-auto h-8 w-8 text-gray-300 dark:text-gray-600" }),
4077
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-gray-500 dark:text-gray-400", children: translations("noNodes") })
4078
- ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "divide-y divide-gray-100 dark:divide-gray-800", children: nodeVariableEntries.map((entry) => {
4037
+ /* @__PURE__ */ jsxRuntime.jsx(outline.VariableIcon, { className: "mx-auto h-8 w-8 text-slate-300 dark:text-slate-600" }),
4038
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-slate-500 dark:text-slate-400", children: translations("noNodes") })
4039
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "divide-y divide-slate-100 dark:divide-slate-800", children: nodeVariableEntries.map((entry) => {
4079
4040
  const isExpanded = expandedNodes.has(entry.nodeId);
4080
- const IconComponent = chunkD5OTZGA2_js.LOGIC_ICON_MAP[entry.nodeType];
4081
- const gradient = chunkD5OTZGA2_js.LOGIC_NODE_GRADIENTS[entry.nodeType] ?? "from-gray-400 to-gray-500";
4041
+ const IconComponent = chunk4Z5NZINA_js.LOGIC_ICON_MAP[entry.nodeType];
4042
+ const gradient = chunk4Z5NZINA_js.LOGIC_NODE_GRADIENTS[entry.nodeType] ?? "from-slate-400 to-slate-500";
4082
4043
  const inputVariables = entry.variables.filter((variable) => variable.direction === "input");
4083
4044
  const outputVariables = entry.variables.filter((variable) => variable.direction === "output");
4084
4045
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": `variable-node-${entry.nodeId}`, children: [
@@ -4087,12 +4048,12 @@ function VariableInspector({ open, onClose }) {
4087
4048
  {
4088
4049
  type: "button",
4089
4050
  onClick: () => toggleNodeExpansion(entry.nodeId),
4090
- className: "flex w-full items-center gap-2 px-4 py-2.5 text-left transition-colors hover:bg-gray-50 dark:hover:bg-gray-800/50",
4051
+ className: "flex w-full items-center gap-2 px-4 py-2.5 text-left transition-colors hover:bg-white/40 dark:hover:bg-white/[0.04]",
4091
4052
  children: [
4092
- isExpanded ? /* @__PURE__ */ jsxRuntime.jsx(outline.ChevronDownIcon, { className: "h-3.5 w-3.5 flex-shrink-0 text-gray-400" }) : /* @__PURE__ */ jsxRuntime.jsx(outline.ChevronRightIcon, { className: "h-3.5 w-3.5 flex-shrink-0 text-gray-400" }),
4053
+ isExpanded ? /* @__PURE__ */ jsxRuntime.jsx(outline.ChevronDownIcon, { className: "h-3.5 w-3.5 flex-shrink-0 text-slate-400" }) : /* @__PURE__ */ jsxRuntime.jsx(outline.ChevronRightIcon, { className: "h-3.5 w-3.5 flex-shrink-0 text-slate-400" }),
4093
4054
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-5 w-5 flex-shrink-0 items-center justify-center rounded bg-gradient-to-br ${gradient}`, children: IconComponent && /* @__PURE__ */ jsxRuntime.jsx(IconComponent, { className: "h-3 w-3 text-white" }) }),
4094
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-sm font-medium text-gray-900 dark:text-white", children: entry.nodeLabel }),
4095
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "ml-auto flex-shrink-0 text-[10px] text-gray-400 dark:text-gray-500", children: [
4055
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-sm font-medium text-slate-900 dark:text-white", children: entry.nodeLabel }),
4056
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "ml-auto flex-shrink-0 text-[10px] text-slate-400 dark:text-slate-500", children: [
4096
4057
  entry.variables.length,
4097
4058
  " ",
4098
4059
  translations("variables")
@@ -4100,32 +4061,32 @@ function VariableInspector({ open, onClose }) {
4100
4061
  ]
4101
4062
  }
4102
4063
  ),
4103
- isExpanded && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-gray-50/50 px-4 pb-2 dark:bg-gray-800/30", children: entry.variables.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "py-2 pl-9 text-xs italic text-gray-400 dark:text-gray-500", children: translations("noVariables") }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4064
+ isExpanded && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-white/40 dark:bg-white/[0.04] backdrop-blur-sm px-4 pb-2", children: entry.variables.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "py-2 pl-9 text-xs italic text-slate-400 dark:text-slate-500", children: translations("noVariables") }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4104
4065
  inputVariables.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pl-9 pt-1", children: [
4105
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1 text-[10px] font-medium uppercase tracking-wider text-gray-400 dark:text-gray-500", children: translations("inputs") }),
4066
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1 text-[10px] font-medium uppercase tracking-wider text-slate-400 dark:text-slate-500", children: translations("inputs") }),
4106
4067
  inputVariables.map((variable, index) => /* @__PURE__ */ jsxRuntime.jsxs(
4107
4068
  "div",
4108
4069
  {
4109
4070
  className: "flex items-center gap-2 py-0.5",
4110
4071
  children: [
4111
4072
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "h-1.5 w-1.5 rounded-full bg-blue-400" }),
4112
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-gray-700 dark:text-gray-300", children: variable.name }),
4113
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rounded bg-gray-200 px-1 py-0.5 text-[9px] text-gray-500 dark:bg-gray-700 dark:text-gray-400", children: variable.variableType })
4073
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-slate-700 dark:text-slate-300", children: variable.name }),
4074
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rounded bg-slate-200 px-1 py-0.5 text-[9px] text-slate-500 dark:bg-slate-700 dark:text-slate-400", children: variable.variableType })
4114
4075
  ]
4115
4076
  },
4116
4077
  `${variable.name}-${index}`
4117
4078
  ))
4118
4079
  ] }),
4119
4080
  outputVariables.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pl-9 pt-1", children: [
4120
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1 text-[10px] font-medium uppercase tracking-wider text-gray-400 dark:text-gray-500", children: translations("outputs") }),
4081
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1 text-[10px] font-medium uppercase tracking-wider text-slate-400 dark:text-slate-500", children: translations("outputs") }),
4121
4082
  outputVariables.map((variable, index) => /* @__PURE__ */ jsxRuntime.jsxs(
4122
4083
  "div",
4123
4084
  {
4124
4085
  className: "flex items-center gap-2 py-0.5",
4125
4086
  children: [
4126
4087
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "h-1.5 w-1.5 rounded-full bg-green-400" }),
4127
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-gray-700 dark:text-gray-300", children: variable.name }),
4128
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rounded bg-gray-200 px-1 py-0.5 text-[9px] text-gray-500 dark:bg-gray-700 dark:text-gray-400", children: variable.variableType })
4088
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-slate-700 dark:text-slate-300", children: variable.name }),
4089
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rounded bg-slate-200 px-1 py-0.5 text-[9px] text-slate-500 dark:bg-slate-700 dark:text-slate-400", children: variable.variableType })
4129
4090
  ]
4130
4091
  },
4131
4092
  `${variable.name}-${index}`
@@ -4144,7 +4105,7 @@ function RunInputDialog({
4144
4105
  onRun
4145
4106
  }) {
4146
4107
  const t = chunkY5VN4SPH_js.useTranslations("agents.workflow.runInputDialog");
4147
- const nodes = chunkD5OTZGA2_js.useWorkflowStore((state) => state.nodes);
4108
+ const nodes = chunk4Z5NZINA_js.useWorkflowStore((state) => state.nodes);
4148
4109
  const [values, setValues] = react.useState({});
4149
4110
  const inputVariableNames = react.useMemo(() => {
4150
4111
  const storeStartNode = nodes.find((node) => node.type === "start");
@@ -4171,7 +4132,7 @@ function RunInputDialog({
4171
4132
  }, [onClose]);
4172
4133
  if (!open) return null;
4173
4134
  return /* @__PURE__ */ jsxRuntime.jsxs(
4174
- chunk5ETT54QS_js.GlassModal,
4135
+ chunkRWZ2PLMQ_js.GlassModal,
4175
4136
  {
4176
4137
  open,
4177
4138
  onClose: handleClose,
@@ -4182,7 +4143,7 @@ function RunInputDialog({
4182
4143
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-3", children: inputVariableNames.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-center text-sm text-gray-500 dark:text-gray-400", children: t("noInputs") }) : inputVariableNames.map((variableName) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
4183
4144
  /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs font-medium text-gray-700 dark:text-gray-300", children: variableName }),
4184
4145
  /* @__PURE__ */ jsxRuntime.jsx(
4185
- chunk5ETT54QS_js.Input,
4146
+ chunkRWZ2PLMQ_js.Input,
4186
4147
  {
4187
4148
  value: values[variableName] ?? "",
4188
4149
  onChange: (event) => handleValueChange(variableName, event.target.value),
@@ -4191,8 +4152,8 @@ function RunInputDialog({
4191
4152
  )
4192
4153
  ] }, variableName)) }),
4193
4154
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-4 flex items-center justify-end gap-2", children: [
4194
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { size: "sm", plain: true, onClick: handleClose, children: t("cancel") }),
4195
- /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Button, { size: "sm", gradient: true, onClick: handleSubmit, children: [
4155
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { size: "sm", plain: true, onClick: handleClose, children: t("cancel") }),
4156
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkEBARYRSA_js.Button, { size: "sm", gradient: true, onClick: handleSubmit, children: [
4196
4157
  /* @__PURE__ */ jsxRuntime.jsx(outline.PlayIcon, { className: "h-3.5 w-3.5", "data-slot": "icon" }),
4197
4158
  t("run")
4198
4159
  ] })
@@ -4205,10 +4166,10 @@ var STATUS_STYLES = {
4205
4166
  completed: { icon: outline.CheckCircleIcon, colorClass: "text-green-500" },
4206
4167
  failed: { icon: outline.ExclamationCircleIcon, colorClass: "text-red-500" },
4207
4168
  running: { icon: outline.ArrowPathIcon, colorClass: "text-blue-500 animate-spin motion-reduce:animate-none" },
4208
- pending: { icon: outline.ClockIcon, colorClass: "text-gray-400" },
4169
+ pending: { icon: outline.ClockIcon, colorClass: "text-slate-400" },
4209
4170
  success: { icon: outline.CheckCircleIcon, colorClass: "text-green-500" },
4210
4171
  error: { icon: outline.ExclamationCircleIcon, colorClass: "text-red-500" },
4211
- skipped: { icon: outline.ClockIcon, colorClass: "text-gray-400" }
4172
+ skipped: { icon: outline.ClockIcon, colorClass: "text-slate-400" }
4212
4173
  };
4213
4174
  function formatDuration3(durationMs) {
4214
4175
  if (durationMs === null) return "\u2014";
@@ -4225,8 +4186,8 @@ function PreviewPanel({ open, onClose, workflowId, loadRuns }) {
4225
4186
  const [isLoadingRuns, setIsLoadingRuns] = react.useState(false);
4226
4187
  const [selectedRun, setSelectedRun] = react.useState(null);
4227
4188
  const [selectedNode, setSelectedNode] = react.useState(null);
4228
- const isRunning = chunkD5OTZGA2_js.useWorkflowStore((state) => state.isRunning);
4229
- const nodeResults = chunkD5OTZGA2_js.useWorkflowStore((state) => state.nodeResults);
4189
+ const isRunning = chunk4Z5NZINA_js.useWorkflowStore((state) => state.isRunning);
4190
+ const nodeResults = chunk4Z5NZINA_js.useWorkflowStore((state) => state.nodeResults);
4230
4191
  const refreshRuns = react.useCallback(async () => {
4231
4192
  setIsLoadingRuns(true);
4232
4193
  try {
@@ -4245,21 +4206,22 @@ function PreviewPanel({ open, onClose, workflowId, loadRuns }) {
4245
4206
  if (!open) return null;
4246
4207
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4247
4208
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "fixed inset-x-0 top-[120px] bottom-0 z-40 bg-black/10 backdrop-blur-[1px]", onClick: onClose }),
4248
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "fixed right-0 top-[120px] bottom-0 z-50 w-96 overflow-hidden border-l border-white/20 bg-white/95 shadow-2xl backdrop-blur-xl dark:border-gray-700/50 dark:bg-gray-800/95", children: [
4249
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between border-b border-gray-200/50 px-4 py-3 dark:border-gray-700/50", children: [
4250
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-gray-900 dark:text-white", children: t("title") }),
4209
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "fixed right-0 top-[120px] bottom-0 z-50 w-96 overflow-hidden border-l border-white/20 bg-white/95 shadow-2xl backdrop-blur-xl dark:border-slate-700/50 dark:bg-slate-800/95", children: [
4210
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "liquid-divider flex items-center justify-between border-b px-4 py-3", children: [
4211
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-slate-900 dark:text-white", children: t("title") }),
4251
4212
  /* @__PURE__ */ jsxRuntime.jsx(
4252
- "button",
4213
+ chunkEBARYRSA_js.IconButton,
4253
4214
  {
4254
- type: "button",
4215
+ label: t("close"),
4216
+ variant: "ghost",
4217
+ size: "sm",
4255
4218
  onClick: onClose,
4256
- className: "rounded-lg p-1 text-gray-400 hover:bg-gray-100 hover:text-gray-600 dark:hover:bg-gray-700 dark:hover:text-gray-300",
4257
- children: /* @__PURE__ */ jsxRuntime.jsx(outline.XMarkIcon, { className: "h-4 w-4" })
4219
+ icon: /* @__PURE__ */ jsxRuntime.jsx(outline.XMarkIcon, { className: "h-4 w-4" })
4258
4220
  }
4259
4221
  )
4260
4222
  ] }),
4261
4223
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full flex-col overflow-hidden", children: [
4262
- isRunning && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-b border-gray-200/50 px-4 py-3 dark:border-gray-700/50", children: [
4224
+ isRunning && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "liquid-divider border-b px-4 py-3", children: [
4263
4225
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-center gap-2", children: [
4264
4226
  /* @__PURE__ */ jsxRuntime.jsx(outline.ArrowPathIcon, { className: "h-4 w-4 animate-spin motion-reduce:animate-none text-blue-500" }),
4265
4227
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-semibold text-blue-600 dark:text-blue-400", children: t("activeRun") })
@@ -4267,46 +4229,46 @@ function PreviewPanel({ open, onClose, workflowId, loadRuns }) {
4267
4229
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-h-60 space-y-1 overflow-y-auto", children: Object.entries(nodeResults).map(([nodeId, result]) => {
4268
4230
  const statusStyle = STATUS_STYLES[result.status] ?? STATUS_STYLES.pending;
4269
4231
  const StatusIcon = statusStyle.icon;
4270
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between rounded-lg px-2 py-1.5 text-xs hover:bg-gray-50 dark:hover:bg-gray-700/50", children: [
4232
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between rounded-lg px-2 py-1.5 text-xs hover:bg-white/40 dark:hover:bg-white/[0.04]", children: [
4271
4233
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
4272
4234
  /* @__PURE__ */ jsxRuntime.jsx(StatusIcon, { className: `h-3.5 w-3.5 ${statusStyle.colorClass}` }),
4273
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-gray-700 dark:text-gray-300", children: nodeId.slice(0, 8) })
4235
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-slate-700 dark:text-slate-300", children: nodeId.slice(0, 8) })
4274
4236
  ] }),
4275
- result.durationMs !== void 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-400", children: formatDuration3(result.durationMs) })
4237
+ result.durationMs !== void 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-slate-400", children: formatDuration3(result.durationMs) })
4276
4238
  ] }, nodeId);
4277
4239
  }) })
4278
4240
  ] }),
4279
- selectedNode && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-b border-gray-200/50 px-4 py-3 dark:border-gray-700/50", children: [
4241
+ selectedNode && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "liquid-divider border-b px-4 py-3", children: [
4280
4242
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-center justify-between", children: [
4281
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-semibold text-gray-900 dark:text-white", children: t("nodeDetail") }),
4282
- /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => setSelectedNode(null), className: "text-[10px] text-gray-400 hover:text-gray-600 dark:hover:text-gray-300", children: t("close") })
4243
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-semibold text-slate-900 dark:text-white", children: t("nodeDetail") }),
4244
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { type: "button", plain: true, size: "xs", onClick: () => setSelectedNode(null), children: t("close") })
4283
4245
  ] }),
4284
4246
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2 text-xs", children: [
4285
4247
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between", children: [
4286
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-500", children: t("status") }),
4287
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: STATUS_STYLES[selectedNode.status]?.colorClass ?? "text-gray-400", children: t(selectedNode.status) })
4248
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-slate-500", children: t("status") }),
4249
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: STATUS_STYLES[selectedNode.status]?.colorClass ?? "text-slate-400", children: t(selectedNode.status) })
4288
4250
  ] }),
4289
4251
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between", children: [
4290
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-500", children: t("duration") }),
4291
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-700 dark:text-gray-300", children: formatDuration3(selectedNode.durationMs) })
4252
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-slate-500", children: t("duration") }),
4253
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-slate-700 dark:text-slate-300", children: formatDuration3(selectedNode.durationMs) })
4292
4254
  ] }),
4293
4255
  selectedNode.error && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
4294
4256
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-red-500", children: t("error") }),
4295
4257
  /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "mt-1 max-h-20 overflow-auto whitespace-pre-wrap rounded bg-red-50 p-2 text-[10px] text-red-700 dark:bg-red-900/20 dark:text-red-300", children: selectedNode.error })
4296
4258
  ] }),
4297
4259
  Object.keys(selectedNode.outputs).length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
4298
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-500", children: t("outputs") }),
4299
- /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "mt-1 max-h-32 overflow-auto whitespace-pre-wrap rounded bg-gray-50 p-2 text-[10px] text-gray-700 dark:bg-gray-700/50 dark:text-gray-300", children: JSON.stringify(selectedNode.outputs, null, 2) })
4260
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-slate-500", children: t("outputs") }),
4261
+ /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "mt-1 max-h-32 overflow-auto whitespace-pre-wrap rounded bg-white/40 dark:bg-white/[0.04] backdrop-blur-sm p-2 text-[10px] text-slate-700 dark:text-slate-300", children: JSON.stringify(selectedNode.outputs, null, 2) })
4300
4262
  ] })
4301
4263
  ] })
4302
4264
  ] }),
4303
4265
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 overflow-y-auto px-4 py-3", children: [
4304
- /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "mb-2 text-xs font-semibold text-gray-500 dark:text-gray-400", children: t("runHistory") }),
4266
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "mb-2 text-xs font-semibold text-slate-500 dark:text-slate-400", children: t("runHistory") }),
4305
4267
  isLoadingRuns && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: [1, 2, 3].map((index) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shimmer h-14 rounded-lg" }, index)) }),
4306
4268
  !isLoadingRuns && runs.length === 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "py-8 text-center", children: [
4307
- /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "mx-auto mb-2 h-8 w-8 text-gray-300 dark:text-gray-600" }),
4308
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-gray-500 dark:text-gray-400", children: t("noRuns") }),
4309
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-[10px] text-gray-400 dark:text-gray-500", children: t("noRunsDescription") })
4269
+ /* @__PURE__ */ jsxRuntime.jsx(outline.ClockIcon, { className: "mx-auto mb-2 h-8 w-8 text-slate-300 dark:text-slate-600" }),
4270
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-slate-500 dark:text-slate-400", children: t("noRuns") }),
4271
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-[10px] text-slate-400 dark:text-slate-500", children: t("noRunsDescription") })
4310
4272
  ] }),
4311
4273
  !isLoadingRuns && runs.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-1.5", children: runs.map((run) => {
4312
4274
  const statusStyle = STATUS_STYLES[run.status] ?? STATUS_STYLES.pending;
@@ -4320,14 +4282,14 @@ function PreviewPanel({ open, onClose, workflowId, loadRuns }) {
4320
4282
  setSelectedRun(isSelected ? null : run);
4321
4283
  setSelectedNode(null);
4322
4284
  },
4323
- className: `w-full rounded-lg border px-3 py-2.5 text-left transition-colors ${isSelected ? "border-blue-200 bg-blue-50/50 dark:border-blue-800 dark:bg-blue-900/20" : "border-gray-100 hover:border-gray-200 hover:bg-gray-50 dark:border-gray-700/50 dark:hover:border-gray-600 dark:hover:bg-gray-700/30"}`,
4285
+ className: `w-full rounded-lg border px-3 py-2.5 text-left transition-colors ${isSelected ? "border-blue-200 bg-blue-50/50 dark:border-blue-800 dark:bg-blue-900/20" : "border-slate-100 hover:border-slate-200 hover:bg-white/40 dark:border-slate-700/50 dark:hover:border-slate-600 dark:hover:bg-white/[0.04]"}`,
4324
4286
  children: [
4325
4287
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
4326
4288
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
4327
4289
  /* @__PURE__ */ jsxRuntime.jsx(StatusIcon, { className: `h-3.5 w-3.5 ${statusStyle.colorClass}` }),
4328
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-gray-900 dark:text-white", children: formatTimestamp2(run.createdAt) })
4290
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-slate-900 dark:text-white", children: formatTimestamp2(run.createdAt) })
4329
4291
  ] }),
4330
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-gray-400", children: formatDuration3(run.totalDurationMs) })
4292
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-slate-400", children: formatDuration3(run.totalDurationMs) })
4331
4293
  ] }),
4332
4294
  run.error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 truncate text-[10px] text-red-500", children: run.error })
4333
4295
  ]
@@ -4336,7 +4298,7 @@ function PreviewPanel({ open, onClose, workflowId, loadRuns }) {
4336
4298
  );
4337
4299
  }) }),
4338
4300
  selectedRun && selectedRun.nodeResults.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-3 space-y-1", children: [
4339
- /* @__PURE__ */ jsxRuntime.jsx("h5", { className: "mb-1.5 text-[10px] font-semibold uppercase tracking-wider text-gray-400", children: "Nodes" }),
4301
+ /* @__PURE__ */ jsxRuntime.jsx("h5", { className: "mb-1.5 text-[10px] font-semibold uppercase tracking-wider text-slate-400", children: "Nodes" }),
4340
4302
  selectedRun.nodeResults.map((nodeResult) => {
4341
4303
  const nodeStatusStyle = STATUS_STYLES[nodeResult.status] ?? STATUS_STYLES.pending;
4342
4304
  const NodeStatusIcon = nodeStatusStyle.icon;
@@ -4345,13 +4307,13 @@ function PreviewPanel({ open, onClose, workflowId, loadRuns }) {
4345
4307
  {
4346
4308
  type: "button",
4347
4309
  onClick: () => setSelectedNode(nodeResult),
4348
- className: "flex w-full items-center justify-between rounded px-2 py-1.5 text-xs hover:bg-gray-50 dark:hover:bg-gray-700/50",
4310
+ className: "flex w-full items-center justify-between rounded px-2 py-1.5 text-xs hover:bg-white/40 dark:hover:bg-white/[0.04]",
4349
4311
  children: [
4350
4312
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
4351
4313
  /* @__PURE__ */ jsxRuntime.jsx(NodeStatusIcon, { className: `h-3 w-3 ${nodeStatusStyle.colorClass}` }),
4352
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-700 dark:text-gray-300", children: nodeResult.nodeType })
4314
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-slate-700 dark:text-slate-300", children: nodeResult.nodeType })
4353
4315
  ] }),
4354
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-gray-400", children: formatDuration3(nodeResult.durationMs) })
4316
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-slate-400", children: formatDuration3(nodeResult.durationMs) })
4355
4317
  ]
4356
4318
  },
4357
4319
  nodeResult.nodeId
@@ -4404,7 +4366,7 @@ var AutoSaveWorkspace = react.memo(function AutoSaveWorkspace2({
4404
4366
  onAutoSaveGraph(graph);
4405
4367
  }, [onAutoSaveGraph, onGraphSnapshot]);
4406
4368
  return /* @__PURE__ */ jsxRuntime.jsx(
4407
- chunkD5OTZGA2_js.Workspace,
4369
+ chunk4Z5NZINA_js.Workspace,
4408
4370
  {
4409
4371
  ...workspaceProps,
4410
4372
  onGraphChange: handleGraphChange
@@ -4412,7 +4374,7 @@ var AutoSaveWorkspace = react.memo(function AutoSaveWorkspace2({
4412
4374
  );
4413
4375
  });
4414
4376
  function DynamicIslandConfirm2(props) {
4415
- return /* @__PURE__ */ jsxRuntime.jsx(chunk5ETT54QS_js.DynamicIslandConfirm, { ...props });
4377
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkRWZ2PLMQ_js.DynamicIslandConfirm, { ...props });
4416
4378
  }
4417
4379
  var JSON_PREVIEW_LINE_LIMIT = 50;
4418
4380
  function DslExportModal({ open, onClose, workflow, graph }) {
@@ -4466,7 +4428,7 @@ function DslExportModal({ open, onClose, workflow, graph }) {
4466
4428
  }, [jsonString, workflow.name, workflow.version]);
4467
4429
  if (!open) return null;
4468
4430
  return /* @__PURE__ */ jsxRuntime.jsx(
4469
- chunk5ETT54QS_js.GlassModal,
4431
+ chunkRWZ2PLMQ_js.GlassModal,
4470
4432
  {
4471
4433
  open,
4472
4434
  onClose,
@@ -4474,41 +4436,41 @@ function DslExportModal({ open, onClose, workflow, graph }) {
4474
4436
  subtitle: translations("description"),
4475
4437
  maxWidth: "2xl",
4476
4438
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": "dsl-export-modal", children: [
4477
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-b border-gray-200 px-1 py-4 dark:border-gray-700", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4 text-sm", children: [
4439
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "liquid-divider px-1 py-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4 text-sm", children: [
4478
4440
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
4479
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-500 dark:text-gray-400", children: translations("workflowName") }),
4480
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium text-gray-900 dark:text-white", children: workflow.name })
4441
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-slate-500 dark:text-slate-400", children: translations("workflowName") }),
4442
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium text-slate-900 dark:text-white", children: workflow.name })
4481
4443
  ] }),
4482
4444
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
4483
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-500 dark:text-gray-400", children: translations("version") }),
4484
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "font-medium text-gray-900 dark:text-white", children: [
4445
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-slate-500 dark:text-slate-400", children: translations("version") }),
4446
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "font-medium text-slate-900 dark:text-white", children: [
4485
4447
  "v",
4486
4448
  workflow.version
4487
4449
  ] })
4488
4450
  ] }),
4489
4451
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
4490
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-500 dark:text-gray-400", children: translations("nodes") }),
4491
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium text-gray-900 dark:text-white", children: graph.nodes.length })
4452
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-slate-500 dark:text-slate-400", children: translations("nodes") }),
4453
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium text-slate-900 dark:text-white", children: graph.nodes.length })
4492
4454
  ] }),
4493
4455
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
4494
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-500 dark:text-gray-400", children: translations("edges") }),
4495
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium text-gray-900 dark:text-white", children: graph.edges.length })
4456
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-slate-500 dark:text-slate-400", children: translations("edges") }),
4457
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium text-slate-900 dark:text-white", children: graph.edges.length })
4496
4458
  ] })
4497
4459
  ] }) }),
4498
4460
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-1 py-4", children: [
4499
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2 text-xs font-medium uppercase tracking-wider text-gray-400 dark:text-gray-500", children: translations("preview") }),
4461
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2 text-xs font-medium uppercase tracking-wider text-slate-400 dark:text-slate-500", children: translations("preview") }),
4500
4462
  /* @__PURE__ */ jsxRuntime.jsx(
4501
4463
  "pre",
4502
4464
  {
4503
- className: "max-h-64 overflow-auto rounded-lg border border-gray-200 bg-gray-50 p-3 text-xs text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-300",
4465
+ className: "liquid-surface max-h-64 overflow-auto rounded-lg p-3 text-xs text-slate-700 dark:text-slate-300",
4504
4466
  "data-testid": "export-json-preview",
4505
4467
  children: previewLines
4506
4468
  }
4507
4469
  )
4508
4470
  ] }),
4509
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-end gap-3 border-t border-gray-200 px-1 py-4 dark:border-gray-700", children: [
4471
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-end gap-3 border-t border-slate-200 px-1 py-4 dark:border-slate-700", children: [
4510
4472
  /* @__PURE__ */ jsxRuntime.jsx(
4511
- chunkBHOT22QL_js.Button,
4473
+ chunkEBARYRSA_js.Button,
4512
4474
  {
4513
4475
  type: "button",
4514
4476
  onClick: handleCopyToClipboard,
@@ -4525,7 +4487,7 @@ function DslExportModal({ open, onClose, workflow, graph }) {
4525
4487
  }
4526
4488
  ),
4527
4489
  /* @__PURE__ */ jsxRuntime.jsxs(
4528
- chunkBHOT22QL_js.Button,
4490
+ chunkEBARYRSA_js.Button,
4529
4491
  {
4530
4492
  type: "button",
4531
4493
  onClick: handleDownloadJson,
@@ -4684,7 +4646,7 @@ function DslImportModal({ open, onClose, onImport }) {
4684
4646
  }, []);
4685
4647
  if (!open) return null;
4686
4648
  return /* @__PURE__ */ jsxRuntime.jsx(
4687
- chunk5ETT54QS_js.GlassModal,
4649
+ chunkRWZ2PLMQ_js.GlassModal,
4688
4650
  {
4689
4651
  open,
4690
4652
  onClose,
@@ -4724,7 +4686,7 @@ function DslImportModal({ open, onClose, onImport }) {
4724
4686
  ) : /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": "import-validation-result", children: [
4725
4687
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 flex items-center justify-between", children: [
4726
4688
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: fileName }),
4727
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", plain: true, size: "sm", onClick: handleReset, children: translations("chooseAnother") })
4689
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { type: "button", plain: true, size: "sm", onClick: handleReset, children: translations("chooseAnother") })
4728
4690
  ] }),
4729
4691
  validationResult.isValid ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-green-200 bg-green-50 p-4 dark:border-green-800 dark:bg-green-900/20", children: [
4730
4692
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
@@ -4752,9 +4714,9 @@ function DslImportModal({ open, onClose, onImport }) {
4752
4714
  ] })
4753
4715
  ] }) }),
4754
4716
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-end gap-3 border-t border-gray-200 px-1 py-4 dark:border-gray-700", children: [
4755
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", onClick: onClose, outline: true, size: "sm", "data-testid": "import-cancel-button", children: translations("cancel") }),
4717
+ /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { type: "button", onClick: onClose, outline: true, size: "sm", "data-testid": "import-cancel-button", children: translations("cancel") }),
4756
4718
  /* @__PURE__ */ jsxRuntime.jsxs(
4757
- chunkBHOT22QL_js.Button,
4719
+ chunkEBARYRSA_js.Button,
4758
4720
  {
4759
4721
  type: "button",
4760
4722
  onClick: handleImport,
@@ -4775,14 +4737,14 @@ function DslImportModal({ open, onClose, onImport }) {
4775
4737
  }
4776
4738
 
4777
4739
  // src/astrlabe/store/selectors.ts
4778
- var useCanUndo = () => chunkD5OTZGA2_js.useWorkflowStore((state) => state.past.length > 0);
4779
- var useCanRedo = () => chunkD5OTZGA2_js.useWorkflowStore((state) => state.future.length > 0);
4780
- var useHasCopied = () => chunkD5OTZGA2_js.useWorkflowStore((state) => state.clipboard !== null);
4781
- var useContextMenu = () => chunkD5OTZGA2_js.useWorkflowStore((state) => state.contextMenu);
4782
- var useEditingNodeId = () => chunkD5OTZGA2_js.useWorkflowStore((state) => state.editingNodeId);
4783
- var useSelectedNodeCount = () => chunkD5OTZGA2_js.useWorkflowStore((state) => state.nodes.filter((node) => node.selected).length);
4784
- var useIsRunning = () => chunkD5OTZGA2_js.useWorkflowStore((state) => state.isRunning);
4785
- var useNodeResults = () => chunkD5OTZGA2_js.useWorkflowStore((state) => state.nodeResults);
4740
+ var useCanUndo = () => chunk4Z5NZINA_js.useWorkflowStore((state) => state.past.length > 0);
4741
+ var useCanRedo = () => chunk4Z5NZINA_js.useWorkflowStore((state) => state.future.length > 0);
4742
+ var useHasCopied = () => chunk4Z5NZINA_js.useWorkflowStore((state) => state.clipboard !== null);
4743
+ var useContextMenu = () => chunk4Z5NZINA_js.useWorkflowStore((state) => state.contextMenu);
4744
+ var useEditingNodeId = () => chunk4Z5NZINA_js.useWorkflowStore((state) => state.editingNodeId);
4745
+ var useSelectedNodeCount = () => chunk4Z5NZINA_js.useWorkflowStore((state) => state.nodes.filter((node) => node.selected).length);
4746
+ var useIsRunning = () => chunk4Z5NZINA_js.useWorkflowStore((state) => state.isRunning);
4747
+ var useNodeResults = () => chunk4Z5NZINA_js.useWorkflowStore((state) => state.nodeResults);
4786
4748
  var DEFAULT_MAX_HISTORY = 50;
4787
4749
  function useUndoRedo(nodes, edges, setNodes, setEdges, maxHistory = DEFAULT_MAX_HISTORY) {
4788
4750
  const pastRef = react.useRef([]);
@@ -5106,5 +5068,5 @@ exports.useNodeResults = useNodeResults;
5106
5068
  exports.useSelectedNodeCount = useSelectedNodeCount;
5107
5069
  exports.useSubworkflowStore = useSubworkflowStore;
5108
5070
  exports.useUndoRedo = useUndoRedo;
5109
- //# sourceMappingURL=chunk-MQDCUBVW.js.map
5110
- //# sourceMappingURL=chunk-MQDCUBVW.js.map
5071
+ //# sourceMappingURL=chunk-UPWJRCAD.js.map
5072
+ //# sourceMappingURL=chunk-UPWJRCAD.js.map