langchain_agentx_stream_ui 0.6.0 → 0.6.2
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/{chunk-GBY5DJ7L.js → chunk-4RIOBLGB.js} +1 -1
- package/dist/chunk-4RIOBLGB.js.map +1 -0
- package/dist/{chunk-GGPYP2VK.js → chunk-4TG4TGIL.js} +4 -4
- package/dist/chunk-4TG4TGIL.js.map +1 -0
- package/dist/{chunk-RAOW6Z6R.js → chunk-DJPNJBFL.js} +21 -29
- package/dist/chunk-DJPNJBFL.js.map +1 -0
- package/dist/{chunk-6Z4ZF36Z.js → chunk-DP7V33X7.js} +1 -1
- package/dist/chunk-DP7V33X7.js.map +1 -0
- package/dist/{chunk-32H5OCBB.js → chunk-ED67MXSG.js} +5 -5
- package/dist/chunk-ED67MXSG.js.map +1 -0
- package/dist/{chunk-UFRVQZBD.js → chunk-ZR37OKV6.js} +209 -49
- package/dist/chunk-ZR37OKV6.js.map +1 -0
- package/dist/default.css +91 -18
- package/dist/index.js +150 -105
- package/dist/index.js.map +1 -1
- package/dist/multi-session.js +6 -6
- package/dist/tools-presentation.js +2 -2
- package/dist/tools.js +4 -4
- package/dist/virtual.js +3 -3
- package/package.json +1 -1
- package/dist/chunk-32H5OCBB.js.map +0 -1
- package/dist/chunk-6Z4ZF36Z.js.map +0 -1
- package/dist/chunk-GBY5DJ7L.js.map +0 -1
- package/dist/chunk-GGPYP2VK.js.map +0 -1
- package/dist/chunk-RAOW6Z6R.js.map +0 -1
- package/dist/chunk-UFRVQZBD.js.map +0 -1
package/dist/default.css
CHANGED
|
@@ -51,6 +51,8 @@
|
|
|
51
51
|
--lax-accent-primary: var(--lax-accent-primary, var(--accent-primary));
|
|
52
52
|
--lax-highlight: var(--lax-highlight, var(--highlight));
|
|
53
53
|
--lax-font-mono: var(--lax-font-mono, var(--font-mono, ui-monospace, monospace));
|
|
54
|
+
/* 挂接缩进 gutter 列宽:不以「字符个数」对齐(⎿ 常非 1ch) */
|
|
55
|
+
--lax-hang-gutter-width: 5ch;
|
|
54
56
|
|
|
55
57
|
/* 状态颜色(应用层可覆盖,默认使用主题色) */
|
|
56
58
|
--lax-color-done: var(--accent-primary);
|
|
@@ -586,10 +588,17 @@
|
|
|
586
588
|
min-width: 0;
|
|
587
589
|
}
|
|
588
590
|
|
|
591
|
+
/*
|
|
592
|
+
* 固定 gutter 列宽:call/result 正文起点同一列。
|
|
593
|
+
* 勿依赖 " ⎿ " 与等长空格等宽——U+23BF 在许多字体里不是 1ch。
|
|
594
|
+
*/
|
|
589
595
|
.lax-agent-progress__gutter {
|
|
590
|
-
flex
|
|
596
|
+
flex: 0 0 var(--lax-hang-gutter-width, 5ch);
|
|
597
|
+
width: var(--lax-hang-gutter-width, 5ch);
|
|
598
|
+
box-sizing: border-box;
|
|
591
599
|
color: var(--lax-muted);
|
|
592
600
|
white-space: pre;
|
|
601
|
+
overflow: hidden;
|
|
593
602
|
user-select: none;
|
|
594
603
|
}
|
|
595
604
|
|
|
@@ -621,6 +630,18 @@
|
|
|
621
630
|
margin-top: 0.5rem;
|
|
622
631
|
}
|
|
623
632
|
|
|
633
|
+
/* 方案 B:call=⎿,result=缩进;结果默认 muted,错误短文保留醒目色 */
|
|
634
|
+
.lax-agent-progress--transcript .lax-agent-progress__line[data-kind='result']
|
|
635
|
+
.lax-agent-progress__text {
|
|
636
|
+
color: var(--lax-muted);
|
|
637
|
+
}
|
|
638
|
+
|
|
639
|
+
.lax-agent-progress--transcript
|
|
640
|
+
.lax-agent-progress__line[data-kind='result'][data-variant='error']
|
|
641
|
+
.lax-agent-progress__text {
|
|
642
|
+
color: var(--lax-error, #c0392b);
|
|
643
|
+
}
|
|
644
|
+
|
|
624
645
|
.lax-agent-progress__label {
|
|
625
646
|
font-size: 0.72rem;
|
|
626
647
|
color: var(--lax-muted);
|
|
@@ -688,6 +709,12 @@
|
|
|
688
709
|
flex-shrink: 0;
|
|
689
710
|
}
|
|
690
711
|
|
|
712
|
+
/* 标题 / status / Show|Hide 同一流式块:换行时链接落在末行末尾 */
|
|
713
|
+
.lax-tool-group__subline-flow {
|
|
714
|
+
flex: 1;
|
|
715
|
+
min-width: 0;
|
|
716
|
+
}
|
|
717
|
+
|
|
691
718
|
.lax-tool-group__subline-title {
|
|
692
719
|
font-weight: 600;
|
|
693
720
|
}
|
|
@@ -711,13 +738,14 @@
|
|
|
711
738
|
background: none;
|
|
712
739
|
border: none;
|
|
713
740
|
padding: 0;
|
|
714
|
-
margin: 0;
|
|
741
|
+
margin: 0 0 0 0.5rem;
|
|
715
742
|
font: inherit;
|
|
716
743
|
font-size: inherit;
|
|
717
744
|
color: var(--lax-accent, #3a6ea5);
|
|
718
745
|
cursor: pointer;
|
|
719
746
|
text-decoration: underline;
|
|
720
747
|
text-underline-offset: 2px;
|
|
748
|
+
white-space: nowrap;
|
|
721
749
|
}
|
|
722
750
|
|
|
723
751
|
.lax-tool-group__transcript-link:hover {
|
|
@@ -2163,6 +2191,29 @@
|
|
|
2163
2191
|
border-radius: 2px;
|
|
2164
2192
|
}
|
|
2165
2193
|
|
|
2194
|
+
/* hanging indent:prefix | body(teaser / hint 与 summary 首字对齐) */
|
|
2195
|
+
.lax-workflow-expand-trigger__hang {
|
|
2196
|
+
display: flex;
|
|
2197
|
+
align-items: baseline;
|
|
2198
|
+
}
|
|
2199
|
+
|
|
2200
|
+
.lax-workflow-expand-trigger__prefix {
|
|
2201
|
+
flex: 0 0 var(--lax-hang-gutter-width, 5ch);
|
|
2202
|
+
width: var(--lax-hang-gutter-width, 5ch);
|
|
2203
|
+
box-sizing: border-box;
|
|
2204
|
+
white-space: pre;
|
|
2205
|
+
overflow: hidden;
|
|
2206
|
+
user-select: none;
|
|
2207
|
+
color: var(--lax-muted);
|
|
2208
|
+
font-family: var(--lax-font-mono);
|
|
2209
|
+
font-size: 0.75rem;
|
|
2210
|
+
}
|
|
2211
|
+
|
|
2212
|
+
.lax-workflow-expand-trigger__body {
|
|
2213
|
+
flex: 1;
|
|
2214
|
+
min-width: 0;
|
|
2215
|
+
}
|
|
2216
|
+
|
|
2166
2217
|
.lax-workflow-expand-trigger__summary {
|
|
2167
2218
|
display: block;
|
|
2168
2219
|
color: var(--lax-muted);
|
|
@@ -2171,7 +2222,6 @@
|
|
|
2171
2222
|
|
|
2172
2223
|
.lax-workflow-expand-trigger__teaser {
|
|
2173
2224
|
display: block;
|
|
2174
|
-
padding-left: 0.5rem;
|
|
2175
2225
|
margin-top: 0.125rem;
|
|
2176
2226
|
font-size: 0.875rem;
|
|
2177
2227
|
color: var(--lax-foreground);
|
|
@@ -2179,23 +2229,58 @@
|
|
|
2179
2229
|
|
|
2180
2230
|
.lax-workflow-expand-trigger__hint {
|
|
2181
2231
|
display: block;
|
|
2182
|
-
padding-left: 0.5rem;
|
|
2183
2232
|
margin-top: 0.125rem;
|
|
2184
2233
|
color: var(--lax-muted);
|
|
2185
2234
|
font-size: 0.75rem;
|
|
2186
2235
|
}
|
|
2187
2236
|
|
|
2237
|
+
/*
|
|
2238
|
+
* Done-teaser hanging indent(SSOT:quality-check/references/agent-progress-hanging-indent.md)
|
|
2239
|
+
* [ ⎿ | body首行 ]
|
|
2240
|
+
* [ | … +N ] ← hint 在 body 列内,与正文首字对齐
|
|
2241
|
+
*/
|
|
2188
2242
|
.lax-workflow-stage-container__done-teaser {
|
|
2243
|
+
display: flex;
|
|
2244
|
+
align-items: baseline;
|
|
2189
2245
|
padding-left: 1.1rem;
|
|
2190
2246
|
margin-top: 0.125rem;
|
|
2247
|
+
font-size: 0.875rem;
|
|
2248
|
+
color: var(--lax-foreground);
|
|
2191
2249
|
}
|
|
2192
2250
|
|
|
2193
|
-
.lax-workflow-stage-container__done-teaser-
|
|
2194
|
-
|
|
2251
|
+
.lax-workflow-stage-container__done-teaser-prefix {
|
|
2252
|
+
flex: 0 0 var(--lax-hang-gutter-width, 5ch);
|
|
2253
|
+
width: var(--lax-hang-gutter-width, 5ch);
|
|
2254
|
+
box-sizing: border-box;
|
|
2255
|
+
white-space: pre;
|
|
2256
|
+
overflow: hidden;
|
|
2257
|
+
user-select: none;
|
|
2258
|
+
color: var(--lax-muted);
|
|
2259
|
+
font-family: var(--lax-font-mono);
|
|
2260
|
+
font-size: 0.75rem;
|
|
2261
|
+
}
|
|
2262
|
+
|
|
2263
|
+
.lax-workflow-stage-container__done-teaser-body {
|
|
2264
|
+
flex: 1;
|
|
2265
|
+
min-width: 0;
|
|
2266
|
+
}
|
|
2267
|
+
|
|
2268
|
+
.lax-workflow-stage-container__done-teaser-markdown {
|
|
2195
2269
|
font-size: 0.875rem;
|
|
2196
2270
|
color: var(--lax-foreground);
|
|
2197
2271
|
}
|
|
2198
2272
|
|
|
2273
|
+
.lax-workflow-stage-container__done-teaser-markdown > :first-child {
|
|
2274
|
+
margin-top: 0;
|
|
2275
|
+
}
|
|
2276
|
+
|
|
2277
|
+
.lax-workflow-stage-container__done-teaser-hint {
|
|
2278
|
+
display: block;
|
|
2279
|
+
margin-top: 0.125rem;
|
|
2280
|
+
color: var(--lax-muted);
|
|
2281
|
+
font-size: 0.75rem;
|
|
2282
|
+
}
|
|
2283
|
+
|
|
2199
2284
|
.lax-workflow-stage-container__empty-hint {
|
|
2200
2285
|
padding-left: 1.1rem;
|
|
2201
2286
|
}
|
|
@@ -2433,18 +2518,6 @@
|
|
|
2433
2518
|
gap: 0.25rem;
|
|
2434
2519
|
}
|
|
2435
2520
|
|
|
2436
|
-
.lax-workflow-aggregate__waiting-teaser {
|
|
2437
|
-
color: var(--lax-muted);
|
|
2438
|
-
font-size: 0.8125rem;
|
|
2439
|
-
padding-left: 1.1rem;
|
|
2440
|
-
margin-top: 0.125rem;
|
|
2441
|
-
}
|
|
2442
|
-
|
|
2443
|
-
.lax-workflow-aggregate__waiting-prefix {
|
|
2444
|
-
display: block;
|
|
2445
|
-
margin-bottom: 0.125rem;
|
|
2446
|
-
}
|
|
2447
|
-
|
|
2448
2521
|
.lax-workflow-aggregate__done-preview,
|
|
2449
2522
|
.lax-workflow-aggregate__markdown {
|
|
2450
2523
|
padding-left: 1.1rem;
|
package/dist/index.js
CHANGED
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
fixDiagramSvg,
|
|
24
24
|
markEventIdSeen,
|
|
25
25
|
shouldSkipDuplicateEvent
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-ED67MXSG.js";
|
|
27
27
|
import {
|
|
28
28
|
DefaultToolBody,
|
|
29
29
|
InteractionBusContext,
|
|
@@ -32,8 +32,8 @@ import {
|
|
|
32
32
|
getNoopInteractionBus,
|
|
33
33
|
resolveToolBody,
|
|
34
34
|
useInteractionBus
|
|
35
|
-
} from "./chunk-
|
|
36
|
-
import "./chunk-
|
|
35
|
+
} from "./chunk-4TG4TGIL.js";
|
|
36
|
+
import "./chunk-DP7V33X7.js";
|
|
37
37
|
import {
|
|
38
38
|
CollapseKind,
|
|
39
39
|
CollapsedExploreNode,
|
|
@@ -119,8 +119,10 @@ import {
|
|
|
119
119
|
useSessionStatus,
|
|
120
120
|
useSessionViewOptions,
|
|
121
121
|
useTimeline
|
|
122
|
-
} from "./chunk-
|
|
122
|
+
} from "./chunk-DJPNJBFL.js";
|
|
123
123
|
import {
|
|
124
|
+
AGENT_PROGRESS_GUTTER,
|
|
125
|
+
AGENT_PROGRESS_INDENT,
|
|
124
126
|
Agent,
|
|
125
127
|
AgentToolBody,
|
|
126
128
|
AskUserQuestion,
|
|
@@ -147,7 +149,7 @@ import {
|
|
|
147
149
|
createDefaultToolRegistry,
|
|
148
150
|
formatAgentTitle,
|
|
149
151
|
formatExploreSummaryText
|
|
150
|
-
} from "./chunk-
|
|
152
|
+
} from "./chunk-ZR37OKV6.js";
|
|
151
153
|
import {
|
|
152
154
|
BodyBlockList,
|
|
153
155
|
DiffView,
|
|
@@ -163,7 +165,7 @@ import {
|
|
|
163
165
|
formatTimeoutFooter,
|
|
164
166
|
parseDiffText,
|
|
165
167
|
truncateCommand
|
|
166
|
-
} from "./chunk-
|
|
168
|
+
} from "./chunk-4RIOBLGB.js";
|
|
167
169
|
|
|
168
170
|
// src/view/AgentSession.tsx
|
|
169
171
|
import { useEffect as useEffect3, useMemo, useRef as useRef3 } from "react";
|
|
@@ -3660,55 +3662,15 @@ function WorkflowContainerLine({
|
|
|
3660
3662
|
return /* @__PURE__ */ jsx5("div", { className: lineClass, style, children: content });
|
|
3661
3663
|
}
|
|
3662
3664
|
|
|
3663
|
-
// src/view/workflow/WorkflowExpandTrigger.tsx
|
|
3664
|
-
import { jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
3665
|
-
function WorkflowExpandTrigger({
|
|
3666
|
-
summary,
|
|
3667
|
-
summaryTestId,
|
|
3668
|
-
teaser,
|
|
3669
|
-
expandHint,
|
|
3670
|
-
onToggle,
|
|
3671
|
-
expanded = false,
|
|
3672
|
-
testId,
|
|
3673
|
-
teaserTestId,
|
|
3674
|
-
className = ""
|
|
3675
|
-
}) {
|
|
3676
|
-
return /* @__PURE__ */ jsxs3(
|
|
3677
|
-
"button",
|
|
3678
|
-
{
|
|
3679
|
-
type: "button",
|
|
3680
|
-
className: `lax-workflow-expand-trigger${className ? ` ${className}` : ""}`,
|
|
3681
|
-
onClick: onToggle,
|
|
3682
|
-
"aria-expanded": expanded,
|
|
3683
|
-
"data-testid": testId,
|
|
3684
|
-
children: [
|
|
3685
|
-
/* @__PURE__ */ jsxs3("span", { className: "lax-workflow-expand-trigger__summary", "data-testid": summaryTestId, children: [
|
|
3686
|
-
"\u23BF ",
|
|
3687
|
-
summary
|
|
3688
|
-
] }),
|
|
3689
|
-
teaser ? /* @__PURE__ */ jsx6(
|
|
3690
|
-
"span",
|
|
3691
|
-
{
|
|
3692
|
-
className: "lax-workflow-expand-trigger__teaser",
|
|
3693
|
-
"data-testid": teaserTestId,
|
|
3694
|
-
children: teaser
|
|
3695
|
-
}
|
|
3696
|
-
) : null,
|
|
3697
|
-
expandHint ? /* @__PURE__ */ jsx6("span", { className: "lax-workflow-expand-trigger__hint", children: expandHint }) : null
|
|
3698
|
-
]
|
|
3699
|
-
}
|
|
3700
|
-
);
|
|
3701
|
-
}
|
|
3702
|
-
|
|
3703
3665
|
// src/view/workflow/WorkflowMarkdownPreview.tsx
|
|
3704
|
-
import { jsx as
|
|
3666
|
+
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
3705
3667
|
function WorkflowMarkdownPreview({
|
|
3706
3668
|
content,
|
|
3707
3669
|
testId,
|
|
3708
3670
|
className = "lax-workflow-markdown-preview"
|
|
3709
3671
|
}) {
|
|
3710
3672
|
if (!content.trim()) return null;
|
|
3711
|
-
return /* @__PURE__ */
|
|
3673
|
+
return /* @__PURE__ */ jsx6("div", { className, "data-testid": testId, children: /* @__PURE__ */ jsx6(RichMarkdown, { content, deferDiagrams: true }) });
|
|
3712
3674
|
}
|
|
3713
3675
|
|
|
3714
3676
|
// src/core/workflow/loopTreeUtils.ts
|
|
@@ -3718,7 +3680,7 @@ function hasTimelineNodes(tree) {
|
|
|
3718
3680
|
}
|
|
3719
3681
|
|
|
3720
3682
|
// src/view/workflow/workflowStageDoneBody.tsx
|
|
3721
|
-
import { jsx as
|
|
3683
|
+
import { jsx as jsx7, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
3722
3684
|
function WorkflowStageDoneBody({
|
|
3723
3685
|
loopTree,
|
|
3724
3686
|
testId,
|
|
@@ -3728,7 +3690,7 @@ function WorkflowStageDoneBody({
|
|
|
3728
3690
|
bodyClassName = "lax-workflow-stage-container__body"
|
|
3729
3691
|
}) {
|
|
3730
3692
|
if (loopTree && hasTimelineNodes(loopTree)) {
|
|
3731
|
-
return /* @__PURE__ */
|
|
3693
|
+
return /* @__PURE__ */ jsx7("div", { className: bodyClassName, "data-testid": testId, "data-loop-display": "full", children: /* @__PURE__ */ jsx7(
|
|
3732
3694
|
AgentLoopView,
|
|
3733
3695
|
{
|
|
3734
3696
|
tree: loopTree,
|
|
@@ -3739,12 +3701,12 @@ function WorkflowStageDoneBody({
|
|
|
3739
3701
|
}
|
|
3740
3702
|
) });
|
|
3741
3703
|
}
|
|
3742
|
-
return /* @__PURE__ */
|
|
3704
|
+
return /* @__PURE__ */ jsx7(
|
|
3743
3705
|
"div",
|
|
3744
3706
|
{
|
|
3745
3707
|
className: `${bodyClassName} lax-workflow-stage-container__empty-hint`,
|
|
3746
3708
|
"data-testid": testId,
|
|
3747
|
-
children: /* @__PURE__ */
|
|
3709
|
+
children: /* @__PURE__ */ jsx7("span", { className: "lax-workflow-stage-container__empty-hint-text", children: "\uFF08\u6B64\u9636\u6BB5\u6682\u65E0 Agent \u65F6\u95F4\u7EBF\u5185\u5BB9\uFF09" })
|
|
3748
3710
|
}
|
|
3749
3711
|
);
|
|
3750
3712
|
}
|
|
@@ -3755,22 +3717,22 @@ function WorkflowStageSummaryOnlyBody({
|
|
|
3755
3717
|
bodyClassName = "lax-workflow-stage-container__body lax-workflow-stage-container__body--summary-only"
|
|
3756
3718
|
}) {
|
|
3757
3719
|
const expandHint = formatTeaserExpandHint(summary.extraLines, verbose);
|
|
3758
|
-
return /* @__PURE__ */
|
|
3720
|
+
return /* @__PURE__ */ jsxs3(
|
|
3759
3721
|
"div",
|
|
3760
3722
|
{
|
|
3761
3723
|
className: bodyClassName,
|
|
3762
3724
|
"data-testid": testId,
|
|
3763
3725
|
"data-loop-display": "summary",
|
|
3764
3726
|
children: [
|
|
3765
|
-
summary.teaser ? /* @__PURE__ */
|
|
3727
|
+
summary.teaser ? /* @__PURE__ */ jsx7(
|
|
3766
3728
|
WorkflowMarkdownPreview,
|
|
3767
3729
|
{
|
|
3768
3730
|
content: summary.teaser,
|
|
3769
3731
|
className: "lax-workflow-stage-container__teaser",
|
|
3770
3732
|
testId: `${testId}-summary-teaser`
|
|
3771
3733
|
}
|
|
3772
|
-
) : /* @__PURE__ */
|
|
3773
|
-
expandHint ? /* @__PURE__ */
|
|
3734
|
+
) : /* @__PURE__ */ jsx7("span", { className: "lax-workflow-stage-container__empty-hint-text", children: WORKFLOW_STAGE_EMPTY_SUMMARY_HINT }),
|
|
3735
|
+
expandHint ? /* @__PURE__ */ jsx7("span", { className: "lax-workflow-stage-container__done-teaser-hint", children: expandHint }) : null
|
|
3774
3736
|
]
|
|
3775
3737
|
}
|
|
3776
3738
|
);
|
|
@@ -4018,7 +3980,7 @@ function workflowContainerViewPropsEqual(prev, next) {
|
|
|
4018
3980
|
}
|
|
4019
3981
|
|
|
4020
3982
|
// src/view/workflow/WorkflowAggregateContainer.tsx
|
|
4021
|
-
import { jsx as
|
|
3983
|
+
import { jsx as jsx8, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
4022
3984
|
function mergeContentPreview(node) {
|
|
4023
3985
|
const blocks = node.content_blocks;
|
|
4024
3986
|
if (blocks.length === 0) return "";
|
|
@@ -4082,7 +4044,7 @@ function WorkflowAggregateContainerInner({
|
|
|
4082
4044
|
setExpanded((prev) => !prev);
|
|
4083
4045
|
}, []);
|
|
4084
4046
|
const shellToggle = isRunning ? toggleExpanded : isDone ? toggleExpanded : void 0;
|
|
4085
|
-
const markdownPreview = bodyMarkdown ? /* @__PURE__ */
|
|
4047
|
+
const markdownPreview = bodyMarkdown ? /* @__PURE__ */ jsx8(
|
|
4086
4048
|
WorkflowMarkdownPreview,
|
|
4087
4049
|
{
|
|
4088
4050
|
content: bodyMarkdown,
|
|
@@ -4091,7 +4053,8 @@ function WorkflowAggregateContainerInner({
|
|
|
4091
4053
|
}
|
|
4092
4054
|
) : null;
|
|
4093
4055
|
const canExpandDone = isDone && (Boolean(loopTree) || Boolean(bodyMarkdown) || Boolean(node.loopSessionId));
|
|
4094
|
-
|
|
4056
|
+
const doneExpandHint = expandHint ?? (canExpandDone ? "(click to expand)" : null);
|
|
4057
|
+
return /* @__PURE__ */ jsxs4(
|
|
4095
4058
|
"div",
|
|
4096
4059
|
{
|
|
4097
4060
|
className: `lax-workflow-aggregate lax-workflow-stage-container lax-workflow-stage-container--${isWaiting ? "pending" : isDone ? "done" : "running"}`,
|
|
@@ -4099,7 +4062,7 @@ function WorkflowAggregateContainerInner({
|
|
|
4099
4062
|
"data-container-scope": "aggregate",
|
|
4100
4063
|
style: { "--lax-workflow-depth": depth },
|
|
4101
4064
|
children: [
|
|
4102
|
-
/* @__PURE__ */
|
|
4065
|
+
/* @__PURE__ */ jsx8(
|
|
4103
4066
|
WorkflowContainerLine,
|
|
4104
4067
|
{
|
|
4105
4068
|
title: node.title,
|
|
@@ -4114,17 +4077,31 @@ function WorkflowAggregateContainerInner({
|
|
|
4114
4077
|
descriptionTestId: `${testId}-desc`
|
|
4115
4078
|
}
|
|
4116
4079
|
),
|
|
4117
|
-
isWaiting && waitingTeaser ? /* @__PURE__ */
|
|
4118
|
-
|
|
4119
|
-
|
|
4120
|
-
|
|
4121
|
-
{
|
|
4122
|
-
|
|
4123
|
-
|
|
4124
|
-
|
|
4125
|
-
|
|
4126
|
-
|
|
4127
|
-
|
|
4080
|
+
isWaiting && waitingTeaser ? /* @__PURE__ */ jsxs4(
|
|
4081
|
+
"div",
|
|
4082
|
+
{
|
|
4083
|
+
className: "lax-workflow-stage-container__done-teaser",
|
|
4084
|
+
"data-testid": `${testId}-waiting`,
|
|
4085
|
+
children: [
|
|
4086
|
+
/* @__PURE__ */ jsx8(
|
|
4087
|
+
"span",
|
|
4088
|
+
{
|
|
4089
|
+
className: "lax-workflow-stage-container__done-teaser-prefix",
|
|
4090
|
+
"aria-hidden": true,
|
|
4091
|
+
children: AGENT_PROGRESS_GUTTER
|
|
4092
|
+
}
|
|
4093
|
+
),
|
|
4094
|
+
/* @__PURE__ */ jsx8("div", { className: "lax-workflow-stage-container__done-teaser-body", children: /* @__PURE__ */ jsx8(
|
|
4095
|
+
WorkflowMarkdownPreview,
|
|
4096
|
+
{
|
|
4097
|
+
content: waitingTeaser,
|
|
4098
|
+
className: "lax-workflow-stage-container__done-teaser-markdown"
|
|
4099
|
+
}
|
|
4100
|
+
) })
|
|
4101
|
+
]
|
|
4102
|
+
}
|
|
4103
|
+
) : null,
|
|
4104
|
+
expanded && isRunning && loopTree ? /* @__PURE__ */ jsx8("div", { className: "lax-workflow-stage-container__body", "data-testid": `${testId}-body`, children: /* @__PURE__ */ jsx8(
|
|
4128
4105
|
AgentLoopView,
|
|
4129
4106
|
{
|
|
4130
4107
|
tree: loopTree,
|
|
@@ -4134,7 +4111,7 @@ function WorkflowAggregateContainerInner({
|
|
|
4134
4111
|
groupParallelTools
|
|
4135
4112
|
}
|
|
4136
4113
|
) }) : null,
|
|
4137
|
-
expanded && isRunning && !loopTree && bodyMarkdown ? /* @__PURE__ */
|
|
4114
|
+
expanded && isRunning && !loopTree && bodyMarkdown ? /* @__PURE__ */ jsx8(
|
|
4138
4115
|
"div",
|
|
4139
4116
|
{
|
|
4140
4117
|
className: "lax-workflow-stage-container__body lax-workflow-stage-container__content-preview",
|
|
@@ -4142,21 +4119,35 @@ function WorkflowAggregateContainerInner({
|
|
|
4142
4119
|
children: markdownPreview
|
|
4143
4120
|
}
|
|
4144
4121
|
) : null,
|
|
4145
|
-
isDone && !expanded ? /* @__PURE__ */
|
|
4146
|
-
|
|
4147
|
-
|
|
4148
|
-
|
|
4149
|
-
|
|
4150
|
-
|
|
4151
|
-
|
|
4152
|
-
|
|
4153
|
-
|
|
4154
|
-
|
|
4155
|
-
|
|
4156
|
-
|
|
4157
|
-
|
|
4158
|
-
|
|
4159
|
-
|
|
4122
|
+
isDone && !expanded && (bodyMarkdown || doneExpandHint) ? /* @__PURE__ */ jsx8("div", { "data-testid": `${testId}-done`, children: /* @__PURE__ */ jsxs4(
|
|
4123
|
+
"div",
|
|
4124
|
+
{
|
|
4125
|
+
className: "lax-workflow-stage-container__done-teaser",
|
|
4126
|
+
"data-testid": bodyMarkdown ? `${testId}-teaser` : void 0,
|
|
4127
|
+
children: [
|
|
4128
|
+
/* @__PURE__ */ jsx8(
|
|
4129
|
+
"span",
|
|
4130
|
+
{
|
|
4131
|
+
className: "lax-workflow-stage-container__done-teaser-prefix",
|
|
4132
|
+
"aria-hidden": true,
|
|
4133
|
+
children: bodyMarkdown ? AGENT_PROGRESS_GUTTER : AGENT_PROGRESS_INDENT
|
|
4134
|
+
}
|
|
4135
|
+
),
|
|
4136
|
+
/* @__PURE__ */ jsxs4("div", { className: "lax-workflow-stage-container__done-teaser-body", children: [
|
|
4137
|
+
bodyMarkdown ? /* @__PURE__ */ jsx8(
|
|
4138
|
+
WorkflowMarkdownPreview,
|
|
4139
|
+
{
|
|
4140
|
+
content: bodyMarkdown,
|
|
4141
|
+
testId: `${testId}-markdown`,
|
|
4142
|
+
className: "lax-workflow-stage-container__done-teaser-markdown"
|
|
4143
|
+
}
|
|
4144
|
+
) : null,
|
|
4145
|
+
doneExpandHint ? /* @__PURE__ */ jsx8("span", { className: "lax-workflow-stage-container__done-teaser-hint", children: doneExpandHint }) : null
|
|
4146
|
+
] })
|
|
4147
|
+
]
|
|
4148
|
+
}
|
|
4149
|
+
) }) : null,
|
|
4150
|
+
isDone && expanded ? loopTree ? /* @__PURE__ */ jsx8(
|
|
4160
4151
|
WorkflowStageDoneBody,
|
|
4161
4152
|
{
|
|
4162
4153
|
node,
|
|
@@ -4166,19 +4157,19 @@ function WorkflowAggregateContainerInner({
|
|
|
4166
4157
|
virtualizeThreshold,
|
|
4167
4158
|
groupParallelTools
|
|
4168
4159
|
}
|
|
4169
|
-
) : bodyMarkdown ? /* @__PURE__ */
|
|
4160
|
+
) : bodyMarkdown ? /* @__PURE__ */ jsx8(
|
|
4170
4161
|
"div",
|
|
4171
4162
|
{
|
|
4172
4163
|
className: "lax-workflow-stage-container__body lax-workflow-stage-container__content-preview",
|
|
4173
4164
|
"data-testid": `${testId}-body`,
|
|
4174
4165
|
children: markdownPreview
|
|
4175
4166
|
}
|
|
4176
|
-
) : usesScopedLoop ? /* @__PURE__ */
|
|
4167
|
+
) : usesScopedLoop ? /* @__PURE__ */ jsx8(
|
|
4177
4168
|
"div",
|
|
4178
4169
|
{
|
|
4179
4170
|
className: "lax-workflow-stage-container__body lax-workflow-loop-replay-pending",
|
|
4180
4171
|
"data-testid": `${testId}-body`,
|
|
4181
|
-
children: /* @__PURE__ */
|
|
4172
|
+
children: /* @__PURE__ */ jsx8("p", { className: "lax-workflow-loop-replay-pending__hint", children: "Loop details evicted from memory." })
|
|
4182
4173
|
}
|
|
4183
4174
|
) : null : null
|
|
4184
4175
|
]
|
|
@@ -4295,6 +4286,53 @@ function formatParallelGroupSummary(metrics) {
|
|
|
4295
4286
|
return `Done (${n} agent${n === 1 ? "" : "s"})`;
|
|
4296
4287
|
}
|
|
4297
4288
|
|
|
4289
|
+
// src/view/workflow/WorkflowExpandTrigger.tsx
|
|
4290
|
+
import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
4291
|
+
function WorkflowExpandTrigger({
|
|
4292
|
+
summary,
|
|
4293
|
+
summaryTestId,
|
|
4294
|
+
teaser,
|
|
4295
|
+
expandHint,
|
|
4296
|
+
onToggle,
|
|
4297
|
+
expanded = false,
|
|
4298
|
+
testId,
|
|
4299
|
+
teaserTestId,
|
|
4300
|
+
className = ""
|
|
4301
|
+
}) {
|
|
4302
|
+
return /* @__PURE__ */ jsx9(
|
|
4303
|
+
"button",
|
|
4304
|
+
{
|
|
4305
|
+
type: "button",
|
|
4306
|
+
className: `lax-workflow-expand-trigger${className ? ` ${className}` : ""}`,
|
|
4307
|
+
onClick: onToggle,
|
|
4308
|
+
"aria-expanded": expanded,
|
|
4309
|
+
"data-testid": testId,
|
|
4310
|
+
children: /* @__PURE__ */ jsxs5("span", { className: "lax-workflow-expand-trigger__hang", children: [
|
|
4311
|
+
/* @__PURE__ */ jsx9("span", { className: "lax-workflow-expand-trigger__prefix", "aria-hidden": true, children: AGENT_PROGRESS_GUTTER }),
|
|
4312
|
+
/* @__PURE__ */ jsxs5("span", { className: "lax-workflow-expand-trigger__body", children: [
|
|
4313
|
+
/* @__PURE__ */ jsx9(
|
|
4314
|
+
"span",
|
|
4315
|
+
{
|
|
4316
|
+
className: "lax-workflow-expand-trigger__summary",
|
|
4317
|
+
"data-testid": summaryTestId,
|
|
4318
|
+
children: summary
|
|
4319
|
+
}
|
|
4320
|
+
),
|
|
4321
|
+
teaser ? /* @__PURE__ */ jsx9(
|
|
4322
|
+
"span",
|
|
4323
|
+
{
|
|
4324
|
+
className: "lax-workflow-expand-trigger__teaser",
|
|
4325
|
+
"data-testid": teaserTestId,
|
|
4326
|
+
children: teaser
|
|
4327
|
+
}
|
|
4328
|
+
) : null,
|
|
4329
|
+
expandHint ? /* @__PURE__ */ jsx9("span", { className: "lax-workflow-expand-trigger__hint", children: expandHint }) : null
|
|
4330
|
+
] })
|
|
4331
|
+
] })
|
|
4332
|
+
}
|
|
4333
|
+
);
|
|
4334
|
+
}
|
|
4335
|
+
|
|
4298
4336
|
// src/view/workflow/WorkflowStageContainer.tsx
|
|
4299
4337
|
import { useCallback as useCallback2, useEffect as useEffect7, useMemo as useMemo3, useState as useState2, memo as memo2 } from "react";
|
|
4300
4338
|
import { useStore as useStore4 } from "zustand";
|
|
@@ -4410,26 +4448,33 @@ function WorkflowStageContainerInner({
|
|
|
4410
4448
|
className: isItem ? "lax-workflow-parallel-item__header" : void 0
|
|
4411
4449
|
}
|
|
4412
4450
|
),
|
|
4413
|
-
effectivelyDone && !expanded && (teaserText || expandHint) ? /* @__PURE__ */ jsxs6(
|
|
4414
|
-
|
|
4415
|
-
|
|
4416
|
-
|
|
4417
|
-
|
|
4418
|
-
|
|
4419
|
-
|
|
4420
|
-
|
|
4421
|
-
|
|
4451
|
+
effectivelyDone && !expanded && (teaserText || expandHint) ? /* @__PURE__ */ jsxs6(
|
|
4452
|
+
"div",
|
|
4453
|
+
{
|
|
4454
|
+
className: "lax-workflow-stage-container__done-teaser",
|
|
4455
|
+
"data-testid": teaserText ? `${testId}-teaser` : void 0,
|
|
4456
|
+
children: [
|
|
4457
|
+
/* @__PURE__ */ jsx10(
|
|
4458
|
+
"span",
|
|
4459
|
+
{
|
|
4460
|
+
className: "lax-workflow-stage-container__done-teaser-prefix",
|
|
4461
|
+
"aria-hidden": true,
|
|
4462
|
+
children: teaserText ? AGENT_PROGRESS_GUTTER : AGENT_PROGRESS_INDENT
|
|
4463
|
+
}
|
|
4464
|
+
),
|
|
4465
|
+
/* @__PURE__ */ jsxs6("div", { className: "lax-workflow-stage-container__done-teaser-body", children: [
|
|
4466
|
+
teaserText ? /* @__PURE__ */ jsx10(
|
|
4422
4467
|
WorkflowMarkdownPreview,
|
|
4423
4468
|
{
|
|
4424
4469
|
content: teaserText,
|
|
4425
4470
|
className: "lax-workflow-stage-container__done-teaser-markdown"
|
|
4426
4471
|
}
|
|
4427
|
-
)
|
|
4428
|
-
|
|
4429
|
-
|
|
4430
|
-
|
|
4431
|
-
|
|
4432
|
-
|
|
4472
|
+
) : null,
|
|
4473
|
+
expandHint ? /* @__PURE__ */ jsx10("span", { className: "lax-workflow-stage-container__done-teaser-hint", children: expandHint }) : null
|
|
4474
|
+
] })
|
|
4475
|
+
]
|
|
4476
|
+
}
|
|
4477
|
+
) : null,
|
|
4433
4478
|
expanded && isRunning && !usesScopedLoop && node.content_blocks.length > 0 ? /* @__PURE__ */ jsx10(
|
|
4434
4479
|
"div",
|
|
4435
4480
|
{
|