@stigmer/react 3.0.8-dev.20260612122433 → 3.0.8-dev.20260613051837

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 (88) hide show
  1. package/execution/ExecutionProgress.d.ts.map +1 -1
  2. package/execution/ExecutionProgress.js +5 -1
  3. package/execution/ExecutionProgress.js.map +1 -1
  4. package/execution/MessageThread.d.ts +32 -3
  5. package/execution/MessageThread.d.ts.map +1 -1
  6. package/execution/MessageThread.js +59 -10
  7. package/execution/MessageThread.js.map +1 -1
  8. package/execution/useExecutionStream.d.ts +76 -5
  9. package/execution/useExecutionStream.d.ts.map +1 -1
  10. package/execution/useExecutionStream.js +166 -23
  11. package/execution/useExecutionStream.js.map +1 -1
  12. package/internal/VirtualizedThread.d.ts +3 -1
  13. package/internal/VirtualizedThread.d.ts.map +1 -1
  14. package/internal/VirtualizedThread.js +4 -2
  15. package/internal/VirtualizedThread.js.map +1 -1
  16. package/internal/backoff.d.ts +61 -0
  17. package/internal/backoff.d.ts.map +1 -0
  18. package/internal/backoff.js +79 -0
  19. package/internal/backoff.js.map +1 -0
  20. package/internal/store/conversation-store.d.ts +34 -0
  21. package/internal/store/conversation-store.d.ts.map +1 -1
  22. package/internal/store/conversation-store.js +50 -2
  23. package/internal/store/conversation-store.js.map +1 -1
  24. package/internal/store/workflow-execution-event-store.d.ts +12 -0
  25. package/internal/store/workflow-execution-event-store.d.ts.map +1 -1
  26. package/internal/store/workflow-execution-event-store.js +7 -0
  27. package/internal/store/workflow-execution-event-store.js.map +1 -1
  28. package/internal/stream-controller.d.ts +57 -21
  29. package/internal/stream-controller.d.ts.map +1 -1
  30. package/internal/stream-controller.js +117 -3
  31. package/internal/stream-controller.js.map +1 -1
  32. package/internal/useFetch.d.ts +7 -0
  33. package/internal/useFetch.d.ts.map +1 -1
  34. package/internal/useFetch.js +21 -0
  35. package/internal/useFetch.js.map +1 -1
  36. package/package.json +4 -4
  37. package/session/SessionViewer.js +26 -1
  38. package/session/SessionViewer.js.map +1 -1
  39. package/session/useSessionConversation.d.ts +41 -4
  40. package/session/useSessionConversation.d.ts.map +1 -1
  41. package/session/useSessionConversation.js +74 -10
  42. package/session/useSessionConversation.js.map +1 -1
  43. package/session/useSessionExecutions.d.ts +17 -1
  44. package/session/useSessionExecutions.d.ts.map +1 -1
  45. package/session/useSessionExecutions.js +6 -2
  46. package/session/useSessionExecutions.js.map +1 -1
  47. package/src/execution/ExecutionProgress.tsx +12 -0
  48. package/src/execution/MessageThread.tsx +174 -5
  49. package/src/execution/__tests__/MessageThread.test.tsx +64 -0
  50. package/src/execution/__tests__/useExecutionStream.test.tsx +279 -0
  51. package/src/execution/useExecutionStream.ts +254 -34
  52. package/src/internal/VirtualizedThread.tsx +7 -1
  53. package/src/internal/__tests__/backoff.test.ts +99 -0
  54. package/src/internal/__tests__/stream-controller.test.ts +165 -10
  55. package/src/internal/__tests__/useFetch.test.tsx +59 -0
  56. package/src/internal/backoff.ts +100 -0
  57. package/src/internal/store/__tests__/conversation-store.test.ts +61 -0
  58. package/src/internal/store/conversation-store.ts +68 -3
  59. package/src/internal/store/workflow-execution-event-store.ts +22 -0
  60. package/src/internal/stream-controller.ts +151 -26
  61. package/src/internal/useFetch.ts +26 -0
  62. package/src/session/SessionViewer.tsx +89 -0
  63. package/src/session/__tests__/useSessionConversation.test.tsx +53 -0
  64. package/src/session/useSessionConversation.ts +121 -15
  65. package/src/session/useSessionExecutions.ts +23 -1
  66. package/src/workflow/WorkflowExecutionHeader.tsx +4 -1
  67. package/src/workflow/WorkflowExecutionTimeline.tsx +2 -1
  68. package/src/workflow/__tests__/useWorkflowExecutionEventStream.test.tsx +117 -1
  69. package/src/workflow/execution/useWaterfallEntries.ts +2 -1
  70. package/src/workflow/useWorkflowExecutionEventStream.ts +122 -41
  71. package/src/workflow/waterfall/WaterfallTimeline.tsx +2 -1
  72. package/styles.css +1 -1
  73. package/workflow/WorkflowExecutionHeader.d.ts.map +1 -1
  74. package/workflow/WorkflowExecutionHeader.js +3 -1
  75. package/workflow/WorkflowExecutionHeader.js.map +1 -1
  76. package/workflow/WorkflowExecutionTimeline.d.ts.map +1 -1
  77. package/workflow/WorkflowExecutionTimeline.js +1 -1
  78. package/workflow/WorkflowExecutionTimeline.js.map +1 -1
  79. package/workflow/execution/useWaterfallEntries.d.ts.map +1 -1
  80. package/workflow/execution/useWaterfallEntries.js +1 -1
  81. package/workflow/execution/useWaterfallEntries.js.map +1 -1
  82. package/workflow/useWorkflowExecutionEventStream.d.ts +32 -4
  83. package/workflow/useWorkflowExecutionEventStream.d.ts.map +1 -1
  84. package/workflow/useWorkflowExecutionEventStream.js +75 -32
  85. package/workflow/useWorkflowExecutionEventStream.js.map +1 -1
  86. package/workflow/waterfall/WaterfallTimeline.d.ts.map +1 -1
  87. package/workflow/waterfall/WaterfallTimeline.js +1 -1
  88. package/workflow/waterfall/WaterfallTimeline.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionProgress.d.ts","sourceRoot":"","sources":["../../src/execution/ExecutionProgress.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAKlG,2CAA2C;AAC3C,MAAM,WAAW,sBAAsB;IACrC,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IAC1C,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,SAAS,GACV,EAAE,sBAAsB,kDAkBxB"}
1
+ {"version":3,"file":"ExecutionProgress.d.ts","sourceRoot":"","sources":["../../src/execution/ExecutionProgress.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAKlG,2CAA2C;AAC3C,MAAM,WAAW,sBAAsB;IACrC,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IAC1C,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,SAAS,GACV,EAAE,sBAAsB,kDA8BxB"}
@@ -34,6 +34,10 @@ export function ExecutionProgress({ execution, className, }) {
34
34
  if (phase === undefined)
35
35
  return null;
36
36
  const todos = execution.status?.todos;
37
- return (_jsxs("div", { className: cn("flex flex-col gap-2", className), role: "region", "aria-label": "Execution progress", children: [_jsx(ExecutionPhaseBadge, { phase: phase }), todos && _jsx(TodoList, { todos: todos })] }));
37
+ // Populated by the server only on EXECUTION_FAILED surface it next to the
38
+ // badge so this widget explains a failure rather than showing a bare phase
39
+ // (consistent with the failure reason in the message thread).
40
+ const error = execution.status?.error;
41
+ return (_jsxs("div", { className: cn("flex flex-col gap-2", className), role: "region", "aria-label": "Execution progress", children: [_jsx(ExecutionPhaseBadge, { phase: phase }), error && (_jsx("p", { role: "alert", className: "text-xs whitespace-pre-wrap break-words text-destructive", children: error })), todos && _jsx(TodoList, { todos: todos })] }));
38
42
  }
39
43
  //# sourceMappingURL=ExecutionProgress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionProgress.js","sourceRoot":"","sources":["../../src/execution/ExecutionProgress.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAUtC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,SAAS,EACT,SAAS,GACc;IACvB,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC;IACtC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAErC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC;IAEtC,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,EAC/C,IAAI,EAAC,QAAQ,gBACF,oBAAoB,aAE/B,KAAC,mBAAmB,IAAC,KAAK,EAAE,KAAK,GAAI,EACpC,KAAK,IAAI,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,GAAI,IAChC,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ExecutionProgress.js","sourceRoot":"","sources":["../../src/execution/ExecutionProgress.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAUtC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,SAAS,EACT,SAAS,GACc;IACvB,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC;IACtC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAErC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC;IACtC,4EAA4E;IAC5E,2EAA2E;IAC3E,8DAA8D;IAC9D,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC;IAEtC,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,EAC/C,IAAI,EAAC,QAAQ,gBACF,oBAAoB,aAE/B,KAAC,mBAAmB,IAAC,KAAK,EAAE,KAAK,GAAI,EACpC,KAAK,IAAI,CACR,YACE,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,0DAA0D,YAEnE,KAAK,GACJ,CACL,EACA,KAAK,IAAI,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,GAAI,IAChC,CACP,CAAC;AACJ,CAAC"}
@@ -24,6 +24,27 @@ export interface MessageThreadProps {
24
24
  * first snapshot.
25
25
  */
26
26
  readonly pendingUserMessage?: string | null;
27
+ /**
28
+ * Marks the pending user message as failed-to-send. The optimistic
29
+ * bubble renders an inline "Couldn't send — Retry" affordance instead
30
+ * of the sending indicator, so a failed follow-up never silently
31
+ * vanishes. Pair with {@link onRetrySend}.
32
+ *
33
+ * @default false
34
+ */
35
+ readonly pendingMessageFailed?: boolean;
36
+ /**
37
+ * Retry handler for a failed pending message. Wired to the inline
38
+ * "Retry" control when {@link pendingMessageFailed} is `true`.
39
+ */
40
+ readonly onRetrySend?: () => void;
41
+ /**
42
+ * Retry handler for a terminal-failed execution that exposed a server
43
+ * error reason. Receives the originating message; the consumer typically
44
+ * resends it as a new execution. When omitted, no Retry control is shown
45
+ * beside the surfaced failure reason.
46
+ */
47
+ readonly onRetryExecution?: (message: string) => void;
27
48
  /** Additional CSS class names for the root container. */
28
49
  readonly className?: string;
29
50
  /**
@@ -138,6 +159,7 @@ export type ThreadItem = {
138
159
  readonly message: AgentMessage;
139
160
  readonly key: string;
140
161
  readonly isPending?: boolean;
162
+ readonly isFailed?: boolean;
141
163
  } | {
142
164
  readonly kind: "tool-group";
143
165
  readonly toolCalls: readonly ToolCall[];
@@ -151,6 +173,11 @@ export type ThreadItem = {
151
173
  readonly kind: "phase-badge";
152
174
  readonly phase: ExecutionPhase;
153
175
  readonly key: string;
176
+ } | {
177
+ readonly kind: "execution-error";
178
+ readonly error: string;
179
+ readonly retryMessage?: string;
180
+ readonly key: string;
154
181
  } | {
155
182
  readonly kind: "approval-request";
156
183
  readonly pendingApproval: PendingApproval;
@@ -179,7 +206,7 @@ export type ThreadItem = {
179
206
  *
180
207
  * @internal Exported for testing — not part of the public API.
181
208
  */
182
- export declare function buildThreadItems(executions: readonly AgentExecution[], activeStreamExecution: AgentExecution | null | undefined, pendingUserMessage: string | null | undefined, includeApprovals: boolean, workspaceEntries: readonly WorkspaceEntry[] | undefined, summarizationEvents?: readonly SummarizationEventView[]): ThreadItem[];
209
+ export declare function buildThreadItems(executions: readonly AgentExecution[], activeStreamExecution: AgentExecution | null | undefined, pendingUserMessage: string | null | undefined, includeApprovals: boolean, workspaceEntries: readonly WorkspaceEntry[] | undefined, summarizationEvents?: readonly SummarizationEventView[], pendingMessageFailed?: boolean): ThreadItem[];
183
210
  /**
184
211
  * Renders a continuous conversation thread from one or more
185
212
  * {@link AgentExecution} snapshots.
@@ -203,7 +230,7 @@ export declare function buildThreadItems(executions: readonly AgentExecution[],
203
230
  * />
204
231
  * ```
205
232
  */
206
- export declare function MessageThread({ executions, activeStreamExecution, pendingUserMessage, className, formatToolCallSummary, onApprovalSubmit, submittingApprovalIds, workspaceEntries, onFilePathClick, sandboxWorkspaceRoot, summarizationEvents, virtualized, onBuildFromPlan, org, planActionsDisabled, centerContent, }: MessageThreadProps): import("react/jsx-runtime").JSX.Element;
233
+ export declare function MessageThread({ executions, activeStreamExecution, pendingUserMessage, pendingMessageFailed, onRetrySend, onRetryExecution, className, formatToolCallSummary, onApprovalSubmit, submittingApprovalIds, workspaceEntries, onFilePathClick, sandboxWorkspaceRoot, summarizationEvents, virtualized, onBuildFromPlan, org, planActionsDisabled, centerContent, }: MessageThreadProps): import("react/jsx-runtime").JSX.Element;
207
234
  /**
208
235
  * Props for {@link ThreadItemRenderer}.
209
236
  *
@@ -218,6 +245,8 @@ export interface ThreadItemRendererProps {
218
245
  readonly onBuildFromPlan?: () => void;
219
246
  readonly org?: string;
220
247
  readonly planActionsDisabled?: boolean;
248
+ readonly onRetrySend?: () => void;
249
+ readonly onRetryExecution?: (message: string) => void;
221
250
  }
222
251
  /**
223
252
  * Renders a single thread item by discriminated `kind`. Used by both
@@ -230,5 +259,5 @@ export interface ThreadItemRendererProps {
230
259
  * @internal Exported for internal use by `VirtualizedThread` — not
231
260
  * part of the public API.
232
261
  */
233
- export declare function ThreadItemRenderer({ item, formatToolCallSummary, onApprovalSubmit, submittingApprovalIds, onBuildFromPlan, org, planActionsDisabled, }: ThreadItemRendererProps): import("react/jsx-runtime").JSX.Element;
262
+ export declare function ThreadItemRenderer({ item, formatToolCallSummary, onApprovalSubmit, submittingApprovalIds, onBuildFromPlan, org, planActionsDisabled, onRetrySend, onRetryExecution, }: ThreadItemRendererProps): import("react/jsx-runtime").JSX.Element;
234
263
  //# sourceMappingURL=MessageThread.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageThread.d.ts","sourceRoot":"","sources":["../../src/execution/MessageThread.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessageThread.d.ts","sourceRoot":"","sources":["../../src/execution/MessageThread.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { lazy, memo, Suspense, useCallback, useMemo } from "react";
3
+ import { lazy, memo, Suspense, useCallback, useMemo, useState } from "react";
4
4
  import { create } from "@bufbuild/protobuf";
5
5
  import { AgentMessageSchema } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
6
6
  import { ExecutionPhase, InteractionMode, MessageType, } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
@@ -40,7 +40,7 @@ function hasAiMessages(execution) {
40
40
  *
41
41
  * @internal Exported for testing — not part of the public API.
42
42
  */
43
- export function buildThreadItems(executions, activeStreamExecution, pendingUserMessage, includeApprovals, workspaceEntries, summarizationEvents) {
43
+ export function buildThreadItems(executions, activeStreamExecution, pendingUserMessage, includeApprovals, workspaceEntries, summarizationEvents, pendingMessageFailed = false) {
44
44
  const items = [];
45
45
  const allExecutions = activeStreamExecution
46
46
  ? [...executions, activeStreamExecution]
@@ -191,6 +191,20 @@ export function buildThreadItems(executions, activeStreamExecution, pendingUserM
191
191
  phase: lastPhase,
192
192
  key: `phase-${lastPhase}`,
193
193
  });
194
+ // The server populates `status.error` only on EXECUTION_FAILED. Surface it
195
+ // beside the badge so a failure that produced no messages still explains
196
+ // itself (the CLI shows this reason; the chat previously showed nothing).
197
+ // Kept as its own item so the badge component stays presentational.
198
+ const reason = lastExec?.status?.error;
199
+ if (reason) {
200
+ const specMessage = lastExec?.spec?.message;
201
+ items.push({
202
+ kind: "execution-error",
203
+ error: reason,
204
+ retryMessage: specMessage && specMessage !== "execute" ? specMessage : undefined,
205
+ key: `execution-error-${lastExec?.metadata?.id ?? lastPhase}`,
206
+ });
207
+ }
194
208
  }
195
209
  if (lastPhase === ExecutionPhase.EXECUTION_COMPLETED &&
196
210
  lastExec?.spec?.executionConfig?.interactionMode === InteractionMode.PLAN) {
@@ -222,7 +236,10 @@ export function buildThreadItems(executions, activeStreamExecution, pendingUserM
222
236
  kind: "message",
223
237
  message: syntheticPending,
224
238
  key: "pending-user-turn",
225
- isPending: true,
239
+ // A failed turn shows the inline error instead of the dimmed
240
+ // sending state — the two are mutually exclusive.
241
+ isPending: !pendingMessageFailed,
242
+ isFailed: pendingMessageFailed,
226
243
  });
227
244
  }
228
245
  }
@@ -251,10 +268,10 @@ export function buildThreadItems(executions, activeStreamExecution, pendingUserM
251
268
  * />
252
269
  * ```
253
270
  */
254
- export function MessageThread({ executions, activeStreamExecution, pendingUserMessage, className, formatToolCallSummary, onApprovalSubmit, submittingApprovalIds, workspaceEntries, onFilePathClick, sandboxWorkspaceRoot, summarizationEvents, virtualized = false, onBuildFromPlan, org, planActionsDisabled, centerContent = false, }) {
271
+ export function MessageThread({ executions, activeStreamExecution, pendingUserMessage, pendingMessageFailed = false, onRetrySend, onRetryExecution, className, formatToolCallSummary, onApprovalSubmit, submittingApprovalIds, workspaceEntries, onFilePathClick, sandboxWorkspaceRoot, summarizationEvents, virtualized = false, onBuildFromPlan, org, planActionsDisabled, centerContent = false, }) {
255
272
  useRenderTracer("MessageThread", { executions, activeStreamExecution });
256
273
  const includeApprovals = onApprovalSubmit != null;
257
- const items = useMemo(() => buildThreadItems(executions, activeStreamExecution, pendingUserMessage, includeApprovals, workspaceEntries, summarizationEvents), [executions, activeStreamExecution, pendingUserMessage, includeApprovals, workspaceEntries, summarizationEvents]);
274
+ const items = useMemo(() => buildThreadItems(executions, activeStreamExecution, pendingUserMessage, includeApprovals, workspaceEntries, summarizationEvents, pendingMessageFailed), [executions, activeStreamExecution, pendingUserMessage, includeApprovals, workspaceEntries, summarizationEvents, pendingMessageFailed]);
258
275
  useKeyStability(items);
259
276
  const filePathCtx = useMemo(() => ({
260
277
  workspaceEntries: workspaceEntries ?? [],
@@ -262,14 +279,14 @@ export function MessageThread({ executions, activeStreamExecution, pendingUserMe
262
279
  }), [workspaceEntries, onFilePathClick]);
263
280
  const sandboxCtx = useMemo(() => ({ sandboxWorkspaceRoot: sandboxWorkspaceRoot ?? "" }), [sandboxWorkspaceRoot]);
264
281
  if (virtualized) {
265
- return (_jsx("div", { className: cn("relative min-h-0", className), children: _jsx(Suspense, { fallback: null, children: _jsx(LazyVirtualizedThread, { items: items, formatToolCallSummary: formatToolCallSummary, onApprovalSubmit: onApprovalSubmit, submittingApprovalIds: submittingApprovalIds, filePathCtx: filePathCtx, sandboxCtx: sandboxCtx, onBuildFromPlan: onBuildFromPlan, org: org, planActionsDisabled: planActionsDisabled, centerContent: centerContent }) }) }));
282
+ return (_jsx("div", { className: cn("relative min-h-0", className), children: _jsx(Suspense, { fallback: null, children: _jsx(LazyVirtualizedThread, { items: items, formatToolCallSummary: formatToolCallSummary, onApprovalSubmit: onApprovalSubmit, submittingApprovalIds: submittingApprovalIds, filePathCtx: filePathCtx, sandboxCtx: sandboxCtx, onBuildFromPlan: onBuildFromPlan, org: org, planActionsDisabled: planActionsDisabled, centerContent: centerContent, onRetrySend: onRetrySend, onRetryExecution: onRetryExecution }) }) }));
266
283
  }
267
- return (_jsx(NonVirtualizedThread, { items: items, className: className, centerContent: centerContent, formatToolCallSummary: formatToolCallSummary, onApprovalSubmit: onApprovalSubmit, submittingApprovalIds: submittingApprovalIds, filePathCtx: filePathCtx, sandboxCtx: sandboxCtx, onBuildFromPlan: onBuildFromPlan, org: org, planActionsDisabled: planActionsDisabled }));
284
+ return (_jsx(NonVirtualizedThread, { items: items, className: className, centerContent: centerContent, formatToolCallSummary: formatToolCallSummary, onApprovalSubmit: onApprovalSubmit, submittingApprovalIds: submittingApprovalIds, filePathCtx: filePathCtx, sandboxCtx: sandboxCtx, onBuildFromPlan: onBuildFromPlan, org: org, planActionsDisabled: planActionsDisabled, onRetrySend: onRetrySend, onRetryExecution: onRetryExecution }));
268
285
  }
269
- function NonVirtualizedThread({ items, className, centerContent, formatToolCallSummary, onApprovalSubmit, submittingApprovalIds, filePathCtx, sandboxCtx, onBuildFromPlan, org, planActionsDisabled, }) {
286
+ function NonVirtualizedThread({ items, className, centerContent, formatToolCallSummary, onApprovalSubmit, submittingApprovalIds, filePathCtx, sandboxCtx, onBuildFromPlan, org, planActionsDisabled, onRetrySend, onRetryExecution, }) {
270
287
  const { scrollRef, sentinelRef, contentRef, isFollowing, jumpToLatest } = useAutoScroll();
271
288
  useDomNodeCount(scrollRef, "MessageThread");
272
- return (_jsxs("div", { className: cn("relative min-h-0", className), children: [_jsxs("div", { ref: scrollRef, role: "log", "aria-live": "polite", "aria-relevant": "additions", className: cn("h-full overflow-y-auto pt-6 pb-4 [overflow-anchor:none]", "[scrollbar-width:thin] [scrollbar-color:var(--color-border)_transparent]", "[&::-webkit-scrollbar]:w-1.5", "[&::-webkit-scrollbar-track]:bg-transparent", "[&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-border/40"), children: [_jsx(SandboxContext.Provider, { value: sandboxCtx, children: _jsx(FilePathContext.Provider, { value: filePathCtx, children: _jsx(DevProfiler, { id: "MessageThread", children: _jsx("div", { ref: contentRef, className: cn("flex flex-col gap-4", centerContent && "mx-auto w-full max-w-3xl px-4"), children: items.map((item) => (_jsx(ThreadItemWrapper, { animate: true, children: _jsx(ThreadItemRenderer, { item: item, formatToolCallSummary: formatToolCallSummary, onApprovalSubmit: onApprovalSubmit, submittingApprovalIds: submittingApprovalIds, onBuildFromPlan: onBuildFromPlan, org: org, planActionsDisabled: planActionsDisabled }) }, item.key))) }) }) }) }), _jsx("div", { ref: sentinelRef, "aria-hidden": "true" })] }), _jsx(JumpToLatestButton, { onClick: jumpToLatest, visible: !isFollowing })] }));
289
+ return (_jsxs("div", { className: cn("relative min-h-0", className), children: [_jsxs("div", { ref: scrollRef, role: "log", "aria-live": "polite", "aria-relevant": "additions", className: cn("h-full overflow-y-auto pt-6 pb-4 [overflow-anchor:none]", "[scrollbar-width:thin] [scrollbar-color:var(--color-border)_transparent]", "[&::-webkit-scrollbar]:w-1.5", "[&::-webkit-scrollbar-track]:bg-transparent", "[&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-border/40"), children: [_jsx(SandboxContext.Provider, { value: sandboxCtx, children: _jsx(FilePathContext.Provider, { value: filePathCtx, children: _jsx(DevProfiler, { id: "MessageThread", children: _jsx("div", { ref: contentRef, className: cn("flex flex-col gap-4", centerContent && "mx-auto w-full max-w-3xl px-4"), children: items.map((item) => (_jsx(ThreadItemWrapper, { animate: true, children: _jsx(ThreadItemRenderer, { item: item, formatToolCallSummary: formatToolCallSummary, onApprovalSubmit: onApprovalSubmit, submittingApprovalIds: submittingApprovalIds, onBuildFromPlan: onBuildFromPlan, org: org, planActionsDisabled: planActionsDisabled, onRetrySend: onRetrySend, onRetryExecution: onRetryExecution }) }, item.key))) }) }) }) }), _jsx("div", { ref: sentinelRef, "aria-hidden": "true" })] }), _jsx(JumpToLatestButton, { onClick: jumpToLatest, visible: !isFollowing })] }));
273
290
  }
274
291
  /**
275
292
  * Renders a single thread item by discriminated `kind`. Used by both
@@ -282,9 +299,12 @@ function NonVirtualizedThread({ items, className, centerContent, formatToolCallS
282
299
  * @internal Exported for internal use by `VirtualizedThread` — not
283
300
  * part of the public API.
284
301
  */
285
- export function ThreadItemRenderer({ item, formatToolCallSummary, onApprovalSubmit, submittingApprovalIds, onBuildFromPlan, org, planActionsDisabled, }) {
302
+ export function ThreadItemRenderer({ item, formatToolCallSummary, onApprovalSubmit, submittingApprovalIds, onBuildFromPlan, org, planActionsDisabled, onRetrySend, onRetryExecution, }) {
286
303
  switch (item.kind) {
287
304
  case "message":
305
+ if (item.isFailed) {
306
+ return (_jsx(FailedUserMessage, { message: item.message, onRetry: onRetrySend }));
307
+ }
288
308
  return (_jsx(MessageEntry, { message: item.message, className: item.isPending ? "opacity-70" : undefined }));
289
309
  case "tool-group":
290
310
  return (_jsx(ToolCallGroup, { toolCalls: item.toolCalls, subAgentExecutions: item.subAgentExecutions, formatSummary: formatToolCallSummary, className: "mx-4" }));
@@ -292,6 +312,8 @@ export function ThreadItemRenderer({ item, formatToolCallSummary, onApprovalSubm
292
312
  return (_jsx(SubAgentSection, { subAgentExecution: item.subAgentExecution, className: "mx-4" }));
293
313
  case "phase-badge":
294
314
  return (_jsx("div", { className: "flex justify-center py-3", children: _jsx(ExecutionPhaseBadge, { phase: item.phase }) }));
315
+ case "execution-error":
316
+ return (_jsx(ExecutionErrorNotice, { error: item.error, retryMessage: item.retryMessage, onRetry: onRetryExecution }));
295
317
  case "approval-request":
296
318
  return (_jsx(ApprovalCardRow, { pendingApproval: item.pendingApproval, onApprovalSubmit: onApprovalSubmit, isSubmitting: submittingApprovalIds?.has(item.pendingApproval.toolCallId) ?? false }));
297
319
  case "setup-progress":
@@ -305,6 +327,33 @@ export function ThreadItemRenderer({ item, formatToolCallSummary, onApprovalSubm
305
327
  return item.planArtifact && item.executionId ? (_jsx(PlanArtifactCard, { executionId: item.executionId, artifact: item.planArtifact, org: org, onImplement: onBuildFromPlan, disabled: planActionsDisabled })) : (_jsx(PlanCompletionCard, { onImplement: onBuildFromPlan, disabled: planActionsDisabled }));
306
328
  }
307
329
  }
330
+ // ---------------------------------------------------------------------------
331
+ // FailedUserMessage — optimistic turn whose send failed
332
+ // ---------------------------------------------------------------------------
333
+ /**
334
+ * Renders a user message whose send failed: the message itself stays visible
335
+ * (so the typed text is never lost) with an inline, actionable error beneath
336
+ * it. The error copy is intentionally short — the full reason is surfaced by
337
+ * the consumer's send-error banner; this is the in-thread "Retry" affordance.
338
+ */
339
+ function FailedUserMessage({ message, onRetry, }) {
340
+ return (_jsxs("div", { className: "flex flex-col gap-1", children: [_jsx(MessageEntry, { message: message }), _jsxs("div", { role: "alert", className: "mx-4 flex items-center gap-2 text-xs text-destructive", children: [_jsx("span", { className: "min-w-0 flex-1 truncate", children: "Couldn\u2019t send." }), onRetry && (_jsx("button", { type: "button", onClick: onRetry, className: "shrink-0 rounded font-medium underline-offset-2 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: "Retry" }))] })] }));
341
+ }
342
+ // ---------------------------------------------------------------------------
343
+ // ExecutionErrorNotice — server failure reason for a terminal-failed execution
344
+ // ---------------------------------------------------------------------------
345
+ /**
346
+ * Renders the server-reported failure reason (`AgentExecutionStatus.error`)
347
+ * for an execution that died — typically before producing any messages. The
348
+ * reason can be a long Temporal error, so it is clamped by default with a
349
+ * Show more / Show less toggle. An optional Retry resends the originating
350
+ * message as a fresh execution.
351
+ */
352
+ function ExecutionErrorNotice({ error, retryMessage, onRetry, }) {
353
+ const [expanded, setExpanded] = useState(false);
354
+ const canRetry = !!onRetry && !!retryMessage;
355
+ return (_jsxs("div", { role: "alert", className: "mx-4 flex flex-col gap-1.5 rounded-md bg-destructive-subtle px-3 py-2", children: [_jsx("p", { className: cn("text-xs whitespace-pre-wrap break-words text-destructive", !expanded && "line-clamp-3"), children: error }), _jsxs("div", { className: "flex items-center gap-3 text-xs", children: [_jsx("button", { type: "button", onClick: () => setExpanded((v) => !v), className: "font-medium text-muted-foreground underline-offset-2 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: expanded ? "Show less" : "Show more" }), canRetry && (_jsx("button", { type: "button", onClick: () => onRetry(retryMessage), className: "font-medium text-foreground underline-offset-2 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: "Retry" }))] })] }));
356
+ }
308
357
  const ApprovalCardRow = memo(function ApprovalCardRow({ pendingApproval, onApprovalSubmit, isSubmitting, }) {
309
358
  const handleSubmit = useCallback((action, comment) => {
310
359
  onApprovalSubmit(pendingApproval.toolCallId, action, comment);
@@ -1 +1 @@
1
- {"version":3,"file":"MessageThread.js","sourceRoot":"","sources":["../../src/execution/MessageThread.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessageThread.js","sourceRoot":"","sources":["../../src/execution/MessageThread.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { AgentExecution } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
2
2
  import { ExecutionPhase } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
3
+ import { type BackoffOptions } from "../internal/backoff";
3
4
  import { ConversationStore } from "../internal/store";
4
5
  /** Return value of {@link useExecutionStream}. */
5
6
  export interface UseExecutionStreamReturn {
@@ -17,14 +18,46 @@ export interface UseExecutionStreamReturn {
17
18
  readonly isStreaming: boolean;
18
19
  /** `true` after subscription starts but before the first snapshot arrives. */
19
20
  readonly isConnecting: boolean;
20
- /** Error from the last failed stream attempt, or `null` when healthy. */
21
+ /**
22
+ * `true` while a transient drop is being retried automatically in the
23
+ * background. The last snapshot stays visible and `error` remains `null` —
24
+ * surface a subtle "Reconnecting…" affordance, not an error. Becomes
25
+ * `false` once a snapshot is received (back to `isStreaming`) or retries
26
+ * are exhausted (then `error` is set).
27
+ */
28
+ readonly isReconnecting: boolean;
29
+ /** 1-based count of the in-flight reconnect attempt; `0` when not reconnecting. */
30
+ readonly reconnectAttempt: number;
31
+ /**
32
+ * Error from the last failed stream attempt, or `null` when healthy.
33
+ *
34
+ * Only set once auto-reconnect has exhausted its attempts (or for a
35
+ * non-transient failure that is not retried). It stays `null` throughout
36
+ * background reconnection so a recoverable hiccup never shows as an error.
37
+ */
21
38
  readonly error: Error | null;
39
+ /**
40
+ * `true` when the stream opened but no first snapshot arrived within the
41
+ * connect-timeout window, even after one silent self-heal. Distinct from
42
+ * `error` (a thrown/closed stream that auto-reconnect retries): this is the
43
+ * *silent* hang the retry loop can never observe. Surface an actionable
44
+ * "the agent hasn't started — Retry" affordance wired to `reconnect()`.
45
+ * Cleared by the next snapshot or a manual `reconnect()`. Never auto-aborts.
46
+ */
47
+ readonly connectTimedOut: boolean;
48
+ /**
49
+ * `true` when a non-terminal stream has produced no new snapshot for the
50
+ * slow-stall window. Purely informational ("still working — taking longer
51
+ * than usual"); cleared by the next snapshot. Never an error, never aborts.
52
+ */
53
+ readonly isSlow: boolean;
22
54
  /**
23
55
  * Reset error state and re-establish the stream subscription.
24
56
  *
25
- * Works in any lifecycle state error, complete, or mid-stream.
26
- * Uses the `connectKey` counter pattern consistent with `refetch()`
27
- * in other SDK hooks.
57
+ * The fallback after auto-reconnect exhausts, and a manual escape hatch in
58
+ * any lifecycle state error, complete, or mid-stream. Resets the retry
59
+ * counter and preserves the last snapshot (no flash to empty). Uses the
60
+ * `connectKey` counter pattern consistent with `refetch()` in other SDK hooks.
28
61
  */
29
62
  readonly reconnect: () => void;
30
63
  }
@@ -44,6 +77,33 @@ export interface UseExecutionStreamOptions {
44
77
  * preserving backward compatibility for standalone usage.
45
78
  */
46
79
  readonly store?: ConversationStore;
80
+ /**
81
+ * Automatically re-establish the subscription with exponential backoff
82
+ * when a non-terminal stream drops (transport error, idle timeout, laptop
83
+ * sleep). Defaults to `true`. Set `false` to opt out and surface every
84
+ * drop as an immediate `error` for manual `reconnect()`.
85
+ */
86
+ readonly autoReconnect?: boolean;
87
+ /**
88
+ * Tune the auto-reconnect backoff schedule and attempt cap. Omitted fields
89
+ * fall back to SDK defaults (base 1s, ×2, max 30s, 10 attempts).
90
+ */
91
+ readonly reconnectOptions?: BackoffOptions & {
92
+ /** Max attempts before surfacing a terminal `error`. */
93
+ readonly maxAttempts?: number;
94
+ };
95
+ /**
96
+ * Hard connect-timeout in ms: how long the stream may stay `connecting`
97
+ * (no first snapshot) before the watchdog self-heals once and then surfaces
98
+ * `connectTimedOut`. Defaults to {@link DEFAULT_CONNECT_TIMEOUT_MS} (10s).
99
+ */
100
+ readonly connectTimeoutMs?: number;
101
+ /**
102
+ * Soft slow-stall threshold in ms: how long a non-terminal stream may go
103
+ * without a new snapshot before `isSlow` flips on. Defaults to
104
+ * {@link DEFAULT_SLOW_THRESHOLD_MS} (60s).
105
+ */
106
+ readonly slowThresholdMs?: number;
47
107
  }
48
108
  /**
49
109
  * Behavior hook that subscribes to real-time {@link AgentExecution}
@@ -51,7 +111,18 @@ export interface UseExecutionStreamOptions {
51
111
  *
52
112
  * Manages the full subscription lifecycle through a finite state
53
113
  * machine: connection establishment, rAF-coalesced snapshot streaming,
54
- * terminal-phase detection, error handling, and manual reconnection.
114
+ * terminal-phase detection, automatic reconnection with exponential
115
+ * backoff on transient drops, and manual reconnection as the fallback.
116
+ *
117
+ * **Resilience:** a non-terminal stream drop — whether a thrown transport
118
+ * error (WebKit "Load failed", `fetch failed`, `Unavailable`) or a graceful
119
+ * server close mid-run (idle timeout, load-balancer recycle) — is retried
120
+ * automatically with backoff. The last snapshot stays visible
121
+ * (`isReconnecting`), the access token is re-read on each attempt via the
122
+ * per-request interceptor, and `error` is surfaced only once attempts are
123
+ * exhausted. Completion is decided by the terminal phase, never by the
124
+ * stream merely ending (a graceful close of a running execution reconnects
125
+ * rather than falsely reporting "complete"). Opt out via `autoReconnect: false`.
55
126
  *
56
127
  * **Performance characteristics:**
57
128
  * - Non-terminal snapshots are coalesced via `requestAnimationFrame`
@@ -1 +1 @@
1
- {"version":3,"file":"useExecutionStream.d.ts","sourceRoot":"","sources":["../../src/execution/useExecutionStream.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,8DAA8D,CAAC;AAQ9F,OAAO,EAAE,iBAAiB,EAAoB,MAAM,mBAAmB,CAAC;AAGxE,kDAAkD;AAClD,MAAM,WAAW,wBAAwB;IACvC,iGAAiG;IACjG,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IAC1C;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,OAAO,CAAC,EAAE,yBAAyB,GAClC,wBAAwB,CAiH1B"}
1
+ {"version":3,"file":"useExecutionStream.d.ts","sourceRoot":"","sources":["../../src/execution/useExecutionStream.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,8DAA8D,CAAC;AAW9F,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,kDAAkD;AAClD,MAAM,WAAW,wBAAwB;IACvC,iGAAiG;IACjG,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IAC1C;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,mFAAmF;IACnF,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,cAAc,GAAG;QAC3C,wDAAwD;QACxD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,OAAO,CAAC,EAAE,yBAAyB,GAClC,wBAAwB,CA8P1B"}