@datatechsolutions/ui 3.13.0 → 3.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/astrlabe/graph-node.js +6 -6
- package/dist/astrlabe/graph-node.mjs +2 -2
- package/dist/astrlabe/index.js +114 -114
- package/dist/astrlabe/index.mjs +6 -6
- package/dist/astrlabe/workflow-canvas.js +6 -6
- package/dist/astrlabe/workflow-canvas.mjs +5 -5
- package/dist/{chunk-AMCFAGK3.js → chunk-2II2NLAZ.js} +42 -41
- package/dist/chunk-2II2NLAZ.js.map +1 -0
- package/dist/{chunk-WR55H7DH.mjs → chunk-2SBVFLPZ.mjs} +19 -2
- package/dist/chunk-2SBVFLPZ.mjs.map +1 -0
- package/dist/{chunk-UXHJS2SH.mjs → chunk-33ZWFDVG.mjs} +282 -331
- package/dist/chunk-33ZWFDVG.mjs.map +1 -0
- package/dist/{chunk-2ECLDHAT.js → chunk-4HZ55YKZ.js} +9 -9
- package/dist/{chunk-2ECLDHAT.js.map → chunk-4HZ55YKZ.js.map} +1 -1
- package/dist/{chunk-VI4IUTMX.js → chunk-4P72IJOM.js} +6 -6
- package/dist/{chunk-VI4IUTMX.js.map → chunk-4P72IJOM.js.map} +1 -1
- package/dist/{chunk-D5OTZGA2.js → chunk-5SCZB5UI.js} +382 -431
- package/dist/chunk-5SCZB5UI.js.map +1 -0
- package/dist/{chunk-4VHFGW7I.mjs → chunk-5YCH7FHT.mjs} +3 -3
- package/dist/{chunk-4VHFGW7I.mjs.map → chunk-5YCH7FHT.mjs.map} +1 -1
- package/dist/{chunk-P4RVGMZL.js → chunk-6NBQTIXX.js} +9 -37
- package/dist/chunk-6NBQTIXX.js.map +1 -0
- package/dist/{chunk-EZQ2D47U.js → chunk-6NEESZVO.js} +4 -4
- package/dist/{chunk-EZQ2D47U.js.map → chunk-6NEESZVO.js.map} +1 -1
- package/dist/{chunk-N4YT3QA5.js → chunk-72XZ7DSF.js} +13 -13
- package/dist/{chunk-N4YT3QA5.js.map → chunk-72XZ7DSF.js.map} +1 -1
- package/dist/{chunk-QGRTV35L.mjs → chunk-7NHJSD4A.mjs} +6 -6
- package/dist/{chunk-QGRTV35L.mjs.map → chunk-7NHJSD4A.mjs.map} +1 -1
- package/dist/{chunk-PPIUMCUZ.js → chunk-7SDB2VC2.js} +4 -4
- package/dist/{chunk-PPIUMCUZ.js.map → chunk-7SDB2VC2.js.map} +1 -1
- package/dist/{chunk-QGLGQXJE.js → chunk-A5OMGPMR.js} +10 -10
- package/dist/chunk-A5OMGPMR.js.map +1 -0
- package/dist/{chunk-K5567JM5.js → chunk-AUCS2KF4.js} +26 -26
- package/dist/{chunk-K5567JM5.js.map → chunk-AUCS2KF4.js.map} +1 -1
- package/dist/{chunk-MSKKNPRE.mjs → chunk-F4KHAKTP.mjs} +172 -116
- package/dist/chunk-F4KHAKTP.mjs.map +1 -0
- package/dist/{chunk-SDYKXLCU.js → chunk-FHGWXWVZ.js} +67 -67
- package/dist/{chunk-SDYKXLCU.js.map → chunk-FHGWXWVZ.js.map} +1 -1
- package/dist/{chunk-5ETT54QS.js → chunk-FZUV7GNB.js} +241 -184
- package/dist/chunk-FZUV7GNB.js.map +1 -0
- package/dist/{chunk-6KDTVSZT.mjs → chunk-HQNIETHV.mjs} +11 -10
- package/dist/chunk-HQNIETHV.mjs.map +1 -0
- package/dist/{chunk-PLTLRL2V.mjs → chunk-KDDXDQR2.mjs} +3 -3
- package/dist/{chunk-PLTLRL2V.mjs.map → chunk-KDDXDQR2.mjs.map} +1 -1
- package/dist/{chunk-6YTYD4P5.js → chunk-LJGPMMKB.js} +156 -193
- package/dist/chunk-LJGPMMKB.js.map +1 -0
- package/dist/{chunk-BHOT22QL.js → chunk-MXQ2EYG2.js} +19 -2
- package/dist/chunk-MXQ2EYG2.js.map +1 -0
- package/dist/{chunk-ANFSQJNI.mjs → chunk-N6SGVUTR.mjs} +17 -20
- package/dist/chunk-N6SGVUTR.mjs.map +1 -0
- package/dist/{chunk-IIRS5XZY.js → chunk-NIZSQJRW.js} +33 -33
- package/dist/{chunk-IIRS5XZY.js.map → chunk-NIZSQJRW.js.map} +1 -1
- package/dist/{chunk-AKWCT53S.mjs → chunk-NXWIT4YQ.mjs} +47 -50
- package/dist/chunk-NXWIT4YQ.mjs.map +1 -0
- package/dist/{chunk-OC4AOYU5.mjs → chunk-OTQXU4WG.mjs} +83 -120
- package/dist/chunk-OTQXU4WG.mjs.map +1 -0
- package/dist/{chunk-CSOMZ5UM.mjs → chunk-PO66V2PN.mjs} +9 -9
- package/dist/{chunk-CSOMZ5UM.mjs.map → chunk-PO66V2PN.mjs.map} +1 -1
- package/dist/{chunk-OY5HUZSD.js → chunk-PXGESUKI.js} +94 -97
- package/dist/chunk-PXGESUKI.js.map +1 -0
- package/dist/{chunk-7TYNV6SY.mjs → chunk-Q2FUNDCP.mjs} +14 -14
- package/dist/{chunk-7TYNV6SY.mjs.map → chunk-Q2FUNDCP.mjs.map} +1 -1
- package/dist/{chunk-KWH7JIRP.mjs → chunk-Q5TZTA6H.mjs} +9 -8
- package/dist/chunk-Q5TZTA6H.mjs.map +1 -0
- package/dist/{chunk-ZRCXDKBE.mjs → chunk-T7DROKWJ.mjs} +4 -4
- package/dist/{chunk-ZRCXDKBE.mjs.map → chunk-T7DROKWJ.mjs.map} +1 -1
- package/dist/{chunk-3VYD7QL2.mjs → chunk-TQADF23S.mjs} +9 -9
- package/dist/chunk-TQADF23S.mjs.map +1 -0
- package/dist/{chunk-VIB42VMZ.mjs → chunk-U7VMFQFN.mjs} +5 -5
- package/dist/{chunk-VIB42VMZ.mjs.map → chunk-U7VMFQFN.mjs.map} +1 -1
- package/dist/{chunk-AHNH2PMI.mjs → chunk-WE35EV7J.mjs} +3 -3
- package/dist/{chunk-AHNH2PMI.mjs.map → chunk-WE35EV7J.mjs.map} +1 -1
- package/dist/{chunk-UPYACFZJ.mjs → chunk-WTSMTLSP.mjs} +303 -347
- package/dist/chunk-WTSMTLSP.mjs.map +1 -0
- package/dist/{chunk-WOTKBKS6.js → chunk-YFMMZHL5.js} +47 -50
- package/dist/chunk-YFMMZHL5.js.map +1 -0
- package/dist/{chunk-DJ33CSGJ.mjs → chunk-ZBX7UCAP.mjs} +9 -37
- package/dist/chunk-ZBX7UCAP.mjs.map +1 -0
- package/dist/{chunk-NF5DDM5V.js → chunk-ZE6U4N4Q.js} +44 -43
- package/dist/chunk-ZE6U4N4Q.js.map +1 -0
- package/dist/{chunk-MQDCUBVW.js → chunk-ZIRD3X6G.js} +459 -503
- package/dist/chunk-ZIRD3X6G.js.map +1 -0
- package/dist/index.d.mts +77 -7
- package/dist/index.d.ts +77 -7
- package/dist/index.js +708 -704
- package/dist/index.mjs +3 -3
- package/dist/platform/admin/index.js +12 -12
- package/dist/platform/admin/index.mjs +6 -6
- package/dist/platform/agents-workspace.js +9 -9
- package/dist/platform/agents-workspace.mjs +8 -8
- package/dist/platform/app-shell.js +5 -5
- package/dist/platform/app-shell.mjs +4 -4
- package/dist/platform/auth/index.js +29 -29
- package/dist/platform/auth/index.mjs +6 -6
- package/dist/platform/billing/index.js +7 -7
- package/dist/platform/billing/index.mjs +5 -5
- package/dist/platform/impersonation/index.js +5 -5
- package/dist/platform/impersonation/index.mjs +4 -4
- package/dist/platform/index.js +99 -99
- package/dist/platform/index.js.map +1 -1
- package/dist/platform/index.mjs +30 -30
- package/dist/platform/index.mjs.map +1 -1
- package/dist/platform/pages/index.d.mts +115 -3
- package/dist/platform/pages/index.d.ts +115 -3
- package/dist/platform/pages/index.js +966 -519
- package/dist/platform/pages/index.js.map +1 -1
- package/dist/platform/pages/index.mjs +562 -121
- package/dist/platform/pages/index.mjs.map +1 -1
- package/dist/platform/settings/index.js +9 -9
- package/dist/platform/settings/index.mjs +8 -8
- package/dist/platform/workflow-canvas-shell.js +7 -7
- package/dist/platform/workflow-canvas-shell.mjs +6 -6
- package/package.json +1 -1
- package/dist/chunk-3VYD7QL2.mjs.map +0 -1
- package/dist/chunk-5ETT54QS.js.map +0 -1
- package/dist/chunk-6KDTVSZT.mjs.map +0 -1
- package/dist/chunk-6YTYD4P5.js.map +0 -1
- package/dist/chunk-AKWCT53S.mjs.map +0 -1
- package/dist/chunk-AMCFAGK3.js.map +0 -1
- package/dist/chunk-ANFSQJNI.mjs.map +0 -1
- package/dist/chunk-BHOT22QL.js.map +0 -1
- package/dist/chunk-D5OTZGA2.js.map +0 -1
- package/dist/chunk-DJ33CSGJ.mjs.map +0 -1
- package/dist/chunk-KWH7JIRP.mjs.map +0 -1
- package/dist/chunk-MQDCUBVW.js.map +0 -1
- package/dist/chunk-MSKKNPRE.mjs.map +0 -1
- package/dist/chunk-NF5DDM5V.js.map +0 -1
- package/dist/chunk-OC4AOYU5.mjs.map +0 -1
- package/dist/chunk-OY5HUZSD.js.map +0 -1
- package/dist/chunk-P4RVGMZL.js.map +0 -1
- package/dist/chunk-QGLGQXJE.js.map +0 -1
- package/dist/chunk-UPYACFZJ.mjs.map +0 -1
- package/dist/chunk-UXHJS2SH.mjs.map +0 -1
- package/dist/chunk-WOTKBKS6.js.map +0 -1
- package/dist/chunk-WR55H7DH.mjs.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { NodeRunningIndicator, WorkflowHandle, NodeCard, NodeCardHeader, NodeCardMeta, NodeInteractiveCard, NodeIconBubble, NodeCardBadge, NodeCardDeleteAction, Workspace, useModalStore, CATEGORY_COLORS, CATEGORY_PILL_COLORS, ICON_MAP, WorkflowCanvas, EXPERIMENTAL_NODE_TYPES, getEntityIcon, getEntityGradient, useWorkflowStore, LOGIC_ICON_MAP, LOGIC_NODE_GRADIENTS, getFrameworkMeta, getCompatibleModels, isModelCompatibleWithFramework, FRAMEWORK_META, isFrameworkCompatibleWithProviders } from './chunk-
|
|
3
|
-
import { FormInput, FormSelect, Avatar, ToggleSwitch, HeroBlock, GlassModal, SectionCard, FormTextarea, FormGrid, Input, DynamicIslandConfirm } from './chunk-
|
|
2
|
+
import { NodeRunningIndicator, WorkflowHandle, NodeCard, NodeCardHeader, NodeCardMeta, NodeInteractiveCard, NodeIconBubble, NodeCardBadge, NodeCardDeleteAction, Workspace, useModalStore, CATEGORY_COLORS, CATEGORY_PILL_COLORS, ICON_MAP, WorkflowCanvas, EXPERIMENTAL_NODE_TYPES, getEntityIcon, getEntityGradient, useWorkflowStore, LOGIC_ICON_MAP, LOGIC_NODE_GRADIENTS, getFrameworkMeta, getCompatibleModels, isModelCompatibleWithFramework, FRAMEWORK_META, isFrameworkCompatibleWithProviders } from './chunk-33ZWFDVG.mjs';
|
|
3
|
+
import { FormInput, FormSelect, Avatar, ToggleSwitch, HeroBlock, GlassModal, SectionCard, FormTextarea, FormGrid, Input, DynamicIslandConfirm, SelectionCard } from './chunk-F4KHAKTP.mjs';
|
|
4
4
|
import { useTranslations } from './chunk-ZEFNBGYI.mjs';
|
|
5
|
-
import { Badge, Button } from './chunk-
|
|
5
|
+
import { Badge, Button, IconButton } from './chunk-2SBVFLPZ.mjs';
|
|
6
6
|
import { getAgentTier, createDefaultLogicNodeConfig } from './chunk-G7JQ4OCE.mjs';
|
|
7
7
|
import { memo, useCallback, useMemo, useState, useEffect, useRef, Children } from 'react';
|
|
8
8
|
import { Position } from '@xyflow/react';
|
|
@@ -499,17 +499,17 @@ function AgentCapabilityCard({ elo, setElo, models, selectedModelId, setSelected
|
|
|
499
499
|
}, [family, models, setSelectedModelId, setTemperature, onChanged]);
|
|
500
500
|
const currentFamilyEntry = family.find((entry) => selectedModelId.startsWith(entry.prefix)) ?? family[0];
|
|
501
501
|
const currentModelName = models.find((model) => model.id === selectedModelId)?.name ?? selectedModelId;
|
|
502
|
-
return /* @__PURE__ */ jsxs("div", { className: "mx-4 mt-4 overflow-hidden rounded-xl border border-
|
|
502
|
+
return /* @__PURE__ */ 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: [
|
|
503
503
|
/* @__PURE__ */ jsxs("div", { className: "px-4 pt-3 pb-2", children: [
|
|
504
504
|
/* @__PURE__ */ jsxs("div", { className: "mb-1 flex items-center justify-between", children: [
|
|
505
|
-
/* @__PURE__ */ jsx("span", { className: "text-[10px] font-semibold uppercase tracking-wider text-
|
|
505
|
+
/* @__PURE__ */ jsx("span", { className: "text-[10px] font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400", children: t("agentDrawer.capabilityRating") }),
|
|
506
506
|
/* @__PURE__ */ jsxs("div", { className: "flex items-baseline gap-1", children: [
|
|
507
507
|
/* @__PURE__ */ jsx("span", { className: `text-lg font-bold tabular-nums ${tierInfo.color}`, children: elo }),
|
|
508
|
-
/* @__PURE__ */ jsx("span", { className: "text-[10px] text-
|
|
508
|
+
/* @__PURE__ */ jsx("span", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: "ELO" })
|
|
509
509
|
] })
|
|
510
510
|
] }),
|
|
511
511
|
/* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
512
|
-
/* @__PURE__ */ jsxs("div", { className: "absolute inset-x-0 top-1/2 h-2 -translate-y-1/2 overflow-hidden rounded-full bg-
|
|
512
|
+
/* @__PURE__ */ 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: [
|
|
513
513
|
/* @__PURE__ */ jsx(
|
|
514
514
|
"div",
|
|
515
515
|
{
|
|
@@ -520,7 +520,7 @@ function AgentCapabilityCard({ elo, setElo, models, selectedModelId, setSelected
|
|
|
520
520
|
[1200, 1600, 2e3].map((boundary) => /* @__PURE__ */ jsx(
|
|
521
521
|
"div",
|
|
522
522
|
{
|
|
523
|
-
className: "absolute top-0 h-full w-px bg-
|
|
523
|
+
className: "absolute top-0 h-full w-px bg-slate-400/40 dark:bg-slate-500/40",
|
|
524
524
|
style: { left: `${(boundary - 800) / (2400 - 800) * 100}%` }
|
|
525
525
|
},
|
|
526
526
|
boundary
|
|
@@ -540,12 +540,12 @@ function AgentCapabilityCard({ elo, setElo, models, selectedModelId, setSelected
|
|
|
540
540
|
"aria-valuemax": 2400,
|
|
541
541
|
"aria-valuenow": elo,
|
|
542
542
|
"aria-valuetext": `${elo} ELO \u2014 ${t(`agentDrawer.tier${tierInfo.tierKey.charAt(0).toUpperCase()}${tierInfo.tierKey.slice(1)}`)}`,
|
|
543
|
-
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-
|
|
543
|
+
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"
|
|
544
544
|
}
|
|
545
545
|
),
|
|
546
546
|
/* @__PURE__ */ 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)"}; }` })
|
|
547
547
|
] }),
|
|
548
|
-
/* @__PURE__ */ jsxs("div", { className: "mt-0.5 flex justify-between text-[8px] text-
|
|
548
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-0.5 flex justify-between text-[8px] text-slate-400 dark:text-slate-500", children: [
|
|
549
549
|
/* @__PURE__ */ jsx("span", { children: "800" }),
|
|
550
550
|
/* @__PURE__ */ jsx("span", { children: "1200" }),
|
|
551
551
|
/* @__PURE__ */ jsx("span", { children: "1600" }),
|
|
@@ -553,35 +553,35 @@ function AgentCapabilityCard({ elo, setElo, models, selectedModelId, setSelected
|
|
|
553
553
|
/* @__PURE__ */ jsx("span", { children: "2400" })
|
|
554
554
|
] })
|
|
555
555
|
] }),
|
|
556
|
-
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-3 gap-px border-t border-
|
|
557
|
-
/* @__PURE__ */ jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-
|
|
558
|
-
/* @__PURE__ */ jsx("p", { className: "text-[9px] text-
|
|
559
|
-
/* @__PURE__ */ jsx("p", { className: "truncate text-xs font-semibold text-
|
|
556
|
+
/* @__PURE__ */ 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: [
|
|
557
|
+
/* @__PURE__ */ jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-slate-900/60", children: [
|
|
558
|
+
/* @__PURE__ */ jsx("p", { className: "text-[9px] text-slate-400 dark:text-slate-500", children: t("agentDrawer.model") }),
|
|
559
|
+
/* @__PURE__ */ jsx("p", { className: "truncate text-xs font-semibold text-slate-900 dark:text-white", children: currentModelName })
|
|
560
560
|
] }),
|
|
561
|
-
/* @__PURE__ */ jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-
|
|
562
|
-
/* @__PURE__ */ jsx("p", { className: "text-[9px] text-
|
|
563
|
-
/* @__PURE__ */ jsx("p", { className: "text-xs font-semibold text-
|
|
561
|
+
/* @__PURE__ */ jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-slate-900/60", children: [
|
|
562
|
+
/* @__PURE__ */ jsx("p", { className: "text-[9px] text-slate-400 dark:text-slate-500", children: t("agentDrawer.maxTokens") }),
|
|
563
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs font-semibold text-slate-900 dark:text-white", children: currentFamilyEntry.maxTokens.toLocaleString() })
|
|
564
564
|
] }),
|
|
565
|
-
/* @__PURE__ */ jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-
|
|
566
|
-
/* @__PURE__ */ jsx("p", { className: "text-[9px] text-
|
|
567
|
-
/* @__PURE__ */ jsx("p", { className: "text-xs font-semibold text-
|
|
565
|
+
/* @__PURE__ */ jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-slate-900/60", children: [
|
|
566
|
+
/* @__PURE__ */ jsx("p", { className: "text-[9px] text-slate-400 dark:text-slate-500", children: t("agentDrawer.context") }),
|
|
567
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs font-semibold text-slate-900 dark:text-white", children: currentFamilyEntry.contextWindow })
|
|
568
568
|
] }),
|
|
569
|
-
/* @__PURE__ */ jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-
|
|
570
|
-
/* @__PURE__ */ jsx("p", { className: "text-[9px] text-
|
|
571
|
-
/* @__PURE__ */ jsx("p", { className: "text-xs font-semibold text-
|
|
569
|
+
/* @__PURE__ */ jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-slate-900/60", children: [
|
|
570
|
+
/* @__PURE__ */ jsx("p", { className: "text-[9px] text-slate-400 dark:text-slate-500", children: t("agentDrawer.temperature") }),
|
|
571
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs font-semibold text-slate-900 dark:text-white", children: temperature.toFixed(2) })
|
|
572
572
|
] }),
|
|
573
|
-
/* @__PURE__ */ jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-
|
|
574
|
-
/* @__PURE__ */ jsx("p", { className: "text-[9px] text-
|
|
573
|
+
/* @__PURE__ */ jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-slate-900/60", children: [
|
|
574
|
+
/* @__PURE__ */ jsx("p", { className: "text-[9px] text-slate-400 dark:text-slate-500", children: t("agentDrawer.autonomy") }),
|
|
575
575
|
/* @__PURE__ */ jsx("p", { className: `text-xs font-semibold ${tierInfo.color}`, children: t(`agentDrawer.${tierInfo.autonomyKey}`) })
|
|
576
576
|
] }),
|
|
577
|
-
/* @__PURE__ */ jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-
|
|
578
|
-
/* @__PURE__ */ jsx("p", { className: "text-[9px] text-
|
|
579
|
-
/* @__PURE__ */ jsx("p", { className: "text-xs font-semibold text-
|
|
577
|
+
/* @__PURE__ */ jsxs("div", { className: "bg-white/60 px-3 py-2 dark:bg-slate-900/60", children: [
|
|
578
|
+
/* @__PURE__ */ jsx("p", { className: "text-[9px] text-slate-400 dark:text-slate-500", children: t("agentDrawer.costPerTask") }),
|
|
579
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs font-semibold text-slate-900 dark:text-white", children: tierInfo.costPerTask })
|
|
580
580
|
] })
|
|
581
581
|
] }),
|
|
582
|
-
/* @__PURE__ */ jsxs("div", { className: "border-t border-
|
|
582
|
+
/* @__PURE__ */ 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: [
|
|
583
583
|
/* @__PURE__ */ jsxs("div", { className: "mb-1 flex items-center justify-between", children: [
|
|
584
|
-
/* @__PURE__ */ jsx("span", { className: "text-[9px] text-
|
|
584
|
+
/* @__PURE__ */ jsx("span", { className: "text-[9px] text-slate-400 dark:text-slate-500", children: t("agentDrawer.autonomyLevel") }),
|
|
585
585
|
/* @__PURE__ */ jsx("span", { className: `text-[10px] font-semibold ${tierInfo.color}`, children: t(`agentDrawer.${tierInfo.autonomyKey}`) })
|
|
586
586
|
] }),
|
|
587
587
|
/* @__PURE__ */ jsx("div", { className: "flex gap-1", children: [
|
|
@@ -596,11 +596,11 @@ function AgentCapabilityCard({ elo, setElo, models, selectedModelId, setSelected
|
|
|
596
596
|
onClick: () => handleAutonomyClick(level),
|
|
597
597
|
"aria-label": t(`agentDrawer.${labelKey}`),
|
|
598
598
|
"aria-pressed": level <= tierInfo.autonomyPercent,
|
|
599
|
-
className: `h-2 flex-1 rounded-full transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-
|
|
599
|
+
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"}`
|
|
600
600
|
},
|
|
601
601
|
level
|
|
602
602
|
)) }),
|
|
603
|
-
/* @__PURE__ */ jsxs("div", { className: "mt-1 flex justify-between text-[7px] text-
|
|
603
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-1 flex justify-between text-[7px] text-slate-400 dark:text-slate-500", children: [
|
|
604
604
|
/* @__PURE__ */ jsx("span", { children: t("agentDrawer.autonomyLow") }),
|
|
605
605
|
/* @__PURE__ */ jsx("span", { children: t("agentDrawer.autonomyMedium") }),
|
|
606
606
|
/* @__PURE__ */ jsx("span", { children: t("agentDrawer.autonomyHigh") }),
|
|
@@ -625,7 +625,7 @@ function ConfigTab({ models, t, selectedModelId, setSelectedModelId, selectedFra
|
|
|
625
625
|
}, [selectedModelId, models, setSelectedFramework, setSelectedModelId, markDirty]);
|
|
626
626
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-5 p-4", children: [
|
|
627
627
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
628
|
-
/* @__PURE__ */ jsx("label", { className: "mb-2 block text-xs font-medium text-
|
|
628
|
+
/* @__PURE__ */ jsx("label", { className: "mb-2 block text-xs font-medium text-slate-500 dark:text-slate-400", children: t("agentDrawer.framework") }),
|
|
629
629
|
/* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1.5", children: frameworkKeys.map((key) => {
|
|
630
630
|
const meta = FRAMEWORK_META[key];
|
|
631
631
|
const isSelected = key === selectedFramework;
|
|
@@ -637,7 +637,7 @@ function ConfigTab({ models, t, selectedModelId, setSelectedModelId, selectedFra
|
|
|
637
637
|
type: "button",
|
|
638
638
|
onClick: () => handleFrameworkChange(key),
|
|
639
639
|
disabled: !isCompatibleWithProviders,
|
|
640
|
-
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-
|
|
640
|
+
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"}`,
|
|
641
641
|
title: !isCompatibleWithProviders ? t("agentDrawer.frameworkIncompatible") : void 0,
|
|
642
642
|
children: [
|
|
643
643
|
/* @__PURE__ */ jsx(meta.IconComponent, { className: "h-3.5 w-3.5" }),
|
|
@@ -650,9 +650,9 @@ function ConfigTab({ models, t, selectedModelId, setSelectedModelId, selectedFra
|
|
|
650
650
|
}) })
|
|
651
651
|
] }),
|
|
652
652
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
653
|
-
/* @__PURE__ */ jsxs("label", { className: "mb-2 block text-xs font-medium text-
|
|
653
|
+
/* @__PURE__ */ jsxs("label", { className: "mb-2 block text-xs font-medium text-slate-500 dark:text-slate-400", children: [
|
|
654
654
|
t("agentDrawer.model"),
|
|
655
|
-
compatibleModels.length < models.length && /* @__PURE__ */ jsxs("span", { className: "ml-1.5 text-[10px] font-normal text-
|
|
655
|
+
compatibleModels.length < models.length && /* @__PURE__ */ jsxs("span", { className: "ml-1.5 text-[10px] font-normal text-slate-400 dark:text-slate-500", children: [
|
|
656
656
|
"(",
|
|
657
657
|
compatibleModels.length,
|
|
658
658
|
"/",
|
|
@@ -664,23 +664,19 @@ function ConfigTab({ models, t, selectedModelId, setSelectedModelId, selectedFra
|
|
|
664
664
|
const isSelected = model.id === selectedModelId;
|
|
665
665
|
const isCompatible = isModelCompatibleWithFramework(model.id, selectedFramework);
|
|
666
666
|
const { IconComponent, color, providerLabel } = getModelIcon(model.id);
|
|
667
|
-
return /* @__PURE__ */
|
|
668
|
-
|
|
667
|
+
return /* @__PURE__ */ jsx(
|
|
668
|
+
SelectionCard,
|
|
669
669
|
{
|
|
670
|
-
|
|
671
|
-
disabled: !isCompatible,
|
|
670
|
+
selected: isSelected,
|
|
672
671
|
onClick: () => {
|
|
673
672
|
setSelectedModelId(model.id);
|
|
674
673
|
markDirty();
|
|
675
674
|
},
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
/* @__PURE__ */ jsx("p", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: providerLabel })
|
|
682
|
-
] })
|
|
683
|
-
]
|
|
675
|
+
layout: "card",
|
|
676
|
+
compatibility: isCompatible ? "compatible" : "incompatible",
|
|
677
|
+
icon: /* @__PURE__ */ jsx(IconComponent, { className: `h-5 w-5 ${isSelected && isCompatible ? color : ""}` }),
|
|
678
|
+
label: model.name,
|
|
679
|
+
description: providerLabel
|
|
684
680
|
},
|
|
685
681
|
model.id
|
|
686
682
|
);
|
|
@@ -714,11 +710,11 @@ function PromptTab({
|
|
|
714
710
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-5 p-4", children: [
|
|
715
711
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
716
712
|
/* @__PURE__ */ jsxs("div", { className: "mb-2 flex items-center justify-between", children: [
|
|
717
|
-
/* @__PURE__ */ jsx("label", { className: "text-xs font-medium text-
|
|
718
|
-
/* @__PURE__ */ jsx("span", { className: "text-sm font-bold tabular-nums text-
|
|
713
|
+
/* @__PURE__ */ jsx("label", { className: "text-xs font-medium text-slate-500 dark:text-slate-400", children: t("agentDrawer.temperature") }),
|
|
714
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm font-bold tabular-nums text-slate-900 dark:text-white", children: temperature.toFixed(2) })
|
|
719
715
|
] }),
|
|
720
716
|
/* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
721
|
-
/* @__PURE__ */ jsx("div", { className: "absolute inset-x-0 top-1/2 h-2 -translate-y-1/2 overflow-hidden rounded-full bg-
|
|
717
|
+
/* @__PURE__ */ 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__ */ jsx(
|
|
722
718
|
"div",
|
|
723
719
|
{
|
|
724
720
|
className: "h-full rounded-full transition-all duration-300 ease-out",
|
|
@@ -737,21 +733,21 @@ function PromptTab({
|
|
|
737
733
|
"aria-label": t("agentDrawer.temperature"),
|
|
738
734
|
"aria-valuenow": temperature,
|
|
739
735
|
"aria-valuetext": `${temperature.toFixed(2)} \u2014 ${isPrecise ? t("agentDrawer.precise") : isBalanced ? t("agentDrawer.balanced") : t("agentDrawer.creative")}`,
|
|
740
|
-
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-
|
|
736
|
+
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"
|
|
741
737
|
}
|
|
742
738
|
),
|
|
743
739
|
/* @__PURE__ */ 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)"}; }` })
|
|
744
740
|
] }),
|
|
745
741
|
/* @__PURE__ */ jsxs("div", { className: "mt-1 flex items-center justify-between", children: [
|
|
746
|
-
/* @__PURE__ */ jsx("span", { className: `text-[10px] font-medium transition-colors ${isPrecise ? "text-blue-500" : "text-
|
|
747
|
-
/* @__PURE__ */ jsx("span", { className: `text-[10px] font-medium transition-colors ${isBalanced ? "text-purple-500" : "text-
|
|
748
|
-
/* @__PURE__ */ jsx("span", { className: `text-[10px] font-medium transition-colors ${isCreative ? "text-pink-500" : "text-
|
|
742
|
+
/* @__PURE__ */ jsx("span", { className: `text-[10px] font-medium transition-colors ${isPrecise ? "text-blue-500" : "text-slate-400 dark:text-slate-500"}`, children: t("agentDrawer.precise") }),
|
|
743
|
+
/* @__PURE__ */ jsx("span", { className: `text-[10px] font-medium transition-colors ${isBalanced ? "text-purple-500" : "text-slate-400 dark:text-slate-500"}`, children: t("agentDrawer.balanced") }),
|
|
744
|
+
/* @__PURE__ */ jsx("span", { className: `text-[10px] font-medium transition-colors ${isCreative ? "text-pink-500" : "text-slate-400 dark:text-slate-500"}`, children: t("agentDrawer.creative") })
|
|
749
745
|
] })
|
|
750
746
|
] }),
|
|
751
747
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
752
748
|
/* @__PURE__ */ jsxs("div", { className: "mb-1 flex items-center justify-between", children: [
|
|
753
|
-
/* @__PURE__ */ jsx("label", { className: "text-xs font-medium text-
|
|
754
|
-
/* @__PURE__ */ jsxs("span", { className: "text-[10px] text-
|
|
749
|
+
/* @__PURE__ */ jsx("label", { className: "text-xs font-medium text-slate-500 dark:text-slate-400", children: t("agentDrawer.systemPrompt") }),
|
|
750
|
+
/* @__PURE__ */ jsxs("span", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: [
|
|
755
751
|
promptText.length,
|
|
756
752
|
" chars"
|
|
757
753
|
] })
|
|
@@ -762,14 +758,14 @@ function PromptTab({
|
|
|
762
758
|
value: promptText,
|
|
763
759
|
onChange: handlePromptChange,
|
|
764
760
|
rows: 12,
|
|
765
|
-
className: "w-full resize-y rounded-lg
|
|
761
|
+
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",
|
|
766
762
|
placeholder: t("agentDrawer.systemPromptPlaceholder")
|
|
767
763
|
}
|
|
768
764
|
)
|
|
769
765
|
] }),
|
|
770
766
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
771
|
-
/* @__PURE__ */ jsx("label", { className: "mb-1 block text-xs font-medium text-
|
|
772
|
-
/* @__PURE__ */ jsx("p", { className: "mb-2 text-[11px] text-
|
|
767
|
+
/* @__PURE__ */ jsx("label", { className: "mb-1 block text-xs font-medium text-slate-500 dark:text-slate-400", children: t("agentDrawer.outputSchema", { _: "Output schema (optional)" }) }),
|
|
768
|
+
/* @__PURE__ */ jsx("p", { className: "mb-2 text-[11px] text-slate-400 dark:text-slate-500", children: t("agentDrawer.outputSchemaHint", {
|
|
773
769
|
_: "Define the structured JSON the model must return. The engine parses + validates and exposes it under `output.parsed`. Invalid output fails the node."
|
|
774
770
|
}) }),
|
|
775
771
|
/* @__PURE__ */ jsx(
|
|
@@ -788,8 +784,8 @@ function PromptTab({
|
|
|
788
784
|
function ToolsTab({ agentTools, enabledToolIds, onToggle, agentFramework, t }) {
|
|
789
785
|
if (agentTools.length === 0) {
|
|
790
786
|
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center px-4 py-12 text-center", children: [
|
|
791
|
-
/* @__PURE__ */ jsx(CommandLineIcon, { className: "mb-2 h-8 w-8 text-
|
|
792
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm text-
|
|
787
|
+
/* @__PURE__ */ jsx(CommandLineIcon, { className: "mb-2 h-8 w-8 text-slate-400 dark:text-slate-500" }),
|
|
788
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-slate-500 dark:text-slate-400", children: t("agentDrawer.noToolsAvailable") })
|
|
793
789
|
] });
|
|
794
790
|
}
|
|
795
791
|
const sortedTools = [...agentTools].sort((a, b) => {
|
|
@@ -800,7 +796,7 @@ function ToolsTab({ agentTools, enabledToolIds, onToggle, agentFramework, t }) {
|
|
|
800
796
|
return 0;
|
|
801
797
|
});
|
|
802
798
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-2 p-4", children: [
|
|
803
|
-
/* @__PURE__ */ jsx("p", { className: "mb-3 text-xs text-
|
|
799
|
+
/* @__PURE__ */ jsx("p", { className: "mb-3 text-xs text-slate-500 dark:text-slate-400", children: t("agentDrawer.toolsDescription") }),
|
|
804
800
|
sortedTools.map((tool) => {
|
|
805
801
|
const isEnabled = enabledToolIds.has(tool.agentToolId);
|
|
806
802
|
const isCompatible = !tool.compatibleFrameworks || tool.compatibleFrameworks.length === 0 || tool.compatibleFrameworks.includes(agentFramework);
|
|
@@ -809,26 +805,26 @@ function ToolsTab({ agentTools, enabledToolIds, onToggle, agentFramework, t }) {
|
|
|
809
805
|
{
|
|
810
806
|
type: "button",
|
|
811
807
|
onClick: () => onToggle(tool.agentToolId),
|
|
812
|
-
className: `flex w-full items-center gap-3 rounded-xl border px-4 py-3 text-left transition-all ${!isCompatible ? "border-
|
|
808
|
+
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"}`,
|
|
813
809
|
disabled: !isCompatible,
|
|
814
810
|
children: [
|
|
815
|
-
/* @__PURE__ */ 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-
|
|
811
|
+
/* @__PURE__ */ 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__ */ jsx(CommandLineIcon, { className: `h-4 w-4 ${isEnabled ? "text-white" : "text-slate-500 dark:text-slate-400"}` }) }),
|
|
816
812
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
817
813
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5", children: [
|
|
818
|
-
/* @__PURE__ */ jsx("p", { className: `text-sm font-medium ${isEnabled ? "text-
|
|
819
|
-
!isCompatible && /* @__PURE__ */ jsx(
|
|
814
|
+
/* @__PURE__ */ jsx("p", { className: `text-sm font-medium ${isEnabled ? "text-slate-900 dark:text-white" : "text-slate-600 dark:text-slate-400"}`, children: tool.name }),
|
|
815
|
+
!isCompatible && /* @__PURE__ */ jsx(Badge, { color: "zinc", size: "xs", children: "incompatible" })
|
|
820
816
|
] }),
|
|
821
|
-
tool.description && /* @__PURE__ */ jsx("p", { className: "truncate text-[10px] text-
|
|
817
|
+
tool.description && /* @__PURE__ */ jsx("p", { className: "truncate text-[10px] text-slate-400 dark:text-slate-500", children: tool.description }),
|
|
822
818
|
tool.compatibleFrameworks && tool.compatibleFrameworks.length > 0 && /* @__PURE__ */ jsx("div", { className: "mt-1 flex flex-wrap gap-0.5", children: tool.compatibleFrameworks.map((framework) => {
|
|
823
819
|
const meta = getFrameworkMeta(framework);
|
|
824
820
|
const isCurrentFw = framework === agentFramework;
|
|
825
|
-
return /* @__PURE__ */ 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-
|
|
821
|
+
return /* @__PURE__ */ 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: [
|
|
826
822
|
/* @__PURE__ */ jsx(meta.IconComponent, { className: "h-2.5 w-2.5" }),
|
|
827
823
|
meta.label
|
|
828
824
|
] }, framework);
|
|
829
825
|
}) })
|
|
830
826
|
] }),
|
|
831
|
-
/* @__PURE__ */ 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-
|
|
827
|
+
/* @__PURE__ */ 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__ */ jsx(CheckIcon, { className: "h-3 w-3" }) }),
|
|
832
828
|
/* @__PURE__ */ jsx(
|
|
833
829
|
"div",
|
|
834
830
|
{
|
|
@@ -886,7 +882,7 @@ function EngineTab({
|
|
|
886
882
|
const configuredCompatible = compatibleProviders.filter((p) => p.configured);
|
|
887
883
|
const effectiveProvider = compatibleProviders.find((p) => p.id === selectedProviderId) ?? configuredCompatible[0] ?? compatibleProviders[0];
|
|
888
884
|
const frameworkMeta = getFrameworkMeta(selectedFramework);
|
|
889
|
-
const inputCard = "liquid-surface w-full rounded-lg px-3 py-1.5 text-sm text-
|
|
885
|
+
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";
|
|
890
886
|
return /* @__PURE__ */ jsx("div", { className: "p-5", children: /* @__PURE__ */ 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: [
|
|
891
887
|
/* @__PURE__ */ jsx("div", { className: "px-4 pb-3 pt-4", children: /* @__PURE__ */ jsx(
|
|
892
888
|
AgentCapabilityCard,
|
|
@@ -914,9 +910,9 @@ function EngineTab({
|
|
|
914
910
|
/* @__PURE__ */ jsxs("div", { className: "flex items-start gap-2", children: [
|
|
915
911
|
/* @__PURE__ */ jsx(CpuChipIcon, { className: "mt-0.5 h-5 w-5 text-indigo-500 dark:text-indigo-400" }),
|
|
916
912
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
917
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm font-semibold text-
|
|
913
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm font-semibold text-slate-900 dark:text-white", children: modelName }),
|
|
918
914
|
compatibleProviders.length === 0 ? /* @__PURE__ */ 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__ */ jsxs("div", { className: "mt-1 flex items-center gap-1.5", children: [
|
|
919
|
-
/* @__PURE__ */ jsx("span", { className: "text-[10px] text-
|
|
915
|
+
/* @__PURE__ */ jsx("span", { className: "text-[10px] text-slate-500 dark:text-slate-400", children: t("agentDrawer.servedVia", { _: "via" }) }),
|
|
920
916
|
/* @__PURE__ */ jsx(
|
|
921
917
|
"select",
|
|
922
918
|
{
|
|
@@ -925,22 +921,17 @@ function EngineTab({
|
|
|
925
921
|
onSelectProvider(event.target.value);
|
|
926
922
|
markDirty();
|
|
927
923
|
},
|
|
928
|
-
|
|
924
|
+
"aria-label": t("agentDrawer.servedVia", { _: "via" }),
|
|
925
|
+
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",
|
|
929
926
|
children: configuredCompatible.map((p) => /* @__PURE__ */ jsx("option", { value: p.id, children: p.name }, p.id))
|
|
930
927
|
}
|
|
931
928
|
),
|
|
932
|
-
effectiveProvider && /* @__PURE__ */
|
|
933
|
-
|
|
934
|
-
effectiveProvider.configured ? t("agentDrawer.configured", { _: "connected" }) : t("agentDrawer.setup", { _: "setup" })
|
|
935
|
-
] })
|
|
936
|
-
] }) : /* @__PURE__ */ jsxs("p", { className: "text-[10px] text-gray-500 dark:text-gray-400", children: [
|
|
929
|
+
effectiveProvider && /* @__PURE__ */ jsx(Badge, { color: effectiveProvider.configured ? "emerald" : "amber", size: "xs", children: effectiveProvider.configured ? t("agentDrawer.configured", { _: "connected" }) : t("agentDrawer.setup", { _: "setup" }) })
|
|
930
|
+
] }) : /* @__PURE__ */ jsxs("p", { className: "text-[10px] text-slate-500 dark:text-slate-400", children: [
|
|
937
931
|
t("agentDrawer.servedVia", { _: "via" }),
|
|
938
932
|
" ",
|
|
939
933
|
effectiveProvider?.name ?? family,
|
|
940
|
-
effectiveProvider && /* @__PURE__ */
|
|
941
|
-
/* @__PURE__ */ jsx("span", { className: `h-1 w-1 rounded-full ${effectiveProvider.configured ? "bg-emerald-500" : "bg-amber-500"}` }),
|
|
942
|
-
effectiveProvider.configured ? t("agentDrawer.configured", { _: "connected" }) : t("agentDrawer.setup", { _: "setup" })
|
|
943
|
-
] })
|
|
934
|
+
effectiveProvider && /* @__PURE__ */ jsx("span", { className: "ml-2 inline-flex", children: /* @__PURE__ */ jsx(Badge, { color: effectiveProvider.configured ? "emerald" : "amber", size: "xs", children: effectiveProvider.configured ? t("agentDrawer.configured", { _: "connected" }) : t("agentDrawer.setup", { _: "setup" }) }) })
|
|
944
935
|
] })
|
|
945
936
|
] })
|
|
946
937
|
] }),
|
|
@@ -950,13 +941,13 @@ function EngineTab({
|
|
|
950
941
|
] })
|
|
951
942
|
] }) }),
|
|
952
943
|
/* @__PURE__ */ 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: [
|
|
953
|
-
/* @__PURE__ */ jsxs("summary", { className: "flex cursor-pointer items-center gap-2 text-[10px] font-semibold uppercase tracking-wider text-
|
|
944
|
+
/* @__PURE__ */ 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: [
|
|
954
945
|
/* @__PURE__ */ jsx(Cog6ToothIcon, { className: "h-3 w-3" }),
|
|
955
946
|
/* @__PURE__ */ jsx("span", { children: t("agentDrawer.overrideDerivation", { _: "Override \xB7 ajustes avan\xE7ados" }) }),
|
|
956
|
-
/* @__PURE__ */ jsx("span", { className: "ml-auto font-normal text-
|
|
957
|
-
/* @__PURE__ */ jsx("span", { className: "ml-auto hidden font-normal text-
|
|
947
|
+
/* @__PURE__ */ jsx("span", { className: "ml-auto font-normal text-slate-400 group-open:hidden", children: "\u25BE" }),
|
|
948
|
+
/* @__PURE__ */ jsx("span", { className: "ml-auto hidden font-normal text-slate-400 group-open:inline", children: "\u25B4" })
|
|
958
949
|
] }),
|
|
959
|
-
/* @__PURE__ */ jsx("p", { className: "mt-1 text-[10px] italic text-
|
|
950
|
+
/* @__PURE__ */ 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." }) }),
|
|
960
951
|
/* @__PURE__ */ jsxs("div", { className: "mt-3 space-y-4", children: [
|
|
961
952
|
/* @__PURE__ */ jsx(
|
|
962
953
|
ConfigTab,
|
|
@@ -972,13 +963,13 @@ function EngineTab({
|
|
|
972
963
|
}
|
|
973
964
|
),
|
|
974
965
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
975
|
-
/* @__PURE__ */ jsx("p", { className: "mb-2 text-[10px] font-semibold uppercase tracking-wider text-
|
|
966
|
+
/* @__PURE__ */ 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" }) }),
|
|
976
967
|
/* @__PURE__ */ jsx("div", { className: "grid grid-cols-3 gap-2", children: [
|
|
977
968
|
{ key: "max", labelKey: "agentDrawer.maxOutputTokens", label: "Max output", value: maxOutputTokens, setter: setMaxOutputTokens, step: 1, min: 1, max: 32768 },
|
|
978
969
|
{ key: "topP", labelKey: "agentDrawer.topP", label: "Top-p", value: topP, setter: setTopP, step: 0.05, min: 0, max: 1 },
|
|
979
970
|
{ key: "topK", labelKey: "agentDrawer.topK", label: "Top-k", value: topK, setter: setTopK, step: 1, min: 0, max: 500 }
|
|
980
971
|
].map((field) => /* @__PURE__ */ jsxs("div", { className: `${inputCard} flex flex-col items-center !py-2`, children: [
|
|
981
|
-
/* @__PURE__ */ jsx("span", { className: "text-[8px] font-semibold uppercase tracking-wider text-
|
|
972
|
+
/* @__PURE__ */ jsx("span", { className: "text-[8px] font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400", children: t(field.labelKey, { _: field.label }) }),
|
|
982
973
|
/* @__PURE__ */ jsx(
|
|
983
974
|
"input",
|
|
984
975
|
{
|
|
@@ -991,14 +982,14 @@ function EngineTab({
|
|
|
991
982
|
field.setter(Number(event.target.value) || 0);
|
|
992
983
|
markDirty();
|
|
993
984
|
},
|
|
994
|
-
className: "w-full bg-transparent text-center text-sm font-semibold tabular-nums text-
|
|
985
|
+
className: "w-full bg-transparent text-center text-sm font-semibold tabular-nums text-slate-900 outline-none dark:text-white"
|
|
995
986
|
}
|
|
996
987
|
)
|
|
997
988
|
] }, field.key)) })
|
|
998
989
|
] }),
|
|
999
990
|
modelProviders.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
|
|
1000
991
|
/* @__PURE__ */ jsxs("div", { className: "mb-2 flex items-center justify-between", children: [
|
|
1001
|
-
/* @__PURE__ */ jsx("p", { className: "text-[10px] font-semibold uppercase tracking-wider text-
|
|
992
|
+
/* @__PURE__ */ jsx("p", { className: "text-[10px] font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400", children: t("agentDrawer.providerCredentials", { _: "Credenciais do provedor" }) }),
|
|
1002
993
|
/* @__PURE__ */ jsx(
|
|
1003
994
|
"a",
|
|
1004
995
|
{
|
|
@@ -1011,17 +1002,17 @@ function EngineTab({
|
|
|
1011
1002
|
/* @__PURE__ */ jsx("div", { className: "space-y-1", children: modelProviders.map((provider) => /* @__PURE__ */ jsxs(
|
|
1012
1003
|
"div",
|
|
1013
1004
|
{
|
|
1014
|
-
className: "flex items-center gap-2 rounded-lg border border-
|
|
1005
|
+
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]",
|
|
1015
1006
|
children: [
|
|
1016
|
-
/* @__PURE__ */ jsx(KeyIcon, { className: "h-3 w-3 shrink-0 text-
|
|
1017
|
-
/* @__PURE__ */ jsx("span", { className: "text-[11px] font-semibold text-
|
|
1018
|
-
/* @__PURE__ */ jsx(
|
|
1019
|
-
provider.apiKeyMasked && /* @__PURE__ */ jsx("span", { className: "ml-auto truncate font-mono text-[9px] text-
|
|
1007
|
+
/* @__PURE__ */ jsx(KeyIcon, { className: "h-3 w-3 shrink-0 text-slate-500 dark:text-slate-400" }),
|
|
1008
|
+
/* @__PURE__ */ jsx("span", { className: "text-[11px] font-semibold text-slate-900 dark:text-white", children: provider.name }),
|
|
1009
|
+
/* @__PURE__ */ jsx(Badge, { color: provider.configured ? "emerald" : "amber", size: "xs", children: provider.configured ? t("agentDrawer.configured", { _: "connected" }) : t("agentDrawer.setup", { _: "setup" }) }),
|
|
1010
|
+
provider.apiKeyMasked && /* @__PURE__ */ jsx("span", { className: "ml-auto truncate font-mono text-[9px] text-slate-400 dark:text-slate-500", title: provider.credentialRef, children: provider.apiKeyMasked })
|
|
1020
1011
|
]
|
|
1021
1012
|
},
|
|
1022
1013
|
provider.id
|
|
1023
1014
|
)) }),
|
|
1024
|
-
/* @__PURE__ */ jsx("p", { className: "mt-2 text-[10px] text-
|
|
1015
|
+
/* @__PURE__ */ 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." }) })
|
|
1025
1016
|
] })
|
|
1026
1017
|
] })
|
|
1027
1018
|
] })
|
|
@@ -1175,7 +1166,7 @@ function AgentModal({ onSaved, onPersist }) {
|
|
|
1175
1166
|
if (!agent) return null;
|
|
1176
1167
|
const sections = [];
|
|
1177
1168
|
const effectiveAvatarUrl = avatarUrl || agent.avatar;
|
|
1178
|
-
const fieldCard = "liquid-surface w-full rounded-lg px-2.5 py-1.5 text-xs text-
|
|
1169
|
+
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";
|
|
1179
1170
|
const fieldLabel = "text-[9px] font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400";
|
|
1180
1171
|
const avatarInitial = (displayName || agent.name).charAt(0).toUpperCase();
|
|
1181
1172
|
const avatarNode = /* @__PURE__ */ jsx(
|
|
@@ -1449,9 +1440,9 @@ function ConfigSection({ title, icon: Icon, defaultOpen = true, children }) {
|
|
|
1449
1440
|
"aria-expanded": open,
|
|
1450
1441
|
className: "flex w-full items-center gap-2 px-4 py-2.5 text-left hover:bg-white/5",
|
|
1451
1442
|
children: [
|
|
1452
|
-
open ? /* @__PURE__ */ jsx(ChevronDownIcon, { className: "h-3 w-3 text-
|
|
1453
|
-
/* @__PURE__ */ jsx(Icon, { className: "h-3 w-3 text-
|
|
1454
|
-
/* @__PURE__ */ jsx("span", { className: "text-[10px] font-semibold uppercase tracking-wider text-
|
|
1443
|
+
open ? /* @__PURE__ */ jsx(ChevronDownIcon, { className: "h-3 w-3 text-slate-400" }) : /* @__PURE__ */ jsx(ChevronRightIcon, { className: "h-3 w-3 text-slate-400" }),
|
|
1444
|
+
/* @__PURE__ */ jsx(Icon, { className: "h-3 w-3 text-slate-400" }),
|
|
1445
|
+
/* @__PURE__ */ jsx("span", { className: "text-[10px] font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400", children: title })
|
|
1455
1446
|
]
|
|
1456
1447
|
}
|
|
1457
1448
|
),
|
|
@@ -1518,22 +1509,15 @@ function SubworkflowModal({ onSaved, onMaximize }) {
|
|
|
1518
1509
|
const footer = /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
1519
1510
|
/* @__PURE__ */ jsx("div", { role: "status", "aria-live": "polite", className: "text-xs", children: dirty ? /* @__PURE__ */ jsx("span", { className: "text-amber-500 dark:text-amber-400", children: t("subworkflowDrawer.unsavedChanges") }) : /* @__PURE__ */ jsx("span", { className: "text-emerald-500 dark:text-emerald-400", children: t("subworkflowDrawer.saved") }) }),
|
|
1520
1511
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
1512
|
+
/* @__PURE__ */ jsx(Button, { type: "button", outline: true, size: "sm", onClick: closeModal, children: t("subworkflowDrawer.cancel") }),
|
|
1521
1513
|
/* @__PURE__ */ jsx(
|
|
1522
|
-
|
|
1523
|
-
{
|
|
1524
|
-
type: "button",
|
|
1525
|
-
onClick: closeModal,
|
|
1526
|
-
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",
|
|
1527
|
-
children: t("subworkflowDrawer.cancel")
|
|
1528
|
-
}
|
|
1529
|
-
),
|
|
1530
|
-
/* @__PURE__ */ jsx(
|
|
1531
|
-
"button",
|
|
1514
|
+
Button,
|
|
1532
1515
|
{
|
|
1533
1516
|
type: "button",
|
|
1517
|
+
color: "ios-teal",
|
|
1518
|
+
size: "sm",
|
|
1534
1519
|
onClick: handleSave,
|
|
1535
|
-
disabled: isCreateMode && !name.trim(),
|
|
1536
|
-
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"}`,
|
|
1520
|
+
disabled: isCreateMode && !name.trim() || !dirty,
|
|
1537
1521
|
children: isCreateMode ? t("subworkflowDrawer.create") : t("subworkflowDrawer.save")
|
|
1538
1522
|
}
|
|
1539
1523
|
)
|
|
@@ -1555,7 +1539,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
|
|
|
1555
1539
|
children: /* @__PURE__ */ jsxs("div", { className: "flex h-[80vh] min-h-[600px]", children: [
|
|
1556
1540
|
/* @__PURE__ */ jsxs("div", { className: "flex w-72 flex-shrink-0 flex-col overflow-y-auto border-r border-white/10", children: [
|
|
1557
1541
|
isCreateMode ? /* @__PURE__ */ 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: [
|
|
1558
|
-
/* @__PURE__ */ jsx("label", { className: "mb-1 block text-[10px] font-semibold uppercase tracking-wider text-
|
|
1542
|
+
/* @__PURE__ */ jsx("label", { className: "mb-1 block text-[10px] font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400", children: t("subworkflowDrawer.name") }),
|
|
1559
1543
|
/* @__PURE__ */ jsx(
|
|
1560
1544
|
"input",
|
|
1561
1545
|
{
|
|
@@ -1564,7 +1548,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
|
|
|
1564
1548
|
onChange: (event) => setName(event.target.value),
|
|
1565
1549
|
placeholder: t("subworkflowDrawer.namePlaceholder"),
|
|
1566
1550
|
autoFocus: true,
|
|
1567
|
-
className: "w-full rounded-lg border border-
|
|
1551
|
+
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"
|
|
1568
1552
|
}
|
|
1569
1553
|
),
|
|
1570
1554
|
/* @__PURE__ */ jsx("div", { className: "mt-3 flex flex-wrap gap-1", children: ["external", "market", "data", "communication", "analytics"].map((cat) => /* @__PURE__ */ jsx(
|
|
@@ -1572,7 +1556,7 @@ function SubworkflowModal({ onSaved, onMaximize }) {
|
|
|
1572
1556
|
{
|
|
1573
1557
|
type: "button",
|
|
1574
1558
|
onClick: () => setCategory(cat),
|
|
1575
|
-
className: `rounded-full px-2 py-1 text-[9px] font-semibold transition-all ${cat === category ? `${CATEGORY_PILL_COLORS[cat] ?? CATEGORY_PILL_COLORS.external} ring-1 ring-current/20` : "bg-white/30 text-
|
|
1559
|
+
className: `rounded-full px-2 py-1 text-[9px] font-semibold transition-all ${cat === category ? `${CATEGORY_PILL_COLORS[cat] ?? 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"}`,
|
|
1576
1560
|
children: cat
|
|
1577
1561
|
},
|
|
1578
1562
|
cat
|
|
@@ -1580,20 +1564,21 @@ function SubworkflowModal({ onSaved, onMaximize }) {
|
|
|
1580
1564
|
] }) : /* @__PURE__ */ 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__ */ jsxs("div", { className: "flex items-center gap-3", children: [
|
|
1581
1565
|
/* @__PURE__ */ 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__ */ jsx(IconComponent, { className: "h-5 w-5 text-white" }) }),
|
|
1582
1566
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
1583
|
-
/* @__PURE__ */ jsx("h3", { className: "truncate text-sm font-bold text-
|
|
1567
|
+
/* @__PURE__ */ jsx("h3", { className: "truncate text-sm font-bold text-slate-900 dark:text-white", children: name }),
|
|
1584
1568
|
/* @__PURE__ */ jsxs("div", { className: "mt-1 flex flex-wrap gap-1", children: [
|
|
1585
1569
|
/* @__PURE__ */ 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") }),
|
|
1586
1570
|
/* @__PURE__ */ jsx("span", { className: `inline-flex items-center rounded-full px-1.5 py-0.5 text-[8px] font-medium ${categoryPill}`, children: category })
|
|
1587
1571
|
] })
|
|
1588
1572
|
] }),
|
|
1589
1573
|
onMaximize && tool.toolId && /* @__PURE__ */ jsx(
|
|
1590
|
-
|
|
1574
|
+
IconButton,
|
|
1591
1575
|
{
|
|
1592
|
-
|
|
1576
|
+
label: t("subworkflowDrawer.openFullEditor"),
|
|
1577
|
+
variant: "ghost",
|
|
1578
|
+
size: "sm",
|
|
1579
|
+
color: "ios-teal",
|
|
1593
1580
|
onClick: () => onMaximize(tool.toolId),
|
|
1594
|
-
|
|
1595
|
-
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",
|
|
1596
|
-
children: /* @__PURE__ */ jsx(ArrowsPointingOutIcon, { className: "h-4 w-4" })
|
|
1581
|
+
icon: /* @__PURE__ */ jsx(ArrowsPointingOutIcon, { className: "h-4 w-4" })
|
|
1597
1582
|
}
|
|
1598
1583
|
)
|
|
1599
1584
|
] }) }),
|
|
@@ -1604,19 +1589,19 @@ function SubworkflowModal({ onSaved, onMaximize }) {
|
|
|
1604
1589
|
onChange: (event) => setDescription(event.target.value),
|
|
1605
1590
|
rows: 2,
|
|
1606
1591
|
placeholder: t("subworkflowDrawer.descriptionPlaceholder"),
|
|
1607
|
-
className: "w-full resize-none rounded-lg border border-
|
|
1592
|
+
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"
|
|
1608
1593
|
}
|
|
1609
1594
|
) }),
|
|
1610
|
-
/* @__PURE__ */ jsx(ConfigSection, { title: t("subworkflowDrawer.inputVariables"), icon: ArrowsPointingInIcon, children: /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1", children: inputVariables.length > 0 ? inputVariables.map((variable) => /* @__PURE__ */ jsx(VariableChip, { name: variable.name, type: variable.type }, variable.name)) : /* @__PURE__ */ jsx("span", { className: "text-[10px] text-
|
|
1611
|
-
/* @__PURE__ */ jsx(ConfigSection, { title: t("subworkflowDrawer.outputVariables"), icon: ArrowsPointingOutIcon, children: /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1", children: outputVariables.length > 0 ? outputVariables.map((variable) => /* @__PURE__ */ jsx(OutputChip, { name: variable.name, type: variable.type }, variable.name)) : /* @__PURE__ */ jsx("span", { className: "text-[10px] text-
|
|
1595
|
+
/* @__PURE__ */ jsx(ConfigSection, { title: t("subworkflowDrawer.inputVariables"), icon: ArrowsPointingInIcon, children: /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1", children: inputVariables.length > 0 ? inputVariables.map((variable) => /* @__PURE__ */ jsx(VariableChip, { name: variable.name, type: variable.type }, variable.name)) : /* @__PURE__ */ jsx("span", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: t("subworkflowDrawer.noVariables") }) }) }),
|
|
1596
|
+
/* @__PURE__ */ jsx(ConfigSection, { title: t("subworkflowDrawer.outputVariables"), icon: ArrowsPointingOutIcon, children: /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1", children: outputVariables.length > 0 ? outputVariables.map((variable) => /* @__PURE__ */ jsx(OutputChip, { name: variable.name, type: variable.type }, variable.name)) : /* @__PURE__ */ jsx("span", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: t("subworkflowDrawer.noVariables") }) }) }),
|
|
1612
1597
|
/* @__PURE__ */ jsxs(ConfigSection, { title: t("subworkflowDrawer.executionSettings"), icon: BoltIcon, defaultOpen: false, children: [
|
|
1613
1598
|
/* @__PURE__ */ jsxs("div", { className: "mb-3", children: [
|
|
1614
1599
|
/* @__PURE__ */ jsxs("div", { className: "mb-1 flex items-center justify-between", children: [
|
|
1615
|
-
/* @__PURE__ */ jsxs("label", { className: "flex items-center gap-1 text-[10px] text-
|
|
1600
|
+
/* @__PURE__ */ jsxs("label", { className: "flex items-center gap-1 text-[10px] text-slate-600 dark:text-slate-400", children: [
|
|
1616
1601
|
/* @__PURE__ */ jsx(ClockIcon, { className: "h-3 w-3" }),
|
|
1617
1602
|
t("subworkflowDrawer.timeout")
|
|
1618
1603
|
] }),
|
|
1619
|
-
/* @__PURE__ */ jsxs("span", { className: "text-[10px] font-bold tabular-nums text-
|
|
1604
|
+
/* @__PURE__ */ jsxs("span", { className: "text-[10px] font-bold tabular-nums text-slate-900 dark:text-white", children: [
|
|
1620
1605
|
(timeoutMs / 1e3).toFixed(0),
|
|
1621
1606
|
"s"
|
|
1622
1607
|
] })
|
|
@@ -1635,21 +1620,21 @@ function SubworkflowModal({ onSaved, onMaximize }) {
|
|
|
1635
1620
|
"aria-valuemax": 30,
|
|
1636
1621
|
"aria-valuenow": timeoutMs / 1e3,
|
|
1637
1622
|
"aria-valuetext": `${(timeoutMs / 1e3).toFixed(0)} seconds`,
|
|
1638
|
-
className: "h-3 w-full cursor-pointer appearance-none rounded-full bg-
|
|
1623
|
+
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"
|
|
1639
1624
|
}
|
|
1640
1625
|
)
|
|
1641
1626
|
] }),
|
|
1642
1627
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
1643
1628
|
/* @__PURE__ */ jsxs("div", { className: "mb-1 flex items-center justify-between", children: [
|
|
1644
|
-
/* @__PURE__ */ jsx("label", { className: "text-[10px] text-
|
|
1645
|
-
/* @__PURE__ */ jsx("span", { className: "text-[10px] font-bold tabular-nums text-
|
|
1629
|
+
/* @__PURE__ */ jsx("label", { className: "text-[10px] text-slate-600 dark:text-slate-400", children: t("subworkflowDrawer.retries") }),
|
|
1630
|
+
/* @__PURE__ */ jsx("span", { className: "text-[10px] font-bold tabular-nums text-slate-900 dark:text-white", children: retryCount })
|
|
1646
1631
|
] }),
|
|
1647
1632
|
/* @__PURE__ */ jsx("div", { className: "flex gap-1", children: [0, 1, 2, 3].map((count) => /* @__PURE__ */ jsx(
|
|
1648
1633
|
"button",
|
|
1649
1634
|
{
|
|
1650
1635
|
type: "button",
|
|
1651
1636
|
onClick: () => setRetryCount(count),
|
|
1652
|
-
className: `flex-1 rounded py-1 text-[10px] font-medium transition-all ${count === retryCount ? "bg-teal-500 text-white" : "bg-
|
|
1637
|
+
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"}`,
|
|
1653
1638
|
children: count
|
|
1654
1639
|
},
|
|
1655
1640
|
count
|
|
@@ -1728,15 +1713,7 @@ function PipelineSettingsModal({ onSave }) {
|
|
|
1728
1713
|
}
|
|
1729
1714
|
};
|
|
1730
1715
|
const footer = /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-end gap-2", children: [
|
|
1731
|
-
/* @__PURE__ */ jsx(
|
|
1732
|
-
"button",
|
|
1733
|
-
{
|
|
1734
|
-
type: "button",
|
|
1735
|
-
onClick: closeModal,
|
|
1736
|
-
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",
|
|
1737
|
-
children: t("cancel")
|
|
1738
|
-
}
|
|
1739
|
-
),
|
|
1716
|
+
/* @__PURE__ */ jsx(Button, { type: "button", outline: true, size: "sm", onClick: closeModal, children: t("cancel") }),
|
|
1740
1717
|
/* @__PURE__ */ jsxs(
|
|
1741
1718
|
Button,
|
|
1742
1719
|
{
|
|
@@ -1810,12 +1787,12 @@ function PipelineSettingsModal({ onSave }) {
|
|
|
1810
1787
|
})
|
|
1811
1788
|
}
|
|
1812
1789
|
),
|
|
1813
|
-
/* @__PURE__ */ jsxs("fieldset", { className: "space-y-2 rounded-xl
|
|
1814
|
-
/* @__PURE__ */ jsx("legend", { className: "px-1 text-xs font-medium text-
|
|
1815
|
-
/* @__PURE__ */ jsxs("label", { className: "flex items-center justify-between gap-3 text-sm text-
|
|
1790
|
+
/* @__PURE__ */ jsxs("fieldset", { className: "space-y-2 rounded-xl liquid-surface p-3", children: [
|
|
1791
|
+
/* @__PURE__ */ jsx("legend", { className: "px-1 text-xs font-medium text-slate-600 dark:text-slate-300", children: t("pipelineLifecycle", { _: "Lifecycle" }) }),
|
|
1792
|
+
/* @__PURE__ */ jsxs("label", { className: "flex items-center justify-between gap-3 text-sm text-slate-700 dark:text-slate-200", children: [
|
|
1816
1793
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
1817
1794
|
t("pipelineIsDraft", { _: "Draft mode" }),
|
|
1818
|
-
/* @__PURE__ */ jsx("span", { className: "ml-2 text-[11px] text-
|
|
1795
|
+
/* @__PURE__ */ 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." }) })
|
|
1819
1796
|
] }),
|
|
1820
1797
|
/* @__PURE__ */ jsx(
|
|
1821
1798
|
"input",
|
|
@@ -1823,14 +1800,14 @@ function PipelineSettingsModal({ onSave }) {
|
|
|
1823
1800
|
type: "checkbox",
|
|
1824
1801
|
checked: isDraft,
|
|
1825
1802
|
onChange: (event) => setIsDraft(event.target.checked),
|
|
1826
|
-
className: "h-4 w-4 rounded border-
|
|
1803
|
+
className: "h-4 w-4 rounded border-slate-300 text-indigo-600 focus:ring-indigo-500/70 focus:ring-offset-1"
|
|
1827
1804
|
}
|
|
1828
1805
|
)
|
|
1829
1806
|
] }),
|
|
1830
|
-
/* @__PURE__ */ jsxs("label", { className: "flex items-center justify-between gap-3 text-sm text-
|
|
1807
|
+
/* @__PURE__ */ jsxs("label", { className: "flex items-center justify-between gap-3 text-sm text-slate-700 dark:text-slate-200", children: [
|
|
1831
1808
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
1832
1809
|
t("pipelineIsActive", { _: "Active" }),
|
|
1833
|
-
/* @__PURE__ */ jsx("span", { className: "ml-2 text-[11px] text-
|
|
1810
|
+
/* @__PURE__ */ 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." }) })
|
|
1834
1811
|
] }),
|
|
1835
1812
|
/* @__PURE__ */ jsx(
|
|
1836
1813
|
"input",
|
|
@@ -1838,7 +1815,7 @@ function PipelineSettingsModal({ onSave }) {
|
|
|
1838
1815
|
type: "checkbox",
|
|
1839
1816
|
checked: isActive,
|
|
1840
1817
|
onChange: (event) => setIsActive(event.target.checked),
|
|
1841
|
-
className: "h-4 w-4 rounded border-
|
|
1818
|
+
className: "h-4 w-4 rounded border-slate-300 text-indigo-600 focus:ring-indigo-500/70 focus:ring-offset-1"
|
|
1842
1819
|
}
|
|
1843
1820
|
)
|
|
1844
1821
|
] })
|
|
@@ -1911,22 +1888,14 @@ function RunReplayModal({
|
|
|
1911
1888
|
}
|
|
1912
1889
|
};
|
|
1913
1890
|
const footer = /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2", children: [
|
|
1914
|
-
/* @__PURE__ */ jsxs("span", { className: "text-[11px] text-
|
|
1891
|
+
/* @__PURE__ */ jsxs("span", { className: "text-[11px] text-slate-400", children: [
|
|
1915
1892
|
"run ",
|
|
1916
1893
|
/* @__PURE__ */ jsx("code", { children: runId.slice(0, 8) }),
|
|
1917
1894
|
" \xB7 wf ",
|
|
1918
1895
|
/* @__PURE__ */ jsx("code", { children: workflowId.slice(0, 8) })
|
|
1919
1896
|
] }),
|
|
1920
1897
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
1921
|
-
/* @__PURE__ */ jsx(
|
|
1922
|
-
"button",
|
|
1923
|
-
{
|
|
1924
|
-
type: "button",
|
|
1925
|
-
onClick: onClose,
|
|
1926
|
-
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",
|
|
1927
|
-
children: t("cancel")
|
|
1928
|
-
}
|
|
1929
|
-
),
|
|
1898
|
+
/* @__PURE__ */ jsx(Button, { type: "button", outline: true, size: "sm", onClick: onClose, children: t("cancel") }),
|
|
1930
1899
|
/* @__PURE__ */ jsxs(
|
|
1931
1900
|
Button,
|
|
1932
1901
|
{
|
|
@@ -1967,7 +1936,7 @@ function RunReplayModal({
|
|
|
1967
1936
|
},
|
|
1968
1937
|
className: "space-y-3",
|
|
1969
1938
|
children: [
|
|
1970
|
-
rows.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-xs text-
|
|
1939
|
+
rows.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-xs text-slate-500 dark:text-slate-400", children: t("replayNoInputs", { _: "This run had no input variables \u2014 replaying will execute the workflow as-is." }) }) : rows.map((row, index) => /* @__PURE__ */ jsx(
|
|
1971
1940
|
RowEditor,
|
|
1972
1941
|
{
|
|
1973
1942
|
row,
|
|
@@ -1989,20 +1958,12 @@ function RowEditor({
|
|
|
1989
1958
|
onReset
|
|
1990
1959
|
}) {
|
|
1991
1960
|
const isJson = row.kind === "json";
|
|
1992
|
-
return /* @__PURE__ */ jsxs("div", { className: "rounded-xl border border-
|
|
1961
|
+
return /* @__PURE__ */ jsxs("div", { className: "rounded-xl border border-slate-200/60 bg-slate-50/60 p-3 dark:border-white/10 dark:bg-white/5", children: [
|
|
1993
1962
|
/* @__PURE__ */ jsxs("div", { className: "mb-2 flex items-center justify-between gap-2", children: [
|
|
1994
|
-
/* @__PURE__ */ jsx("span", { className: "font-mono text-xs text-
|
|
1963
|
+
/* @__PURE__ */ jsx("span", { className: "font-mono text-xs text-slate-700 dark:text-slate-200", children: row.key }),
|
|
1995
1964
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
1996
1965
|
/* @__PURE__ */ jsx(Badge, { color: "zinc", size: "xs", className: "uppercase tracking-wider", children: row.kind }),
|
|
1997
|
-
row.touched && /* @__PURE__ */ jsx(
|
|
1998
|
-
"button",
|
|
1999
|
-
{
|
|
2000
|
-
type: "button",
|
|
2001
|
-
onClick: onReset,
|
|
2002
|
-
className: "text-[11px] text-indigo-600 hover:text-indigo-500 dark:text-indigo-400",
|
|
2003
|
-
children: "reset"
|
|
2004
|
-
}
|
|
2005
|
-
)
|
|
1966
|
+
row.touched && /* @__PURE__ */ jsx(Button, { type: "button", plain: true, size: "xs", onClick: onReset, children: "reset" })
|
|
2006
1967
|
] })
|
|
2007
1968
|
] }),
|
|
2008
1969
|
row.kind === "boolean" ? /* @__PURE__ */ jsxs(
|
|
@@ -2010,7 +1971,7 @@ function RowEditor({
|
|
|
2010
1971
|
{
|
|
2011
1972
|
value: row.value,
|
|
2012
1973
|
onChange: (event) => onChange({ value: event.target.value }),
|
|
2013
|
-
className: "w-full rounded-lg border border-
|
|
1974
|
+
className: "w-full rounded-lg border border-slate-200/50 bg-white/70 px-3 py-2 text-sm text-slate-900 dark:border-white/10 dark:bg-slate-800/70 dark:text-slate-100",
|
|
2014
1975
|
children: [
|
|
2015
1976
|
/* @__PURE__ */ jsx("option", { value: "true", children: "true" }),
|
|
2016
1977
|
/* @__PURE__ */ jsx("option", { value: "false", children: "false" })
|
|
@@ -2999,7 +2960,7 @@ function SectionHeader({ icon, title, colorClass, count, onAdd, addLabel, isOpen
|
|
|
2999
2960
|
/* @__PURE__ */ jsx(
|
|
3000
2961
|
ChevronDownIcon,
|
|
3001
2962
|
{
|
|
3002
|
-
className: `h-3 w-3 text-
|
|
2963
|
+
className: `h-3 w-3 text-slate-400 transition-transform duration-200 ${isOpen ? "" : "-rotate-90"}`
|
|
3003
2964
|
}
|
|
3004
2965
|
)
|
|
3005
2966
|
]
|
|
@@ -3020,7 +2981,7 @@ function SectionHeader({ icon, title, colorClass, count, onAdd, addLabel, isOpen
|
|
|
3020
2981
|
function CollapsibleSection({ title, icon, colorClass, defaultOpen = true, count, onAdd, addLabel, children }) {
|
|
3021
2982
|
const [isOpen, setIsOpen] = useState(defaultOpen);
|
|
3022
2983
|
const safeChildren = Children.toArray(children);
|
|
3023
|
-
return /* @__PURE__ */ jsxs("div", { className: "border-t border-
|
|
2984
|
+
return /* @__PURE__ */ jsxs("div", { className: "border-t border-slate-200/40 dark:border-white/5", children: [
|
|
3024
2985
|
/* @__PURE__ */ jsx(
|
|
3025
2986
|
SectionHeader,
|
|
3026
2987
|
{
|
|
@@ -3039,7 +3000,7 @@ function CollapsibleSection({ title, icon, colorClass, defaultOpen = true, count
|
|
|
3039
3000
|
}
|
|
3040
3001
|
function LogicNodeItemCard({ item, translationFunction }) {
|
|
3041
3002
|
const IconComponent = LOGIC_ICON_MAP[item.nodeType];
|
|
3042
|
-
const gradient = LOGIC_NODE_GRADIENTS[item.nodeType] ?? "from-
|
|
3003
|
+
const gradient = LOGIC_NODE_GRADIENTS[item.nodeType] ?? "from-slate-400 to-slate-500";
|
|
3043
3004
|
const defaultConfig = createDefaultLogicNodeConfig(item.nodeType);
|
|
3044
3005
|
const configJson = defaultConfig ? JSON.stringify(defaultConfig) : void 0;
|
|
3045
3006
|
return /* @__PURE__ */ jsxs(
|
|
@@ -3051,8 +3012,8 @@ function LogicNodeItemCard({ item, translationFunction }) {
|
|
|
3051
3012
|
children: [
|
|
3052
3013
|
/* @__PURE__ */ jsx("div", { className: `flex h-6 w-6 items-center justify-center rounded-md bg-gradient-to-br ${gradient} shadow-sm`, children: IconComponent && /* @__PURE__ */ jsx(IconComponent, { className: "h-3.5 w-3.5 text-white" }) }),
|
|
3053
3014
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
3054
|
-
/* @__PURE__ */ jsx("p", { className: "truncate text-xs font-medium text-
|
|
3055
|
-
/* @__PURE__ */ jsx("p", { className: "truncate text-[10px] text-
|
|
3015
|
+
/* @__PURE__ */ jsx("p", { className: "truncate text-xs font-medium text-slate-900 dark:text-white", children: translationFunction(item.nameKey) }),
|
|
3016
|
+
/* @__PURE__ */ jsx("p", { className: "truncate text-[10px] text-slate-400 dark:text-slate-500", children: translationFunction(item.descriptionKey) })
|
|
3056
3017
|
] })
|
|
3057
3018
|
]
|
|
3058
3019
|
}
|
|
@@ -3132,13 +3093,13 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
|
|
|
3132
3093
|
function renderLogicSubcategory(subcategory, items, isFirst) {
|
|
3133
3094
|
if (items.length === 0) return null;
|
|
3134
3095
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-1.5", children: [
|
|
3135
|
-
/* @__PURE__ */ jsx("p", { className: `${isFirst ? "mt-1" : "mt-2"} text-[9px] font-semibold uppercase tracking-wider text-
|
|
3096
|
+
/* @__PURE__ */ 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]) }),
|
|
3136
3097
|
items.map((item) => /* @__PURE__ */ jsx(LogicNodeItemCard, { item, translationFunction: t }, item.nodeType))
|
|
3137
3098
|
] }, subcategory);
|
|
3138
3099
|
}
|
|
3139
|
-
return /* @__PURE__ */ jsxs("div", { className: "liquid-surface w-[260px] flex-shrink-0 overflow-y-auto rounded-none border-0 border-r border-
|
|
3100
|
+
return /* @__PURE__ */ 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: [
|
|
3140
3101
|
/* @__PURE__ */ jsxs("div", { className: "p-4 pb-2", children: [
|
|
3141
|
-
/* @__PURE__ */ jsx("h3", { className: "text-xs font-semibold uppercase tracking-wider text-
|
|
3102
|
+
/* @__PURE__ */ jsx("h3", { className: "text-xs font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400", children: t("palette") }),
|
|
3142
3103
|
/* @__PURE__ */ jsx("div", { className: "mt-2", children: /* @__PURE__ */ jsx(
|
|
3143
3104
|
"input",
|
|
3144
3105
|
{
|
|
@@ -3146,7 +3107,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
|
|
|
3146
3107
|
value: searchQuery,
|
|
3147
3108
|
onChange: (event) => setSearchQuery(event.target.value),
|
|
3148
3109
|
placeholder: t("searchPalette"),
|
|
3149
|
-
className: "liquid-surface w-full rounded-lg px-2.5 py-1.5 text-[11px] text-
|
|
3110
|
+
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"
|
|
3150
3111
|
}
|
|
3151
3112
|
) })
|
|
3152
3113
|
] }),
|
|
@@ -3159,7 +3120,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
|
|
|
3159
3120
|
onAdd: onCreateAgent,
|
|
3160
3121
|
addLabel: t("newAgent"),
|
|
3161
3122
|
count: filteredAgents.length,
|
|
3162
|
-
children: filteredAgents.length === 0 && filteredAgentTools.length === 0 && filteredProviders.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-[10px] text-
|
|
3123
|
+
children: filteredAgents.length === 0 && filteredAgentTools.length === 0 && filteredProviders.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: t("noAgents") }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3163
3124
|
filteredAgents.map((agent) => /* @__PURE__ */ jsxs(
|
|
3164
3125
|
"div",
|
|
3165
3126
|
{
|
|
@@ -3168,24 +3129,24 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
|
|
|
3168
3129
|
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",
|
|
3169
3130
|
children: [
|
|
3170
3131
|
/* @__PURE__ */ jsxs("div", { className: "relative flex-shrink-0", children: [
|
|
3171
|
-
agent.avatar ? /* @__PURE__ */ jsx("img", { src: agent.avatar, alt: agent.name, className: "h-7 w-7 rounded-full bg-white shadow-sm ring-1 ring-
|
|
3172
|
-
/* @__PURE__ */ 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-
|
|
3132
|
+
agent.avatar ? /* @__PURE__ */ 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__ */ 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__ */ jsx(CpuChipIcon, { className: "h-3.5 w-3.5 text-white" }) }),
|
|
3133
|
+
/* @__PURE__ */ 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__ */ jsx(CpuChipIcon, { className: "h-2 w-2 text-white" }) })
|
|
3173
3134
|
] }),
|
|
3174
3135
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
3175
3136
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5", children: [
|
|
3176
|
-
/* @__PURE__ */ jsx("p", { className: "truncate text-xs font-medium text-
|
|
3137
|
+
/* @__PURE__ */ jsx("p", { className: "truncate text-xs font-medium text-slate-900 dark:text-white", children: agent.name }),
|
|
3177
3138
|
(() => {
|
|
3178
3139
|
const tier = getAgentTier(Number(agent.elo ?? 0));
|
|
3179
3140
|
return /* @__PURE__ */ 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)}`) });
|
|
3180
3141
|
})()
|
|
3181
3142
|
] }),
|
|
3182
|
-
/* @__PURE__ */ jsx("p", { className: "truncate text-[10px] text-
|
|
3143
|
+
/* @__PURE__ */ jsx("p", { className: "truncate text-[10px] text-slate-400 dark:text-slate-500", children: agent.role ?? agent.agentId })
|
|
3183
3144
|
] })
|
|
3184
3145
|
]
|
|
3185
3146
|
},
|
|
3186
3147
|
agent.agentId
|
|
3187
3148
|
)),
|
|
3188
|
-
filteredProviders.length > 0 && /* @__PURE__ */ jsxs("div", { className: "mt-2 border-t border-
|
|
3149
|
+
filteredProviders.length > 0 && /* @__PURE__ */ jsxs("div", { className: "mt-2 border-t border-slate-200/40 pt-2 dark:border-white/5", children: [
|
|
3189
3150
|
/* @__PURE__ */ 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") }),
|
|
3190
3151
|
filteredProviders.map((provider) => {
|
|
3191
3152
|
const providerLogo = PROVIDER_LOGOS3[provider.provider];
|
|
@@ -3209,13 +3170,13 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
|
|
|
3209
3170
|
children: [
|
|
3210
3171
|
providerLogo ? /* @__PURE__ */ jsx("div", { className: "flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-white/10 p-1", children: /* @__PURE__ */ jsx("img", { src: providerLogo, alt: "", className: "h-4 w-4 object-contain", loading: "lazy" }) }) : /* @__PURE__ */ 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__ */ jsx(KeyIcon, { className: "h-3.5 w-3.5 text-white" }) }),
|
|
3211
3172
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
3212
|
-
/* @__PURE__ */ jsx("p", { className: "truncate text-xs font-medium text-
|
|
3213
|
-
/* @__PURE__ */ jsxs("p", { className: "truncate text-[10px] text-
|
|
3173
|
+
/* @__PURE__ */ jsx("p", { className: "truncate text-xs font-medium text-slate-900 dark:text-white", children: provider.name }),
|
|
3174
|
+
/* @__PURE__ */ jsxs("p", { className: "truncate text-[10px] text-slate-400 dark:text-slate-500", children: [
|
|
3214
3175
|
provider.modelCount,
|
|
3215
3176
|
" models"
|
|
3216
3177
|
] })
|
|
3217
3178
|
] }),
|
|
3218
|
-
provider.configured ? /* @__PURE__ */ jsx(
|
|
3179
|
+
provider.configured ? /* @__PURE__ */ jsx(Badge, { color: "emerald", size: "xs", children: t("configured") }) : /* @__PURE__ */ jsx(Badge, { color: "amber", size: "xs", children: t("setup") })
|
|
3219
3180
|
]
|
|
3220
3181
|
},
|
|
3221
3182
|
provider.id
|
|
@@ -3233,7 +3194,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
|
|
|
3233
3194
|
colorClass: "text-teal-600 dark:text-teal-400",
|
|
3234
3195
|
onAdd: onCreateTool,
|
|
3235
3196
|
addLabel: t("newSubworkflow"),
|
|
3236
|
-
children: filteredTools.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-[10px] text-
|
|
3197
|
+
children: filteredTools.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: t("noSubworkflows") }) : filteredTools.map((tool) => /* @__PURE__ */ jsxs(
|
|
3237
3198
|
"div",
|
|
3238
3199
|
{
|
|
3239
3200
|
draggable: true,
|
|
@@ -3242,8 +3203,8 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
|
|
|
3242
3203
|
children: [
|
|
3243
3204
|
/* @__PURE__ */ 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__ */ jsx(ArrowPathRoundedSquareIcon, { className: "h-3.5 w-3.5 text-white" }) }),
|
|
3244
3205
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
3245
|
-
/* @__PURE__ */ jsx("p", { className: "truncate text-xs font-medium text-
|
|
3246
|
-
/* @__PURE__ */ jsx("p", { className: "truncate text-[10px] text-
|
|
3206
|
+
/* @__PURE__ */ jsx("p", { className: "truncate text-xs font-medium text-slate-900 dark:text-white", children: tool.name }),
|
|
3207
|
+
/* @__PURE__ */ jsx("p", { className: "truncate text-[10px] text-slate-400 dark:text-slate-500", children: tool.category })
|
|
3247
3208
|
] }),
|
|
3248
3209
|
/* @__PURE__ */ jsx(
|
|
3249
3210
|
ToggleSwitch,
|
|
@@ -3271,7 +3232,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
|
|
|
3271
3232
|
colorClass: "text-violet-600 dark:text-violet-400",
|
|
3272
3233
|
onAdd: onCreateRule,
|
|
3273
3234
|
addLabel: t("newRule"),
|
|
3274
|
-
children: filteredRules.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-[10px] text-
|
|
3235
|
+
children: filteredRules.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: t("noRules") }) : filteredRules.map((rule) => /* @__PURE__ */ jsxs(
|
|
3275
3236
|
"div",
|
|
3276
3237
|
{
|
|
3277
3238
|
draggable: true,
|
|
@@ -3280,8 +3241,8 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
|
|
|
3280
3241
|
children: [
|
|
3281
3242
|
/* @__PURE__ */ 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__ */ jsx(AdjustmentsHorizontalIcon, { className: "h-3.5 w-3.5 text-white" }) }),
|
|
3282
3243
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
3283
|
-
/* @__PURE__ */ jsx("p", { className: "truncate text-xs font-medium text-
|
|
3284
|
-
/* @__PURE__ */ jsxs("p", { className: "truncate text-[10px] text-
|
|
3244
|
+
/* @__PURE__ */ jsx("p", { className: "truncate text-xs font-medium text-slate-900 dark:text-white", children: rule.name }),
|
|
3245
|
+
/* @__PURE__ */ jsxs("p", { className: "truncate text-[10px] text-slate-400 dark:text-slate-500", children: [
|
|
3285
3246
|
"P",
|
|
3286
3247
|
String(rule.priority ?? "")
|
|
3287
3248
|
] })
|
|
@@ -3313,7 +3274,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
|
|
|
3313
3274
|
count: filteredEntityTypes.length,
|
|
3314
3275
|
onAdd: onCreateDatasource,
|
|
3315
3276
|
addLabel: t("newDataSource"),
|
|
3316
|
-
children: filteredEntityTypes.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-[10px] text-
|
|
3277
|
+
children: filteredEntityTypes.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: t("noDataSources") }) : filteredEntityTypes.map((entity) => {
|
|
3317
3278
|
const defaultConfig = JSON.stringify({
|
|
3318
3279
|
type: "entity",
|
|
3319
3280
|
entityMasterId: entity.id,
|
|
@@ -3334,15 +3295,15 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
|
|
|
3334
3295
|
children: [
|
|
3335
3296
|
dsLogo ? /* @__PURE__ */ jsx("div", { className: "flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-white/10 p-1", children: /* @__PURE__ */ jsx("img", { src: dsLogo, alt: "", className: "h-4 w-4 object-contain", loading: "lazy" }) }) : /* @__PURE__ */ jsx("div", { className: `flex h-6 w-6 items-center justify-center rounded-md bg-gradient-to-br ${entityGradient} shadow-sm`, children: /* @__PURE__ */ jsx(EntityIcon, { className: "h-3.5 w-3.5 text-white" }) }),
|
|
3336
3297
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
3337
|
-
/* @__PURE__ */ jsx("p", { className: "truncate text-xs font-medium text-
|
|
3338
|
-
/* @__PURE__ */ jsxs("p", { className: "truncate text-[10px] text-
|
|
3298
|
+
/* @__PURE__ */ jsx("p", { className: "truncate text-xs font-medium text-slate-900 dark:text-white", children: entity.label }),
|
|
3299
|
+
/* @__PURE__ */ jsxs("p", { className: "truncate text-[10px] text-slate-400 dark:text-slate-500", children: [
|
|
3339
3300
|
entity.fieldCount,
|
|
3340
3301
|
" ",
|
|
3341
3302
|
t("entityFieldsLabel")
|
|
3342
3303
|
] })
|
|
3343
3304
|
] }),
|
|
3344
3305
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3345
|
-
/* @__PURE__ */ jsx(
|
|
3306
|
+
/* @__PURE__ */ jsx(Badge, { color: "zinc", size: "xs", children: "Read only" }),
|
|
3346
3307
|
/* @__PURE__ */ jsx(
|
|
3347
3308
|
ToggleSwitch,
|
|
3348
3309
|
{
|
|
@@ -3368,7 +3329,7 @@ function NodePalette({ agents, tools, agentTools = [], rules, entities = [], mod
|
|
|
3368
3329
|
{
|
|
3369
3330
|
title: t("logicSection"),
|
|
3370
3331
|
icon: /* @__PURE__ */ jsx(BoltIcon, { className: "h-3 w-3" }),
|
|
3371
|
-
colorClass: "text-
|
|
3332
|
+
colorClass: "text-slate-600 dark:text-slate-400",
|
|
3372
3333
|
count: filteredLogicItems.length,
|
|
3373
3334
|
children: [
|
|
3374
3335
|
renderLogicSubcategory("control_flow", groupedLogicItems.control_flow, true),
|
|
@@ -3440,33 +3401,28 @@ function WorkflowListBar({
|
|
|
3440
3401
|
/* @__PURE__ */ jsx("p", { className: "mt-0.5 text-[10px] text-gray-400 dark:text-gray-500", children: workflow.updatedAt ? formatRelativeTime(typeof workflow.updatedAt === "string" ? workflow.updatedAt : workflow.updatedAt.toISOString()) : "" })
|
|
3441
3402
|
] }),
|
|
3442
3403
|
/* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-0.5 opacity-0 transition-opacity group-hover:opacity-100", children: [
|
|
3443
|
-
onConvertToSubworkflow && /* @__PURE__ */ jsx(
|
|
3444
|
-
|
|
3404
|
+
onConvertToSubworkflow && /* @__PURE__ */ jsx("div", { onClick: (event) => event.stopPropagation(), children: /* @__PURE__ */ jsx(
|
|
3405
|
+
IconButton,
|
|
3445
3406
|
{
|
|
3446
|
-
|
|
3447
|
-
|
|
3448
|
-
|
|
3449
|
-
|
|
3450
|
-
|
|
3451
|
-
|
|
3452
|
-
"aria-label": `${tWorkflow("convertToSubworkflow")} ${workflow.name}`,
|
|
3453
|
-
title: tWorkflow("convertToSubworkflow"),
|
|
3454
|
-
children: /* @__PURE__ */ jsx(ArrowPathRoundedSquareIcon, { className: "h-3.5 w-3.5" })
|
|
3407
|
+
label: `${tWorkflow("convertToSubworkflow")} ${workflow.name}`,
|
|
3408
|
+
variant: "ghost",
|
|
3409
|
+
size: "sm",
|
|
3410
|
+
color: "ios-teal",
|
|
3411
|
+
onClick: () => onConvertToSubworkflow(workflow),
|
|
3412
|
+
icon: /* @__PURE__ */ jsx(ArrowPathRoundedSquareIcon, { className: "h-3.5 w-3.5" })
|
|
3455
3413
|
}
|
|
3456
|
-
),
|
|
3457
|
-
workflows.length > 1 && /* @__PURE__ */ jsx(
|
|
3458
|
-
|
|
3414
|
+
) }),
|
|
3415
|
+
workflows.length > 1 && /* @__PURE__ */ jsx("div", { onClick: (event) => event.stopPropagation(), children: /* @__PURE__ */ jsx(
|
|
3416
|
+
IconButton,
|
|
3459
3417
|
{
|
|
3460
|
-
|
|
3461
|
-
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
|
|
3465
|
-
|
|
3466
|
-
"aria-label": `${tWorkflow("deleteWorkflow")} ${workflow.name}`,
|
|
3467
|
-
children: /* @__PURE__ */ jsx(TrashIcon, { className: "h-3.5 w-3.5" })
|
|
3418
|
+
label: `${tWorkflow("deleteWorkflow")} ${workflow.name}`,
|
|
3419
|
+
variant: "ghost",
|
|
3420
|
+
size: "sm",
|
|
3421
|
+
destructive: true,
|
|
3422
|
+
onClick: () => onDelete(workflow.id, workflow.name),
|
|
3423
|
+
icon: /* @__PURE__ */ jsx(TrashIcon, { className: "h-3.5 w-3.5" })
|
|
3468
3424
|
}
|
|
3469
|
-
)
|
|
3425
|
+
) })
|
|
3470
3426
|
] })
|
|
3471
3427
|
]
|
|
3472
3428
|
},
|
|
@@ -3537,22 +3493,23 @@ function VersionHistoryPanel({
|
|
|
3537
3493
|
return /* @__PURE__ */ jsxs(
|
|
3538
3494
|
"div",
|
|
3539
3495
|
{
|
|
3540
|
-
className: "absolute right-0 top-0 z-40 flex h-full w-80 flex-col border-l border-
|
|
3496
|
+
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",
|
|
3541
3497
|
"data-testid": "version-history-panel",
|
|
3542
3498
|
children: [
|
|
3543
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between
|
|
3499
|
+
/* @__PURE__ */ jsxs("div", { className: "liquid-divider flex items-center justify-between px-4 py-3", children: [
|
|
3544
3500
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3545
|
-
/* @__PURE__ */ jsx(ClockIcon, { className: "h-5 w-5 text-
|
|
3546
|
-
/* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-
|
|
3501
|
+
/* @__PURE__ */ jsx(ClockIcon, { className: "h-5 w-5 text-slate-500 dark:text-slate-400" }),
|
|
3502
|
+
/* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-slate-900 dark:text-white", children: translations("title") })
|
|
3547
3503
|
] }),
|
|
3548
3504
|
/* @__PURE__ */ jsx(
|
|
3549
|
-
|
|
3505
|
+
IconButton,
|
|
3550
3506
|
{
|
|
3551
|
-
|
|
3507
|
+
label: translations("close"),
|
|
3508
|
+
variant: "ghost",
|
|
3509
|
+
size: "sm",
|
|
3552
3510
|
onClick: onClose,
|
|
3553
|
-
|
|
3554
|
-
"data-testid": "version-history-close"
|
|
3555
|
-
children: /* @__PURE__ */ jsx(XMarkIcon, { className: "h-4 w-4" })
|
|
3511
|
+
icon: /* @__PURE__ */ jsx(XMarkIcon, { className: "h-4 w-4" }),
|
|
3512
|
+
"data-testid": "version-history-close"
|
|
3556
3513
|
}
|
|
3557
3514
|
)
|
|
3558
3515
|
] }),
|
|
@@ -3560,36 +3517,28 @@ function VersionHistoryPanel({
|
|
|
3560
3517
|
isLoading && /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center py-12", "data-testid": "version-history-loading", children: /* @__PURE__ */ jsx("div", { className: "h-6 w-6 animate-spin motion-reduce:animate-none rounded-full border-2 border-blue-500 border-t-transparent" }) }),
|
|
3561
3518
|
loadError && /* @__PURE__ */ jsxs("div", { className: "px-4 py-8 text-center", "data-testid": "version-history-error", children: [
|
|
3562
3519
|
/* @__PURE__ */ jsx("p", { className: "text-sm text-red-500 dark:text-red-400", children: loadError }),
|
|
3563
|
-
/* @__PURE__ */ jsx(
|
|
3564
|
-
"button",
|
|
3565
|
-
{
|
|
3566
|
-
type: "button",
|
|
3567
|
-
onClick: loadVersions,
|
|
3568
|
-
className: "mt-2 text-xs text-blue-600 hover:underline dark:text-blue-400",
|
|
3569
|
-
children: translations("retry")
|
|
3570
|
-
}
|
|
3571
|
-
)
|
|
3520
|
+
/* @__PURE__ */ jsx(Button, { type: "button", plain: true, size: "xs", onClick: loadVersions, children: translations("retry") })
|
|
3572
3521
|
] }),
|
|
3573
3522
|
!isLoading && !loadError && versions.length === 0 && /* @__PURE__ */ jsxs("div", { className: "px-4 py-12 text-center", "data-testid": "version-history-empty", children: [
|
|
3574
|
-
/* @__PURE__ */ jsx(ClockIcon, { className: "mx-auto h-8 w-8 text-
|
|
3575
|
-
/* @__PURE__ */ jsx("p", { className: "mt-2 text-sm text-
|
|
3523
|
+
/* @__PURE__ */ jsx(ClockIcon, { className: "mx-auto h-8 w-8 text-slate-300 dark:text-slate-600" }),
|
|
3524
|
+
/* @__PURE__ */ jsx("p", { className: "mt-2 text-sm text-slate-500 dark:text-slate-400", children: translations("noVersions") })
|
|
3576
3525
|
] }),
|
|
3577
|
-
!isLoading && !loadError && versions.length > 0 && /* @__PURE__ */ jsx("div", { className: "divide-y divide-
|
|
3526
|
+
!isLoading && !loadError && versions.length > 0 && /* @__PURE__ */ jsx("div", { className: "divide-y divide-slate-200/60 dark:divide-white/10", children: versions.map((version) => {
|
|
3578
3527
|
const isCurrentVersion = version.version === currentVersion;
|
|
3579
3528
|
return /* @__PURE__ */ jsxs(
|
|
3580
3529
|
"div",
|
|
3581
3530
|
{
|
|
3582
|
-
className: `px-4 py-3 transition-colors ${isCurrentVersion ? "bg-blue-50 dark:bg-blue-500/10" : "hover:bg-
|
|
3531
|
+
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]"}`,
|
|
3583
3532
|
"data-testid": `version-entry-${version.version}`,
|
|
3584
3533
|
children: [
|
|
3585
3534
|
/* @__PURE__ */ jsx("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3586
|
-
/* @__PURE__ */ jsxs("span", { className: "text-sm font-semibold text-
|
|
3535
|
+
/* @__PURE__ */ jsxs("span", { className: "text-sm font-semibold text-slate-900 dark:text-white", children: [
|
|
3587
3536
|
"v",
|
|
3588
3537
|
version.version
|
|
3589
3538
|
] }),
|
|
3590
3539
|
isCurrentVersion && /* @__PURE__ */ jsx(Badge, { color: "blue", size: "xs", children: translations("current") })
|
|
3591
3540
|
] }) }),
|
|
3592
|
-
/* @__PURE__ */ jsxs("div", { className: "mt-1 text-xs text-
|
|
3541
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-1 text-xs text-slate-500 dark:text-slate-400", children: [
|
|
3593
3542
|
/* @__PURE__ */ jsx("div", { children: formatTimestamp3(version.publishedAt) }),
|
|
3594
3543
|
/* @__PURE__ */ jsxs("div", { className: "mt-0.5", children: [
|
|
3595
3544
|
translations("publishedBy"),
|
|
@@ -3608,11 +3557,12 @@ function VersionHistoryPanel({
|
|
|
3608
3557
|
] }),
|
|
3609
3558
|
/* @__PURE__ */ jsxs("div", { className: "mt-2 flex gap-2", children: [
|
|
3610
3559
|
/* @__PURE__ */ jsxs(
|
|
3611
|
-
|
|
3560
|
+
Button,
|
|
3612
3561
|
{
|
|
3613
3562
|
type: "button",
|
|
3563
|
+
outline: true,
|
|
3564
|
+
size: "xs",
|
|
3614
3565
|
onClick: () => onPreview(version),
|
|
3615
|
-
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",
|
|
3616
3566
|
"data-testid": `version-preview-${version.version}`,
|
|
3617
3567
|
children: [
|
|
3618
3568
|
/* @__PURE__ */ jsx(EyeIcon, { className: "h-3 w-3" }),
|
|
@@ -3621,11 +3571,12 @@ function VersionHistoryPanel({
|
|
|
3621
3571
|
}
|
|
3622
3572
|
),
|
|
3623
3573
|
!isCurrentVersion && /* @__PURE__ */ jsxs(
|
|
3624
|
-
|
|
3574
|
+
Button,
|
|
3625
3575
|
{
|
|
3626
3576
|
type: "button",
|
|
3577
|
+
outline: true,
|
|
3578
|
+
size: "xs",
|
|
3627
3579
|
onClick: () => onRestore(version),
|
|
3628
|
-
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",
|
|
3629
3580
|
"data-testid": `version-restore-${version.version}`,
|
|
3630
3581
|
children: [
|
|
3631
3582
|
/* @__PURE__ */ jsx(ArrowPathIcon, { className: "h-3 w-3" }),
|
|
@@ -3647,8 +3598,8 @@ function VersionHistoryPanel({
|
|
|
3647
3598
|
var STATUS_CONFIG = {
|
|
3648
3599
|
pending: {
|
|
3649
3600
|
icon: ClockIcon,
|
|
3650
|
-
color: "text-
|
|
3651
|
-
background: "bg-
|
|
3601
|
+
color: "text-slate-400 dark:text-slate-500",
|
|
3602
|
+
background: "bg-slate-100 dark:bg-slate-800",
|
|
3652
3603
|
label: "pending"
|
|
3653
3604
|
},
|
|
3654
3605
|
running: {
|
|
@@ -3693,13 +3644,13 @@ function RunPanel({ open, onClose, onRun, onStop }) {
|
|
|
3693
3644
|
return /* @__PURE__ */ jsxs(
|
|
3694
3645
|
"div",
|
|
3695
3646
|
{
|
|
3696
|
-
className: "absolute bottom-0 left-0 right-0 z-40 border-t border-
|
|
3647
|
+
className: "liquid-surface absolute bottom-0 left-0 right-0 z-40 border-t border-slate-200/60 shadow-xl dark:border-white/10",
|
|
3697
3648
|
"data-testid": "run-panel",
|
|
3698
3649
|
children: [
|
|
3699
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between
|
|
3650
|
+
/* @__PURE__ */ jsxs("div", { className: "liquid-divider flex items-center justify-between px-4 py-2", children: [
|
|
3700
3651
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3701
|
-
/* @__PURE__ */ jsx(PlayIcon, { className: "h-4 w-4 text-
|
|
3702
|
-
/* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-
|
|
3652
|
+
/* @__PURE__ */ jsx(PlayIcon, { className: "h-4 w-4 text-slate-500 dark:text-slate-400" }),
|
|
3653
|
+
/* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-slate-900 dark:text-white", children: translations("title") }),
|
|
3703
3654
|
isRunning && /* @__PURE__ */ jsxs(
|
|
3704
3655
|
"span",
|
|
3705
3656
|
{
|
|
@@ -3721,11 +3672,12 @@ function RunPanel({ open, onClose, onRun, onStop }) {
|
|
|
3721
3672
|
] }),
|
|
3722
3673
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3723
3674
|
isRunning ? /* @__PURE__ */ jsxs(
|
|
3724
|
-
|
|
3675
|
+
Button,
|
|
3725
3676
|
{
|
|
3726
3677
|
type: "button",
|
|
3678
|
+
destructive: true,
|
|
3679
|
+
size: "sm",
|
|
3727
3680
|
onClick: onStop,
|
|
3728
|
-
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",
|
|
3729
3681
|
"data-testid": "run-panel-stop",
|
|
3730
3682
|
children: [
|
|
3731
3683
|
/* @__PURE__ */ jsx(StopIcon, { className: "h-3.5 w-3.5" }),
|
|
@@ -3733,12 +3685,13 @@ function RunPanel({ open, onClose, onRun, onStop }) {
|
|
|
3733
3685
|
]
|
|
3734
3686
|
}
|
|
3735
3687
|
) : /* @__PURE__ */ jsxs(
|
|
3736
|
-
|
|
3688
|
+
Button,
|
|
3737
3689
|
{
|
|
3738
3690
|
type: "button",
|
|
3691
|
+
color: "ios-green",
|
|
3692
|
+
size: "sm",
|
|
3739
3693
|
onClick: onRun,
|
|
3740
3694
|
disabled: !canRun,
|
|
3741
|
-
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",
|
|
3742
3695
|
"data-testid": "run-panel-run",
|
|
3743
3696
|
children: [
|
|
3744
3697
|
/* @__PURE__ */ jsx(PlayIcon, { className: "h-3.5 w-3.5" }),
|
|
@@ -3747,18 +3700,19 @@ function RunPanel({ open, onClose, onRun, onStop }) {
|
|
|
3747
3700
|
}
|
|
3748
3701
|
),
|
|
3749
3702
|
/* @__PURE__ */ jsx(
|
|
3750
|
-
|
|
3703
|
+
IconButton,
|
|
3751
3704
|
{
|
|
3752
|
-
|
|
3705
|
+
label: translations("close"),
|
|
3706
|
+
variant: "ghost",
|
|
3707
|
+
size: "sm",
|
|
3753
3708
|
onClick: onClose,
|
|
3754
|
-
|
|
3755
|
-
"data-testid": "run-panel-close"
|
|
3756
|
-
children: /* @__PURE__ */ jsx(XMarkIcon, { className: "h-4 w-4" })
|
|
3709
|
+
icon: /* @__PURE__ */ jsx(XMarkIcon, { className: "h-4 w-4" }),
|
|
3710
|
+
"data-testid": "run-panel-close"
|
|
3757
3711
|
}
|
|
3758
3712
|
)
|
|
3759
3713
|
] })
|
|
3760
3714
|
] }),
|
|
3761
|
-
/* @__PURE__ */ jsx("div", { className: "max-h-48 overflow-y-auto px-4 py-2", children: executionNodes.length === 0 ? /* @__PURE__ */ jsx("div", { className: "py-4 text-center text-sm text-
|
|
3715
|
+
/* @__PURE__ */ jsx("div", { className: "max-h-48 overflow-y-auto px-4 py-2", children: executionNodes.length === 0 ? /* @__PURE__ */ jsx("div", { className: "py-4 text-center text-sm text-slate-500 dark:text-slate-400", children: translations("noNodes") }) : /* @__PURE__ */ jsx("div", { className: "space-y-1", children: executionNodes.map((node) => {
|
|
3762
3716
|
const result = nodeResults[node.id];
|
|
3763
3717
|
const status = result?.status ?? "pending";
|
|
3764
3718
|
const statusConfig = STATUS_CONFIG[status];
|
|
@@ -3773,12 +3727,12 @@ function RunPanel({ open, onClose, onRun, onStop }) {
|
|
|
3773
3727
|
/* @__PURE__ */ jsx(StatusIconComponent, { className: `h-4 w-4 flex-shrink-0 ${statusConfig.color}` }),
|
|
3774
3728
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
3775
3729
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3776
|
-
/* @__PURE__ */ jsx("span", { className: "truncate text-sm font-medium text-
|
|
3777
|
-
/* @__PURE__ */ jsx("span", { className: "rounded bg-
|
|
3730
|
+
/* @__PURE__ */ jsx("span", { className: "truncate text-sm font-medium text-slate-900 dark:text-white", children: nodeLabel }),
|
|
3731
|
+
/* @__PURE__ */ 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 })
|
|
3778
3732
|
] }),
|
|
3779
3733
|
result?.error && /* @__PURE__ */ jsx("p", { className: "mt-0.5 truncate text-xs text-red-500 dark:text-red-400", children: result.error })
|
|
3780
3734
|
] }),
|
|
3781
|
-
result?.durationMs !== void 0 && /* @__PURE__ */ jsx("span", { className: "flex-shrink-0 text-xs text-
|
|
3735
|
+
result?.durationMs !== void 0 && /* @__PURE__ */ jsx("span", { className: "flex-shrink-0 text-xs text-slate-500 dark:text-slate-400", children: formatDuration2(result.durationMs) })
|
|
3782
3736
|
]
|
|
3783
3737
|
},
|
|
3784
3738
|
node.id
|
|
@@ -4051,32 +4005,33 @@ function VariableInspector({ open, onClose }) {
|
|
|
4051
4005
|
return /* @__PURE__ */ jsxs(
|
|
4052
4006
|
"div",
|
|
4053
4007
|
{
|
|
4054
|
-
className: "absolute right-0 top-0 z-40 flex h-full w-80 flex-col
|
|
4008
|
+
className: "liquid-surface absolute right-0 top-0 z-40 flex h-full w-80 flex-col shadow-xl",
|
|
4055
4009
|
"data-testid": "variable-inspector",
|
|
4056
4010
|
children: [
|
|
4057
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between border-b
|
|
4011
|
+
/* @__PURE__ */ jsxs("div", { className: "liquid-divider flex items-center justify-between border-b px-4 py-3", children: [
|
|
4058
4012
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
4059
|
-
/* @__PURE__ */ jsx(VariableIcon, { className: "h-5 w-5 text-
|
|
4060
|
-
/* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-
|
|
4013
|
+
/* @__PURE__ */ jsx(VariableIcon, { className: "h-5 w-5 text-slate-500 dark:text-slate-400" }),
|
|
4014
|
+
/* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-slate-900 dark:text-white", children: translations("title") })
|
|
4061
4015
|
] }),
|
|
4062
4016
|
/* @__PURE__ */ jsx(
|
|
4063
|
-
|
|
4017
|
+
IconButton,
|
|
4064
4018
|
{
|
|
4065
|
-
|
|
4019
|
+
label: translations("close"),
|
|
4020
|
+
variant: "ghost",
|
|
4021
|
+
size: "sm",
|
|
4066
4022
|
onClick: onClose,
|
|
4067
|
-
|
|
4068
|
-
"data-testid": "variable-inspector-close"
|
|
4069
|
-
children: /* @__PURE__ */ jsx(XMarkIcon, { className: "h-4 w-4" })
|
|
4023
|
+
icon: /* @__PURE__ */ jsx(XMarkIcon, { className: "h-4 w-4" }),
|
|
4024
|
+
"data-testid": "variable-inspector-close"
|
|
4070
4025
|
}
|
|
4071
4026
|
)
|
|
4072
4027
|
] }),
|
|
4073
4028
|
/* @__PURE__ */ jsx("div", { className: "flex-1 overflow-y-auto", children: nodeVariableEntries.length === 0 ? /* @__PURE__ */ jsxs("div", { className: "px-4 py-12 text-center", "data-testid": "variable-inspector-empty", children: [
|
|
4074
|
-
/* @__PURE__ */ jsx(VariableIcon, { className: "mx-auto h-8 w-8 text-
|
|
4075
|
-
/* @__PURE__ */ jsx("p", { className: "mt-2 text-sm text-
|
|
4076
|
-
] }) : /* @__PURE__ */ jsx("div", { className: "divide-y divide-
|
|
4029
|
+
/* @__PURE__ */ jsx(VariableIcon, { className: "mx-auto h-8 w-8 text-slate-300 dark:text-slate-600" }),
|
|
4030
|
+
/* @__PURE__ */ jsx("p", { className: "mt-2 text-sm text-slate-500 dark:text-slate-400", children: translations("noNodes") })
|
|
4031
|
+
] }) : /* @__PURE__ */ jsx("div", { className: "divide-y divide-slate-100 dark:divide-slate-800", children: nodeVariableEntries.map((entry) => {
|
|
4077
4032
|
const isExpanded = expandedNodes.has(entry.nodeId);
|
|
4078
4033
|
const IconComponent = LOGIC_ICON_MAP[entry.nodeType];
|
|
4079
|
-
const gradient = LOGIC_NODE_GRADIENTS[entry.nodeType] ?? "from-
|
|
4034
|
+
const gradient = LOGIC_NODE_GRADIENTS[entry.nodeType] ?? "from-slate-400 to-slate-500";
|
|
4080
4035
|
const inputVariables = entry.variables.filter((variable) => variable.direction === "input");
|
|
4081
4036
|
const outputVariables = entry.variables.filter((variable) => variable.direction === "output");
|
|
4082
4037
|
return /* @__PURE__ */ jsxs("div", { "data-testid": `variable-node-${entry.nodeId}`, children: [
|
|
@@ -4085,12 +4040,12 @@ function VariableInspector({ open, onClose }) {
|
|
|
4085
4040
|
{
|
|
4086
4041
|
type: "button",
|
|
4087
4042
|
onClick: () => toggleNodeExpansion(entry.nodeId),
|
|
4088
|
-
className: "flex w-full items-center gap-2 px-4 py-2.5 text-left transition-colors hover:bg-
|
|
4043
|
+
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]",
|
|
4089
4044
|
children: [
|
|
4090
|
-
isExpanded ? /* @__PURE__ */ jsx(ChevronDownIcon, { className: "h-3.5 w-3.5 flex-shrink-0 text-
|
|
4045
|
+
isExpanded ? /* @__PURE__ */ jsx(ChevronDownIcon, { className: "h-3.5 w-3.5 flex-shrink-0 text-slate-400" }) : /* @__PURE__ */ jsx(ChevronRightIcon, { className: "h-3.5 w-3.5 flex-shrink-0 text-slate-400" }),
|
|
4091
4046
|
/* @__PURE__ */ jsx("div", { className: `flex h-5 w-5 flex-shrink-0 items-center justify-center rounded bg-gradient-to-br ${gradient}`, children: IconComponent && /* @__PURE__ */ jsx(IconComponent, { className: "h-3 w-3 text-white" }) }),
|
|
4092
|
-
/* @__PURE__ */ jsx("span", { className: "truncate text-sm font-medium text-
|
|
4093
|
-
/* @__PURE__ */ jsxs("span", { className: "ml-auto flex-shrink-0 text-[10px] text-
|
|
4047
|
+
/* @__PURE__ */ jsx("span", { className: "truncate text-sm font-medium text-slate-900 dark:text-white", children: entry.nodeLabel }),
|
|
4048
|
+
/* @__PURE__ */ jsxs("span", { className: "ml-auto flex-shrink-0 text-[10px] text-slate-400 dark:text-slate-500", children: [
|
|
4094
4049
|
entry.variables.length,
|
|
4095
4050
|
" ",
|
|
4096
4051
|
translations("variables")
|
|
@@ -4098,32 +4053,32 @@ function VariableInspector({ open, onClose }) {
|
|
|
4098
4053
|
]
|
|
4099
4054
|
}
|
|
4100
4055
|
),
|
|
4101
|
-
isExpanded && /* @__PURE__ */ jsx("div", { className: "bg-
|
|
4056
|
+
isExpanded && /* @__PURE__ */ jsx("div", { className: "bg-white/40 dark:bg-white/[0.04] backdrop-blur-sm px-4 pb-2", children: entry.variables.length === 0 ? /* @__PURE__ */ jsx("p", { className: "py-2 pl-9 text-xs italic text-slate-400 dark:text-slate-500", children: translations("noVariables") }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4102
4057
|
inputVariables.length > 0 && /* @__PURE__ */ jsxs("div", { className: "pl-9 pt-1", children: [
|
|
4103
|
-
/* @__PURE__ */ jsx("div", { className: "mb-1 text-[10px] font-medium uppercase tracking-wider text-
|
|
4058
|
+
/* @__PURE__ */ jsx("div", { className: "mb-1 text-[10px] font-medium uppercase tracking-wider text-slate-400 dark:text-slate-500", children: translations("inputs") }),
|
|
4104
4059
|
inputVariables.map((variable, index) => /* @__PURE__ */ jsxs(
|
|
4105
4060
|
"div",
|
|
4106
4061
|
{
|
|
4107
4062
|
className: "flex items-center gap-2 py-0.5",
|
|
4108
4063
|
children: [
|
|
4109
4064
|
/* @__PURE__ */ jsx("span", { className: "h-1.5 w-1.5 rounded-full bg-blue-400" }),
|
|
4110
|
-
/* @__PURE__ */ jsx("span", { className: "text-xs text-
|
|
4111
|
-
/* @__PURE__ */ jsx("span", { className: "rounded bg-
|
|
4065
|
+
/* @__PURE__ */ jsx("span", { className: "text-xs text-slate-700 dark:text-slate-300", children: variable.name }),
|
|
4066
|
+
/* @__PURE__ */ 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 })
|
|
4112
4067
|
]
|
|
4113
4068
|
},
|
|
4114
4069
|
`${variable.name}-${index}`
|
|
4115
4070
|
))
|
|
4116
4071
|
] }),
|
|
4117
4072
|
outputVariables.length > 0 && /* @__PURE__ */ jsxs("div", { className: "pl-9 pt-1", children: [
|
|
4118
|
-
/* @__PURE__ */ jsx("div", { className: "mb-1 text-[10px] font-medium uppercase tracking-wider text-
|
|
4073
|
+
/* @__PURE__ */ jsx("div", { className: "mb-1 text-[10px] font-medium uppercase tracking-wider text-slate-400 dark:text-slate-500", children: translations("outputs") }),
|
|
4119
4074
|
outputVariables.map((variable, index) => /* @__PURE__ */ jsxs(
|
|
4120
4075
|
"div",
|
|
4121
4076
|
{
|
|
4122
4077
|
className: "flex items-center gap-2 py-0.5",
|
|
4123
4078
|
children: [
|
|
4124
4079
|
/* @__PURE__ */ jsx("span", { className: "h-1.5 w-1.5 rounded-full bg-green-400" }),
|
|
4125
|
-
/* @__PURE__ */ jsx("span", { className: "text-xs text-
|
|
4126
|
-
/* @__PURE__ */ jsx("span", { className: "rounded bg-
|
|
4080
|
+
/* @__PURE__ */ jsx("span", { className: "text-xs text-slate-700 dark:text-slate-300", children: variable.name }),
|
|
4081
|
+
/* @__PURE__ */ 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 })
|
|
4127
4082
|
]
|
|
4128
4083
|
},
|
|
4129
4084
|
`${variable.name}-${index}`
|
|
@@ -4203,10 +4158,10 @@ var STATUS_STYLES = {
|
|
|
4203
4158
|
completed: { icon: CheckCircleIcon, colorClass: "text-green-500" },
|
|
4204
4159
|
failed: { icon: ExclamationCircleIcon, colorClass: "text-red-500" },
|
|
4205
4160
|
running: { icon: ArrowPathIcon, colorClass: "text-blue-500 animate-spin motion-reduce:animate-none" },
|
|
4206
|
-
pending: { icon: ClockIcon, colorClass: "text-
|
|
4161
|
+
pending: { icon: ClockIcon, colorClass: "text-slate-400" },
|
|
4207
4162
|
success: { icon: CheckCircleIcon, colorClass: "text-green-500" },
|
|
4208
4163
|
error: { icon: ExclamationCircleIcon, colorClass: "text-red-500" },
|
|
4209
|
-
skipped: { icon: ClockIcon, colorClass: "text-
|
|
4164
|
+
skipped: { icon: ClockIcon, colorClass: "text-slate-400" }
|
|
4210
4165
|
};
|
|
4211
4166
|
function formatDuration3(durationMs) {
|
|
4212
4167
|
if (durationMs === null) return "\u2014";
|
|
@@ -4243,21 +4198,22 @@ function PreviewPanel({ open, onClose, workflowId, loadRuns }) {
|
|
|
4243
4198
|
if (!open) return null;
|
|
4244
4199
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4245
4200
|
/* @__PURE__ */ jsx("div", { className: "fixed inset-x-0 top-[120px] bottom-0 z-40 bg-black/10 backdrop-blur-[1px]", onClick: onClose }),
|
|
4246
|
-
/* @__PURE__ */ 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-
|
|
4247
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between border-b
|
|
4248
|
-
/* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-
|
|
4201
|
+
/* @__PURE__ */ 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: [
|
|
4202
|
+
/* @__PURE__ */ jsxs("div", { className: "liquid-divider flex items-center justify-between border-b px-4 py-3", children: [
|
|
4203
|
+
/* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-slate-900 dark:text-white", children: t("title") }),
|
|
4249
4204
|
/* @__PURE__ */ jsx(
|
|
4250
|
-
|
|
4205
|
+
IconButton,
|
|
4251
4206
|
{
|
|
4252
|
-
|
|
4207
|
+
label: t("close"),
|
|
4208
|
+
variant: "ghost",
|
|
4209
|
+
size: "sm",
|
|
4253
4210
|
onClick: onClose,
|
|
4254
|
-
|
|
4255
|
-
children: /* @__PURE__ */ jsx(XMarkIcon, { className: "h-4 w-4" })
|
|
4211
|
+
icon: /* @__PURE__ */ jsx(XMarkIcon, { className: "h-4 w-4" })
|
|
4256
4212
|
}
|
|
4257
4213
|
)
|
|
4258
4214
|
] }),
|
|
4259
4215
|
/* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col overflow-hidden", children: [
|
|
4260
|
-
isRunning && /* @__PURE__ */ jsxs("div", { className: "
|
|
4216
|
+
isRunning && /* @__PURE__ */ jsxs("div", { className: "liquid-divider border-b px-4 py-3", children: [
|
|
4261
4217
|
/* @__PURE__ */ jsxs("div", { className: "mb-2 flex items-center gap-2", children: [
|
|
4262
4218
|
/* @__PURE__ */ jsx(ArrowPathIcon, { className: "h-4 w-4 animate-spin motion-reduce:animate-none text-blue-500" }),
|
|
4263
4219
|
/* @__PURE__ */ jsx("span", { className: "text-xs font-semibold text-blue-600 dark:text-blue-400", children: t("activeRun") })
|
|
@@ -4265,46 +4221,46 @@ function PreviewPanel({ open, onClose, workflowId, loadRuns }) {
|
|
|
4265
4221
|
/* @__PURE__ */ jsx("div", { className: "max-h-60 space-y-1 overflow-y-auto", children: Object.entries(nodeResults).map(([nodeId, result]) => {
|
|
4266
4222
|
const statusStyle = STATUS_STYLES[result.status] ?? STATUS_STYLES.pending;
|
|
4267
4223
|
const StatusIcon = statusStyle.icon;
|
|
4268
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between rounded-lg px-2 py-1.5 text-xs hover:bg-
|
|
4224
|
+
return /* @__PURE__ */ 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: [
|
|
4269
4225
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
4270
4226
|
/* @__PURE__ */ jsx(StatusIcon, { className: `h-3.5 w-3.5 ${statusStyle.colorClass}` }),
|
|
4271
|
-
/* @__PURE__ */ jsx("span", { className: "truncate text-
|
|
4227
|
+
/* @__PURE__ */ jsx("span", { className: "truncate text-slate-700 dark:text-slate-300", children: nodeId.slice(0, 8) })
|
|
4272
4228
|
] }),
|
|
4273
|
-
result.durationMs !== void 0 && /* @__PURE__ */ jsx("span", { className: "text-
|
|
4229
|
+
result.durationMs !== void 0 && /* @__PURE__ */ jsx("span", { className: "text-slate-400", children: formatDuration3(result.durationMs) })
|
|
4274
4230
|
] }, nodeId);
|
|
4275
4231
|
}) })
|
|
4276
4232
|
] }),
|
|
4277
|
-
selectedNode && /* @__PURE__ */ jsxs("div", { className: "
|
|
4233
|
+
selectedNode && /* @__PURE__ */ jsxs("div", { className: "liquid-divider border-b px-4 py-3", children: [
|
|
4278
4234
|
/* @__PURE__ */ jsxs("div", { className: "mb-2 flex items-center justify-between", children: [
|
|
4279
|
-
/* @__PURE__ */ jsx("span", { className: "text-xs font-semibold text-
|
|
4280
|
-
/* @__PURE__ */ jsx(
|
|
4235
|
+
/* @__PURE__ */ jsx("span", { className: "text-xs font-semibold text-slate-900 dark:text-white", children: t("nodeDetail") }),
|
|
4236
|
+
/* @__PURE__ */ jsx(Button, { type: "button", plain: true, size: "xs", onClick: () => setSelectedNode(null), children: t("close") })
|
|
4281
4237
|
] }),
|
|
4282
4238
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2 text-xs", children: [
|
|
4283
4239
|
/* @__PURE__ */ jsxs("div", { className: "flex justify-between", children: [
|
|
4284
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
4285
|
-
/* @__PURE__ */ jsx("span", { className: STATUS_STYLES[selectedNode.status]?.colorClass ?? "text-
|
|
4240
|
+
/* @__PURE__ */ jsx("span", { className: "text-slate-500", children: t("status") }),
|
|
4241
|
+
/* @__PURE__ */ jsx("span", { className: STATUS_STYLES[selectedNode.status]?.colorClass ?? "text-slate-400", children: t(selectedNode.status) })
|
|
4286
4242
|
] }),
|
|
4287
4243
|
/* @__PURE__ */ jsxs("div", { className: "flex justify-between", children: [
|
|
4288
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
4289
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
4244
|
+
/* @__PURE__ */ jsx("span", { className: "text-slate-500", children: t("duration") }),
|
|
4245
|
+
/* @__PURE__ */ jsx("span", { className: "text-slate-700 dark:text-slate-300", children: formatDuration3(selectedNode.durationMs) })
|
|
4290
4246
|
] }),
|
|
4291
4247
|
selectedNode.error && /* @__PURE__ */ jsxs("div", { children: [
|
|
4292
4248
|
/* @__PURE__ */ jsx("span", { className: "text-red-500", children: t("error") }),
|
|
4293
4249
|
/* @__PURE__ */ 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 })
|
|
4294
4250
|
] }),
|
|
4295
4251
|
Object.keys(selectedNode.outputs).length > 0 && /* @__PURE__ */ jsxs("div", { children: [
|
|
4296
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
4297
|
-
/* @__PURE__ */ jsx("pre", { className: "mt-1 max-h-32 overflow-auto whitespace-pre-wrap rounded bg-
|
|
4252
|
+
/* @__PURE__ */ jsx("span", { className: "text-slate-500", children: t("outputs") }),
|
|
4253
|
+
/* @__PURE__ */ 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) })
|
|
4298
4254
|
] })
|
|
4299
4255
|
] })
|
|
4300
4256
|
] }),
|
|
4301
4257
|
/* @__PURE__ */ jsxs("div", { className: "flex-1 overflow-y-auto px-4 py-3", children: [
|
|
4302
|
-
/* @__PURE__ */ jsx("h4", { className: "mb-2 text-xs font-semibold text-
|
|
4258
|
+
/* @__PURE__ */ jsx("h4", { className: "mb-2 text-xs font-semibold text-slate-500 dark:text-slate-400", children: t("runHistory") }),
|
|
4303
4259
|
isLoadingRuns && /* @__PURE__ */ jsx("div", { className: "space-y-2", children: [1, 2, 3].map((index) => /* @__PURE__ */ jsx("div", { className: "shimmer h-14 rounded-lg" }, index)) }),
|
|
4304
4260
|
!isLoadingRuns && runs.length === 0 && /* @__PURE__ */ jsxs("div", { className: "py-8 text-center", children: [
|
|
4305
|
-
/* @__PURE__ */ jsx(ClockIcon, { className: "mx-auto mb-2 h-8 w-8 text-
|
|
4306
|
-
/* @__PURE__ */ jsx("p", { className: "text-xs text-
|
|
4307
|
-
/* @__PURE__ */ jsx("p", { className: "mt-1 text-[10px] text-
|
|
4261
|
+
/* @__PURE__ */ jsx(ClockIcon, { className: "mx-auto mb-2 h-8 w-8 text-slate-300 dark:text-slate-600" }),
|
|
4262
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs text-slate-500 dark:text-slate-400", children: t("noRuns") }),
|
|
4263
|
+
/* @__PURE__ */ jsx("p", { className: "mt-1 text-[10px] text-slate-400 dark:text-slate-500", children: t("noRunsDescription") })
|
|
4308
4264
|
] }),
|
|
4309
4265
|
!isLoadingRuns && runs.length > 0 && /* @__PURE__ */ jsx("div", { className: "space-y-1.5", children: runs.map((run) => {
|
|
4310
4266
|
const statusStyle = STATUS_STYLES[run.status] ?? STATUS_STYLES.pending;
|
|
@@ -4318,14 +4274,14 @@ function PreviewPanel({ open, onClose, workflowId, loadRuns }) {
|
|
|
4318
4274
|
setSelectedRun(isSelected ? null : run);
|
|
4319
4275
|
setSelectedNode(null);
|
|
4320
4276
|
},
|
|
4321
|
-
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-
|
|
4277
|
+
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]"}`,
|
|
4322
4278
|
children: [
|
|
4323
4279
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
4324
4280
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
4325
4281
|
/* @__PURE__ */ jsx(StatusIcon, { className: `h-3.5 w-3.5 ${statusStyle.colorClass}` }),
|
|
4326
|
-
/* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-
|
|
4282
|
+
/* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-slate-900 dark:text-white", children: formatTimestamp2(run.createdAt) })
|
|
4327
4283
|
] }),
|
|
4328
|
-
/* @__PURE__ */ jsx("span", { className: "text-[10px] text-
|
|
4284
|
+
/* @__PURE__ */ jsx("span", { className: "text-[10px] text-slate-400", children: formatDuration3(run.totalDurationMs) })
|
|
4329
4285
|
] }),
|
|
4330
4286
|
run.error && /* @__PURE__ */ jsx("p", { className: "mt-1 truncate text-[10px] text-red-500", children: run.error })
|
|
4331
4287
|
]
|
|
@@ -4334,7 +4290,7 @@ function PreviewPanel({ open, onClose, workflowId, loadRuns }) {
|
|
|
4334
4290
|
);
|
|
4335
4291
|
}) }),
|
|
4336
4292
|
selectedRun && selectedRun.nodeResults.length > 0 && /* @__PURE__ */ jsxs("div", { className: "mt-3 space-y-1", children: [
|
|
4337
|
-
/* @__PURE__ */ jsx("h5", { className: "mb-1.5 text-[10px] font-semibold uppercase tracking-wider text-
|
|
4293
|
+
/* @__PURE__ */ jsx("h5", { className: "mb-1.5 text-[10px] font-semibold uppercase tracking-wider text-slate-400", children: "Nodes" }),
|
|
4338
4294
|
selectedRun.nodeResults.map((nodeResult) => {
|
|
4339
4295
|
const nodeStatusStyle = STATUS_STYLES[nodeResult.status] ?? STATUS_STYLES.pending;
|
|
4340
4296
|
const NodeStatusIcon = nodeStatusStyle.icon;
|
|
@@ -4343,13 +4299,13 @@ function PreviewPanel({ open, onClose, workflowId, loadRuns }) {
|
|
|
4343
4299
|
{
|
|
4344
4300
|
type: "button",
|
|
4345
4301
|
onClick: () => setSelectedNode(nodeResult),
|
|
4346
|
-
className: "flex w-full items-center justify-between rounded px-2 py-1.5 text-xs hover:bg-
|
|
4302
|
+
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]",
|
|
4347
4303
|
children: [
|
|
4348
4304
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
4349
4305
|
/* @__PURE__ */ jsx(NodeStatusIcon, { className: `h-3 w-3 ${nodeStatusStyle.colorClass}` }),
|
|
4350
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
4306
|
+
/* @__PURE__ */ jsx("span", { className: "text-slate-700 dark:text-slate-300", children: nodeResult.nodeType })
|
|
4351
4307
|
] }),
|
|
4352
|
-
/* @__PURE__ */ jsx("span", { className: "text-[10px] text-
|
|
4308
|
+
/* @__PURE__ */ jsx("span", { className: "text-[10px] text-slate-400", children: formatDuration3(nodeResult.durationMs) })
|
|
4353
4309
|
]
|
|
4354
4310
|
},
|
|
4355
4311
|
nodeResult.nodeId
|
|
@@ -4472,39 +4428,39 @@ function DslExportModal({ open, onClose, workflow, graph }) {
|
|
|
4472
4428
|
subtitle: translations("description"),
|
|
4473
4429
|
maxWidth: "2xl",
|
|
4474
4430
|
children: /* @__PURE__ */ jsxs("div", { "data-testid": "dsl-export-modal", children: [
|
|
4475
|
-
/* @__PURE__ */ jsx("div", { className: "
|
|
4431
|
+
/* @__PURE__ */ jsx("div", { className: "liquid-divider px-1 py-4", children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4 text-sm", children: [
|
|
4476
4432
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
4477
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
4478
|
-
/* @__PURE__ */ jsx("p", { className: "font-medium text-
|
|
4433
|
+
/* @__PURE__ */ jsx("span", { className: "text-slate-500 dark:text-slate-400", children: translations("workflowName") }),
|
|
4434
|
+
/* @__PURE__ */ jsx("p", { className: "font-medium text-slate-900 dark:text-white", children: workflow.name })
|
|
4479
4435
|
] }),
|
|
4480
4436
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
4481
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
4482
|
-
/* @__PURE__ */ jsxs("p", { className: "font-medium text-
|
|
4437
|
+
/* @__PURE__ */ jsx("span", { className: "text-slate-500 dark:text-slate-400", children: translations("version") }),
|
|
4438
|
+
/* @__PURE__ */ jsxs("p", { className: "font-medium text-slate-900 dark:text-white", children: [
|
|
4483
4439
|
"v",
|
|
4484
4440
|
workflow.version
|
|
4485
4441
|
] })
|
|
4486
4442
|
] }),
|
|
4487
4443
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
4488
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
4489
|
-
/* @__PURE__ */ jsx("p", { className: "font-medium text-
|
|
4444
|
+
/* @__PURE__ */ jsx("span", { className: "text-slate-500 dark:text-slate-400", children: translations("nodes") }),
|
|
4445
|
+
/* @__PURE__ */ jsx("p", { className: "font-medium text-slate-900 dark:text-white", children: graph.nodes.length })
|
|
4490
4446
|
] }),
|
|
4491
4447
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
4492
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
4493
|
-
/* @__PURE__ */ jsx("p", { className: "font-medium text-
|
|
4448
|
+
/* @__PURE__ */ jsx("span", { className: "text-slate-500 dark:text-slate-400", children: translations("edges") }),
|
|
4449
|
+
/* @__PURE__ */ jsx("p", { className: "font-medium text-slate-900 dark:text-white", children: graph.edges.length })
|
|
4494
4450
|
] })
|
|
4495
4451
|
] }) }),
|
|
4496
4452
|
/* @__PURE__ */ jsxs("div", { className: "px-1 py-4", children: [
|
|
4497
|
-
/* @__PURE__ */ jsx("div", { className: "mb-2 text-xs font-medium uppercase tracking-wider text-
|
|
4453
|
+
/* @__PURE__ */ jsx("div", { className: "mb-2 text-xs font-medium uppercase tracking-wider text-slate-400 dark:text-slate-500", children: translations("preview") }),
|
|
4498
4454
|
/* @__PURE__ */ jsx(
|
|
4499
4455
|
"pre",
|
|
4500
4456
|
{
|
|
4501
|
-
className: "max-h-64 overflow-auto rounded-lg
|
|
4457
|
+
className: "liquid-surface max-h-64 overflow-auto rounded-lg p-3 text-xs text-slate-700 dark:text-slate-300",
|
|
4502
4458
|
"data-testid": "export-json-preview",
|
|
4503
4459
|
children: previewLines
|
|
4504
4460
|
}
|
|
4505
4461
|
)
|
|
4506
4462
|
] }),
|
|
4507
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-end gap-3 border-t border-
|
|
4463
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-end gap-3 border-t border-slate-200 px-1 py-4 dark:border-slate-700", children: [
|
|
4508
4464
|
/* @__PURE__ */ jsx(
|
|
4509
4465
|
Button,
|
|
4510
4466
|
{
|
|
@@ -4697,15 +4653,15 @@ function DslImportModal({ open, onClose, onImport }) {
|
|
|
4697
4653
|
onDragLeave: handleDragLeave,
|
|
4698
4654
|
onDrop: handleDrop,
|
|
4699
4655
|
onClick: handleClickUpload,
|
|
4700
|
-
className: `cursor-pointer rounded-xl border-2 border-dashed p-8 text-center transition-colors duration-200 ${isDragActive ? "border-blue-400 bg-blue-50 dark:border-blue-500 dark:bg-blue-500/10" : "border-
|
|
4656
|
+
className: `cursor-pointer rounded-xl border-2 border-dashed p-8 text-center transition-colors duration-200 ${isDragActive ? "border-blue-400 bg-blue-50 dark:border-blue-500 dark:bg-blue-500/10" : "border-slate-300 hover:border-slate-400 dark:border-slate-600 dark:hover:border-slate-500"}`,
|
|
4701
4657
|
"data-testid": "import-dropzone",
|
|
4702
4658
|
role: "button",
|
|
4703
4659
|
tabIndex: 0,
|
|
4704
4660
|
"aria-label": translations("dropzone"),
|
|
4705
4661
|
children: [
|
|
4706
|
-
/* @__PURE__ */ jsx(ArrowUpTrayIcon, { className: "mx-auto h-10 w-10 text-
|
|
4707
|
-
/* @__PURE__ */ jsx("p", { className: "mt-3 text-sm font-medium text-
|
|
4708
|
-
/* @__PURE__ */ jsx("p", { className: "mt-1 text-xs text-
|
|
4662
|
+
/* @__PURE__ */ jsx(ArrowUpTrayIcon, { className: "mx-auto h-10 w-10 text-slate-400 dark:text-slate-500" }),
|
|
4663
|
+
/* @__PURE__ */ jsx("p", { className: "mt-3 text-sm font-medium text-slate-700 dark:text-slate-300", children: translations("dropzone") }),
|
|
4664
|
+
/* @__PURE__ */ jsx("p", { className: "mt-1 text-xs text-slate-500 dark:text-slate-400", children: translations("dropzoneHint") }),
|
|
4709
4665
|
/* @__PURE__ */ jsx(
|
|
4710
4666
|
"input",
|
|
4711
4667
|
{
|
|
@@ -4721,7 +4677,7 @@ function DslImportModal({ open, onClose, onImport }) {
|
|
|
4721
4677
|
}
|
|
4722
4678
|
) : /* @__PURE__ */ jsxs("div", { "data-testid": "import-validation-result", children: [
|
|
4723
4679
|
/* @__PURE__ */ jsxs("div", { className: "mb-4 flex items-center justify-between", children: [
|
|
4724
|
-
/* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-
|
|
4680
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-slate-700 dark:text-slate-300", children: fileName }),
|
|
4725
4681
|
/* @__PURE__ */ jsx(Button, { type: "button", plain: true, size: "sm", onClick: handleReset, children: translations("chooseAnother") })
|
|
4726
4682
|
] }),
|
|
4727
4683
|
validationResult.isValid ? /* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-green-200 bg-green-50 p-4 dark:border-green-800 dark:bg-green-900/20", children: [
|
|
@@ -4749,7 +4705,7 @@ function DslImportModal({ open, onClose, onImport }) {
|
|
|
4749
4705
|
/* @__PURE__ */ jsx("ul", { className: "mt-2 space-y-1", children: validationResult.errors.map((validationError, index) => /* @__PURE__ */ jsx("li", { className: "text-xs text-red-600 dark:text-red-400", children: validationError }, index)) })
|
|
4750
4706
|
] })
|
|
4751
4707
|
] }) }),
|
|
4752
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-end gap-3 border-t border-
|
|
4708
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-end gap-3 border-t border-slate-200 px-1 py-4 dark:border-slate-700", children: [
|
|
4753
4709
|
/* @__PURE__ */ jsx(Button, { type: "button", onClick: onClose, outline: true, size: "sm", "data-testid": "import-cancel-button", children: translations("cancel") }),
|
|
4754
4710
|
/* @__PURE__ */ jsxs(
|
|
4755
4711
|
Button,
|
|
@@ -5059,5 +5015,5 @@ function useHelpLines() {
|
|
|
5059
5015
|
}
|
|
5060
5016
|
|
|
5061
5017
|
export { AgentModal, AmazonNovaIcon, AnthropicModelIcon, AutoSaveWorkspace, DslExportModal, DslImportModal, DynamicIslandConfirm2 as DynamicIslandConfirm, ExecutionTimelinePanel, MetaLlamaIcon, ModelProviderFlowNode, NodePalette, OutputSchemaBuilder, PipelineSettingsModal, PreviewPanel, RULE_STATUS_OPTIONS, RuleActionBuilder, RuleConditionBuilder, RuleForm, RunInputDialog, RunPanel, RunReplayModal, S3WriteFlowNode, SaveStatusBadge, SubworkflowModal, TIMEZONE_OPTIONS, VariableInspector, VersionHistoryPanel, WorkflowListBar, defaultAgentOutputSchema, defaultRuleAction, defaultRuleCondition, defaultRuleForm, getModelIcon, useCanRedo, useCanUndo, useCanvasShortcuts, useClipboard, useContextMenu, useEditingNodeId, useHasCopied, useHelpLines, useIsRunning, useNodeResults, useSelectedNodeCount, useSubworkflowStore, useUndoRedo };
|
|
5062
|
-
//# sourceMappingURL=chunk-
|
|
5063
|
-
//# sourceMappingURL=chunk-
|
|
5018
|
+
//# sourceMappingURL=chunk-WTSMTLSP.mjs.map
|
|
5019
|
+
//# sourceMappingURL=chunk-WTSMTLSP.mjs.map
|