pxengine 0.1.42 → 0.1.44
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/index.cjs +291 -103
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -7
- package/dist/index.d.ts +7 -7
- package/dist/index.mjs +295 -107
- package/dist/index.mjs.map +1 -1
- package/dist/registry.json +1270 -1260
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -36156,13 +36156,14 @@ var TikTokIcon2 = ({ className }) => /* @__PURE__ */ (0, import_jsx_runtime113.j
|
|
|
36156
36156
|
var CreatorGridCard = ({
|
|
36157
36157
|
bannerSrc,
|
|
36158
36158
|
avatarSrc,
|
|
36159
|
-
name,
|
|
36160
|
-
handle,
|
|
36161
|
-
metrics,
|
|
36162
|
-
platforms,
|
|
36159
|
+
name = "",
|
|
36160
|
+
handle = "",
|
|
36161
|
+
metrics = [],
|
|
36162
|
+
platforms = [],
|
|
36163
36163
|
className
|
|
36164
36164
|
}) => {
|
|
36165
36165
|
const getIcon = (p) => {
|
|
36166
|
+
if (typeof p !== "string") return null;
|
|
36166
36167
|
switch (p.toLowerCase()) {
|
|
36167
36168
|
case "instagram":
|
|
36168
36169
|
return Instagram;
|
|
@@ -36176,6 +36177,9 @@ var CreatorGridCard = ({
|
|
|
36176
36177
|
return null;
|
|
36177
36178
|
}
|
|
36178
36179
|
};
|
|
36180
|
+
const safePlatforms = Array.isArray(platforms) ? platforms : [];
|
|
36181
|
+
const safeMetrics = Array.isArray(metrics) ? metrics : [];
|
|
36182
|
+
const displayName = typeof name === "string" ? name : String(name || "");
|
|
36179
36183
|
return /* @__PURE__ */ (0, import_jsx_runtime113.jsxs)(
|
|
36180
36184
|
Card,
|
|
36181
36185
|
{
|
|
@@ -36189,7 +36193,7 @@ var CreatorGridCard = ({
|
|
|
36189
36193
|
"img",
|
|
36190
36194
|
{
|
|
36191
36195
|
src: bannerSrc,
|
|
36192
|
-
alt:
|
|
36196
|
+
alt: displayName,
|
|
36193
36197
|
className: "h-full w-full object-cover transition-transform duration-500 group-hover:scale-110"
|
|
36194
36198
|
}
|
|
36195
36199
|
) : /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("div", { className: "h-full w-full bg-gradient-to-br from-purple-500 to-indigo-600" }),
|
|
@@ -36197,17 +36201,17 @@ var CreatorGridCard = ({
|
|
|
36197
36201
|
] }),
|
|
36198
36202
|
/* @__PURE__ */ (0, import_jsx_runtime113.jsxs)(CardContent, { className: "relative pt-0 px-5 pb-6", children: [
|
|
36199
36203
|
/* @__PURE__ */ (0, import_jsx_runtime113.jsx)("div", { className: "absolute -top-10 left-5", children: /* @__PURE__ */ (0, import_jsx_runtime113.jsxs)(Avatar, { className: "h-20 w-20 border-4 border-[var(--card-background)] shadow-lg ring-2 ring-purple-100/20", children: [
|
|
36200
|
-
/* @__PURE__ */ (0, import_jsx_runtime113.jsx)(AvatarImage, { src: avatarSrc, alt:
|
|
36201
|
-
/* @__PURE__ */ (0, import_jsx_runtime113.jsx)(AvatarFallback, { className: "bg-purple-500/10 text-purple-500 font-bold text-xl", children:
|
|
36204
|
+
/* @__PURE__ */ (0, import_jsx_runtime113.jsx)(AvatarImage, { src: avatarSrc, alt: displayName }),
|
|
36205
|
+
/* @__PURE__ */ (0, import_jsx_runtime113.jsx)(AvatarFallback, { className: "bg-purple-500/10 text-purple-500 font-bold text-xl", children: displayName.charAt(0) || "?" })
|
|
36202
36206
|
] }) }),
|
|
36203
36207
|
/* @__PURE__ */ (0, import_jsx_runtime113.jsxs)("div", { className: "mt-12 flex flex-col gap-1", children: [
|
|
36204
|
-
/* @__PURE__ */ (0, import_jsx_runtime113.jsx)("h3", { className: "text-xl font-bold text-[var(--foreground)] truncate", children:
|
|
36208
|
+
/* @__PURE__ */ (0, import_jsx_runtime113.jsx)("h3", { className: "text-xl font-bold text-[var(--foreground)] truncate", children: displayName }),
|
|
36205
36209
|
/* @__PURE__ */ (0, import_jsx_runtime113.jsxs)("p", { className: "text-sm text-[var(--foreground)]/60 font-medium", children: [
|
|
36206
36210
|
"@",
|
|
36207
36211
|
handle
|
|
36208
36212
|
] })
|
|
36209
36213
|
] }),
|
|
36210
|
-
/* @__PURE__ */ (0, import_jsx_runtime113.jsx)("div", { className: "mt-4 flex gap-2", children:
|
|
36214
|
+
/* @__PURE__ */ (0, import_jsx_runtime113.jsx)("div", { className: "mt-4 flex gap-2", children: safePlatforms.map((p, i) => {
|
|
36211
36215
|
const Icon3 = getIcon(p);
|
|
36212
36216
|
return Icon3 ? /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
|
|
36213
36217
|
"div",
|
|
@@ -36215,10 +36219,10 @@ var CreatorGridCard = ({
|
|
|
36215
36219
|
className: "p-1.5 rounded-lg bg-[var(--foreground)]/5 text-[var(--foreground)]/60 hover:text-purple-500 hover:bg-purple-500/10 transition-colors",
|
|
36216
36220
|
children: /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(Icon3, { className: "h-4 w-4" })
|
|
36217
36221
|
},
|
|
36218
|
-
p
|
|
36222
|
+
typeof p === "string" ? p : i
|
|
36219
36223
|
) : null;
|
|
36220
36224
|
}) }),
|
|
36221
|
-
/* @__PURE__ */ (0, import_jsx_runtime113.jsx)("div", { className: "mt-6 grid grid-cols-2 gap-4 border-t border-[var(--border-color)] pt-4", children:
|
|
36225
|
+
/* @__PURE__ */ (0, import_jsx_runtime113.jsx)("div", { className: "mt-6 grid grid-cols-2 gap-4 border-t border-[var(--border-color)] pt-4", children: safeMetrics.map((m, i) => /* @__PURE__ */ (0, import_jsx_runtime113.jsxs)("div", { className: "flex flex-col", children: [
|
|
36222
36226
|
/* @__PURE__ */ (0, import_jsx_runtime113.jsx)("span", { className: "text-[10px] font-bold uppercase tracking-wider text-[var(--foreground)]/40", children: m.label }),
|
|
36223
36227
|
/* @__PURE__ */ (0, import_jsx_runtime113.jsx)("span", { className: "text-sm font-bold text-[var(--primary-color)]", children: m.value })
|
|
36224
36228
|
] }, i)) })
|
|
@@ -37414,8 +37418,11 @@ function CreatorWidgetInner({
|
|
|
37414
37418
|
}
|
|
37415
37419
|
var CreatorWidget = (0, import_react68.memo)(CreatorWidgetInner);
|
|
37416
37420
|
|
|
37417
|
-
// src/molecules/
|
|
37421
|
+
// src/molecules/workstream-builder/ToolListCard/ToolListCard.tsx
|
|
37418
37422
|
var import_jsx_runtime127 = require("react/jsx-runtime");
|
|
37423
|
+
var FONT_STYLE = {
|
|
37424
|
+
fontFamily: "Inter, system-ui, sans-serif"
|
|
37425
|
+
};
|
|
37419
37426
|
var ICON_MAP = {
|
|
37420
37427
|
Search,
|
|
37421
37428
|
Database,
|
|
@@ -37452,6 +37459,17 @@ var CATEGORY_FALLBACK = {
|
|
|
37452
37459
|
security: Shield,
|
|
37453
37460
|
general: Zap
|
|
37454
37461
|
};
|
|
37462
|
+
var CATEGORY_HEADER_BG = {
|
|
37463
|
+
search: "bg-blue-500/[0.04]",
|
|
37464
|
+
data: "bg-emerald-500/[0.04]",
|
|
37465
|
+
knowledge: "bg-purple-500/[0.04]",
|
|
37466
|
+
web: "bg-cyan-500/[0.04]",
|
|
37467
|
+
content: "bg-pink-500/[0.04]",
|
|
37468
|
+
ui: "bg-violet-500/[0.04]",
|
|
37469
|
+
analytics: "bg-orange-500/[0.04]",
|
|
37470
|
+
integration: "bg-amber-500/[0.04]",
|
|
37471
|
+
general: "bg-[var(--foreground)]/[0.02]"
|
|
37472
|
+
};
|
|
37455
37473
|
function resolveIcon(tool) {
|
|
37456
37474
|
if (tool.icon && ICON_MAP[tool.icon]) return ICON_MAP[tool.icon];
|
|
37457
37475
|
if (tool.category && CATEGORY_FALLBACK[tool.category.toLowerCase()])
|
|
@@ -37479,6 +37497,7 @@ var ToolListCard = ({
|
|
|
37479
37497
|
"text-foreground hover:bg-muted/50 hover:text-foreground my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden shadow-sm",
|
|
37480
37498
|
className
|
|
37481
37499
|
),
|
|
37500
|
+
style: FONT_STYLE,
|
|
37482
37501
|
children: [
|
|
37483
37502
|
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03] flex items-center gap-2.5", children: [
|
|
37484
37503
|
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "w-6 h-6 rounded-md bg-interactive/10 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Wrench, { className: "w-3.5 h-3.5 text-interactive" }) }),
|
|
@@ -37487,8 +37506,9 @@ var ToolListCard = ({
|
|
|
37487
37506
|
] }),
|
|
37488
37507
|
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "divide-y divide-[var(--border-color)]", children: categories.map((cat) => {
|
|
37489
37508
|
const CatIcon = resolveCategoryIcon(cat);
|
|
37509
|
+
const headerBg = CATEGORY_HEADER_BG[cat.toLowerCase()] || CATEGORY_HEADER_BG.general;
|
|
37490
37510
|
return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "px-4 py-3", children: [
|
|
37491
|
-
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "flex items-center gap-2 mb-2.5", children: [
|
|
37511
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: cn("flex items-center gap-2 mb-2.5 -mx-4 px-4 py-1.5", headerBg), children: [
|
|
37492
37512
|
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(CatIcon, { className: "w-3.5 h-3.5 text-interactive/70" }),
|
|
37493
37513
|
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { className: "text-[11px] font-semibold text-[var(--foreground)]/50 uppercase tracking-wider", children: cat }),
|
|
37494
37514
|
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { className: "text-[10px] text-[var(--foreground)]/30", children: grouped[cat].length })
|
|
@@ -37520,9 +37540,12 @@ var ToolListCard = ({
|
|
|
37520
37540
|
);
|
|
37521
37541
|
};
|
|
37522
37542
|
|
|
37523
|
-
// src/molecules/
|
|
37543
|
+
// src/molecules/workstream-builder/AgentCard/AgentCard.tsx
|
|
37524
37544
|
var import_react69 = require("react");
|
|
37525
37545
|
var import_jsx_runtime128 = require("react/jsx-runtime");
|
|
37546
|
+
var FONT_STYLE2 = {
|
|
37547
|
+
fontFamily: "Inter, system-ui, sans-serif"
|
|
37548
|
+
};
|
|
37526
37549
|
var AgentCard = ({
|
|
37527
37550
|
agent,
|
|
37528
37551
|
editable = true,
|
|
@@ -37580,6 +37603,7 @@ var AgentCard = ({
|
|
|
37580
37603
|
"flex items-center gap-3 py-1",
|
|
37581
37604
|
className
|
|
37582
37605
|
),
|
|
37606
|
+
style: FONT_STYLE2,
|
|
37583
37607
|
children: [
|
|
37584
37608
|
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(Avatar, { className: "h-8 w-8 shrink-0", children: [
|
|
37585
37609
|
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(AvatarImage, { src: avatarUrl, alt: agent.display_name }),
|
|
@@ -37588,14 +37612,20 @@ var AgentCard = ({
|
|
|
37588
37612
|
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex-1 min-w-0", children: [
|
|
37589
37613
|
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
37590
37614
|
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "text-[var(--foreground)] text-sm font-semibold truncate", children: agent.display_name }),
|
|
37591
|
-
/* @__PURE__ */ (0, import_jsx_runtime128.
|
|
37615
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
|
|
37592
37616
|
"span",
|
|
37593
37617
|
{
|
|
37594
37618
|
className: cn(
|
|
37595
|
-
"text-[10px] px-1.5 py-0.5 rounded-full font-medium",
|
|
37619
|
+
"inline-flex items-center gap-1 text-[10px] px-1.5 py-0.5 rounded-full font-medium",
|
|
37596
37620
|
agent.enabled ? "bg-emerald-500/10 text-emerald-600" : "bg-red-500/10 text-red-500"
|
|
37597
37621
|
),
|
|
37598
|
-
children:
|
|
37622
|
+
children: [
|
|
37623
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: cn(
|
|
37624
|
+
"w-1.5 h-1.5 rounded-full",
|
|
37625
|
+
agent.enabled ? "bg-emerald-500" : "bg-red-500"
|
|
37626
|
+
) }),
|
|
37627
|
+
agent.enabled ? "Active" : "Disabled"
|
|
37628
|
+
]
|
|
37599
37629
|
}
|
|
37600
37630
|
)
|
|
37601
37631
|
] }),
|
|
@@ -37612,8 +37642,9 @@ var AgentCard = ({
|
|
|
37612
37642
|
"text-foreground hover:bg-muted/50 hover:text-foreground my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden",
|
|
37613
37643
|
className
|
|
37614
37644
|
),
|
|
37645
|
+
style: FONT_STYLE2,
|
|
37615
37646
|
children: [
|
|
37616
|
-
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-start gap-4 px-5 py-4", children: [
|
|
37647
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-start gap-4 px-5 py-4 bg-gradient-to-r from-[var(--foreground)]/[0.02] to-transparent", children: [
|
|
37617
37648
|
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(Avatar, { className: "h-12 w-12 shrink-0 border-2 border-interactive/20", children: [
|
|
37618
37649
|
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(AvatarImage, { src: isEditing && editState.image ? editState.image : avatarUrl, alt: agent.display_name }),
|
|
37619
37650
|
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(AvatarFallback, { className: "bg-interactive/10 text-interactive text-lg font-bold", children: agent.display_name.charAt(0) })
|
|
@@ -37632,14 +37663,20 @@ var AgentCard = ({
|
|
|
37632
37663
|
}
|
|
37633
37664
|
) : /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("h4", { className: "text-sm font-semibold text-[var(--foreground)] truncate", children: agent.display_name }),
|
|
37634
37665
|
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "text-[11px] font-mono text-[var(--foreground)]/40 bg-[var(--foreground)]/[0.05] px-1.5 py-0.5 rounded", children: agent.name }),
|
|
37635
|
-
/* @__PURE__ */ (0, import_jsx_runtime128.
|
|
37666
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
|
|
37636
37667
|
"span",
|
|
37637
37668
|
{
|
|
37638
37669
|
className: cn(
|
|
37639
|
-
"text-[10px] px-
|
|
37670
|
+
"inline-flex items-center gap-1 text-[10px] px-2 py-0.5 rounded-full font-medium",
|
|
37640
37671
|
agent.enabled ? "bg-emerald-500/10 text-emerald-600" : "bg-red-500/10 text-red-500"
|
|
37641
37672
|
),
|
|
37642
|
-
children:
|
|
37673
|
+
children: [
|
|
37674
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: cn(
|
|
37675
|
+
"w-1.5 h-1.5 rounded-full",
|
|
37676
|
+
agent.enabled ? "bg-emerald-500" : "bg-red-500"
|
|
37677
|
+
) }),
|
|
37678
|
+
agent.enabled ? "Active" : "Disabled"
|
|
37679
|
+
]
|
|
37643
37680
|
}
|
|
37644
37681
|
)
|
|
37645
37682
|
] }),
|
|
@@ -37653,7 +37690,7 @@ var AgentCard = ({
|
|
|
37653
37690
|
rows: 2,
|
|
37654
37691
|
placeholder: "Describe this agent..."
|
|
37655
37692
|
}
|
|
37656
|
-
) : /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("p", { className: "text-xs text-[var(--foreground)]/60 leading-relaxed", children: agent.description }) }),
|
|
37693
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("p", { className: "text-xs text-[var(--foreground)]/60 leading-relaxed whitespace-normal", children: agent.description }) }),
|
|
37657
37694
|
isEditing && /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "mt-2 flex items-center gap-2", children: [
|
|
37658
37695
|
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "text-[10px] text-[var(--foreground)]/30 uppercase font-semibold", children: "Avatar:" }),
|
|
37659
37696
|
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
@@ -37722,8 +37759,11 @@ var AgentCard = ({
|
|
|
37722
37759
|
);
|
|
37723
37760
|
};
|
|
37724
37761
|
|
|
37725
|
-
// src/molecules/
|
|
37762
|
+
// src/molecules/workstream-builder/AgentDataTable/AgentDataTable.tsx
|
|
37726
37763
|
var import_jsx_runtime129 = require("react/jsx-runtime");
|
|
37764
|
+
var FONT_STYLE3 = {
|
|
37765
|
+
fontFamily: "Inter, system-ui, sans-serif"
|
|
37766
|
+
};
|
|
37727
37767
|
var AgentDataTable = ({
|
|
37728
37768
|
headers,
|
|
37729
37769
|
rows,
|
|
@@ -37735,19 +37775,14 @@ var AgentDataTable = ({
|
|
|
37735
37775
|
"span",
|
|
37736
37776
|
{
|
|
37737
37777
|
className: cn(
|
|
37738
|
-
"inline-flex items-center gap-1 text-[11px] font-medium px-2 py-0.5 rounded-full",
|
|
37778
|
+
"inline-flex items-center gap-1.5 text-[11px] font-medium px-2 py-0.5 rounded-full",
|
|
37739
37779
|
value ? "bg-emerald-500/10 text-emerald-600" : "bg-red-500/10 text-red-500"
|
|
37740
37780
|
),
|
|
37741
37781
|
children: [
|
|
37742
|
-
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
37743
|
-
"
|
|
37744
|
-
{
|
|
37745
|
-
|
|
37746
|
-
"w-1.5 h-1.5 rounded-full",
|
|
37747
|
-
value ? "bg-emerald-500" : "bg-red-500"
|
|
37748
|
-
)
|
|
37749
|
-
}
|
|
37750
|
-
),
|
|
37782
|
+
value ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("polyline", { points: "20 6 9 17 4 12" }) }) : /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
37783
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
|
|
37784
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
|
|
37785
|
+
] }),
|
|
37751
37786
|
value ? "Yes" : "No"
|
|
37752
37787
|
]
|
|
37753
37788
|
}
|
|
@@ -37762,6 +37797,7 @@ var AgentDataTable = ({
|
|
|
37762
37797
|
"text-foreground hover:bg-muted/50 hover:text-foreground my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden",
|
|
37763
37798
|
className
|
|
37764
37799
|
),
|
|
37800
|
+
style: FONT_STYLE3,
|
|
37765
37801
|
children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("table", { className: "w-full text-xs", children: [
|
|
37766
37802
|
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("tr", { className: "border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03]", children: headers.map((header) => /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
37767
37803
|
"th",
|
|
@@ -37774,7 +37810,10 @@ var AgentDataTable = ({
|
|
|
37774
37810
|
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)("tbody", { children: rows.map((row, rowIdx) => /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
37775
37811
|
"tr",
|
|
37776
37812
|
{
|
|
37777
|
-
className:
|
|
37813
|
+
className: cn(
|
|
37814
|
+
"border-b border-[var(--border-color)] last:border-b-0 hover:bg-[var(--foreground)]/[0.03] transition-colors",
|
|
37815
|
+
rowIdx % 2 === 1 && "bg-[var(--foreground)]/[0.015]"
|
|
37816
|
+
),
|
|
37778
37817
|
children: row.map((cell, cellIdx) => /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
37779
37818
|
"td",
|
|
37780
37819
|
{
|
|
@@ -37791,14 +37830,19 @@ var AgentDataTable = ({
|
|
|
37791
37830
|
);
|
|
37792
37831
|
};
|
|
37793
37832
|
|
|
37794
|
-
// src/molecules/
|
|
37833
|
+
// src/molecules/workstream-builder/WorkflowVisualizer/WorkflowVisualizer.tsx
|
|
37795
37834
|
var import_react70 = require("react");
|
|
37796
37835
|
var import_jsx_runtime130 = require("react/jsx-runtime");
|
|
37836
|
+
var FONT_STYLE4 = {
|
|
37837
|
+
fontFamily: "Inter, system-ui, sans-serif"
|
|
37838
|
+
};
|
|
37797
37839
|
var WorkflowVisualizer = ({
|
|
37798
37840
|
steps,
|
|
37799
37841
|
className
|
|
37800
37842
|
}) => {
|
|
37801
|
-
const [expandedStep, setExpandedStep] = (0, import_react70.useState)(
|
|
37843
|
+
const [expandedStep, setExpandedStep] = (0, import_react70.useState)(
|
|
37844
|
+
steps[0]?.id || null
|
|
37845
|
+
);
|
|
37802
37846
|
return /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
|
|
37803
37847
|
"div",
|
|
37804
37848
|
{
|
|
@@ -37806,6 +37850,7 @@ var WorkflowVisualizer = ({
|
|
|
37806
37850
|
"text-foreground hover:bg-muted/50 hover:text-foreground my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden shadow-sm",
|
|
37807
37851
|
className
|
|
37808
37852
|
),
|
|
37853
|
+
style: FONT_STYLE4,
|
|
37809
37854
|
children: [
|
|
37810
37855
|
/* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03] flex items-center gap-2.5", children: [
|
|
37811
37856
|
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "w-6 h-6 rounded-md bg-interactive/10 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
@@ -37841,23 +37886,17 @@ var WorkflowVisualizer = ({
|
|
|
37841
37886
|
"div",
|
|
37842
37887
|
{
|
|
37843
37888
|
className: cn(
|
|
37844
|
-
"flex-1 mb-3 rounded-lg border border-[var(--border-color)] transition-
|
|
37845
|
-
isExpanded ? "bg-[var(--foreground)]/[0.02]" : "hover:bg-[var(--foreground)]/[0.02]"
|
|
37889
|
+
"flex-1 mb-3 rounded-lg border border-[var(--border-color)] transition-all",
|
|
37890
|
+
isExpanded ? "bg-[var(--foreground)]/[0.02] shadow-sm" : "hover:bg-[var(--foreground)]/[0.02] hover:shadow-sm hover:-translate-y-0.5"
|
|
37846
37891
|
),
|
|
37847
37892
|
children: [
|
|
37848
37893
|
/* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
|
|
37849
37894
|
"button",
|
|
37850
37895
|
{
|
|
37851
37896
|
onClick: () => setExpandedStep(isExpanded ? null : step.id),
|
|
37852
|
-
className: "w-full text-left px-3 py-2.5 flex items-center gap-2",
|
|
37897
|
+
className: "w-full text-left px-3 py-2.5 flex items-center gap-2 whitespace-normal",
|
|
37853
37898
|
children: [
|
|
37854
|
-
/* @__PURE__ */ (0, import_jsx_runtime130.
|
|
37855
|
-
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)("span", { className: "text-[13px] font-medium text-[var(--foreground)]", children: step.name }),
|
|
37856
|
-
step.description && !isExpanded && /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("span", { className: "text-xs text-[var(--foreground)]/40 ml-2", children: [
|
|
37857
|
-
"\u2014 ",
|
|
37858
|
-
step.description
|
|
37859
|
-
] })
|
|
37860
|
-
] }),
|
|
37899
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("span", { className: "text-[13px] font-medium text-[var(--foreground)]", children: step.name }) }),
|
|
37861
37900
|
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
37862
37901
|
"svg",
|
|
37863
37902
|
{
|
|
@@ -37878,7 +37917,7 @@ var WorkflowVisualizer = ({
|
|
|
37878
37917
|
}
|
|
37879
37918
|
),
|
|
37880
37919
|
isExpanded && /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "px-3 pb-3 space-y-2.5", children: [
|
|
37881
|
-
step.description && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("p", { className: "text-xs text-[var(--foreground)]/50 leading-relaxed", children: step.description }),
|
|
37920
|
+
step.description && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("p", { className: "text-xs text-[var(--foreground)]/50 leading-relaxed whitespace-normal", children: step.description }),
|
|
37882
37921
|
step.sub_steps && step.sub_steps.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "space-y-1", children: step.sub_steps.map((sub) => /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
|
|
37883
37922
|
"div",
|
|
37884
37923
|
{
|
|
@@ -37901,8 +37940,8 @@ var WorkflowVisualizer = ({
|
|
|
37901
37940
|
tool
|
|
37902
37941
|
))
|
|
37903
37942
|
] }),
|
|
37904
|
-
step.on_failure && /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "flex items-start gap-2 text-xs bg-[#ef4444]/[0.06] border border-[#ef4444]/10 rounded-md px-2.5 py-2", children: [
|
|
37905
|
-
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)("span", { className: "shrink-0 text-[10px] font-semibold text-[#ef4444]/70 uppercase tracking-wider mt-px", children: "On failure:" }),
|
|
37943
|
+
step.on_failure && /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "flex items-start gap-2 text-xs bg-[var(--redBackground,_#ef4444)]/[0.06] border border-[var(--redText,_#ef4444)]/10 rounded-md px-2.5 py-2 whitespace-normal", children: [
|
|
37944
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)("span", { className: "shrink-0 text-[10px] font-semibold text-[var(--redText,_#ef4444)]/70 uppercase tracking-wider mt-px", children: "On failure:" }),
|
|
37906
37945
|
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)("span", { className: "text-[var(--foreground)]/50", children: step.on_failure })
|
|
37907
37946
|
] })
|
|
37908
37947
|
] })
|
|
@@ -37916,9 +37955,12 @@ var WorkflowVisualizer = ({
|
|
|
37916
37955
|
);
|
|
37917
37956
|
};
|
|
37918
37957
|
|
|
37919
|
-
// src/molecules/
|
|
37958
|
+
// src/molecules/workstream-builder/InstructionPreview/InstructionPreview.tsx
|
|
37920
37959
|
var import_react71 = require("react");
|
|
37921
37960
|
var import_jsx_runtime131 = require("react/jsx-runtime");
|
|
37961
|
+
var FONT_STYLE5 = {
|
|
37962
|
+
fontFamily: "Inter, system-ui, sans-serif"
|
|
37963
|
+
};
|
|
37922
37964
|
var InstructionPreview = ({
|
|
37923
37965
|
agent_name,
|
|
37924
37966
|
description,
|
|
@@ -37928,9 +37970,28 @@ var InstructionPreview = ({
|
|
|
37928
37970
|
className
|
|
37929
37971
|
}) => {
|
|
37930
37972
|
const [isExpanded, setIsExpanded] = (0, import_react71.useState)(false);
|
|
37973
|
+
const [copied, setCopied] = (0, import_react71.useState)(false);
|
|
37931
37974
|
const previewLength = 300;
|
|
37932
37975
|
const isLong = instruction.length > previewLength;
|
|
37933
37976
|
const displayText = isExpanded || !isLong ? instruction : instruction.slice(0, previewLength) + "...";
|
|
37977
|
+
const handleCopy = (0, import_react71.useCallback)(async () => {
|
|
37978
|
+
try {
|
|
37979
|
+
await navigator.clipboard.writeText(instruction);
|
|
37980
|
+
setCopied(true);
|
|
37981
|
+
setTimeout(() => setCopied(false), 2e3);
|
|
37982
|
+
} catch {
|
|
37983
|
+
const textarea = document.createElement("textarea");
|
|
37984
|
+
textarea.value = instruction;
|
|
37985
|
+
textarea.style.position = "fixed";
|
|
37986
|
+
textarea.style.opacity = "0";
|
|
37987
|
+
document.body.appendChild(textarea);
|
|
37988
|
+
textarea.select();
|
|
37989
|
+
document.execCommand("copy");
|
|
37990
|
+
document.body.removeChild(textarea);
|
|
37991
|
+
setCopied(true);
|
|
37992
|
+
setTimeout(() => setCopied(false), 2e3);
|
|
37993
|
+
}
|
|
37994
|
+
}, [instruction]);
|
|
37934
37995
|
return /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
|
|
37935
37996
|
"div",
|
|
37936
37997
|
{
|
|
@@ -37938,6 +37999,7 @@ var InstructionPreview = ({
|
|
|
37938
37999
|
"text-foreground hover:bg-muted/50 hover:text-foreground my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden shadow-sm",
|
|
37939
38000
|
className
|
|
37940
38001
|
),
|
|
38002
|
+
style: FONT_STYLE5,
|
|
37941
38003
|
children: [
|
|
37942
38004
|
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03]", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "flex items-center gap-2.5", children: [
|
|
37943
38005
|
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "w-6 h-6 rounded-md bg-interactive/10 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
|
|
@@ -37963,19 +38025,44 @@ var InstructionPreview = ({
|
|
|
37963
38025
|
) }),
|
|
37964
38026
|
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "flex-1 min-w-0", children: [
|
|
37965
38027
|
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("h4", { className: "text-sm font-semibold text-[var(--foreground)]", children: agent_name }),
|
|
37966
|
-
description && /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("p", { className: "text-[11px] text-[var(--foreground)]/40 mt-0.5", children: description })
|
|
38028
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("p", { className: "text-[11px] text-[var(--foreground)]/40 mt-0.5 whitespace-normal", children: description })
|
|
37967
38029
|
] })
|
|
37968
38030
|
] }) }),
|
|
37969
38031
|
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "px-4 py-3 space-y-3", children: [
|
|
37970
38032
|
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { children: [
|
|
37971
|
-
/* @__PURE__ */ (0, import_jsx_runtime131.
|
|
38033
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "flex items-center justify-between mb-1.5", children: [
|
|
38034
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/30 uppercase tracking-wider", children: "Instruction" }),
|
|
38035
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
38036
|
+
"button",
|
|
38037
|
+
{
|
|
38038
|
+
onClick: handleCopy,
|
|
38039
|
+
className: "text-[10px] px-2 py-0.5 rounded-md text-interactive hover:bg-interactive/10 transition-colors font-medium",
|
|
38040
|
+
children: copied ? "Copied!" : "Copy"
|
|
38041
|
+
}
|
|
38042
|
+
)
|
|
38043
|
+
] }),
|
|
37972
38044
|
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "text-xs text-[var(--foreground)]/60 leading-relaxed whitespace-pre-wrap font-mono bg-[var(--foreground)]/[0.02] border border-[var(--border-color)] rounded-lg p-3", children: displayText }),
|
|
37973
|
-
isLong && /* @__PURE__ */ (0, import_jsx_runtime131.
|
|
38045
|
+
isLong && /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
|
|
37974
38046
|
"button",
|
|
37975
38047
|
{
|
|
37976
38048
|
onClick: () => setIsExpanded(!isExpanded),
|
|
37977
|
-
className: "text-[11px] text-interactive hover:underline mt-1",
|
|
37978
|
-
children:
|
|
38049
|
+
className: "inline-flex items-center gap-1 text-[11px] text-interactive hover:underline mt-1",
|
|
38050
|
+
children: [
|
|
38051
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
38052
|
+
"svg",
|
|
38053
|
+
{
|
|
38054
|
+
width: "12",
|
|
38055
|
+
height: "12",
|
|
38056
|
+
viewBox: "0 0 24 24",
|
|
38057
|
+
fill: "none",
|
|
38058
|
+
stroke: "currentColor",
|
|
38059
|
+
strokeWidth: "2",
|
|
38060
|
+
className: cn("transition-transform", isExpanded && "rotate-180"),
|
|
38061
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("polyline", { points: "6 9 12 15 18 9" })
|
|
38062
|
+
}
|
|
38063
|
+
),
|
|
38064
|
+
isExpanded ? "Show less" : "Show full instruction"
|
|
38065
|
+
]
|
|
37979
38066
|
}
|
|
37980
38067
|
)
|
|
37981
38068
|
] }),
|
|
@@ -38003,16 +38090,23 @@ var InstructionPreview = ({
|
|
|
38003
38090
|
);
|
|
38004
38091
|
};
|
|
38005
38092
|
|
|
38006
|
-
// src/molecules/
|
|
38093
|
+
// src/molecules/workstream-builder/UIComponentSelector/UIComponentSelector.tsx
|
|
38007
38094
|
var import_react72 = require("react");
|
|
38008
38095
|
var import_jsx_runtime132 = require("react/jsx-runtime");
|
|
38096
|
+
var FONT_STYLE6 = {
|
|
38097
|
+
fontFamily: "Inter, system-ui, sans-serif"
|
|
38098
|
+
};
|
|
38009
38099
|
function UIComponentSelector({
|
|
38010
38100
|
components,
|
|
38011
38101
|
onSelect,
|
|
38012
38102
|
onPreview,
|
|
38013
|
-
className
|
|
38103
|
+
className,
|
|
38104
|
+
isLatestMessage = true
|
|
38014
38105
|
}) {
|
|
38015
|
-
const [selected, setSelected] = (0, import_react72.useState)(
|
|
38106
|
+
const [selected, setSelected] = (0, import_react72.useState)(() => {
|
|
38107
|
+
const recommended = components.filter((c) => c.recommended).map((c) => c.name);
|
|
38108
|
+
return new Set(recommended);
|
|
38109
|
+
});
|
|
38016
38110
|
const [submitted, setSubmitted] = (0, import_react72.useState)(false);
|
|
38017
38111
|
const grouped = components.reduce(
|
|
38018
38112
|
(acc, comp) => {
|
|
@@ -38024,7 +38118,7 @@ function UIComponentSelector({
|
|
|
38024
38118
|
{}
|
|
38025
38119
|
);
|
|
38026
38120
|
const toggle = (name) => {
|
|
38027
|
-
if (submitted) return;
|
|
38121
|
+
if (submitted || !isLatestMessage) return;
|
|
38028
38122
|
setSelected((prev) => {
|
|
38029
38123
|
const next = new Set(prev);
|
|
38030
38124
|
if (next.has(name)) next.delete(name);
|
|
@@ -38041,39 +38135,66 @@ function UIComponentSelector({
|
|
|
38041
38135
|
"div",
|
|
38042
38136
|
{
|
|
38043
38137
|
className: cn(
|
|
38044
|
-
"rounded-xl border border-border bg-card overflow-hidden",
|
|
38138
|
+
"rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden",
|
|
38045
38139
|
className
|
|
38046
38140
|
),
|
|
38141
|
+
style: FONT_STYLE6,
|
|
38047
38142
|
children: [
|
|
38048
|
-
/* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { className: "px-4 py-3 border-b border-border bg-
|
|
38049
|
-
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)("h3", { className: "text-sm font-semibold text-foreground", children: "Select UI Components" }),
|
|
38050
|
-
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)("p", { className: "text-xs text-
|
|
38143
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.02]", children: [
|
|
38144
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)("h3", { className: "text-sm font-semibold text-[var(--foreground)]", children: "Select UI Components" }),
|
|
38145
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)("p", { className: "text-xs text-[var(--foreground)]/50 mt-0.5", children: "Choose which visual components this agent can use in its responses." })
|
|
38051
38146
|
] }),
|
|
38052
38147
|
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)("div", { className: "px-4 py-3 space-y-4", children: categoryOrder.map((category) => /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { children: [
|
|
38053
|
-
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)("h4", { className: "text-xs font-medium text-
|
|
38148
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)("h4", { className: "text-xs font-medium text-[var(--foreground)]/50 uppercase tracking-wider mb-2", children: category }),
|
|
38054
38149
|
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)("div", { className: "space-y-1.5", children: grouped[category].map((comp) => /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)(
|
|
38055
38150
|
"label",
|
|
38056
38151
|
{
|
|
38057
38152
|
className: cn(
|
|
38058
38153
|
"flex items-start gap-3 px-3 py-2 rounded-lg cursor-pointer transition-colors",
|
|
38059
|
-
submitted ? "cursor-default opacity-70" : "hover:bg-
|
|
38154
|
+
submitted || !isLatestMessage ? "cursor-default opacity-70" : "hover:bg-[var(--foreground)]/[0.03]",
|
|
38060
38155
|
selected.has(comp.name) && !submitted && "bg-interactive/5 border border-interactive/20",
|
|
38061
38156
|
selected.has(comp.name) && submitted && "bg-interactive/5"
|
|
38062
38157
|
),
|
|
38063
38158
|
children: [
|
|
38159
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
|
|
38160
|
+
"div",
|
|
38161
|
+
{
|
|
38162
|
+
className: cn(
|
|
38163
|
+
"mt-0.5 w-4 h-4 rounded border flex items-center justify-center shrink-0 transition-colors",
|
|
38164
|
+
selected.has(comp.name) ? "bg-interactive border-interactive" : "border-[var(--foreground)]/20"
|
|
38165
|
+
),
|
|
38166
|
+
onClick: (e) => {
|
|
38167
|
+
e.preventDefault();
|
|
38168
|
+
toggle(comp.name);
|
|
38169
|
+
},
|
|
38170
|
+
children: selected.has(comp.name) && /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
|
|
38171
|
+
"svg",
|
|
38172
|
+
{
|
|
38173
|
+
width: "10",
|
|
38174
|
+
height: "10",
|
|
38175
|
+
viewBox: "0 0 24 24",
|
|
38176
|
+
fill: "none",
|
|
38177
|
+
stroke: "white",
|
|
38178
|
+
strokeWidth: "3",
|
|
38179
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("polyline", { points: "20 6 9 17 4 12" })
|
|
38180
|
+
}
|
|
38181
|
+
)
|
|
38182
|
+
}
|
|
38183
|
+
),
|
|
38064
38184
|
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
|
|
38065
38185
|
"input",
|
|
38066
38186
|
{
|
|
38067
38187
|
type: "checkbox",
|
|
38068
38188
|
checked: selected.has(comp.name),
|
|
38069
38189
|
onChange: () => toggle(comp.name),
|
|
38070
|
-
disabled: submitted,
|
|
38071
|
-
className: "
|
|
38190
|
+
disabled: submitted || !isLatestMessage,
|
|
38191
|
+
className: "sr-only"
|
|
38072
38192
|
}
|
|
38073
38193
|
),
|
|
38074
38194
|
/* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { className: "flex-1 min-w-0", children: [
|
|
38075
38195
|
/* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { className: "flex items-center gap-1", children: [
|
|
38076
|
-
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)("span", { className: "text-sm font-medium text-foreground", children: comp.display_name }),
|
|
38196
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)("span", { className: "text-sm font-medium text-[var(--foreground)]", children: comp.display_name }),
|
|
38197
|
+
comp.recommended && /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("span", { className: "px-1.5 py-0.5 text-[9px] font-semibold uppercase tracking-wider rounded-full bg-emerald-500/10 text-emerald-600 border border-emerald-500/20", children: "Recommended" }),
|
|
38077
38198
|
onPreview && /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
|
|
38078
38199
|
"button",
|
|
38079
38200
|
{
|
|
@@ -38083,7 +38204,7 @@ function UIComponentSelector({
|
|
|
38083
38204
|
e.stopPropagation();
|
|
38084
38205
|
onPreview(comp.name);
|
|
38085
38206
|
},
|
|
38086
|
-
className: "shrink-0 p-0.5 rounded hover:bg-
|
|
38207
|
+
className: "shrink-0 p-0.5 rounded hover:bg-[var(--foreground)]/10 transition-colors",
|
|
38087
38208
|
title: `Preview ${comp.display_name}`,
|
|
38088
38209
|
children: /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)(
|
|
38089
38210
|
"svg",
|
|
@@ -38096,7 +38217,7 @@ function UIComponentSelector({
|
|
|
38096
38217
|
strokeWidth: "2",
|
|
38097
38218
|
strokeLinecap: "round",
|
|
38098
38219
|
strokeLinejoin: "round",
|
|
38099
|
-
className: "text-
|
|
38220
|
+
className: "text-[var(--foreground)]/40 hover:text-interactive",
|
|
38100
38221
|
children: [
|
|
38101
38222
|
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)("circle", { cx: "12", cy: "12", r: "10" }),
|
|
38102
38223
|
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
|
|
@@ -38107,15 +38228,15 @@ function UIComponentSelector({
|
|
|
38107
38228
|
}
|
|
38108
38229
|
)
|
|
38109
38230
|
] }),
|
|
38110
|
-
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)("span", { className: "ml-0 text-xs text-
|
|
38231
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)("span", { className: "ml-0 text-xs text-[var(--foreground)]/50", children: comp.description })
|
|
38111
38232
|
] })
|
|
38112
38233
|
]
|
|
38113
38234
|
},
|
|
38114
38235
|
comp.name
|
|
38115
38236
|
)) })
|
|
38116
38237
|
] }, category)) }),
|
|
38117
|
-
!submitted && /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { className: "px-4 py-3 border-t border-border flex items-center justify-between", children: [
|
|
38118
|
-
/* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("span", { className: "text-xs text-
|
|
38238
|
+
!submitted && isLatestMessage && /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { className: "px-4 py-3 border-t border-[var(--border-color)] flex items-center justify-between", children: [
|
|
38239
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("span", { className: "text-xs text-[var(--foreground)]/50", children: [
|
|
38119
38240
|
selected.size,
|
|
38120
38241
|
" selected"
|
|
38121
38242
|
] }),
|
|
@@ -38133,8 +38254,11 @@ function UIComponentSelector({
|
|
|
38133
38254
|
);
|
|
38134
38255
|
}
|
|
38135
38256
|
|
|
38136
|
-
// src/molecules/
|
|
38257
|
+
// src/molecules/workstream-builder/MultiAgentCard/MultiAgentCard.tsx
|
|
38137
38258
|
var import_jsx_runtime133 = require("react/jsx-runtime");
|
|
38259
|
+
var FONT_STYLE7 = {
|
|
38260
|
+
fontFamily: "Inter, system-ui, sans-serif"
|
|
38261
|
+
};
|
|
38138
38262
|
var MultiAgentCard = ({
|
|
38139
38263
|
name,
|
|
38140
38264
|
display_name,
|
|
@@ -38151,22 +38275,29 @@ var MultiAgentCard = ({
|
|
|
38151
38275
|
"text-foreground hover:bg-muted/50 hover:text-foreground my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden shadow-sm",
|
|
38152
38276
|
className
|
|
38153
38277
|
),
|
|
38278
|
+
style: FONT_STYLE7,
|
|
38154
38279
|
children: [
|
|
38155
|
-
/* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "flex items-start gap-4 px-5 py-4", children: [
|
|
38280
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "flex items-start gap-4 px-5 py-4 bg-gradient-to-r from-[var(--foreground)]/[0.02] to-transparent", children: [
|
|
38156
38281
|
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)("div", { className: "h-12 w-12 shrink-0 rounded-full border-2 border-interactive/20 overflow-hidden bg-interactive/10 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("img", { src: avatarUrl, alt: display_name, className: "h-full w-full" }) }),
|
|
38157
38282
|
/* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "flex-1 min-w-0", children: [
|
|
38158
38283
|
/* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
38159
38284
|
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)("h4", { className: "text-sm font-semibold text-[var(--foreground)] truncate", children: display_name }),
|
|
38160
38285
|
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { className: "text-[11px] font-mono text-[var(--foreground)]/40 bg-[var(--foreground)]/[0.05] px-1.5 py-0.5 rounded", children: name }),
|
|
38161
|
-
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { className: "text-[10px] px-
|
|
38162
|
-
/* @__PURE__ */ (0, import_jsx_runtime133.
|
|
38286
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { className: "text-[10px] px-2 py-0.5 rounded-full font-medium bg-interactive/10 text-interactive", children: "Multi-Agent" }),
|
|
38287
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsxs)(
|
|
38163
38288
|
"span",
|
|
38164
38289
|
{
|
|
38165
38290
|
className: cn(
|
|
38166
|
-
"text-[10px] px-
|
|
38291
|
+
"inline-flex items-center gap-1 text-[10px] px-2 py-0.5 rounded-full font-medium",
|
|
38167
38292
|
enabled ? "bg-emerald-500/10 text-emerald-600" : "bg-red-500/10 text-red-500"
|
|
38168
38293
|
),
|
|
38169
|
-
children:
|
|
38294
|
+
children: [
|
|
38295
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { className: cn(
|
|
38296
|
+
"w-1.5 h-1.5 rounded-full",
|
|
38297
|
+
enabled ? "bg-emerald-500" : "bg-red-500"
|
|
38298
|
+
) }),
|
|
38299
|
+
enabled ? "Active" : "Disabled"
|
|
38300
|
+
]
|
|
38170
38301
|
}
|
|
38171
38302
|
)
|
|
38172
38303
|
] }),
|
|
@@ -38191,12 +38322,12 @@ var MultiAgentCard = ({
|
|
|
38191
38322
|
children: idx + 1
|
|
38192
38323
|
}
|
|
38193
38324
|
),
|
|
38194
|
-
idx < stages.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("div", { className: "w-px flex-1
|
|
38325
|
+
idx < stages.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("div", { className: "w-px flex-1 min-h-[16px] border-l border-dashed border-interactive/30" })
|
|
38195
38326
|
] }),
|
|
38196
38327
|
/* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "flex-1 mb-2 p-3 rounded-lg border border-[var(--border-color)] bg-[var(--foreground)]/[0.02]", children: [
|
|
38197
38328
|
/* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
38198
38329
|
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { className: "text-xs font-semibold text-[var(--foreground)]", children: stage.name }),
|
|
38199
|
-
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { className: "text-[10px] font-mono text-[var(--foreground)]/30", children: stage.agent_name })
|
|
38330
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { className: "text-[10px] font-mono text-[var(--foreground)]/30 bg-[var(--foreground)]/[0.04] px-1.5 py-0.5 rounded", children: stage.agent_name })
|
|
38200
38331
|
] }),
|
|
38201
38332
|
/* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "flex items-center gap-3 mt-1.5 text-[10px] text-[var(--foreground)]/50", children: [
|
|
38202
38333
|
stage.tools && stage.tools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("span", { children: [
|
|
@@ -38218,8 +38349,11 @@ var MultiAgentCard = ({
|
|
|
38218
38349
|
);
|
|
38219
38350
|
};
|
|
38220
38351
|
|
|
38221
|
-
// src/molecules/
|
|
38352
|
+
// src/molecules/workstream-builder/MultiAgentPlan/MultiAgentPlan.tsx
|
|
38222
38353
|
var import_jsx_runtime134 = require("react/jsx-runtime");
|
|
38354
|
+
var FONT_STYLE8 = {
|
|
38355
|
+
fontFamily: "Inter, system-ui, sans-serif"
|
|
38356
|
+
};
|
|
38223
38357
|
var MultiAgentPlan = ({
|
|
38224
38358
|
stages = [],
|
|
38225
38359
|
className
|
|
@@ -38231,8 +38365,9 @@ var MultiAgentPlan = ({
|
|
|
38231
38365
|
"text-foreground hover:bg-muted/50 hover:text-foreground my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden shadow-sm",
|
|
38232
38366
|
className
|
|
38233
38367
|
),
|
|
38368
|
+
style: FONT_STYLE8,
|
|
38234
38369
|
children: [
|
|
38235
|
-
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.02]", children: /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
38370
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-gradient-to-r from-[var(--foreground)]/[0.02] to-transparent", children: /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
38236
38371
|
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "w-4 h-4 rounded bg-violet-500/20 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
38237
38372
|
"svg",
|
|
38238
38373
|
{
|
|
@@ -38252,7 +38387,7 @@ var MultiAgentPlan = ({
|
|
|
38252
38387
|
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "px-4 py-3", children: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "flex flex-col gap-0", children: stages.map((stage, idx) => /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "flex items-stretch min-w-0", children: [
|
|
38253
38388
|
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "flex flex-col items-center mr-3 w-6", children: [
|
|
38254
38389
|
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "w-6 h-6 rounded-full flex items-center justify-center text-[10px] font-bold shrink-0 bg-interactive/10 text-interactive border border-interactive/30", children: idx + 1 }),
|
|
38255
|
-
idx < stages.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "w-px flex-1
|
|
38390
|
+
idx < stages.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "w-px flex-1 min-h-[12px] border-l border-dashed border-interactive/30" })
|
|
38256
38391
|
] }),
|
|
38257
38392
|
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "flex-1 mb-2 pb-2 min-w-0", children: [
|
|
38258
38393
|
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("p", { className: "text-xs font-semibold text-foreground", children: stage.name }),
|
|
@@ -38279,22 +38414,28 @@ var MultiAgentPlan = ({
|
|
|
38279
38414
|
);
|
|
38280
38415
|
};
|
|
38281
38416
|
|
|
38282
|
-
// src/molecules/
|
|
38417
|
+
// src/molecules/workstream-builder/MultiAgentUISelector/MultiAgentUISelector.tsx
|
|
38283
38418
|
var import_react73 = require("react");
|
|
38284
38419
|
var import_jsx_runtime135 = require("react/jsx-runtime");
|
|
38420
|
+
var FONT_STYLE9 = {
|
|
38421
|
+
fontFamily: "Inter, system-ui, sans-serif"
|
|
38422
|
+
};
|
|
38285
38423
|
var MultiAgentUISelector = ({
|
|
38286
38424
|
stages = [],
|
|
38287
38425
|
components = [],
|
|
38288
38426
|
onSelect,
|
|
38289
38427
|
onPreview,
|
|
38290
|
-
className
|
|
38428
|
+
className,
|
|
38429
|
+
isLatestMessage = true
|
|
38291
38430
|
}) => {
|
|
38292
38431
|
const [activeStageId, setActiveStageId] = (0, import_react73.useState)(stages[0]?.id || "");
|
|
38293
38432
|
const [selections, setSelections] = (0, import_react73.useState)(
|
|
38294
38433
|
() => {
|
|
38295
38434
|
const init = {};
|
|
38435
|
+
const recommendedNames = components.filter((c) => c.recommended).map((c) => c.name);
|
|
38296
38436
|
for (const stage of stages) {
|
|
38297
|
-
|
|
38437
|
+
const stageRecs = stage.recommended_components?.length ? stage.recommended_components : recommendedNames;
|
|
38438
|
+
init[stage.id] = new Set(stageRecs);
|
|
38298
38439
|
}
|
|
38299
38440
|
return init;
|
|
38300
38441
|
}
|
|
@@ -38308,7 +38449,7 @@ var MultiAgentUISelector = ({
|
|
|
38308
38449
|
}, {});
|
|
38309
38450
|
const toggleComponent = (0, import_react73.useCallback)(
|
|
38310
38451
|
(stageId, compName) => {
|
|
38311
|
-
if (submitted) return;
|
|
38452
|
+
if (submitted || !isLatestMessage) return;
|
|
38312
38453
|
setSelections((prev) => {
|
|
38313
38454
|
const updated = { ...prev };
|
|
38314
38455
|
const set = new Set(updated[stageId] || []);
|
|
@@ -38323,6 +38464,28 @@ var MultiAgentUISelector = ({
|
|
|
38323
38464
|
},
|
|
38324
38465
|
[submitted]
|
|
38325
38466
|
);
|
|
38467
|
+
const selectAll = (0, import_react73.useCallback)(
|
|
38468
|
+
(stageId) => {
|
|
38469
|
+
if (submitted || !isLatestMessage) return;
|
|
38470
|
+
setSelections((prev) => {
|
|
38471
|
+
const updated = { ...prev };
|
|
38472
|
+
updated[stageId] = new Set(components.map((c) => c.name));
|
|
38473
|
+
return updated;
|
|
38474
|
+
});
|
|
38475
|
+
},
|
|
38476
|
+
[submitted, isLatestMessage, components]
|
|
38477
|
+
);
|
|
38478
|
+
const clearAll = (0, import_react73.useCallback)(
|
|
38479
|
+
(stageId) => {
|
|
38480
|
+
if (submitted || !isLatestMessage) return;
|
|
38481
|
+
setSelections((prev) => {
|
|
38482
|
+
const updated = { ...prev };
|
|
38483
|
+
updated[stageId] = /* @__PURE__ */ new Set();
|
|
38484
|
+
return updated;
|
|
38485
|
+
});
|
|
38486
|
+
},
|
|
38487
|
+
[submitted, isLatestMessage]
|
|
38488
|
+
);
|
|
38326
38489
|
const handleContinue = (0, import_react73.useCallback)(() => {
|
|
38327
38490
|
setSubmitted(true);
|
|
38328
38491
|
if (onSelect) {
|
|
@@ -38341,6 +38504,7 @@ var MultiAgentUISelector = ({
|
|
|
38341
38504
|
"text-foreground hover:bg-muted/50 hover:text-foreground my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden shadow-sm",
|
|
38342
38505
|
className
|
|
38343
38506
|
),
|
|
38507
|
+
style: FONT_STYLE9,
|
|
38344
38508
|
children: [
|
|
38345
38509
|
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.02]", children: /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
38346
38510
|
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)("div", { className: "w-4 h-4 rounded bg-interactive/20 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(
|
|
@@ -38363,27 +38527,46 @@ var MultiAgentUISelector = ({
|
|
|
38363
38527
|
) }),
|
|
38364
38528
|
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)("span", { className: "text-xs font-semibold text-[var(--foreground)]", children: "UI Components per Stage" })
|
|
38365
38529
|
] }) }),
|
|
38366
|
-
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)("div", { className: "flex border-b border-[var(--border-color)] px-4", children: stages.map((stage) => /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
38530
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)("div", { className: "flex gap-1 border-b border-[var(--border-color)] px-4 py-2 bg-[var(--foreground)]/[0.01]", children: stages.map((stage) => /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
38367
38531
|
"button",
|
|
38368
38532
|
{
|
|
38369
38533
|
onClick: () => setActiveStageId(stage.id),
|
|
38370
|
-
disabled: submitted,
|
|
38371
38534
|
className: cn(
|
|
38372
|
-
"px-3 py-
|
|
38373
|
-
activeStageId === stage.id ? "
|
|
38374
|
-
submitted && "opacity-60 cursor-default"
|
|
38535
|
+
"px-3 py-1.5 text-[11px] font-medium rounded-full transition-colors",
|
|
38536
|
+
activeStageId === stage.id ? "bg-interactive text-white" : "text-[var(--foreground)]/50 hover:text-[var(--foreground)] hover:bg-[var(--foreground)]/[0.05]"
|
|
38375
38537
|
),
|
|
38376
38538
|
children: stage.name
|
|
38377
38539
|
},
|
|
38378
38540
|
stage.id
|
|
38379
38541
|
)) }),
|
|
38380
38542
|
/* @__PURE__ */ (0, import_jsx_runtime135.jsxs)("div", { className: "px-4 py-3", children: [
|
|
38381
|
-
activeStage && /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)("
|
|
38382
|
-
"
|
|
38383
|
-
|
|
38384
|
-
|
|
38385
|
-
|
|
38386
|
-
|
|
38543
|
+
activeStage && /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [
|
|
38544
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsxs)("p", { className: "text-[10px] text-[var(--foreground)]/40", children: [
|
|
38545
|
+
"Select components for ",
|
|
38546
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)("strong", { children: activeStage.name }),
|
|
38547
|
+
" (",
|
|
38548
|
+
activeStage.agent_name,
|
|
38549
|
+
")"
|
|
38550
|
+
] }),
|
|
38551
|
+
!submitted && isLatestMessage && /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
38552
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
38553
|
+
"button",
|
|
38554
|
+
{
|
|
38555
|
+
onClick: () => selectAll(activeStageId),
|
|
38556
|
+
className: "text-[10px] text-interactive hover:underline font-medium",
|
|
38557
|
+
children: "Select All"
|
|
38558
|
+
}
|
|
38559
|
+
),
|
|
38560
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)("span", { className: "text-[var(--foreground)]/20", children: "|" }),
|
|
38561
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
38562
|
+
"button",
|
|
38563
|
+
{
|
|
38564
|
+
onClick: () => clearAll(activeStageId),
|
|
38565
|
+
className: "text-[10px] text-[var(--foreground)]/40 hover:text-[var(--foreground)]/60 font-medium",
|
|
38566
|
+
children: "Clear"
|
|
38567
|
+
}
|
|
38568
|
+
)
|
|
38569
|
+
] })
|
|
38387
38570
|
] }),
|
|
38388
38571
|
Object.entries(grouped).map(([category, comps]) => /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)("div", { className: "mb-3", children: [
|
|
38389
38572
|
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/40 uppercase tracking-wide mb-1.5", children: category }),
|
|
@@ -38404,7 +38587,7 @@ var MultiAgentUISelector = ({
|
|
|
38404
38587
|
className: cn(
|
|
38405
38588
|
"text-left p-2.5 rounded-lg border text-[11px] transition-all overflow-hidden cursor-pointer",
|
|
38406
38589
|
isSelected ? "border-interactive bg-interactive/5" : "border-[var(--border-color)] hover:border-interactive/50",
|
|
38407
|
-
submitted && "opacity-60 cursor-default
|
|
38590
|
+
(submitted || !isLatestMessage) && "opacity-60 cursor-default"
|
|
38408
38591
|
),
|
|
38409
38592
|
children: [
|
|
38410
38593
|
/* @__PURE__ */ (0, import_jsx_runtime135.jsxs)("div", { className: "flex items-center gap-1.5", children: [
|
|
@@ -38430,6 +38613,7 @@ var MultiAgentUISelector = ({
|
|
|
38430
38613
|
}
|
|
38431
38614
|
),
|
|
38432
38615
|
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)("span", { className: "font-medium text-[var(--foreground)]", children: comp.display_name }),
|
|
38616
|
+
comp.recommended && /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("span", { className: "px-1 py-px text-[8px] font-semibold uppercase tracking-wider rounded-full bg-emerald-500/10 text-emerald-600 border border-emerald-500/20 leading-tight", children: "Rec" }),
|
|
38433
38617
|
onPreview && /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
38434
38618
|
"button",
|
|
38435
38619
|
{
|
|
@@ -38470,7 +38654,7 @@ var MultiAgentUISelector = ({
|
|
|
38470
38654
|
}) })
|
|
38471
38655
|
] }, category))
|
|
38472
38656
|
] }),
|
|
38473
|
-
!submitted && /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("div", { className: "px-4 pb-3", children: /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
38657
|
+
!submitted && isLatestMessage && /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("div", { className: "px-4 pb-3", children: /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
38474
38658
|
"button",
|
|
38475
38659
|
{
|
|
38476
38660
|
onClick: handleContinue,
|
|
@@ -38484,8 +38668,11 @@ var MultiAgentUISelector = ({
|
|
|
38484
38668
|
);
|
|
38485
38669
|
};
|
|
38486
38670
|
|
|
38487
|
-
// src/molecules/
|
|
38671
|
+
// src/molecules/workstream-builder/StageIndicator/StageIndicator.tsx
|
|
38488
38672
|
var import_jsx_runtime136 = require("react/jsx-runtime");
|
|
38673
|
+
var FONT_STYLE10 = {
|
|
38674
|
+
fontFamily: "Inter, system-ui, sans-serif"
|
|
38675
|
+
};
|
|
38489
38676
|
var StageIndicator = ({
|
|
38490
38677
|
stage_name,
|
|
38491
38678
|
agent_name,
|
|
@@ -38498,6 +38685,7 @@ var StageIndicator = ({
|
|
|
38498
38685
|
"flex items-center gap-3 my-4",
|
|
38499
38686
|
className
|
|
38500
38687
|
),
|
|
38688
|
+
style: { ...FONT_STYLE10, animation: "fadeIn 0.3s ease-out" },
|
|
38501
38689
|
children: [
|
|
38502
38690
|
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)("div", { className: "flex-1 h-px bg-[var(--border-color)]" }),
|
|
38503
38691
|
/* @__PURE__ */ (0, import_jsx_runtime136.jsxs)("div", { className: "flex items-center gap-1.5 px-3 py-1 rounded-full bg-violet-500/10 border border-violet-500/20", children: [
|
|
@@ -40343,7 +40531,7 @@ var normalizeProps = (props) => {
|
|
|
40343
40531
|
normalized[key] = value;
|
|
40344
40532
|
return;
|
|
40345
40533
|
}
|
|
40346
|
-
if (
|
|
40534
|
+
if (key === "type" || key === "component") {
|
|
40347
40535
|
return;
|
|
40348
40536
|
}
|
|
40349
40537
|
if (value === "true") {
|