@stigmer/react 3.0.9-dev.20260616060535 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/execution/ApprovalCard.d.ts +47 -3
- package/execution/ApprovalCard.d.ts.map +1 -1
- package/execution/ApprovalCard.js +138 -70
- package/execution/ApprovalCard.js.map +1 -1
- package/execution/ApprovalContext.d.ts +72 -0
- package/execution/ApprovalContext.d.ts.map +1 -0
- package/execution/ApprovalContext.js +41 -0
- package/execution/ApprovalContext.js.map +1 -0
- package/execution/ArtifactCard.d.ts.map +1 -1
- package/execution/ArtifactCard.js +3 -1
- package/execution/ArtifactCard.js.map +1 -1
- package/execution/ArtifactPreviewModal.d.ts.map +1 -1
- package/execution/ArtifactPreviewModal.js +5 -3
- package/execution/ArtifactPreviewModal.js.map +1 -1
- package/execution/EmptyChangeNotice.d.ts +38 -0
- package/execution/EmptyChangeNotice.d.ts.map +1 -0
- package/execution/EmptyChangeNotice.js +27 -0
- package/execution/EmptyChangeNotice.js.map +1 -0
- package/execution/FileChangesView.d.ts +81 -0
- package/execution/FileChangesView.d.ts.map +1 -0
- package/execution/FileChangesView.js +164 -0
- package/execution/FileChangesView.js.map +1 -0
- package/execution/FilePathLink.d.ts +24 -4
- package/execution/FilePathLink.d.ts.map +1 -1
- package/execution/FilePathLink.js +31 -9
- package/execution/FilePathLink.js.map +1 -1
- package/execution/FileReviewCard.d.ts +111 -0
- package/execution/FileReviewCard.d.ts.map +1 -0
- package/execution/FileReviewCard.js +558 -0
- package/execution/FileReviewCard.js.map +1 -0
- package/execution/FileReviewContext.d.ts +35 -0
- package/execution/FileReviewContext.d.ts.map +1 -0
- package/execution/FileReviewContext.js +23 -0
- package/execution/FileReviewContext.js.map +1 -0
- package/execution/FileReviewDock.d.ts +73 -0
- package/execution/FileReviewDock.d.ts.map +1 -0
- package/execution/FileReviewDock.js +65 -0
- package/execution/FileReviewDock.js.map +1 -0
- package/execution/McpToolDetail.d.ts.map +1 -1
- package/execution/McpToolDetail.js +38 -5
- package/execution/McpToolDetail.js.map +1 -1
- package/execution/MessageThread.d.ts +42 -3
- package/execution/MessageThread.d.ts.map +1 -1
- package/execution/MessageThread.js +263 -18
- package/execution/MessageThread.js.map +1 -1
- package/execution/PlanArtifactCard.d.ts.map +1 -1
- package/execution/PlanArtifactCard.js +3 -1
- package/execution/PlanArtifactCard.js.map +1 -1
- package/execution/PlanCompletionCard.d.ts +1 -1
- package/execution/PlanCompletionCard.js +1 -1
- package/execution/ResultView.d.ts +19 -1
- package/execution/ResultView.d.ts.map +1 -1
- package/execution/ResultView.js +141 -40
- package/execution/ResultView.js.map +1 -1
- package/execution/SubAgentSection.d.ts.map +1 -1
- package/execution/SubAgentSection.js +45 -6
- package/execution/SubAgentSection.js.map +1 -1
- package/execution/TerminalSession.d.ts +34 -0
- package/execution/TerminalSession.d.ts.map +1 -0
- package/execution/TerminalSession.js +34 -0
- package/execution/TerminalSession.js.map +1 -0
- package/execution/TodoCard.d.ts +53 -0
- package/execution/TodoCard.d.ts.map +1 -0
- package/execution/TodoCard.js +77 -0
- package/execution/TodoCard.js.map +1 -0
- package/execution/ToolArgsView.d.ts +7 -1
- package/execution/ToolArgsView.d.ts.map +1 -1
- package/execution/ToolArgsView.js +10 -9
- package/execution/ToolArgsView.js.map +1 -1
- package/execution/ToolCallDetail.d.ts +10 -1
- package/execution/ToolCallDetail.d.ts.map +1 -1
- package/execution/ToolCallDetail.js +66 -19
- package/execution/ToolCallDetail.js.map +1 -1
- package/execution/ToolCallGroup.d.ts +28 -18
- package/execution/ToolCallGroup.d.ts.map +1 -1
- package/execution/ToolCallGroup.js +39 -148
- package/execution/ToolCallGroup.js.map +1 -1
- package/execution/ToolCallItem.d.ts +36 -8
- package/execution/ToolCallItem.d.ts.map +1 -1
- package/execution/ToolCallItem.js +140 -21
- package/execution/ToolCallItem.js.map +1 -1
- package/execution/ToolRunGroup.d.ts +48 -0
- package/execution/ToolRunGroup.d.ts.map +1 -0
- package/execution/ToolRunGroup.js +168 -0
- package/execution/ToolRunGroup.js.map +1 -0
- package/execution/approval-provenance.d.ts +2 -0
- package/execution/approval-provenance.d.ts.map +1 -0
- package/execution/approval-provenance.js +6 -0
- package/execution/approval-provenance.js.map +1 -0
- package/execution/artifact-utils.d.ts +0 -10
- package/execution/artifact-utils.d.ts.map +1 -1
- package/execution/artifact-utils.js +0 -17
- package/execution/artifact-utils.js.map +1 -1
- package/execution/execution-phases.d.ts +1 -6
- package/execution/execution-phases.d.ts.map +1 -1
- package/execution/execution-phases.js +4 -14
- package/execution/execution-phases.js.map +1 -1
- package/execution/file-path-resolver.d.ts +28 -0
- package/execution/file-path-resolver.d.ts.map +1 -1
- package/execution/file-path-resolver.js +24 -0
- package/execution/file-path-resolver.js.map +1 -1
- package/execution/file-review-status.d.ts +127 -0
- package/execution/file-review-status.d.ts.map +1 -0
- package/execution/file-review-status.js +135 -0
- package/execution/file-review-status.js.map +1 -0
- package/execution/index.d.ts +39 -5
- package/execution/index.d.ts.map +1 -1
- package/execution/index.js +23 -3
- package/execution/index.js.map +1 -1
- package/execution/segment-tool-calls.d.ts +46 -0
- package/execution/segment-tool-calls.d.ts.map +1 -0
- package/execution/segment-tool-calls.js +71 -0
- package/execution/segment-tool-calls.js.map +1 -0
- package/execution/tool-categories.d.ts +62 -1
- package/execution/tool-categories.d.ts.map +1 -1
- package/execution/tool-categories.js +96 -2
- package/execution/tool-categories.js.map +1 -1
- package/execution/tool-presenter.d.ts +38 -2
- package/execution/tool-presenter.d.ts.map +1 -1
- package/execution/tool-presenter.js +23 -1
- package/execution/tool-presenter.js.map +1 -1
- package/execution/tool-rendering-primitives.d.ts.map +1 -1
- package/execution/tool-rendering-primitives.js +3 -2
- package/execution/tool-rendering-primitives.js.map +1 -1
- package/execution/useArtifactDownload.d.ts +44 -0
- package/execution/useArtifactDownload.d.ts.map +1 -0
- package/execution/useArtifactDownload.js +80 -0
- package/execution/useArtifactDownload.js.map +1 -0
- package/execution/useArtifactDownloadUrl.d.ts +67 -0
- package/execution/useArtifactDownloadUrl.d.ts.map +1 -0
- package/execution/useArtifactDownloadUrl.js +59 -0
- package/execution/useArtifactDownloadUrl.js.map +1 -0
- package/execution/useFileChangeContent.d.ts +61 -0
- package/execution/useFileChangeContent.d.ts.map +1 -0
- package/execution/useFileChangeContent.js +89 -0
- package/execution/useFileChangeContent.js.map +1 -0
- package/execution/useFileReview.d.ts +89 -0
- package/execution/useFileReview.d.ts.map +1 -0
- package/execution/useFileReview.js +106 -0
- package/execution/useFileReview.js.map +1 -0
- package/execution/useSubmitApproval.d.ts +17 -2
- package/execution/useSubmitApproval.d.ts.map +1 -1
- package/execution/useSubmitApproval.js +27 -23
- package/execution/useSubmitApproval.js.map +1 -1
- package/execution/useToolOutputContent.d.ts +44 -0
- package/execution/useToolOutputContent.d.ts.map +1 -0
- package/execution/useToolOutputContent.js +31 -0
- package/execution/useToolOutputContent.js.map +1 -0
- package/index.d.ts +6 -6
- package/index.d.ts.map +1 -1
- package/index.js +3 -3
- package/index.js.map +1 -1
- package/internal/ApprovalPeekBar.d.ts +23 -0
- package/internal/ApprovalPeekBar.d.ts.map +1 -0
- package/internal/ApprovalPeekBar.js +25 -0
- package/internal/ApprovalPeekBar.js.map +1 -0
- package/internal/BoundedContent.d.ts +49 -0
- package/internal/BoundedContent.d.ts.map +1 -0
- package/internal/BoundedContent.js +50 -0
- package/internal/BoundedContent.js.map +1 -0
- package/internal/DecisionButton.d.ts +47 -0
- package/internal/DecisionButton.d.ts.map +1 -0
- package/internal/DecisionButton.js +42 -0
- package/internal/DecisionButton.js.map +1 -0
- package/internal/InCardDecisionError.d.ts +31 -0
- package/internal/InCardDecisionError.d.ts.map +1 -0
- package/internal/InCardDecisionError.js +23 -0
- package/internal/InCardDecisionError.js.map +1 -0
- package/internal/RevealToggle.d.ts +36 -0
- package/internal/RevealToggle.d.ts.map +1 -0
- package/internal/RevealToggle.js +32 -0
- package/internal/RevealToggle.js.map +1 -0
- package/internal/VirtualizedThread.d.ts +7 -1
- package/internal/VirtualizedThread.d.ts.map +1 -1
- package/internal/VirtualizedThread.js +7 -3
- package/internal/VirtualizedThread.js.map +1 -1
- package/internal/useAutoDisclosure.d.ts +34 -0
- package/internal/useAutoDisclosure.d.ts.map +1 -0
- package/internal/useAutoDisclosure.js +53 -0
- package/internal/useAutoDisclosure.js.map +1 -0
- package/internal/useElapsedSince.d.ts +30 -0
- package/internal/useElapsedSince.d.ts.map +1 -0
- package/internal/useElapsedSince.js +70 -0
- package/internal/useElapsedSince.js.map +1 -0
- package/internal/useIsOverflowing.d.ts +30 -0
- package/internal/useIsOverflowing.d.ts.map +1 -0
- package/internal/useIsOverflowing.js +47 -0
- package/internal/useIsOverflowing.js.map +1 -0
- package/internal/useIsTextTruncated.d.ts +24 -0
- package/internal/useIsTextTruncated.d.ts.map +1 -0
- package/internal/useIsTextTruncated.js +41 -0
- package/internal/useIsTextTruncated.js.map +1 -0
- package/internal/useKeyedSubmission.d.ts +49 -0
- package/internal/useKeyedSubmission.d.ts.map +1 -0
- package/internal/useKeyedSubmission.js +67 -0
- package/internal/useKeyedSubmission.js.map +1 -0
- package/package.json +4 -4
- package/session/SessionViewer.d.ts +2 -2
- package/session/SessionViewer.d.ts.map +1 -1
- package/session/SessionViewer.js +10 -4
- package/session/SessionViewer.js.map +1 -1
- package/session/index.d.ts +2 -0
- package/session/index.d.ts.map +1 -1
- package/session/index.js +1 -0
- package/session/index.js.map +1 -1
- package/session/inspector/ChangesTab.d.ts +8 -5
- package/session/inspector/ChangesTab.d.ts.map +1 -1
- package/session/inspector/ChangesTab.js +11 -8
- package/session/inspector/ChangesTab.js.map +1 -1
- package/session/inspector/SessionInspector.d.ts +4 -4
- package/session/inspector/SessionInspector.d.ts.map +1 -1
- package/session/inspector/SessionInspector.js +4 -4
- package/session/inspector/SessionInspector.js.map +1 -1
- package/session/inspector/index.d.ts +0 -2
- package/session/inspector/index.d.ts.map +1 -1
- package/session/inspector/index.js +0 -1
- package/session/inspector/index.js.map +1 -1
- package/session/inspector/useSessionInspector.d.ts +8 -4
- package/session/inspector/useSessionInspector.d.ts.map +1 -1
- package/session/inspector/useSessionInspector.js +27 -20
- package/session/inspector/useSessionInspector.js.map +1 -1
- package/session/useSessionConversation.d.ts +37 -3
- package/session/useSessionConversation.d.ts.map +1 -1
- package/session/useSessionConversation.js +18 -2
- package/session/useSessionConversation.js.map +1 -1
- package/session/useSessionFileChanges.d.ts +74 -0
- package/session/useSessionFileChanges.d.ts.map +1 -0
- package/session/useSessionFileChanges.js +178 -0
- package/session/useSessionFileChanges.js.map +1 -0
- package/src/__tests__/styles-border-layer-invariant.test.ts +105 -0
- package/src/execution/ApprovalCard.tsx +368 -230
- package/src/execution/ApprovalContext.ts +109 -0
- package/src/execution/ArtifactCard.tsx +10 -6
- package/src/execution/ArtifactPreviewModal.tsx +12 -6
- package/src/execution/EmptyChangeNotice.tsx +62 -0
- package/src/execution/FileChangesView.tsx +383 -0
- package/src/execution/FilePathLink.tsx +65 -12
- package/src/execution/FileReviewCard.tsx +1118 -0
- package/src/execution/FileReviewContext.ts +53 -0
- package/src/execution/FileReviewDock.tsx +157 -0
- package/src/execution/McpToolDetail.tsx +98 -32
- package/src/execution/MessageThread.tsx +374 -9
- package/src/execution/PlanArtifactCard.tsx +9 -6
- package/src/execution/PlanCompletionCard.tsx +1 -1
- package/src/execution/ResultView.tsx +333 -162
- package/src/execution/SubAgentSection.tsx +58 -11
- package/src/execution/TerminalSession.tsx +91 -0
- package/src/execution/TodoCard.tsx +186 -0
- package/src/execution/ToolArgsView.tsx +28 -17
- package/src/execution/ToolCallDetail.tsx +137 -26
- package/src/execution/ToolCallGroup.tsx +68 -296
- package/src/execution/ToolCallItem.tsx +265 -67
- package/src/execution/ToolRunGroup.tsx +302 -0
- package/src/execution/__tests__/ApprovalCard.test.tsx +395 -5
- package/src/execution/__tests__/ArtifactPreviewModal.test.tsx +0 -1
- package/src/execution/__tests__/EmptyChangeNotice.test.tsx +24 -0
- package/src/execution/__tests__/FileChangesView.test.tsx +296 -0
- package/src/execution/__tests__/FilePathLink.test.tsx +92 -0
- package/src/execution/__tests__/FileReviewCard.test.tsx +1044 -0
- package/src/execution/__tests__/FileReviewDock.test.tsx +134 -0
- package/src/execution/__tests__/McpToolDetail.test.tsx +79 -0
- package/src/execution/__tests__/MessageThread.test.tsx +324 -0
- package/src/execution/__tests__/PlanArtifactCard.test.tsx +37 -16
- package/src/execution/__tests__/ResultView.test.tsx +280 -2
- package/src/execution/__tests__/SubAgentSection.test.tsx +180 -0
- package/src/execution/__tests__/TerminalSession.test.tsx +72 -0
- package/src/execution/__tests__/TodoCard.test.tsx +102 -0
- package/src/execution/__tests__/ToolArgsView.test.tsx +48 -0
- package/src/execution/__tests__/ToolCallDetail.test.tsx +195 -0
- package/src/execution/__tests__/ToolCallGroup.test.tsx +132 -0
- package/src/execution/__tests__/ToolCallItem.test.tsx +521 -0
- package/src/execution/__tests__/ToolRunGroup.test.tsx +137 -0
- package/src/execution/__tests__/blanked-narration.test.tsx +149 -0
- package/src/execution/__tests__/buildThreadItems-approvals.test.ts +304 -0
- package/src/execution/__tests__/buildThreadItems-file-review.test.ts +331 -0
- package/src/execution/__tests__/file-path-resolver.test.ts +44 -0
- package/src/execution/__tests__/file-review-status.test.ts +343 -0
- package/src/execution/__tests__/segment-tool-calls.test.ts +124 -0
- package/src/execution/__tests__/subagent-file-review-badge.test.tsx +273 -0
- package/src/execution/__tests__/thread-keys.test.ts +195 -0
- package/src/execution/__tests__/tool-presenter.test.tsx +95 -0
- package/src/execution/__tests__/useArtifactDownload.test.tsx +67 -0
- package/src/execution/__tests__/useArtifactDownloadUrl.test.tsx +51 -0
- package/src/execution/__tests__/useFileChangeContent.test.tsx +240 -0
- package/src/execution/__tests__/useFileReview.test.tsx +236 -0
- package/src/execution/__tests__/useSubmitApproval.test.tsx +165 -0
- package/src/execution/__tests__/useToolOutputContent.test.tsx +82 -0
- package/src/execution/approval-provenance.ts +8 -0
- package/src/execution/artifact-utils.ts +0 -18
- package/src/execution/execution-phases.ts +4 -16
- package/src/execution/file-path-resolver.ts +38 -0
- package/src/execution/file-review-status.ts +219 -0
- package/src/execution/index.ts +84 -4
- package/src/execution/segment-tool-calls.ts +101 -0
- package/src/execution/tool-categories.ts +128 -1
- package/src/execution/tool-presenter.ts +58 -3
- package/src/execution/tool-rendering-primitives.tsx +11 -14
- package/src/execution/useArtifactDownload.ts +109 -0
- package/src/execution/useArtifactDownloadUrl.ts +116 -0
- package/src/execution/useFileChangeContent.ts +149 -0
- package/src/execution/useFileReview.ts +197 -0
- package/src/execution/useSubmitApproval.ts +49 -27
- package/src/execution/useToolOutputContent.ts +70 -0
- package/src/index.ts +60 -1
- package/src/internal/ApprovalPeekBar.tsx +73 -0
- package/src/internal/BoundedContent.tsx +97 -0
- package/src/internal/DecisionButton.tsx +127 -0
- package/src/internal/InCardDecisionError.tsx +47 -0
- package/src/internal/RevealToggle.tsx +91 -0
- package/src/internal/VirtualizedThread.tsx +28 -2
- package/src/internal/__tests__/ApprovalPeekBar.test.tsx +34 -0
- package/src/internal/__tests__/BoundedContent.test.tsx +92 -0
- package/src/internal/__tests__/DecisionButton.test.tsx +107 -0
- package/src/internal/__tests__/RevealToggle.test.tsx +61 -0
- package/src/internal/__tests__/useAutoDisclosure.test.ts +74 -0
- package/src/internal/__tests__/useElapsedSince.test.tsx +68 -0
- package/src/internal/__tests__/useIsOverflowing.test.ts +36 -0
- package/src/internal/__tests__/useKeyedSubmission.test.tsx +126 -0
- package/src/internal/useAutoDisclosure.ts +58 -0
- package/src/internal/useElapsedSince.ts +72 -0
- package/src/internal/useIsOverflowing.ts +61 -0
- package/src/internal/useIsTextTruncated.ts +55 -0
- package/src/internal/useKeyedSubmission.ts +101 -0
- package/src/session/SessionViewer.tsx +21 -4
- package/src/session/__tests__/SessionViewer-fileReviewDock.test.tsx +198 -0
- package/src/session/__tests__/audienceWiring.test.tsx +4 -0
- package/src/session/__tests__/useSessionFileChanges.test.ts +303 -0
- package/src/session/index.ts +3 -0
- package/src/session/inspector/ChangesTab.tsx +20 -17
- package/src/session/inspector/SessionInspector.tsx +12 -10
- package/src/session/inspector/__tests__/ArtifactsTab.test.tsx +0 -1
- package/src/session/inspector/__tests__/ChangesTab.test.tsx +38 -0
- package/src/session/inspector/__tests__/useSessionInspector.test.ts +46 -61
- package/src/session/inspector/index.ts +0 -3
- package/src/session/inspector/useSessionInspector.ts +27 -20
- package/src/session/useSessionConversation.ts +80 -3
- package/src/session/useSessionFileChanges.ts +207 -0
- package/src/styles.css +35 -10
- package/src/version-history/DiffViewer.tsx +10 -7
- package/src/version-history/UnifiedDiffView.tsx +66 -0
- package/src/version-history/__tests__/DiffViewer.test.tsx +57 -0
- package/src/version-history/__tests__/UnifiedDiffView.test.tsx +50 -0
- package/src/version-history/__tests__/computeDiff.test.ts +35 -0
- package/src/version-history/__tests__/parseUnifiedDiff.test.ts +82 -0
- package/src/version-history/computeDiff.ts +6 -37
- package/src/version-history/diff-hunks.ts +63 -0
- package/src/version-history/index.ts +1 -0
- package/src/version-history/parseUnifiedDiff.ts +34 -0
- package/src/workflow/WorkflowExecutionApprovalCard.tsx +49 -24
- package/src/workflow/WorkflowExecutionTimeline.tsx +15 -4
- package/src/workflow/WorkflowExecutionTimelineEvent.tsx +8 -3
- package/src/workflow/WorkflowExecutionViewer.tsx +72 -28
- package/src/workflow/WorkflowFileReviewList.tsx +152 -0
- package/src/workflow/WorkflowTaskApprovalCard.tsx +37 -85
- package/src/workflow/__tests__/ExecutionInspector.test.tsx +30 -2
- package/src/workflow/__tests__/WorkflowExecutionApprovalCard.test.tsx +129 -0
- package/src/workflow/__tests__/WorkflowFileReviewList.test.tsx +129 -0
- package/src/workflow/__tests__/WorkflowTaskApprovalCard.test.tsx +43 -11
- package/src/workflow/__tests__/useWorkflowExecutionActions.test.tsx +276 -0
- package/src/workflow/execution-inspector/ExecutionInspector.tsx +42 -18
- package/src/workflow/index.ts +5 -0
- package/src/workflow/useWorkflowExecutionActions.ts +177 -29
- package/styles.css +1 -1
- package/version-history/DiffViewer.d.ts.map +1 -1
- package/version-history/DiffViewer.js +9 -3
- package/version-history/DiffViewer.js.map +1 -1
- package/version-history/UnifiedDiffView.d.ts +29 -0
- package/version-history/UnifiedDiffView.d.ts.map +1 -0
- package/version-history/UnifiedDiffView.js +36 -0
- package/version-history/UnifiedDiffView.js.map +1 -0
- package/version-history/computeDiff.d.ts +3 -1
- package/version-history/computeDiff.d.ts.map +1 -1
- package/version-history/computeDiff.js +5 -35
- package/version-history/computeDiff.js.map +1 -1
- package/version-history/diff-hunks.d.ts +21 -0
- package/version-history/diff-hunks.d.ts.map +1 -0
- package/version-history/diff-hunks.js +58 -0
- package/version-history/diff-hunks.js.map +1 -0
- package/version-history/index.d.ts +1 -0
- package/version-history/index.d.ts.map +1 -1
- package/version-history/index.js +1 -0
- package/version-history/index.js.map +1 -1
- package/version-history/parseUnifiedDiff.d.ts +22 -0
- package/version-history/parseUnifiedDiff.d.ts.map +1 -0
- package/version-history/parseUnifiedDiff.js +34 -0
- package/version-history/parseUnifiedDiff.js.map +1 -0
- package/workflow/WorkflowExecutionApprovalCard.d.ts +8 -1
- package/workflow/WorkflowExecutionApprovalCard.d.ts.map +1 -1
- package/workflow/WorkflowExecutionApprovalCard.js +17 -3
- package/workflow/WorkflowExecutionApprovalCard.js.map +1 -1
- package/workflow/WorkflowExecutionTimeline.d.ts +11 -2
- package/workflow/WorkflowExecutionTimeline.d.ts.map +1 -1
- package/workflow/WorkflowExecutionTimeline.js +2 -2
- package/workflow/WorkflowExecutionTimeline.js.map +1 -1
- package/workflow/WorkflowExecutionTimelineEvent.d.ts +4 -1
- package/workflow/WorkflowExecutionTimelineEvent.d.ts.map +1 -1
- package/workflow/WorkflowExecutionTimelineEvent.js +2 -2
- package/workflow/WorkflowExecutionTimelineEvent.js.map +1 -1
- package/workflow/WorkflowExecutionViewer.d.ts.map +1 -1
- package/workflow/WorkflowExecutionViewer.js +18 -10
- package/workflow/WorkflowExecutionViewer.js.map +1 -1
- package/workflow/WorkflowFileReviewList.d.ts +46 -0
- package/workflow/WorkflowFileReviewList.d.ts.map +1 -0
- package/workflow/WorkflowFileReviewList.js +48 -0
- package/workflow/WorkflowFileReviewList.js.map +1 -0
- package/workflow/WorkflowTaskApprovalCard.d.ts +8 -1
- package/workflow/WorkflowTaskApprovalCard.d.ts.map +1 -1
- package/workflow/WorkflowTaskApprovalCard.js +12 -19
- package/workflow/WorkflowTaskApprovalCard.js.map +1 -1
- package/workflow/execution-inspector/ExecutionInspector.d.ts +21 -4
- package/workflow/execution-inspector/ExecutionInspector.d.ts.map +1 -1
- package/workflow/execution-inspector/ExecutionInspector.js +6 -3
- package/workflow/execution-inspector/ExecutionInspector.js.map +1 -1
- package/workflow/index.d.ts +1 -0
- package/workflow/index.d.ts.map +1 -1
- package/workflow/index.js +1 -0
- package/workflow/index.js.map +1 -1
- package/workflow/useWorkflowExecutionActions.d.ts +62 -4
- package/workflow/useWorkflowExecutionActions.d.ts.map +1 -1
- package/workflow/useWorkflowExecutionActions.js +94 -18
- package/workflow/useWorkflowExecutionActions.js.map +1 -1
- package/session/inspector/PlanTab.d.ts +0 -15
- package/session/inspector/PlanTab.d.ts.map +0 -1
- package/session/inspector/PlanTab.js +0 -19
- package/session/inspector/PlanTab.js.map +0 -1
- package/src/session/inspector/PlanTab.tsx +0 -31
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import type { CapturedFileChange, FileChangeSet } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/filereview_pb";
|
|
2
|
+
import { FileDecisionAction } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
3
|
+
/**
|
|
4
|
+
* Why an `"unavailable"` file cannot be reviewed — the honest per-file cause the
|
|
5
|
+
* runner records on `CapturedFileChange.blocked_reason` (design doc 15).
|
|
6
|
+
*
|
|
7
|
+
* - `"secret"` — the path looks like a secret; the bytes were deliberately never
|
|
8
|
+
* captured (there is nothing to review, by design).
|
|
9
|
+
* - `"size"` — the diff was captured but its bodies were dropped to keep the
|
|
10
|
+
* persisted status under its size limit.
|
|
11
|
+
* - `"unknown"` — incomplete for a reason the wire does not name (a defensive
|
|
12
|
+
* catch-all; historical rows and future/unmapped causes land here).
|
|
13
|
+
*/
|
|
14
|
+
export type FileBlockReason = "secret" | "size" | "unknown";
|
|
15
|
+
/**
|
|
16
|
+
* How completely a single captured file change can be reviewed before a decision
|
|
17
|
+
* is made — the classification that decides whether a file can be kept. A
|
|
18
|
+
* discriminated union so every consumer handles each case exhaustively and reads
|
|
19
|
+
* the block reason from one place (no "classify, then separately look up why").
|
|
20
|
+
*
|
|
21
|
+
* - `{ kind: "reviewable" }` — the full before/after diff is available; the
|
|
22
|
+
* reviewer can see exactly what changed and Keep or Discard it.
|
|
23
|
+
* - `{ kind: "binary" }` — a binary file changed; there is no text diff to
|
|
24
|
+
* review (the bytes are captured and flagged, but a byte diff is not
|
|
25
|
+
* human-reviewable). Binary is proven by `FileContent.is_binary`, not by the
|
|
26
|
+
* block reason.
|
|
27
|
+
* - `{ kind: "unavailable"; reason }` — the diff is not available to review at
|
|
28
|
+
* all, with the honest {@link FileBlockReason} the runner recorded.
|
|
29
|
+
*
|
|
30
|
+
* Both `"binary"` and `"unavailable"` are non-reviewable: the file cannot be
|
|
31
|
+
* approved (kept), only discarded. This mirrors the server, which blocks
|
|
32
|
+
* approval of any change set that is not fully complete.
|
|
33
|
+
*/
|
|
34
|
+
export type FileReviewability = {
|
|
35
|
+
readonly kind: "reviewable";
|
|
36
|
+
} | {
|
|
37
|
+
readonly kind: "binary";
|
|
38
|
+
} | {
|
|
39
|
+
readonly kind: "unavailable";
|
|
40
|
+
readonly reason: FileBlockReason;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Classify a {@link CapturedFileChange} by how completely it can be reviewed,
|
|
44
|
+
* from the signals the runner authors onto the change (see the file-review
|
|
45
|
+
* producer in the runner's `shared/filereview`).
|
|
46
|
+
*
|
|
47
|
+
* The mapping is derived from three proto signals, in order:
|
|
48
|
+
*
|
|
49
|
+
* 1. `diff_complete === true` → `"reviewable"`. The change set can only be
|
|
50
|
+
* `COMPLETE` when every file is complete, so a complete file is always
|
|
51
|
+
* reviewable.
|
|
52
|
+
* 2. otherwise, a binary side (`before.is_binary` or `after.is_binary`) →
|
|
53
|
+
* `"binary"`. The runner marks a git-tracked file incomplete precisely
|
|
54
|
+
* because a side is binary (`diff_complete = !binary`); a CAS file carries
|
|
55
|
+
* `is_binary` on its blob ref. `is_binary` is preserved when a large body is
|
|
56
|
+
* offloaded from an inline value to a storage ref, so this holds regardless
|
|
57
|
+
* of offload. Binary is therefore derived here, never duplicated onto the
|
|
58
|
+
* block reason (doc 15).
|
|
59
|
+
* 3. otherwise → `"unavailable"` with the honest cause from
|
|
60
|
+
* `blocked_reason`: `SECRET_WITHHELD → "secret"`, `SIZE_ELIDED → "size"`,
|
|
61
|
+
* else `"unknown"`. Before doc 15 this bucket was cause-agnostic (the wire
|
|
62
|
+
* could not prove secret-withheld vs size-dropped); the runner now records
|
|
63
|
+
* the cause at capture time, so the UI can say *why* rather than only *that*
|
|
64
|
+
* the diff is unavailable.
|
|
65
|
+
*/
|
|
66
|
+
export declare function fileReviewability(change: CapturedFileChange): FileReviewability;
|
|
67
|
+
/**
|
|
68
|
+
* How completely a whole {@link FileChangeSet} can be reviewed — the set-level
|
|
69
|
+
* sibling of {@link FileReviewability} that decides whether the set can be kept
|
|
70
|
+
* in one action. Drives the card's bulk affordance and keeps headless builders
|
|
71
|
+
* on the same classification.
|
|
72
|
+
*
|
|
73
|
+
* - `"complete"` — every file is reviewable; the set can be approved as-is.
|
|
74
|
+
* - `"binary-only"` — the set's ONLY blocker is binary files (every non-binary
|
|
75
|
+
* file is fully reviewable). No text diff for the binaries, but their exact
|
|
76
|
+
* bytes are captured and reconcilable, so the whole set can be KEPT in one
|
|
77
|
+
* acknowledged action ("Keep all"). Includes mixed sets (text edits + images).
|
|
78
|
+
* - `"blocked"` — at least one file is unavailable to review with no keepable
|
|
79
|
+
* bytes (secret-withheld / size-elided / uncapturable), so the set cannot be
|
|
80
|
+
* approved at once; it must be resolved per file.
|
|
81
|
+
*/
|
|
82
|
+
export type ChangeSetReviewability = "complete" | "binary-only" | "blocked";
|
|
83
|
+
/**
|
|
84
|
+
* Classify a {@link FileChangeSet} from its server-derived `diff_completeness`
|
|
85
|
+
* rollup (the field exists precisely so clients need not re-fold the per-file
|
|
86
|
+
* signals). The runner and the size backstop both derive that value from the
|
|
87
|
+
* same rule the backend gate re-checks, so this classification, the per-file
|
|
88
|
+
* {@link fileReviewability} fold, and the server gate agree by construction.
|
|
89
|
+
*/
|
|
90
|
+
export declare function changeSetReviewability(set: FileChangeSet): ChangeSetReviewability;
|
|
91
|
+
/**
|
|
92
|
+
* Each file's EFFECTIVE verdict for a settled set, folding the decisions the
|
|
93
|
+
* way the runner reconcile does (most-specific-wins): the last CHANGE_SET
|
|
94
|
+
* decision is the baseline for every file, and a later-or-earlier FILE decision
|
|
95
|
+
* overrides it for that file (FILE > CHANGE_SET regardless of ledger order;
|
|
96
|
+
* within a scope, last write wins).
|
|
97
|
+
*
|
|
98
|
+
* This is the fold for DISPLAYING history — a set decided via "Keep all"
|
|
99
|
+
* correctly reads every file as kept. The interactive per-file selected state
|
|
100
|
+
* deliberately uses the FILE-only fold instead (a CHANGE_SET decision cannot
|
|
101
|
+
* coexist with an open review, so it never pre-selects anything there).
|
|
102
|
+
*/
|
|
103
|
+
export declare function deriveEffectiveVerdicts(set: FileChangeSet): ReadonlyMap<string, FileDecisionAction>;
|
|
104
|
+
/**
|
|
105
|
+
* The captured change a transcript row's file path refers to, or `null`. The
|
|
106
|
+
* row's path may be absolute (harness tool args) while captured paths are
|
|
107
|
+
* workspace-root-relative, so the match accepts an exact match or a
|
|
108
|
+
* `/`-boundary suffix. Presentation-only — never a correlation key.
|
|
109
|
+
*/
|
|
110
|
+
export declare function changeForRowPath(set: FileChangeSet, rowPath: string): CapturedFileChange | null;
|
|
111
|
+
/**
|
|
112
|
+
* The review state a stamped transcript row should badge — how this file edit
|
|
113
|
+
* stands in its change set's review lifecycle. `null` means "show no badge",
|
|
114
|
+
* chosen over guessing: a missing set (not yet projected), a CAPTURING set, or
|
|
115
|
+
* a row whose file is absent from the set (its edit was superseded or fully
|
|
116
|
+
* reverted within the turn) renders unbadged, never mislabeled.
|
|
117
|
+
*
|
|
118
|
+
* - `"pending"` — the set is AWAITING_REVIEW; this edit's net result is on the
|
|
119
|
+
* decision surface now.
|
|
120
|
+
* - `"kept"` / `"discarded"` — the set is decided/reconciled and this file's
|
|
121
|
+
* effective verdict is known ({@link deriveEffectiveVerdicts}).
|
|
122
|
+
* - `"failed"` — the set's reconcile failed; the workspace outcome for this
|
|
123
|
+
* edit is not the reviewed one.
|
|
124
|
+
*/
|
|
125
|
+
export type FileReviewRowState = "pending" | "kept" | "discarded" | "failed";
|
|
126
|
+
export declare function fileReviewRowState(set: FileChangeSet | undefined, rowPath: string | null): FileReviewRowState | null;
|
|
127
|
+
//# sourceMappingURL=file-review-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-review-status.d.ts","sourceRoot":"","sources":["../../src/execution/file-review-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EAEd,MAAM,oEAAoE,CAAC;AAC5E,OAAO,EAGL,kBAAkB,EAGnB,MAAM,8DAA8D,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAE5D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAC/B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;CAAE,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,iBAAiB,CAI/E;AAcD;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,CAAC;AAE5E;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,aAAa,GAAG,sBAAsB,CASjF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,aAAa,GACjB,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAezC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,MAAM,GACd,kBAAkB,GAAG,IAAI,CAU3B;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE7E,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,aAAa,GAAG,SAAS,EAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,kBAAkB,GAAG,IAAI,CAoB3B"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { DiffCompleteness, FileChangeSetStatus, FileDecisionAction, FileDecisionScope, FileReviewBlockReason, } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
2
|
+
/**
|
|
3
|
+
* Classify a {@link CapturedFileChange} by how completely it can be reviewed,
|
|
4
|
+
* from the signals the runner authors onto the change (see the file-review
|
|
5
|
+
* producer in the runner's `shared/filereview`).
|
|
6
|
+
*
|
|
7
|
+
* The mapping is derived from three proto signals, in order:
|
|
8
|
+
*
|
|
9
|
+
* 1. `diff_complete === true` → `"reviewable"`. The change set can only be
|
|
10
|
+
* `COMPLETE` when every file is complete, so a complete file is always
|
|
11
|
+
* reviewable.
|
|
12
|
+
* 2. otherwise, a binary side (`before.is_binary` or `after.is_binary`) →
|
|
13
|
+
* `"binary"`. The runner marks a git-tracked file incomplete precisely
|
|
14
|
+
* because a side is binary (`diff_complete = !binary`); a CAS file carries
|
|
15
|
+
* `is_binary` on its blob ref. `is_binary` is preserved when a large body is
|
|
16
|
+
* offloaded from an inline value to a storage ref, so this holds regardless
|
|
17
|
+
* of offload. Binary is therefore derived here, never duplicated onto the
|
|
18
|
+
* block reason (doc 15).
|
|
19
|
+
* 3. otherwise → `"unavailable"` with the honest cause from
|
|
20
|
+
* `blocked_reason`: `SECRET_WITHHELD → "secret"`, `SIZE_ELIDED → "size"`,
|
|
21
|
+
* else `"unknown"`. Before doc 15 this bucket was cause-agnostic (the wire
|
|
22
|
+
* could not prove secret-withheld vs size-dropped); the runner now records
|
|
23
|
+
* the cause at capture time, so the UI can say *why* rather than only *that*
|
|
24
|
+
* the diff is unavailable.
|
|
25
|
+
*/
|
|
26
|
+
export function fileReviewability(change) {
|
|
27
|
+
if (change.diffComplete)
|
|
28
|
+
return { kind: "reviewable" };
|
|
29
|
+
if (change.before?.isBinary || change.after?.isBinary)
|
|
30
|
+
return { kind: "binary" };
|
|
31
|
+
return { kind: "unavailable", reason: blockReasonOf(change.blockedReason) };
|
|
32
|
+
}
|
|
33
|
+
/** Map the proto {@link FileReviewBlockReason} to the UI {@link FileBlockReason}. */
|
|
34
|
+
function blockReasonOf(reason) {
|
|
35
|
+
switch (reason) {
|
|
36
|
+
case FileReviewBlockReason.SECRET_WITHHELD:
|
|
37
|
+
return "secret";
|
|
38
|
+
case FileReviewBlockReason.SIZE_ELIDED:
|
|
39
|
+
return "size";
|
|
40
|
+
default:
|
|
41
|
+
return "unknown";
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Classify a {@link FileChangeSet} from its server-derived `diff_completeness`
|
|
46
|
+
* rollup (the field exists precisely so clients need not re-fold the per-file
|
|
47
|
+
* signals). The runner and the size backstop both derive that value from the
|
|
48
|
+
* same rule the backend gate re-checks, so this classification, the per-file
|
|
49
|
+
* {@link fileReviewability} fold, and the server gate agree by construction.
|
|
50
|
+
*/
|
|
51
|
+
export function changeSetReviewability(set) {
|
|
52
|
+
switch (set.diffCompleteness) {
|
|
53
|
+
case DiffCompleteness.COMPLETE:
|
|
54
|
+
return "complete";
|
|
55
|
+
case DiffCompleteness.BINARY_SUMMARY_ONLY:
|
|
56
|
+
return "binary-only";
|
|
57
|
+
default:
|
|
58
|
+
return "blocked";
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Each file's EFFECTIVE verdict for a settled set, folding the decisions the
|
|
63
|
+
* way the runner reconcile does (most-specific-wins): the last CHANGE_SET
|
|
64
|
+
* decision is the baseline for every file, and a later-or-earlier FILE decision
|
|
65
|
+
* overrides it for that file (FILE > CHANGE_SET regardless of ledger order;
|
|
66
|
+
* within a scope, last write wins).
|
|
67
|
+
*
|
|
68
|
+
* This is the fold for DISPLAYING history — a set decided via "Keep all"
|
|
69
|
+
* correctly reads every file as kept. The interactive per-file selected state
|
|
70
|
+
* deliberately uses the FILE-only fold instead (a CHANGE_SET decision cannot
|
|
71
|
+
* coexist with an open review, so it never pre-selects anything there).
|
|
72
|
+
*/
|
|
73
|
+
export function deriveEffectiveVerdicts(set) {
|
|
74
|
+
let bulk = null;
|
|
75
|
+
const byFileId = new Map();
|
|
76
|
+
for (const d of set.decisions) {
|
|
77
|
+
if (d.scope === FileDecisionScope.CHANGE_SET)
|
|
78
|
+
bulk = d.action;
|
|
79
|
+
else if (d.scope === FileDecisionScope.FILE && d.fileChangeId) {
|
|
80
|
+
byFileId.set(d.fileChangeId, d.action);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
const effective = new Map();
|
|
84
|
+
for (const c of set.changes) {
|
|
85
|
+
const verdict = byFileId.get(c.id) ?? bulk;
|
|
86
|
+
if (verdict != null)
|
|
87
|
+
effective.set(c.id, verdict);
|
|
88
|
+
}
|
|
89
|
+
return effective;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* The captured change a transcript row's file path refers to, or `null`. The
|
|
93
|
+
* row's path may be absolute (harness tool args) while captured paths are
|
|
94
|
+
* workspace-root-relative, so the match accepts an exact match or a
|
|
95
|
+
* `/`-boundary suffix. Presentation-only — never a correlation key.
|
|
96
|
+
*/
|
|
97
|
+
export function changeForRowPath(set, rowPath) {
|
|
98
|
+
if (!rowPath)
|
|
99
|
+
return null;
|
|
100
|
+
const normalized = rowPath.replace(/\\/g, "/");
|
|
101
|
+
for (const c of set.changes) {
|
|
102
|
+
const path = c.pathAfter || c.pathBefore;
|
|
103
|
+
if (path && (normalized === path || normalized.endsWith(`/${path}`))) {
|
|
104
|
+
return c;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
export function fileReviewRowState(set, rowPath) {
|
|
110
|
+
if (!set)
|
|
111
|
+
return null;
|
|
112
|
+
switch (set.status) {
|
|
113
|
+
case FileChangeSetStatus.AWAITING_REVIEW:
|
|
114
|
+
return "pending";
|
|
115
|
+
case FileChangeSetStatus.FAILED:
|
|
116
|
+
return "failed";
|
|
117
|
+
case FileChangeSetStatus.DECIDED:
|
|
118
|
+
case FileChangeSetStatus.RECONCILED: {
|
|
119
|
+
if (!rowPath)
|
|
120
|
+
return null;
|
|
121
|
+
const change = changeForRowPath(set, rowPath);
|
|
122
|
+
if (!change)
|
|
123
|
+
return null;
|
|
124
|
+
const verdict = deriveEffectiveVerdicts(set).get(change.id);
|
|
125
|
+
if (verdict === FileDecisionAction.APPROVE)
|
|
126
|
+
return "kept";
|
|
127
|
+
if (verdict === FileDecisionAction.REJECT)
|
|
128
|
+
return "discarded";
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
131
|
+
default:
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=file-review-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-review-status.js","sourceRoot":"","sources":["../../src/execution/file-review-status.ts"],"names":[],"mappings":"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"}
|
package/execution/index.d.ts
CHANGED
|
@@ -23,11 +23,23 @@ export { useExecutionArtifacts } from "./useExecutionArtifacts";
|
|
|
23
23
|
export type { UseExecutionArtifactsReturn } from "./useExecutionArtifacts";
|
|
24
24
|
export { useArtifactContent } from "./useArtifactContent";
|
|
25
25
|
export type { UseArtifactContentReturn } from "./useArtifactContent";
|
|
26
|
+
export { useArtifactDownloadUrl } from "./useArtifactDownloadUrl";
|
|
27
|
+
export type { UseArtifactDownloadUrlReturn, UseArtifactDownloadUrlOptions, } from "./useArtifactDownloadUrl";
|
|
28
|
+
export { useArtifactDownload } from "./useArtifactDownload";
|
|
29
|
+
export type { UseArtifactDownloadReturn } from "./useArtifactDownload";
|
|
30
|
+
export { useToolOutputContent } from "./useToolOutputContent";
|
|
31
|
+
export type { UseToolOutputContentReturn, ToolOutputRefLike, } from "./useToolOutputContent";
|
|
32
|
+
export { useFileChangeContent, execIdFromStorageKey } from "./useFileChangeContent";
|
|
33
|
+
export type { UseFileChangeContentReturn } from "./useFileChangeContent";
|
|
26
34
|
export { useWorkspaceWriteBacks } from "./useWorkspaceWriteBacks";
|
|
27
35
|
export type { UseWorkspaceWriteBacksReturn } from "./useWorkspaceWriteBacks";
|
|
28
36
|
export { WriteBackCard } from "./WriteBackCard";
|
|
29
37
|
export type { WriteBackCardProps } from "./WriteBackCard";
|
|
30
|
-
export {
|
|
38
|
+
export { FileChangesView, FileChangeDiff } from "./FileChangesView";
|
|
39
|
+
export type { FileChangesViewProps, FileChangeDiffProps } from "./FileChangesView";
|
|
40
|
+
export { EmptyChangeNotice } from "./EmptyChangeNotice";
|
|
41
|
+
export type { EmptyChangeNoticeProps, EmptyChangeKind } from "./EmptyChangeNotice";
|
|
42
|
+
export { isTextArtifact, formatArtifactSize, getArtifactExtension, getFileExtension, getArtifactRenderMode, } from "./artifact-utils";
|
|
31
43
|
export type { ArtifactRenderMode } from "./artifact-utils";
|
|
32
44
|
export { ExecutionPhaseBadge } from "./ExecutionPhaseBadge";
|
|
33
45
|
export type { ExecutionPhaseBadgeProps } from "./ExecutionPhaseBadge";
|
|
@@ -37,14 +49,21 @@ export { SetupProgress } from "./SetupProgress";
|
|
|
37
49
|
export type { SetupProgressProps } from "./SetupProgress";
|
|
38
50
|
export { ToolCallGroup } from "./ToolCallGroup";
|
|
39
51
|
export type { ToolCallGroupProps } from "./ToolCallGroup";
|
|
52
|
+
export { ToolRunGroup } from "./ToolRunGroup";
|
|
53
|
+
export type { ToolRunGroupProps } from "./ToolRunGroup";
|
|
54
|
+
export { segmentToolCalls } from "./segment-tool-calls";
|
|
55
|
+
export type { ToolSegment } from "./segment-tool-calls";
|
|
40
56
|
export { ToolCallDetail, formatDuration } from "./ToolCallDetail";
|
|
41
57
|
export type { ToolCallDetailProps } from "./ToolCallDetail";
|
|
58
|
+
export { describeApprovalPolicySource } from "./approval-provenance";
|
|
42
59
|
export { McpToolDetail, McpArgsView, McpMetadataRow, parseMcpResult } from "./McpToolDetail";
|
|
43
60
|
export type { McpToolDetailProps, McpArgsViewProps, McpMetadataRowProps, } from "./McpToolDetail";
|
|
44
61
|
export { ToolArgsView } from "./ToolArgsView";
|
|
45
62
|
export type { ToolArgsViewProps } from "./ToolArgsView";
|
|
46
63
|
export { ResultView, summarizeResultView } from "./ResultView";
|
|
47
64
|
export type { ResultViewProps } from "./ResultView";
|
|
65
|
+
export { TerminalSession } from "./TerminalSession";
|
|
66
|
+
export type { TerminalSessionProps } from "./TerminalSession";
|
|
48
67
|
export { useToolPresentation, registerToolPresenter, getToolPresenter, } from "./tool-presenter";
|
|
49
68
|
export type { ToolPresentation, ToolPresenter } from "./tool-presenter";
|
|
50
69
|
export { CollapsibleCode, CollapsiblePre, CollapsibleJsonBlock, FilePathIcon, McpServerIcon, TRUNCATION_LINE_LIMIT, formatJson, formatResult, isScalar, humanizeArgKey, } from "./tool-rendering-primitives";
|
|
@@ -65,10 +84,25 @@ export { ExecutionProgress } from "./ExecutionProgress";
|
|
|
65
84
|
export type { ExecutionProgressProps } from "./ExecutionProgress";
|
|
66
85
|
export { TodoList, TodoInProgressIcon, findActiveTodo, todoCompletionSummary, } from "./TodoList";
|
|
67
86
|
export type { TodoListProps } from "./TodoList";
|
|
87
|
+
export { TodoCard } from "./TodoCard";
|
|
88
|
+
export type { TodoCardProps } from "./TodoCard";
|
|
68
89
|
export { useSubmitApproval } from "./useSubmitApproval";
|
|
69
90
|
export type { UseSubmitApprovalReturn } from "./useSubmitApproval";
|
|
70
|
-
export {
|
|
71
|
-
export type {
|
|
91
|
+
export { useFileReview, fileDecisionKey } from "./useFileReview";
|
|
92
|
+
export type { UseFileReviewReturn, FileDecisionOptions } from "./useFileReview";
|
|
93
|
+
export { fileReviewability, changeSetReviewability, deriveEffectiveVerdicts, changeForRowPath, fileReviewRowState, } from "./file-review-status";
|
|
94
|
+
export type { FileReviewability, FileBlockReason, ChangeSetReviewability, FileReviewRowState, } from "./file-review-status";
|
|
95
|
+
export { foldFileReviewEventStream, displayFileChangeSets, toDisplayFileChange, } from "@stigmer/sdk";
|
|
96
|
+
export { ApprovalCard, ApprovalCardHeader, ApprovalCardBody } from "./ApprovalCard";
|
|
97
|
+
export type { ApprovalCardProps, ApprovalCardHeaderProps, ApprovalCardBodyProps, } from "./ApprovalCard";
|
|
98
|
+
export { FileReviewCard } from "./FileReviewCard";
|
|
99
|
+
export type { FileReviewCardProps } from "./FileReviewCard";
|
|
100
|
+
export { FileReviewDock } from "./FileReviewDock";
|
|
101
|
+
export type { FileReviewDockProps } from "./FileReviewDock";
|
|
102
|
+
export { ApprovalContext, useApproval } from "./ApprovalContext";
|
|
103
|
+
export type { ApprovalContextValue, UseApprovalResult } from "./ApprovalContext";
|
|
104
|
+
export { FileReviewContext, useFileReviewRowState } from "./FileReviewContext";
|
|
105
|
+
export type { FileReviewContextValue } from "./FileReviewContext";
|
|
72
106
|
export { ArtifactCard } from "./ArtifactCard";
|
|
73
107
|
export type { ArtifactCardProps } from "./ArtifactCard";
|
|
74
108
|
export { ArtifactContentRenderer } from "./ArtifactContentRenderer";
|
|
@@ -79,8 +113,8 @@ export { ArtifactsWidget } from "./ArtifactsWidget";
|
|
|
79
113
|
export type { ArtifactsWidgetProps } from "./ArtifactsWidget";
|
|
80
114
|
export { WriteBacksWidget } from "./WriteBacksWidget";
|
|
81
115
|
export type { WriteBacksWidgetProps } from "./WriteBacksWidget";
|
|
82
|
-
export { resolveToolCategory, resolveToolCategoryFromCall, resolveToolCategoryFromKind, toolKindToCategoryInfo, extractPrimaryArg, extractPrimaryArgFromPreview, humanizeToolName, } from "./tool-categories";
|
|
83
|
-
export type { ToolCategory, ToolCategoryInfo } from "./tool-categories";
|
|
116
|
+
export { resolveToolCategory, resolveToolCategoryFromCall, resolveToolCategoryFromKind, toolKindToCategoryInfo, extractPrimaryArg, extractPrimaryArgFromPreview, humanizeToolName, defaultDisclosureForCategory, isRunGroupableCategory, } from "./tool-categories";
|
|
117
|
+
export type { ToolCategory, ToolCategoryInfo, ToolDisclosure } from "./tool-categories";
|
|
84
118
|
export { FilePathLink } from "./FilePathLink";
|
|
85
119
|
export type { FilePathLinkProps } from "./FilePathLink";
|
|
86
120
|
export { FilePathContext } from "./FilePathContext";
|
package/execution/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/execution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,YAAY,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EACV,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC1E,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,aAAa,EACb,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAE3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/execution/index.ts"],"names":[],"mappings":"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"}
|
package/execution/index.js
CHANGED
|
@@ -11,17 +11,27 @@ export { PlanCompletionCard } from "./PlanCompletionCard";
|
|
|
11
11
|
export { PlanArtifactCard } from "./PlanArtifactCard";
|
|
12
12
|
export { useExecutionArtifacts } from "./useExecutionArtifacts";
|
|
13
13
|
export { useArtifactContent } from "./useArtifactContent";
|
|
14
|
+
export { useArtifactDownloadUrl } from "./useArtifactDownloadUrl";
|
|
15
|
+
export { useArtifactDownload } from "./useArtifactDownload";
|
|
16
|
+
export { useToolOutputContent } from "./useToolOutputContent";
|
|
17
|
+
export { useFileChangeContent, execIdFromStorageKey } from "./useFileChangeContent";
|
|
14
18
|
export { useWorkspaceWriteBacks } from "./useWorkspaceWriteBacks";
|
|
15
19
|
export { WriteBackCard } from "./WriteBackCard";
|
|
16
|
-
export {
|
|
20
|
+
export { FileChangesView, FileChangeDiff } from "./FileChangesView";
|
|
21
|
+
export { EmptyChangeNotice } from "./EmptyChangeNotice";
|
|
22
|
+
export { isTextArtifact, formatArtifactSize, getArtifactExtension, getFileExtension, getArtifactRenderMode, } from "./artifact-utils";
|
|
17
23
|
export { ExecutionPhaseBadge } from "./ExecutionPhaseBadge";
|
|
18
24
|
export { InteractionModeBadge } from "./InteractionModeBadge";
|
|
19
25
|
export { SetupProgress } from "./SetupProgress";
|
|
20
26
|
export { ToolCallGroup } from "./ToolCallGroup";
|
|
27
|
+
export { ToolRunGroup } from "./ToolRunGroup";
|
|
28
|
+
export { segmentToolCalls } from "./segment-tool-calls";
|
|
21
29
|
export { ToolCallDetail, formatDuration } from "./ToolCallDetail";
|
|
30
|
+
export { describeApprovalPolicySource } from "./approval-provenance";
|
|
22
31
|
export { McpToolDetail, McpArgsView, McpMetadataRow, parseMcpResult } from "./McpToolDetail";
|
|
23
32
|
export { ToolArgsView } from "./ToolArgsView";
|
|
24
33
|
export { ResultView, summarizeResultView } from "./ResultView";
|
|
34
|
+
export { TerminalSession } from "./TerminalSession";
|
|
25
35
|
export { useToolPresentation, registerToolPresenter, getToolPresenter, } from "./tool-presenter";
|
|
26
36
|
export { CollapsibleCode, CollapsiblePre, CollapsibleJsonBlock, FilePathIcon, McpServerIcon, TRUNCATION_LINE_LIMIT, formatJson, formatResult, isScalar, humanizeArgKey, } from "./tool-rendering-primitives";
|
|
27
37
|
export { ToolCallItem } from "./ToolCallItem";
|
|
@@ -32,14 +42,24 @@ export { ThreadSkeleton } from "./ThreadSkeleton";
|
|
|
32
42
|
export { FollowUpInput } from "./FollowUpInput";
|
|
33
43
|
export { ExecutionProgress } from "./ExecutionProgress";
|
|
34
44
|
export { TodoList, TodoInProgressIcon, findActiveTodo, todoCompletionSummary, } from "./TodoList";
|
|
45
|
+
export { TodoCard } from "./TodoCard";
|
|
35
46
|
export { useSubmitApproval } from "./useSubmitApproval";
|
|
36
|
-
export {
|
|
47
|
+
export { useFileReview, fileDecisionKey } from "./useFileReview";
|
|
48
|
+
export { fileReviewability, changeSetReviewability, deriveEffectiveVerdicts, changeForRowPath, fileReviewRowState, } from "./file-review-status";
|
|
49
|
+
// Settled/historical file-review display: the ledger fold + its read seam +
|
|
50
|
+
// the display-projection adapter, re-exported from @stigmer/sdk (pure, shared).
|
|
51
|
+
export { foldFileReviewEventStream, displayFileChangeSets, toDisplayFileChange, } from "@stigmer/sdk";
|
|
52
|
+
export { ApprovalCard, ApprovalCardHeader, ApprovalCardBody } from "./ApprovalCard";
|
|
53
|
+
export { FileReviewCard } from "./FileReviewCard";
|
|
54
|
+
export { FileReviewDock } from "./FileReviewDock";
|
|
55
|
+
export { ApprovalContext, useApproval } from "./ApprovalContext";
|
|
56
|
+
export { FileReviewContext, useFileReviewRowState } from "./FileReviewContext";
|
|
37
57
|
export { ArtifactCard } from "./ArtifactCard";
|
|
38
58
|
export { ArtifactContentRenderer } from "./ArtifactContentRenderer";
|
|
39
59
|
export { ArtifactPreviewContent, ArtifactPreviewModal } from "./ArtifactPreviewModal";
|
|
40
60
|
export { ArtifactsWidget } from "./ArtifactsWidget";
|
|
41
61
|
export { WriteBacksWidget } from "./WriteBacksWidget";
|
|
42
|
-
export { resolveToolCategory, resolveToolCategoryFromCall, resolveToolCategoryFromKind, toolKindToCategoryInfo, extractPrimaryArg, extractPrimaryArgFromPreview, humanizeToolName, } from "./tool-categories";
|
|
62
|
+
export { resolveToolCategory, resolveToolCategoryFromCall, resolveToolCategoryFromKind, toolKindToCategoryInfo, extractPrimaryArg, extractPrimaryArgFromPreview, humanizeToolName, defaultDisclosureForCategory, isRunGroupableCategory, } from "./tool-categories";
|
|
43
63
|
export { FilePathLink } from "./FilePathLink";
|
|
44
64
|
export { FilePathContext } from "./FilePathContext";
|
|
45
65
|
export { normalizeSandboxPaths } from "./sandbox-path-normalizer";
|
package/execution/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/execution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAOpE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAMtE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAG1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAOtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/execution/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { ToolCall } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
|
|
2
|
+
import type { ToolCategory } from "./tool-categories";
|
|
3
|
+
/**
|
|
4
|
+
* One renderable unit of a turn's tool activity.
|
|
5
|
+
*
|
|
6
|
+
* - `row` — a single tool call rendered as a persistent timeline row.
|
|
7
|
+
* - `run` — a maximal run of >= {@link MIN_RUN_LENGTH} consecutive low-signal
|
|
8
|
+
* same-category calls (e.g. reads), folded into one collapsible chip.
|
|
9
|
+
*/
|
|
10
|
+
export type ToolSegment = {
|
|
11
|
+
readonly kind: "row";
|
|
12
|
+
readonly toolCall: ToolCall;
|
|
13
|
+
readonly key: string;
|
|
14
|
+
} | {
|
|
15
|
+
readonly kind: "run";
|
|
16
|
+
readonly category: ToolCategory;
|
|
17
|
+
readonly toolCalls: readonly ToolCall[];
|
|
18
|
+
readonly key: string;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Partitions a turn's tool calls into a chronological sequence of {@link
|
|
22
|
+
* ToolSegment}s: maximal runs of consecutive low-signal same-category calls
|
|
23
|
+
* (read / list / search) fold into one `run` chip, while every other call —
|
|
24
|
+
* and any groupable call that has no same-kind neighbour — stays a persistent
|
|
25
|
+
* `row`.
|
|
26
|
+
*
|
|
27
|
+
* This is the layout pass behind the "persistent-row timeline": instead of
|
|
28
|
+
* hiding a whole turn behind one collapse, only repetitive noise is compressed,
|
|
29
|
+
* and high-signal rows (edits, shell, MCP, sub-agents) always remain visible.
|
|
30
|
+
* Chronology is preserved — a run never reorders calls, and an interleaving of
|
|
31
|
+
* categories (read, search, read) yields three separate segments, not one.
|
|
32
|
+
*
|
|
33
|
+
* Pure and dependency-light so it can be unit-tested exhaustively and memoized
|
|
34
|
+
* by the caller; groupability is resolved through {@link resolveRunGroupable},
|
|
35
|
+
* so a consumer's registry override is honoured here exactly as in the
|
|
36
|
+
* component layer.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* // read, read, read, edit -> [run(read x3), row(edit)]
|
|
41
|
+
* // read, search, read -> [row(read), row(search), row(read)]
|
|
42
|
+
* const segments = segmentToolCalls(message.toolCalls);
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare function segmentToolCalls(toolCalls: readonly ToolCall[]): ToolSegment[];
|
|
46
|
+
//# sourceMappingURL=segment-tool-calls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segment-tool-calls.d.ts","sourceRoot":"","sources":["../../src/execution/segment-tool-calls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iEAAiE,CAAC;AAEhG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAWtD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC3E;IACE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,CAAC;AAON;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,QAAQ,EAAE,GAC7B,WAAW,EAAE,CAuCf"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { resolveToolCategoryFromCall } from "./tool-categories";
|
|
2
|
+
import { resolveRunGroupable } from "./tool-presenter";
|
|
3
|
+
/**
|
|
4
|
+
* Minimum number of consecutive same-category groupable calls before they fold
|
|
5
|
+
* into a chip. A lone groupable call (e.g. a single `Read foo.ts`) reads better
|
|
6
|
+
* as its own row than as a one-item "Read 1 file" chip, so grouping only kicks
|
|
7
|
+
* in at two or more.
|
|
8
|
+
*/
|
|
9
|
+
const MIN_RUN_LENGTH = 2;
|
|
10
|
+
/** Stable key for a single tool-call row (mirrors the prior group keying). */
|
|
11
|
+
function rowKey(toolCall) {
|
|
12
|
+
return toolCall.id || toolCall.name;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Partitions a turn's tool calls into a chronological sequence of {@link
|
|
16
|
+
* ToolSegment}s: maximal runs of consecutive low-signal same-category calls
|
|
17
|
+
* (read / list / search) fold into one `run` chip, while every other call —
|
|
18
|
+
* and any groupable call that has no same-kind neighbour — stays a persistent
|
|
19
|
+
* `row`.
|
|
20
|
+
*
|
|
21
|
+
* This is the layout pass behind the "persistent-row timeline": instead of
|
|
22
|
+
* hiding a whole turn behind one collapse, only repetitive noise is compressed,
|
|
23
|
+
* and high-signal rows (edits, shell, MCP, sub-agents) always remain visible.
|
|
24
|
+
* Chronology is preserved — a run never reorders calls, and an interleaving of
|
|
25
|
+
* categories (read, search, read) yields three separate segments, not one.
|
|
26
|
+
*
|
|
27
|
+
* Pure and dependency-light so it can be unit-tested exhaustively and memoized
|
|
28
|
+
* by the caller; groupability is resolved through {@link resolveRunGroupable},
|
|
29
|
+
* so a consumer's registry override is honoured here exactly as in the
|
|
30
|
+
* component layer.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* // read, read, read, edit -> [run(read x3), row(edit)]
|
|
35
|
+
* // read, search, read -> [row(read), row(search), row(read)]
|
|
36
|
+
* const segments = segmentToolCalls(message.toolCalls);
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export function segmentToolCalls(toolCalls) {
|
|
40
|
+
const segments = [];
|
|
41
|
+
// Resolve category + groupability once per call so the scan below is a cheap
|
|
42
|
+
// index walk rather than repeated kind resolution.
|
|
43
|
+
const categories = toolCalls.map((tc) => resolveToolCategoryFromCall(tc).category);
|
|
44
|
+
const groupable = toolCalls.map((tc) => resolveRunGroupable(tc));
|
|
45
|
+
let i = 0;
|
|
46
|
+
while (i < toolCalls.length) {
|
|
47
|
+
const category = categories[i];
|
|
48
|
+
if (groupable[i]) {
|
|
49
|
+
// Extend the run while the next call is the same groupable category.
|
|
50
|
+
let j = i + 1;
|
|
51
|
+
while (j < toolCalls.length && groupable[j] && categories[j] === category) {
|
|
52
|
+
j++;
|
|
53
|
+
}
|
|
54
|
+
if (j - i >= MIN_RUN_LENGTH) {
|
|
55
|
+
const run = toolCalls.slice(i, j);
|
|
56
|
+
segments.push({
|
|
57
|
+
kind: "run",
|
|
58
|
+
category,
|
|
59
|
+
toolCalls: run,
|
|
60
|
+
key: `run-${category}-${rowKey(run[0])}`,
|
|
61
|
+
});
|
|
62
|
+
i = j;
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
segments.push({ kind: "row", toolCall: toolCalls[i], key: rowKey(toolCalls[i]) });
|
|
67
|
+
i++;
|
|
68
|
+
}
|
|
69
|
+
return segments;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=segment-tool-calls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segment-tool-calls.js","sourceRoot":"","sources":["../../src/execution/segment-tool-calls.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,cAAc,GAAG,CAAC,CAAC;AAkBzB,8EAA8E;AAC9E,SAAS,MAAM,CAAC,QAAkB;IAChC,OAAO,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAA8B;IAE9B,MAAM,QAAQ,GAAkB,EAAE,CAAC;IAEnC,6EAA6E;IAC7E,mDAAmD;IACnD,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAC9B,CAAC,EAAE,EAAE,EAAE,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC,QAAQ,CACjD,CAAC;IACF,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjE,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAE/B,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACjB,qEAAqE;YACrE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,CAAC,GAAG,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC1E,CAAC,EAAE,CAAC;YACN,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClC,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,KAAK;oBACX,QAAQ;oBACR,SAAS,EAAE,GAAG;oBACd,GAAG,EAAE,OAAO,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;iBACzC,CAAC,CAAC;gBACH,CAAC,GAAG,CAAC,CAAC;gBACN,SAAS;YACX,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC,EAAE,CAAC;IACN,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|