@stigmer/react 3.12.8 → 3.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/README.md +1 -3
  2. package/conversation/ConversationTimelineView.d.ts +15 -1
  3. package/conversation/ConversationTimelineView.d.ts.map +1 -1
  4. package/conversation/ConversationTimelineView.js +3 -2
  5. package/conversation/ConversationTimelineView.js.map +1 -1
  6. package/conversation/ConversationsWorkbench.d.ts +14 -1
  7. package/conversation/ConversationsWorkbench.d.ts.map +1 -1
  8. package/conversation/ConversationsWorkbench.js +11 -2
  9. package/conversation/ConversationsWorkbench.js.map +1 -1
  10. package/execution/MessageThread.d.ts +33 -2
  11. package/execution/MessageThread.d.ts.map +1 -1
  12. package/execution/MessageThread.js +44 -6
  13. package/execution/MessageThread.js.map +1 -1
  14. package/execution/RecalledMemoriesCard.d.ts +47 -0
  15. package/execution/RecalledMemoriesCard.d.ts.map +1 -0
  16. package/execution/RecalledMemoriesCard.js +58 -0
  17. package/execution/RecalledMemoriesCard.js.map +1 -0
  18. package/execution/index.d.ts +2 -0
  19. package/execution/index.d.ts.map +1 -1
  20. package/execution/index.js +1 -0
  21. package/execution/index.js.map +1 -1
  22. package/identity-account/AccountPreferencesPanel.js +1 -1
  23. package/identity-account/AccountPreferencesPanel.js.map +1 -1
  24. package/index.d.ts +2 -2
  25. package/index.d.ts.map +1 -1
  26. package/index.js +1 -1
  27. package/index.js.map +1 -1
  28. package/internal/VirtualizedThread.d.ts +3 -1
  29. package/internal/VirtualizedThread.d.ts.map +1 -1
  30. package/internal/VirtualizedThread.js +3 -1
  31. package/internal/VirtualizedThread.js.map +1 -1
  32. package/internal/useAutoScroll.d.ts +18 -0
  33. package/internal/useAutoScroll.d.ts.map +1 -1
  34. package/internal/useAutoScroll.js +50 -0
  35. package/internal/useAutoScroll.js.map +1 -1
  36. package/organization/OrgPreferencesPanel.js +1 -1
  37. package/organization/OrgPreferencesPanel.js.map +1 -1
  38. package/package.json +4 -4
  39. package/provider-standing/useProviderStanding.d.ts +1 -1
  40. package/provider-standing/useProviderStanding.js +1 -1
  41. package/settings/MemorySection.d.ts.map +1 -1
  42. package/settings/MemorySection.js +1 -1
  43. package/settings/MemorySection.js.map +1 -1
  44. package/src/conversation/ConversationTimelineView.tsx +17 -1
  45. package/src/conversation/ConversationsWorkbench.tsx +25 -0
  46. package/src/conversation/__tests__/ConversationTimelineView.layout.test.tsx +37 -1
  47. package/src/execution/MessageThread.tsx +75 -3
  48. package/src/execution/RecalledMemoriesCard.tsx +164 -0
  49. package/src/execution/__tests__/RecalledMemoriesCard.test.tsx +123 -0
  50. package/src/execution/__tests__/message-thread-recalled-memories.test.tsx +216 -0
  51. package/src/execution/__tests__/message-thread-scroll-on-send.test.tsx +141 -0
  52. package/src/execution/__tests__/message-thread-slots.test.tsx +36 -0
  53. package/src/execution/index.ts +2 -0
  54. package/src/identity-account/AccountPreferencesPanel.tsx +1 -1
  55. package/src/index.ts +3 -0
  56. package/src/internal/VirtualizedThread.tsx +5 -0
  57. package/src/internal/__tests__/useAutoScroll.layout.test.tsx +105 -4
  58. package/src/internal/__tests__/useAutoScroll.test.tsx +41 -1
  59. package/src/internal/useAutoScroll.ts +54 -0
  60. package/src/organization/OrgPreferencesPanel.tsx +1 -1
  61. package/src/provider-standing/useProviderStanding.ts +1 -1
  62. package/src/settings/MemorySection.tsx +4 -2
  63. package/src/workflow/__tests__/WorkflowExecutionViewer.approvals.test.tsx +26 -7
  64. package/src/workflow/__tests__/WorkflowExecutionViewer.reconciliation.test.tsx +11 -9
  65. package/src/workflow/__tests__/WorkflowTaskThread.test.tsx +54 -2
  66. package/src/workflow/__tests__/task-presentation.test.ts +49 -12
  67. package/src/workflow/__tests__/workflow-thread-scroll-on-send.test.tsx +145 -0
  68. package/src/workflow/thread/WorkflowTaskThread.tsx +102 -50
  69. package/src/workflow/thread/task-presentation.ts +52 -7
  70. package/workflow/thread/WorkflowTaskThread.d.ts +13 -0
  71. package/workflow/thread/WorkflowTaskThread.d.ts.map +1 -1
  72. package/workflow/thread/WorkflowTaskThread.js +62 -31
  73. package/workflow/thread/WorkflowTaskThread.js.map +1 -1
  74. package/workflow/thread/task-presentation.d.ts.map +1 -1
  75. package/workflow/thread/task-presentation.js +50 -7
  76. package/workflow/thread/task-presentation.js.map +1 -1
@@ -92,6 +92,19 @@ export interface WorkflowTaskThreadProps {
92
92
  * summaries already on the items.
93
93
  */
94
94
  readonly taskSnapshotsByName?: ReadonlyMap<string, WorkflowTask>;
95
+ /**
96
+ * Scroll to the latest content when the reader submits a HITL decision
97
+ * from a scrolled-up position (stigmer-cloud#267) — the workflow surface's
98
+ * send-analog: approving a gate, deciding a file review, or answering a
99
+ * task-level human_input gate re-engages follow mode, so the run's
100
+ * continuation lands in view. Incoming task activity is unaffected — it
101
+ * still never moves a scrolled-up reader. Default `true` on all three SDK
102
+ * thread surfaces at once (the ratified DD-011 divergence — cross-surface
103
+ * consistency is the point); set `false` to keep today's behavior.
104
+ *
105
+ * @default true
106
+ */
107
+ readonly scrollOnSend?: boolean;
95
108
  /** Additional CSS class names for the root container. */
96
109
  readonly className?: string;
97
110
  }
@@ -135,12 +148,38 @@ export const WorkflowTaskThread = memo(function WorkflowTaskThread({
135
148
  onNavigateToAgentExecution,
136
149
  hitl,
137
150
  taskSnapshotsByName,
151
+ scrollOnSend = true,
138
152
  className,
139
153
  }: WorkflowTaskThreadProps) {
140
154
  const { items, progress } = useWorkflowThreadItems(taskStates, totalTasks);
141
155
  const { scrollRef, sentinelRef, contentRef, isFollowing, jumpToLatest } =
142
156
  useAutoScroll();
143
157
 
158
+ // Scroll-on-send (stigmer-cloud#267): submitting a decision pins the
159
+ // thread before delegating, so the unblocked run's continuation lands in
160
+ // view. The wrapper's identity moves with the bundle's — deliberate: the
161
+ // bundle re-materializes exactly when its gate state flips (see the
162
+ // render-site note below), and a stale wrapper would leak stale state
163
+ // fields. `jumpToLatest` is referentially stable (useAutoScroll pins it).
164
+ const threadHitl = useMemo<WorkflowThreadHitl | undefined>(() => {
165
+ if (!hitl || !scrollOnSend) return hitl;
166
+ return {
167
+ ...hitl,
168
+ submitApproval: (...args: Parameters<WorkflowThreadHitl["submitApproval"]>) => {
169
+ jumpToLatest();
170
+ return hitl.submitApproval(...args);
171
+ },
172
+ submitTaskApproval: (...args: Parameters<WorkflowThreadHitl["submitTaskApproval"]>) => {
173
+ jumpToLatest();
174
+ return hitl.submitTaskApproval(...args);
175
+ },
176
+ submitFileDecision: (...args: Parameters<WorkflowThreadHitl["submitFileDecision"]>) => {
177
+ jumpToLatest();
178
+ return hitl.submitFileDecision(...args);
179
+ },
180
+ };
181
+ }, [hitl, scrollOnSend, jumpToLatest]);
182
+
144
183
  return (
145
184
  <div className={cn("stg:relative stg:flex stg:h-full stg:min-h-0 stg:flex-col", className)}>
146
185
  <ThreadProgressHeader progress={progress} isRunning={isRunning} />
@@ -164,7 +203,7 @@ export const WorkflowTaskThread = memo(function WorkflowTaskThread({
164
203
  // would re-render the whole column per spinner tick. Scoped
165
204
  // here, non-gating cards keep `undefined === undefined` and
166
205
  // their memo bails hold.
167
- hitl={item.status === "waiting_approval" ? hitl : undefined}
206
+ hitl={item.status === "waiting_approval" ? threadHitl : undefined}
168
207
  snapshot={taskSnapshotsByName?.get(item.taskName)}
169
208
  />
170
209
  ))
@@ -249,7 +288,12 @@ function ThreadEmptyState({ isRunning }: { readonly isRunning: boolean }) {
249
288
  * card chevron — `BoundedContent` owns its own in-place reveal, so the
250
289
  * old "expand, then Show more" double control never comes back).
251
290
  * - `"summary"` kinds expand from the header — the session card's own
252
- * gesture, the chevron appended by the shell (T06).
291
+ * gesture, the chevron appended by the shell (T06) — but ONLY when the
292
+ * detail body would carry content (stigmer#886): since R6-6 moved
293
+ * Status/Duration onto the header, a settled wait card often has
294
+ * nothing left to reveal, and a chevron that opens an empty body is
295
+ * worse than no chevron. The gate is the summary twin of
296
+ * `showPreviewBody` below.
253
297
  * - AGENT_CALL cards with a spawned child render the child's inline
254
298
  * transcript as the body (T07) — keyed on the VARIANT, not the
255
299
  * disclosure, so a platform builder's presenter override can never route
@@ -323,6 +367,17 @@ const ThreadTaskCard = memo(function ThreadTaskCard({
323
367
  !showTranscript &&
324
368
  isPreview &&
325
369
  (outputIO !== null || !!item.error || showApprovalSummary);
370
+ // The summary twin of that gate (stigmer#886): the expand gesture exists
371
+ // only when `ThreadTaskDetail` would render something. Short-circuits
372
+ // before the row build for preview/transcript cards, which never render
373
+ // the detail body.
374
+ const summaryHasDetail =
375
+ !isPreview &&
376
+ !showTranscript &&
377
+ (taskDetailRows(item).length > 0 ||
378
+ !!item.error ||
379
+ inputIO !== null ||
380
+ outputIO !== null);
326
381
 
327
382
  const meta = formatMetaChips({
328
383
  durationMs: item.durationMs,
@@ -339,19 +394,19 @@ const ThreadTaskCard = memo(function ThreadTaskCard({
339
394
  accent={item.status === "waiting_approval" ? "warning" : null}
340
395
  cursorTarget="workflow-task-row"
341
396
  >
342
- {/* The session card's gestures exactly (T06): summary rows expand
343
- from the header (chevron appended by the shell); preview and
344
- transcript rows' bodies are always visible, so the header is a
345
- plain layout row. */}
397
+ {/* The session card's gestures exactly (T06): summary rows with a
398
+ content-bearing detail expand from the header (chevron appended
399
+ by the shell); preview, transcript, and body-less summary rows
400
+ are plain layout rows. */}
346
401
  <ThreadCardHeader
347
402
  gesture={
348
- isPreview || showTranscript
349
- ? { kind: "none" }
350
- : {
403
+ summaryHasDetail
404
+ ? {
351
405
  kind: "expand",
352
406
  expanded,
353
407
  onToggle: () => setExpanded((v) => !v),
354
408
  }
409
+ : { kind: "none" }
355
410
  }
356
411
  >
357
412
  <StatusGlyph status={item.status} />
@@ -412,6 +467,10 @@ const ThreadTaskCard = memo(function ThreadTaskCard({
412
467
  </pre>
413
468
  </BoundedContent>
414
469
  )}
470
+ {/* Carries the card's (wrapped) bundle: a child-gate decision
471
+ inside this transcript is a send too, and the gating card is
472
+ the thread's active tail — pinning the outer thread keeps
473
+ the transcript's continuation in view as it streams. */}
415
474
  <WorkflowAgentCallTranscript
416
475
  childExecutionId={item.childExecutionId}
417
476
  agentSlug={item.agentSlug || undefined}
@@ -443,7 +502,7 @@ const ThreadTaskCard = memo(function ThreadTaskCard({
443
502
  </ThreadCardBody>
444
503
  )}
445
504
 
446
- {!isPreview && !showTranscript && expanded && (
505
+ {summaryHasDetail && expanded && (
447
506
  <ThreadCardBody>
448
507
  <ThreadTaskDetail item={item} inputIO={inputIO} outputIO={outputIO} />
449
508
  </ThreadCardBody>
@@ -587,19 +646,16 @@ function ThreadTaskPreviewBody({
587
646
  );
588
647
  }
589
648
 
590
- function ThreadTaskDetail({
591
- item,
592
- inputIO,
593
- outputIO,
594
- }: {
595
- readonly item: WorkflowThreadItem;
596
- readonly inputIO: TaskDetailIO | null;
597
- readonly outputIO: TaskDetailIO | null;
598
- }) {
599
- const rows: Array<[string, string]> = [["Status", statusLabel(item.status)]];
600
- if (item.durationMs > 0) {
601
- rows.push(["Duration", formatMetaChips({ durationMs: item.durationMs }) ?? ""]);
602
- }
649
+ /**
650
+ * The detail body's label/value rows. No Status/Duration rows (R6-6): the
651
+ * card header is the single source for both — the status glyph and the
652
+ * duration meta chip. The detail carries only what the header cannot:
653
+ * attempt count, usage, the agent slug. Shared with the card's
654
+ * `summaryHasDetail` gate so "would the body render anything?" can never
655
+ * drift from what the body actually renders (stigmer#886).
656
+ */
657
+ function taskDetailRows(item: WorkflowThreadItem): Array<[string, string]> {
658
+ const rows: Array<[string, string]> = [];
603
659
  if (item.attemptNumber > 1) rows.push(["Attempt", String(item.attemptNumber)]);
604
660
  const costChip = formatMetaChips({
605
661
  costMicros: item.costMicros,
@@ -609,17 +665,32 @@ function ThreadTaskDetail({
609
665
  if (item.variant === "agent-call" && item.agentSlug) {
610
666
  rows.push(["Agent", item.agentSlug]);
611
667
  }
668
+ return rows;
669
+ }
670
+
671
+ function ThreadTaskDetail({
672
+ item,
673
+ inputIO,
674
+ outputIO,
675
+ }: {
676
+ readonly item: WorkflowThreadItem;
677
+ readonly inputIO: TaskDetailIO | null;
678
+ readonly outputIO: TaskDetailIO | null;
679
+ }) {
680
+ const rows = taskDetailRows(item);
612
681
 
613
682
  return (
614
683
  <div className="stg:flex stg:flex-col stg:gap-2">
615
- <dl className="stg:grid stg:grid-cols-[auto_1fr] stg:gap-x-4 stg:gap-y-1 stg:text-xs">
616
- {rows.map(([label, value]) => (
617
- <div key={label} className="stg:contents">
618
- <dt className="stg:text-muted-foreground">{label}</dt>
619
- <dd className="stg:text-foreground">{value}</dd>
620
- </div>
621
- ))}
622
- </dl>
684
+ {rows.length > 0 && (
685
+ <dl className="stg:grid stg:grid-cols-[auto_1fr] stg:gap-x-4 stg:gap-y-1 stg:text-xs">
686
+ {rows.map(([label, value]) => (
687
+ <div key={label} className="stg:contents">
688
+ <dt className="stg:text-muted-foreground">{label}</dt>
689
+ <dd className="stg:text-foreground">{value}</dd>
690
+ </div>
691
+ ))}
692
+ </dl>
693
+ )}
623
694
 
624
695
  {item.error && (
625
696
  <BoundedContent>
@@ -637,25 +708,6 @@ function ThreadTaskDetail({
637
708
  );
638
709
  }
639
710
 
640
- function statusLabel(status: WorkflowThreadItem["status"]): string {
641
- switch (status) {
642
- case "waiting_approval":
643
- return "Waiting for approval";
644
- case "retrying":
645
- return "Retrying";
646
- case "running":
647
- return "Running";
648
- case "completed":
649
- return "Completed";
650
- case "failed":
651
- return "Failed";
652
- case "skipped":
653
- return "Skipped";
654
- case "pending":
655
- return "Pending";
656
- }
657
- }
658
-
659
711
  // ---------------------------------------------------------------------------
660
712
  // Status glyph — the shared thread-card set, colored by status token (T05)
661
713
  // ---------------------------------------------------------------------------
@@ -124,9 +124,18 @@ export function getTaskPresenter(
124
124
  * the output-envelope follow-up standardizes them (DD-T04-3) — stays a
125
125
  * clean one-line row with zero cost. `set_vars` earns its place from live
126
126
  * data: the runner writes the seeded variables to task output (T05, R2-5).
127
+ * `try_catch` earns it the same way: its output is the try (or catch.do)
128
+ * block's settled result — the `transform` class. `raise_error` earns it
129
+ * from the OTHER `showBody` arm: it always fails, and the preview body
130
+ * renders the full failure detail without a click (R6-5).
127
131
  *
128
- * Only genuinely body-less kinds (control flow, `wait`/`listen`, and the
129
- * snapshot fallback's `unspecified`) stay compact summary rows.
132
+ * Only genuinely body-less kinds stay compact summary rows: `wait`/
133
+ * `listen`, the snapshot fallback's `unspecified`, and the remaining
134
+ * control flow — including `switch_case`, DELIBERATELY (an R6-5
135
+ * refinement): its entire settled content is the one-word flow directive,
136
+ * carried by its always-visible preview line below; a body would only
137
+ * re-render the raw `{__flow_directive__}` marker, failing the "does the
138
+ * body carry content the one-line row cannot?" rule.
130
139
  */
131
140
  const PREVIEW_KINDS: ReadonlySet<WorkflowTaskKind> = new Set([
132
141
  WorkflowTaskKind.transform,
@@ -142,6 +151,8 @@ const PREVIEW_KINDS: ReadonlySet<WorkflowTaskKind> = new Set([
142
151
  WorkflowTaskKind.grpc_call,
143
152
  WorkflowTaskKind.activity_call,
144
153
  WorkflowTaskKind.run_workflow,
154
+ WorkflowTaskKind.try_catch,
155
+ WorkflowTaskKind.raise_error,
145
156
  ]);
146
157
 
147
158
  /** Default disclosure mode for a task kind. */
@@ -218,12 +229,17 @@ function defaultPreviewLine(state: DerivedTaskState): string | null {
218
229
  return waitLine(state);
219
230
  case WorkflowTaskKind.listen:
220
231
  return listenLine(state);
232
+ case WorkflowTaskKind.switch_case:
233
+ return switchCaseLine(state.outputSummary);
234
+ case WorkflowTaskKind.try_catch:
235
+ return tryCatchLine(state);
221
236
  default:
222
- // Control flow (branch-taken / fork progress need graph topology the
223
- // thread does not have — deferred), raise_error (the failure
224
- // precedence already shows the message), the invocation kinds
225
- // (pending the backend output-envelope follow-up), and the snapshot
226
- // fallback's `unspecified` all stay status-only.
237
+ // Remaining control flow (for_each / fork progress need graph
238
+ // topology the thread does not have — deferred), raise_error (the
239
+ // failure precedence already shows the message; its preview body
240
+ // carries the full detail), the invocation kinds (pending the
241
+ // backend output-envelope follow-up), and the snapshot fallback's
242
+ // `unspecified` all stay status-only.
227
243
  return null;
228
244
  }
229
245
  }
@@ -354,6 +370,35 @@ function listenLine(state: DerivedTaskState): string | null {
354
370
  return null;
355
371
  }
356
372
 
373
+ /**
374
+ * `→ approved-path` / `→ exit` — the flow directive the switch settled on
375
+ * (R6-5). The switch executor's only output is the `__flow_directive__`
376
+ * marker carrying the matched case's `then` (a target task name, or the
377
+ * `continue`/`end`/`exit` terminals), and `do-executor` writes raw task
378
+ * output to the event summary — so the branch taken is already on the
379
+ * wire. No case matched means no output: status-only, honestly.
380
+ */
381
+ function switchCaseLine(output: JsonObject | null): string | null {
382
+ const directive = asString(output?.["__flow_directive__"]);
383
+ return directive ? `\u2192 ${directive}` : null;
384
+ }
385
+
386
+ /**
387
+ * `recovered after 2 attempts` / snippet of the settled block result
388
+ * (R6-5). The try task's own `task_retrying` events drive
389
+ * `attemptNumber`, so a completion above attempt 1 IS a catch-retry
390
+ * recovery. A catch.do-path recovery (no retry configured) is NOT
391
+ * distinguishable from plain success in the emitted data — deliberately
392
+ * unmarked: adding a marker to task output would leak presentation into
393
+ * workflow dataflow (`processTaskOutput` consumes it downstream).
394
+ */
395
+ function tryCatchLine(state: DerivedTaskState): string | null {
396
+ if (state.status === "completed" && state.attemptNumber > 1) {
397
+ return `recovered after ${state.attemptNumber} attempts`;
398
+ }
399
+ return state.outputSummary ? valueSnippet(state.outputSummary) : null;
400
+ }
401
+
357
402
  // ---------------------------------------------------------------------------
358
403
  // Struct-reading helpers (defensive by construction)
359
404
  // ---------------------------------------------------------------------------
@@ -44,6 +44,19 @@ export interface WorkflowTaskThreadProps {
44
44
  * summaries already on the items.
45
45
  */
46
46
  readonly taskSnapshotsByName?: ReadonlyMap<string, WorkflowTask>;
47
+ /**
48
+ * Scroll to the latest content when the reader submits a HITL decision
49
+ * from a scrolled-up position (stigmer-cloud#267) — the workflow surface's
50
+ * send-analog: approving a gate, deciding a file review, or answering a
51
+ * task-level human_input gate re-engages follow mode, so the run's
52
+ * continuation lands in view. Incoming task activity is unaffected — it
53
+ * still never moves a scrolled-up reader. Default `true` on all three SDK
54
+ * thread surfaces at once (the ratified DD-011 divergence — cross-surface
55
+ * consistency is the point); set `false` to keep today's behavior.
56
+ *
57
+ * @default true
58
+ */
59
+ readonly scrollOnSend?: boolean;
47
60
  /** Additional CSS class names for the root container. */
48
61
  readonly className?: string;
49
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowTaskThread.d.ts","sourceRoot":"","sources":["../../../src/workflow/thread/WorkflowTaskThread.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gEAAgE,CAAC;AACnG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AAgB/F,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,mCAAmC,CAAC;AAkB3F;;;;;;;;;;GAUG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,iCAAiC,EAC/B,gBAAgB,GAChB,+BAA+B,GAC/B,4BAA4B,GAC5B,oBAAoB,GACpB,iCAAiC,GACjC,8BAA8B,GAC9B,oBAAoB,GACpB,4BAA4B,GAC5B,yBAAyB,CAC5B,CAAC;AAEF,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC,gEAAgE;IAChE,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC3D,wEAAwE;IACxE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,IAAI,CAAC;IACzE;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC;IACnC;;;;;;;OAOG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjE,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,kBAAkB,+DAgD7B,CAAC"}
1
+ {"version":3,"file":"WorkflowTaskThread.d.ts","sourceRoot":"","sources":["../../../src/workflow/thread/WorkflowTaskThread.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gEAAgE,CAAC;AACnG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AAgB/F,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,mCAAmC,CAAC;AAkB3F;;;;;;;;;;GAUG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,iCAAiC,EAC/B,gBAAgB,GAChB,+BAA+B,GAC/B,4BAA4B,GAC5B,oBAAoB,GACpB,iCAAiC,GACjC,8BAA8B,GAC9B,oBAAoB,GACpB,4BAA4B,GAC5B,yBAAyB,CAC5B,CAAC;AAEF,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC,gEAAgE;IAChE,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC3D,wEAAwE;IACxE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,IAAI,CAAC;IACzE;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC;IACnC;;;;;;;OAOG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjE;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,kBAAkB,+DA0E7B,CAAC"}
@@ -46,9 +46,34 @@ import { useWorkflowThreadItems } from "./useWorkflowThreadItems.js";
46
46
  * Stigmer Console or embedded in a third-party dashboard. No dependencies
47
47
  * on Console routing, auth, or layout context.
48
48
  */
49
- export const WorkflowTaskThread = memo(function WorkflowTaskThread({ taskStates, totalTasks, isRunning, onNavigateToAgentExecution, hitl, taskSnapshotsByName, className, }) {
49
+ export const WorkflowTaskThread = memo(function WorkflowTaskThread({ taskStates, totalTasks, isRunning, onNavigateToAgentExecution, hitl, taskSnapshotsByName, scrollOnSend = true, className, }) {
50
50
  const { items, progress } = useWorkflowThreadItems(taskStates, totalTasks);
51
51
  const { scrollRef, sentinelRef, contentRef, isFollowing, jumpToLatest } = useAutoScroll();
52
+ // Scroll-on-send (stigmer-cloud#267): submitting a decision pins the
53
+ // thread before delegating, so the unblocked run's continuation lands in
54
+ // view. The wrapper's identity moves with the bundle's — deliberate: the
55
+ // bundle re-materializes exactly when its gate state flips (see the
56
+ // render-site note below), and a stale wrapper would leak stale state
57
+ // fields. `jumpToLatest` is referentially stable (useAutoScroll pins it).
58
+ const threadHitl = useMemo(() => {
59
+ if (!hitl || !scrollOnSend)
60
+ return hitl;
61
+ return {
62
+ ...hitl,
63
+ submitApproval: (...args) => {
64
+ jumpToLatest();
65
+ return hitl.submitApproval(...args);
66
+ },
67
+ submitTaskApproval: (...args) => {
68
+ jumpToLatest();
69
+ return hitl.submitTaskApproval(...args);
70
+ },
71
+ submitFileDecision: (...args) => {
72
+ jumpToLatest();
73
+ return hitl.submitFileDecision(...args);
74
+ },
75
+ };
76
+ }, [hitl, scrollOnSend, jumpToLatest]);
52
77
  return (_jsxs("div", { className: cn("stg:relative stg:flex stg:h-full stg:min-h-0 stg:flex-col", className), children: [_jsx(ThreadProgressHeader, { progress: progress, isRunning: isRunning }), _jsx("div", { ref: scrollRef, className: "stg:min-h-0 stg:flex-1 stg:overflow-y-auto", children: _jsxs("div", { ref: contentRef, className: "stg:mx-auto stg:flex stg:w-full stg:max-w-3xl stg:flex-col stg:gap-2 stg:px-4 stg:py-4", children: [items.length === 0 ? (_jsx(ThreadEmptyState, { isRunning: isRunning })) : (items.map((item) => (_jsx(ThreadTaskCard, { item: item, onNavigateToAgentExecution: onNavigateToAgentExecution,
53
78
  // HITL props reach ONLY gating cards (DD-010): the bundle's
54
79
  // identity moves whenever any gate's in-flight/error state
@@ -56,7 +81,7 @@ export const WorkflowTaskThread = memo(function WorkflowTaskThread({ taskStates,
56
81
  // would re-render the whole column per spinner tick. Scoped
57
82
  // here, non-gating cards keep `undefined === undefined` and
58
83
  // their memo bails hold.
59
- hitl: item.status === "waiting_approval" ? hitl : undefined, snapshot: taskSnapshotsByName?.get(item.taskName) }, item.taskName)))), _jsx("div", { ref: sentinelRef, "aria-hidden": "true" })] }) }), _jsx(JumpToLatestButton, { visible: !isFollowing, onClick: jumpToLatest })] }));
84
+ hitl: item.status === "waiting_approval" ? threadHitl : undefined, snapshot: taskSnapshotsByName?.get(item.taskName) }, item.taskName)))), _jsx("div", { ref: sentinelRef, "aria-hidden": "true" })] }) }), _jsx(JumpToLatestButton, { visible: !isFollowing, onClick: jumpToLatest })] }));
60
85
  });
61
86
  // ---------------------------------------------------------------------------
62
87
  // Progress header
@@ -96,7 +121,12 @@ function ThreadEmptyState({ isRunning }) {
96
121
  * card chevron — `BoundedContent` owns its own in-place reveal, so the
97
122
  * old "expand, then Show more" double control never comes back).
98
123
  * - `"summary"` kinds expand from the header — the session card's own
99
- * gesture, the chevron appended by the shell (T06).
124
+ * gesture, the chevron appended by the shell (T06) — but ONLY when the
125
+ * detail body would carry content (stigmer#886): since R6-6 moved
126
+ * Status/Duration onto the header, a settled wait card often has
127
+ * nothing left to reveal, and a chevron that opens an empty body is
128
+ * worse than no chevron. The gate is the summary twin of
129
+ * `showPreviewBody` below.
100
130
  * - AGENT_CALL cards with a spawned child render the child's inline
101
131
  * transcript as the body (T07) — keyed on the VARIANT, not the
102
132
  * disclosure, so a platform builder's presenter override can never route
@@ -139,6 +169,16 @@ const ThreadTaskCard = memo(function ThreadTaskCard({ item, onNavigateToAgentExe
139
169
  const showPreviewBody = !showTranscript &&
140
170
  isPreview &&
141
171
  (outputIO !== null || !!item.error || showApprovalSummary);
172
+ // The summary twin of that gate (stigmer#886): the expand gesture exists
173
+ // only when `ThreadTaskDetail` would render something. Short-circuits
174
+ // before the row build for preview/transcript cards, which never render
175
+ // the detail body.
176
+ const summaryHasDetail = !isPreview &&
177
+ !showTranscript &&
178
+ (taskDetailRows(item).length > 0 ||
179
+ !!item.error ||
180
+ inputIO !== null ||
181
+ outputIO !== null);
142
182
  const meta = formatMetaChips({
143
183
  durationMs: item.durationMs,
144
184
  costMicros: item.costMicros,
@@ -148,18 +188,18 @@ const ThreadTaskCard = memo(function ThreadTaskCard({ item, onNavigateToAgentExe
148
188
  // (T04) — a primitive on the item so this memoized card bails during
149
189
  // streaming. The empty string means "nothing kind-specific to say".
150
190
  const preview = item.previewLine || null;
151
- return (_jsxs(ThreadCardShell, { accent: item.status === "waiting_approval" ? "warning" : null, cursorTarget: "workflow-task-row", children: [_jsxs(ThreadCardHeader, { gesture: isPreview || showTranscript
152
- ? { kind: "none" }
153
- : {
191
+ return (_jsxs(ThreadCardShell, { accent: item.status === "waiting_approval" ? "warning" : null, cursorTarget: "workflow-task-row", children: [_jsxs(ThreadCardHeader, { gesture: summaryHasDetail
192
+ ? {
154
193
  kind: "expand",
155
194
  expanded,
156
195
  onToggle: () => setExpanded((v) => !v),
157
- }, children: [_jsx(StatusGlyph, { status: item.status }), _jsxs("span", { className: "stg:min-w-0 stg:flex-1 stg:flex stg:items-baseline stg:gap-1.5 stg:overflow-hidden", children: [_jsx("span", { className: "stg:shrink-0 stg:font-medium stg:text-foreground", children: item.taskName }), item.kindLabel && (_jsx("span", { className: "stg:shrink-0 stg:rounded stg:border stg:border-border stg:px-1 stg:py-px stg:text-[10px] stg:uppercase stg:tracking-wide stg:text-muted-foreground", children: item.kindLabel })), item.attemptNumber > 1 && (_jsxs("span", { className: "stg:shrink-0 stg:text-muted-foreground", children: ["attempt ", item.attemptNumber] })), preview && (_jsx("span", { className: "stg:min-w-0 stg:truncate stg:text-muted-foreground", children: preview }))] }), meta && (_jsx("span", { className: "stg:shrink-0 stg:tabular-nums stg:text-muted-foreground", children: meta }))] }), showHitl && hitl && (_jsx(ThreadCardBody, { children: _jsx(ThreadTaskCardHitl, { item: item, hitl: hitl, approvalRequestView: approvalRequestView }) })), showTranscript && (_jsx(ThreadCardBody, { cursorTarget: "task-transcript", children: _jsxs("div", { className: "stg:flex stg:flex-col stg:gap-2", children: [item.error && (_jsx(BoundedContent, { children: _jsx("pre", { className: "stg:whitespace-pre-wrap stg:break-words stg:text-xs stg:text-destructive", children: item.error }) })), _jsx(WorkflowAgentCallTranscript, { childExecutionId: item.childExecutionId, agentSlug: item.agentSlug || undefined, hitl: hitl, onNavigateToAgentExecution: onNavigateToAgentExecution })] }) })), showPreviewBody && (_jsx(ThreadCardBody, { cursorTarget: "task-preview", children: _jsx(ThreadTaskPreviewBody, { item: item, outputIO: outputIO, approvalSummary: showApprovalSummary && approvalRequestView
196
+ }
197
+ : { kind: "none" }, children: [_jsx(StatusGlyph, { status: item.status }), _jsxs("span", { className: "stg:min-w-0 stg:flex-1 stg:flex stg:items-baseline stg:gap-1.5 stg:overflow-hidden", children: [_jsx("span", { className: "stg:shrink-0 stg:font-medium stg:text-foreground", children: item.taskName }), item.kindLabel && (_jsx("span", { className: "stg:shrink-0 stg:rounded stg:border stg:border-border stg:px-1 stg:py-px stg:text-[10px] stg:uppercase stg:tracking-wide stg:text-muted-foreground", children: item.kindLabel })), item.attemptNumber > 1 && (_jsxs("span", { className: "stg:shrink-0 stg:text-muted-foreground", children: ["attempt ", item.attemptNumber] })), preview && (_jsx("span", { className: "stg:min-w-0 stg:truncate stg:text-muted-foreground", children: preview }))] }), meta && (_jsx("span", { className: "stg:shrink-0 stg:tabular-nums stg:text-muted-foreground", children: meta }))] }), showHitl && hitl && (_jsx(ThreadCardBody, { children: _jsx(ThreadTaskCardHitl, { item: item, hitl: hitl, approvalRequestView: approvalRequestView }) })), showTranscript && (_jsx(ThreadCardBody, { cursorTarget: "task-transcript", children: _jsxs("div", { className: "stg:flex stg:flex-col stg:gap-2", children: [item.error && (_jsx(BoundedContent, { children: _jsx("pre", { className: "stg:whitespace-pre-wrap stg:break-words stg:text-xs stg:text-destructive", children: item.error }) })), _jsx(WorkflowAgentCallTranscript, { childExecutionId: item.childExecutionId, agentSlug: item.agentSlug || undefined, hitl: hitl, onNavigateToAgentExecution: onNavigateToAgentExecution })] }) })), showPreviewBody && (_jsx(ThreadCardBody, { cursorTarget: "task-preview", children: _jsx(ThreadTaskPreviewBody, { item: item, outputIO: outputIO, approvalSummary: showApprovalSummary && approvalRequestView
158
198
  ? {
159
199
  request: approvalRequestView,
160
200
  decision: approvalDecision,
161
201
  }
162
- : undefined }) })), !isPreview && !showTranscript && expanded && (_jsx(ThreadCardBody, { children: _jsx(ThreadTaskDetail, { item: item, inputIO: inputIO, outputIO: outputIO }) }))] }));
202
+ : undefined }) })), summaryHasDetail && expanded && (_jsx(ThreadCardBody, { children: _jsx(ThreadTaskDetail, { item: item, inputIO: inputIO, outputIO: outputIO }) }))] }));
163
203
  });
164
204
  // ---------------------------------------------------------------------------
165
205
  // In-thread HITL section (S10)
@@ -212,11 +252,16 @@ function ThreadTaskIOSection({ label, io, }) {
212
252
  function ThreadTaskPreviewBody({ item, outputIO, approvalSummary, }) {
213
253
  return (_jsxs("div", { className: "stg:flex stg:flex-col stg:gap-2", children: [item.error && (_jsx(BoundedContent, { children: _jsx("pre", { className: "stg:whitespace-pre-wrap stg:break-words stg:text-xs stg:text-destructive", children: item.error }) })), approvalSummary ? (_jsx(WorkflowTaskApprovalSummary, { taskName: item.taskName, prompt: approvalSummary.request.prompt, outcomes: approvalSummary.request.outcomes, decision: approvalSummary.decision })) : (outputIO && _jsx(ThreadTaskIOSection, { label: "Output", io: outputIO }))] }));
214
254
  }
215
- function ThreadTaskDetail({ item, inputIO, outputIO, }) {
216
- const rows = [["Status", statusLabel(item.status)]];
217
- if (item.durationMs > 0) {
218
- rows.push(["Duration", formatMetaChips({ durationMs: item.durationMs }) ?? ""]);
219
- }
255
+ /**
256
+ * The detail body's label/value rows. No Status/Duration rows (R6-6): the
257
+ * card header is the single source for both — the status glyph and the
258
+ * duration meta chip. The detail carries only what the header cannot:
259
+ * attempt count, usage, the agent slug. Shared with the card's
260
+ * `summaryHasDetail` gate so "would the body render anything?" can never
261
+ * drift from what the body actually renders (stigmer#886).
262
+ */
263
+ function taskDetailRows(item) {
264
+ const rows = [];
220
265
  if (item.attemptNumber > 1)
221
266
  rows.push(["Attempt", String(item.attemptNumber)]);
222
267
  const costChip = formatMetaChips({
@@ -228,25 +273,11 @@ function ThreadTaskDetail({ item, inputIO, outputIO, }) {
228
273
  if (item.variant === "agent-call" && item.agentSlug) {
229
274
  rows.push(["Agent", item.agentSlug]);
230
275
  }
231
- return (_jsxs("div", { className: "stg:flex stg:flex-col stg:gap-2", children: [_jsx("dl", { className: "stg:grid stg:grid-cols-[auto_1fr] stg:gap-x-4 stg:gap-y-1 stg:text-xs", children: rows.map(([label, value]) => (_jsxs("div", { className: "stg:contents", children: [_jsx("dt", { className: "stg:text-muted-foreground", children: label }), _jsx("dd", { className: "stg:text-foreground", children: value })] }, label))) }), item.error && (_jsx(BoundedContent, { children: _jsx("pre", { className: "stg:whitespace-pre-wrap stg:break-words stg:text-xs stg:text-destructive", children: item.error }) })), inputIO && _jsx(ThreadTaskIOSection, { label: "Input", io: inputIO }), outputIO && _jsx(ThreadTaskIOSection, { label: "Output", io: outputIO })] }));
276
+ return rows;
232
277
  }
233
- function statusLabel(status) {
234
- switch (status) {
235
- case "waiting_approval":
236
- return "Waiting for approval";
237
- case "retrying":
238
- return "Retrying";
239
- case "running":
240
- return "Running";
241
- case "completed":
242
- return "Completed";
243
- case "failed":
244
- return "Failed";
245
- case "skipped":
246
- return "Skipped";
247
- case "pending":
248
- return "Pending";
249
- }
278
+ function ThreadTaskDetail({ item, inputIO, outputIO, }) {
279
+ const rows = taskDetailRows(item);
280
+ return (_jsxs("div", { className: "stg:flex stg:flex-col stg:gap-2", children: [rows.length > 0 && (_jsx("dl", { className: "stg:grid stg:grid-cols-[auto_1fr] stg:gap-x-4 stg:gap-y-1 stg:text-xs", children: rows.map(([label, value]) => (_jsxs("div", { className: "stg:contents", children: [_jsx("dt", { className: "stg:text-muted-foreground", children: label }), _jsx("dd", { className: "stg:text-foreground", children: value })] }, label))) })), item.error && (_jsx(BoundedContent, { children: _jsx("pre", { className: "stg:whitespace-pre-wrap stg:break-words stg:text-xs stg:text-destructive", children: item.error }) })), inputIO && _jsx(ThreadTaskIOSection, { label: "Input", io: inputIO }), outputIO && _jsx(ThreadTaskIOSection, { label: "Output", io: outputIO })] }));
250
281
  }
251
282
  // ---------------------------------------------------------------------------
252
283
  // Status glyph — the shared thread-card set, colored by status token (T05)
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowTaskThread.js","sourceRoot":"","sources":["../../../src/workflow/thread/WorkflowTaskThread.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkflowTaskThread.js","sourceRoot":"","sources":["../../../src/workflow/thread/WorkflowTaskThread.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"task-presentation.d.ts","sourceRoot":"","sources":["../../../src/workflow/thread/task-presentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AAC1F,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AA+B/F;;;;;;;;GAQG;AACH,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,SAAS,CAAC;AAE3D,8DAA8D;AAC9D,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;CAC7C;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,MAAM,GAAG,IAAI,CAAC;IAClE,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,sBAAsB,CAAC;CAC3E;AAQD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,gBAAgB,EACtB,SAAS,EAAE,qBAAqB,GAC/B,MAAM,IAAI,CAUZ;AAED,2DAA2D;AAC3D,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,gBAAgB,GACrB,qBAAqB,GAAG,SAAS,CAEnC;AAkCD,+CAA+C;AAC/C,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,gBAAgB,GACrB,sBAAsB,CAExB;AASD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,gBAAgB,GACtB,mBAAmB,CAarB;AA+LD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAwBrD"}
1
+ {"version":3,"file":"task-presentation.d.ts","sourceRoot":"","sources":["../../../src/workflow/thread/task-presentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AAC1F,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AA+B/F;;;;;;;;GAQG;AACH,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,SAAS,CAAC;AAE3D,8DAA8D;AAC9D,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;CAC7C;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,MAAM,GAAG,IAAI,CAAC;IAClE,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,sBAAsB,CAAC;CAC3E;AAQD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,gBAAgB,EACtB,SAAS,EAAE,qBAAqB,GAC/B,MAAM,IAAI,CAUZ;AAED,2DAA2D;AAC3D,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,gBAAgB,GACrB,qBAAqB,GAAG,SAAS,CAEnC;AA6CD,+CAA+C;AAC/C,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,gBAAgB,GACrB,sBAAsB,CAExB;AASD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,gBAAgB,GACtB,mBAAmB,CAarB;AAiOD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAwBrD"}