@stigmer/react 3.1.1 → 3.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/composer/SessionComposer.d.ts +24 -1
- package/composer/SessionComposer.d.ts.map +1 -1
- package/composer/SessionComposer.js +19 -8
- package/composer/SessionComposer.js.map +1 -1
- package/execution/ArtifactContentRenderer.d.ts +11 -1
- package/execution/ArtifactContentRenderer.d.ts.map +1 -1
- package/execution/ArtifactContentRenderer.js +39 -15
- package/execution/ArtifactContentRenderer.js.map +1 -1
- package/execution/FilePathContext.d.ts +8 -1
- package/execution/FilePathContext.d.ts.map +1 -1
- package/execution/FilePathContext.js.map +1 -1
- package/execution/FilePathLink.d.ts.map +1 -1
- package/execution/FilePathLink.js +21 -6
- package/execution/FilePathLink.js.map +1 -1
- package/execution/MessageEntry.d.ts +29 -0
- package/execution/MessageEntry.d.ts.map +1 -1
- package/execution/MessageEntry.js +29 -5
- package/execution/MessageEntry.js.map +1 -1
- package/execution/MessageThread.d.ts +76 -13
- package/execution/MessageThread.d.ts.map +1 -1
- package/execution/MessageThread.js +178 -24
- package/execution/MessageThread.js.map +1 -1
- package/execution/PlanArtifactCard.d.ts +27 -18
- package/execution/PlanArtifactCard.d.ts.map +1 -1
- package/execution/PlanArtifactCard.js +13 -23
- package/execution/PlanArtifactCard.js.map +1 -1
- package/execution/PlanDocumentMessage.d.ts +32 -0
- package/execution/PlanDocumentMessage.d.ts.map +1 -0
- package/execution/PlanDocumentMessage.js +37 -0
- package/execution/PlanDocumentMessage.js.map +1 -0
- package/execution/PlanStreamingCard.d.ts +45 -0
- package/execution/PlanStreamingCard.d.ts.map +1 -0
- package/execution/PlanStreamingCard.js +35 -0
- package/execution/PlanStreamingCard.js.map +1 -0
- package/execution/index.d.ts +5 -1
- package/execution/index.d.ts.map +1 -1
- package/execution/index.js +2 -0
- package/execution/index.js.map +1 -1
- package/execution/useCreateAgentExecution.d.ts +10 -0
- package/execution/useCreateAgentExecution.d.ts.map +1 -1
- package/execution/useCreateAgentExecution.js +5 -1
- package/execution/useCreateAgentExecution.js.map +1 -1
- package/github/decodeGitHubContent.d.ts +29 -0
- package/github/decodeGitHubContent.d.ts.map +1 -0
- package/github/decodeGitHubContent.js +72 -0
- package/github/decodeGitHubContent.js.map +1 -0
- package/github/index.d.ts +1 -0
- package/github/index.d.ts.map +1 -1
- package/github/index.js +1 -0
- package/github/index.js.map +1 -1
- package/github/useGitHubFileReader.d.ts +26 -0
- package/github/useGitHubFileReader.d.ts.map +1 -0
- package/github/useGitHubFileReader.js +106 -0
- package/github/useGitHubFileReader.js.map +1 -0
- package/github/useGitHubTreeLister.d.ts.map +1 -1
- package/github/useGitHubTreeLister.js +6 -2
- package/github/useGitHubTreeLister.js.map +1 -1
- package/index.d.ts +9 -9
- package/index.d.ts.map +1 -1
- package/index.js +5 -5
- package/index.js.map +1 -1
- package/internal/ResizableSplit.d.ts +72 -22
- package/internal/ResizableSplit.d.ts.map +1 -1
- package/internal/ResizableSplit.js +96 -38
- package/internal/ResizableSplit.js.map +1 -1
- package/internal/VirtualizedThread.d.ts +5 -3
- package/internal/VirtualizedThread.d.ts.map +1 -1
- package/internal/VirtualizedThread.js +6 -4
- package/internal/VirtualizedThread.js.map +1 -1
- package/internal/file-icons/index.d.ts +17 -0
- package/internal/file-icons/index.d.ts.map +1 -0
- package/internal/file-icons/index.js +60 -0
- package/internal/file-icons/index.js.map +1 -0
- package/internal/file-tree/FileTreeNode.d.ts +18 -1
- package/internal/file-tree/FileTreeNode.d.ts.map +1 -1
- package/internal/file-tree/FileTreeNode.js +11 -2
- package/internal/file-tree/FileTreeNode.js.map +1 -1
- package/internal/markdown-components.d.ts +38 -1
- package/internal/markdown-components.d.ts.map +1 -1
- package/internal/markdown-components.js +86 -11
- package/internal/markdown-components.js.map +1 -1
- package/{workflow → internal}/motion-preference.d.ts +7 -4
- package/internal/motion-preference.d.ts.map +1 -0
- package/{workflow → internal}/motion-preference.js +7 -4
- package/internal/motion-preference.js.map +1 -0
- package/internal/store/index.d.ts +33 -0
- package/internal/store/index.d.ts.map +1 -1
- package/internal/store/index.js +59 -0
- package/internal/store/index.js.map +1 -1
- package/internal/store/workspace-editors-store.d.ts +145 -0
- package/internal/store/workspace-editors-store.d.ts.map +1 -0
- package/internal/store/workspace-editors-store.js +208 -0
- package/internal/store/workspace-editors-store.js.map +1 -0
- package/internal/store/workspace-file-selection-store.d.ts +38 -0
- package/internal/store/workspace-file-selection-store.d.ts.map +1 -0
- package/internal/store/workspace-file-selection-store.js +62 -0
- package/internal/store/workspace-file-selection-store.js.map +1 -0
- package/internal/useRevealLine.d.ts +49 -0
- package/internal/useRevealLine.d.ts.map +1 -0
- package/internal/useRevealLine.js +43 -0
- package/internal/useRevealLine.js.map +1 -0
- package/library/detect-plan-artifact.d.ts +21 -0
- package/library/detect-plan-artifact.d.ts.map +1 -1
- package/library/detect-plan-artifact.js +20 -0
- package/library/detect-plan-artifact.js.map +1 -1
- package/library/detect-streaming-plan.d.ts +45 -0
- package/library/detect-streaming-plan.d.ts.map +1 -0
- package/library/detect-streaming-plan.js +83 -0
- package/library/detect-streaming-plan.js.map +1 -0
- package/library/index.d.ts +4 -1
- package/library/index.d.ts.map +1 -1
- package/library/index.js +2 -1
- package/library/index.js.map +1 -1
- package/package.json +4 -4
- package/session/NewSessionViewer.d.ts +19 -4
- package/session/NewSessionViewer.d.ts.map +1 -1
- package/session/NewSessionViewer.js +52 -25
- package/session/NewSessionViewer.js.map +1 -1
- package/session/PlanEditor.d.ts +55 -0
- package/session/PlanEditor.d.ts.map +1 -0
- package/session/PlanEditor.js +88 -0
- package/session/PlanEditor.js.map +1 -0
- package/session/PlanStreamingDocument.d.ts +30 -0
- package/session/PlanStreamingDocument.d.ts.map +1 -0
- package/session/PlanStreamingDocument.js +37 -0
- package/session/PlanStreamingDocument.js.map +1 -0
- package/session/SessionPanelChip.d.ts +26 -0
- package/session/SessionPanelChip.d.ts.map +1 -0
- package/session/SessionPanelChip.js +40 -0
- package/session/SessionPanelChip.js.map +1 -0
- package/session/SessionViewer.d.ts +34 -7
- package/session/SessionViewer.d.ts.map +1 -1
- package/session/SessionViewer.js +315 -33
- package/session/SessionViewer.js.map +1 -1
- package/session/{inspector → facets}/ArtifactsTab.d.ts +10 -2
- package/session/facets/ArtifactsTab.d.ts.map +1 -0
- package/session/{inspector → facets}/ArtifactsTab.js +8 -3
- package/session/facets/ArtifactsTab.js.map +1 -0
- package/session/{inspector → facets}/ChangesTab.d.ts +3 -3
- package/session/facets/ChangesTab.d.ts.map +1 -0
- package/session/{inspector → facets}/ChangesTab.js +3 -3
- package/session/facets/ChangesTab.js.map +1 -0
- package/session/facets/InspectTab.d.ts.map +1 -0
- package/session/facets/InspectTab.js.map +1 -0
- package/session/{inspector → facets}/SetupTab.d.ts +11 -2
- package/session/facets/SetupTab.d.ts.map +1 -0
- package/session/{inspector → facets}/SetupTab.js +4 -3
- package/session/facets/SetupTab.js.map +1 -0
- package/session/{inspector → facets}/UsageTab.d.ts +1 -1
- package/session/facets/UsageTab.d.ts.map +1 -0
- package/session/{inspector → facets}/UsageTab.js +1 -1
- package/session/facets/UsageTab.js.map +1 -0
- package/session/{inspector → facets}/index.d.ts +0 -6
- package/session/facets/index.d.ts.map +1 -0
- package/session/{inspector → facets}/index.js +0 -3
- package/session/facets/index.js.map +1 -0
- package/session/index.d.ts +11 -2
- package/session/index.d.ts.map +1 -1
- package/session/index.js +15 -2
- package/session/index.js.map +1 -1
- package/session/plan-document.d.ts +9 -0
- package/session/plan-document.d.ts.map +1 -0
- package/session/plan-document.js +17 -0
- package/session/plan-document.js.map +1 -0
- package/session/useOpenFileChange.d.ts +20 -0
- package/session/useOpenFileChange.d.ts.map +1 -0
- package/session/useOpenFileChange.js +31 -0
- package/session/useOpenFileChange.js.map +1 -0
- package/session/usePlanDraft.d.ts +52 -0
- package/session/usePlanDraft.d.ts.map +1 -0
- package/session/usePlanDraft.js +63 -0
- package/session/usePlanDraft.js.map +1 -0
- package/session/useSessionConversation.d.ts +6 -0
- package/session/useSessionConversation.d.ts.map +1 -1
- package/session/useSessionConversation.js +1 -0
- package/session/useSessionConversation.js.map +1 -1
- package/session/useSessionPageFlow.d.ts.map +1 -1
- package/session/useSessionPageFlow.js +1 -0
- package/session/useSessionPageFlow.js.map +1 -1
- package/session/useSessionPanel.d.ts +120 -0
- package/session/useSessionPanel.d.ts.map +1 -0
- package/session/useSessionPanel.js +130 -0
- package/session/useSessionPanel.js.map +1 -0
- package/session/useSessionRailViews.d.ts +45 -0
- package/session/useSessionRailViews.d.ts.map +1 -0
- package/session/useSessionRailViews.js +105 -0
- package/session/useSessionRailViews.js.map +1 -0
- package/src/composer/SessionComposer.tsx +52 -10
- package/src/composer/__tests__/SessionComposer-contract.test.tsx +58 -4
- package/src/execution/ArtifactContentRenderer.tsx +101 -24
- package/src/execution/FilePathContext.tsx +8 -1
- package/src/execution/FilePathLink.tsx +22 -6
- package/src/execution/MessageEntry.tsx +111 -1
- package/src/execution/MessageThread.tsx +291 -36
- package/src/execution/PlanArtifactCard.tsx +63 -31
- package/src/execution/PlanDocumentMessage.tsx +96 -0
- package/src/execution/PlanStreamingCard.tsx +137 -0
- package/src/execution/__tests__/ArtifactContentRenderer.test.tsx +80 -1
- package/src/execution/__tests__/FilePathLink.test.tsx +87 -0
- package/src/execution/__tests__/MessageThread.test.tsx +101 -0
- package/src/execution/__tests__/PlanArtifactCard.test.tsx +66 -12
- package/src/execution/__tests__/PlanDocumentMessage.test.tsx +55 -0
- package/src/execution/__tests__/PlanStreamingCard.test.tsx +49 -0
- package/src/execution/__tests__/buildThreadItems-plan-completion.test.ts +504 -22
- package/src/execution/__tests__/message-entry.test.tsx +48 -0
- package/src/execution/__tests__/useCreateAgentExecution.test.tsx +85 -0
- package/src/execution/index.ts +7 -1
- package/src/execution/useCreateAgentExecution.ts +16 -1
- package/src/github/__tests__/decodeGitHubContent.test.ts +102 -0
- package/src/github/__tests__/useGitHubFileReader.test.ts +183 -0
- package/src/github/decodeGitHubContent.ts +83 -0
- package/src/github/index.ts +1 -0
- package/src/github/useGitHubFileReader.ts +152 -0
- package/src/github/useGitHubTreeLister.ts +6 -2
- package/src/index.ts +63 -9
- package/src/internal/ResizableSplit.tsx +184 -51
- package/src/internal/VirtualizedThread.tsx +12 -4
- package/src/internal/__tests__/ResizableSplit.test.tsx +125 -3
- package/src/internal/__tests__/markdown-components.test.tsx +68 -0
- package/src/internal/__tests__/useRevealLine.test.tsx +97 -0
- package/src/internal/file-icons/__tests__/file-icons.test.tsx +35 -0
- package/src/internal/file-icons/index.tsx +137 -0
- package/src/internal/file-tree/FileTreeNode.tsx +43 -3
- package/src/internal/file-tree/__tests__/FileTreeNode-explorer.test.tsx +86 -0
- package/src/internal/markdown-components.tsx +116 -11
- package/src/{workflow → internal}/motion-preference.ts +7 -4
- package/src/internal/store/__tests__/workspace-editors-store.test.ts +216 -0
- package/src/internal/store/__tests__/workspace-file-selection-store.test.ts +118 -0
- package/src/internal/store/index.ts +94 -0
- package/src/internal/store/workspace-editors-store.ts +315 -0
- package/src/internal/store/workspace-file-selection-store.ts +88 -0
- package/src/internal/useRevealLine.ts +81 -0
- package/src/library/__tests__/detect-plan-artifact.test.ts +48 -0
- package/src/library/__tests__/detect-streaming-plan.test.ts +234 -0
- package/src/library/detect-plan-artifact.ts +35 -0
- package/src/library/detect-streaming-plan.ts +108 -0
- package/src/library/index.ts +5 -0
- package/src/session/NewSessionViewer.tsx +123 -55
- package/src/session/PlanEditor.tsx +361 -0
- package/src/session/PlanStreamingDocument.tsx +97 -0
- package/src/session/SessionPanelChip.tsx +103 -0
- package/src/session/SessionViewer.tsx +617 -90
- package/src/session/__tests__/NewSessionViewer.test.tsx +148 -0
- package/src/session/__tests__/PlanEditor.test.tsx +217 -0
- package/src/session/__tests__/PlanStreamingDocument.test.tsx +50 -0
- package/src/session/__tests__/SessionPanelChip.test.tsx +42 -0
- package/src/session/__tests__/SessionViewer-fileReviewDock.test.tsx +9 -4
- package/src/session/__tests__/SessionViewer-transcriptFileOpen.test.tsx +205 -0
- package/src/session/__tests__/audienceWiring.test.tsx +55 -19
- package/src/session/__tests__/useOpenFileChange.test.tsx +82 -0
- package/src/session/__tests__/usePlanDraft.test.ts +102 -0
- package/src/session/__tests__/useSessionPanel.test.ts +298 -0
- package/src/session/__tests__/useSessionRailViews.test.tsx +124 -0
- package/src/session/{inspector → facets}/ArtifactsTab.tsx +27 -5
- package/src/session/{inspector → facets}/ChangesTab.tsx +3 -3
- package/src/session/{inspector → facets}/SetupTab.tsx +13 -1
- package/src/session/{inspector → facets}/UsageTab.tsx +1 -1
- package/src/session/{inspector → facets}/__tests__/ArtifactsTab.test.tsx +35 -1
- package/src/session/facets/__tests__/SetupTab.test.tsx +44 -0
- package/src/session/{inspector → facets}/index.ts +0 -16
- package/src/session/index.ts +30 -13
- package/src/session/plan-document.ts +19 -0
- package/src/session/useOpenFileChange.ts +53 -0
- package/src/session/usePlanDraft.ts +109 -0
- package/src/session/useSessionConversation.ts +7 -0
- package/src/session/useSessionPageFlow.ts +1 -0
- package/src/session/useSessionPanel.ts +288 -0
- package/src/session/useSessionRailViews.tsx +200 -0
- package/src/workflow/WorkflowExecutionGraph.tsx +1 -1
- package/src/workflow/index.ts +1 -1
- package/src/workflow/useFollowExecution.ts +1 -1
- package/src/workspace/EditorTabs.tsx +145 -0
- package/src/workspace/ExplorerTree.tsx +247 -0
- package/src/workspace/FileViewer.tsx +516 -0
- package/src/workspace/WorkspaceContentSearch.tsx +478 -0
- package/src/workspace/WorkspaceContentSearcher.ts +70 -0
- package/src/workspace/WorkspaceFileLister.ts +11 -0
- package/src/workspace/WorkspaceFileReader.ts +57 -0
- package/src/workspace/WorkspaceFileSearch.tsx +429 -0
- package/src/workspace/WorkspaceSurface.tsx +781 -0
- package/src/workspace/__tests__/EditorTabs.test.tsx +100 -0
- package/src/workspace/__tests__/ExplorerTree.test.tsx +152 -0
- package/src/workspace/__tests__/FileViewer.test.tsx +421 -0
- package/src/workspace/__tests__/WorkspaceContentSearch.test.tsx +196 -0
- package/src/workspace/__tests__/WorkspaceFileSearch.test.tsx +206 -0
- package/src/workspace/__tests__/WorkspaceSurface.test.tsx +348 -0
- package/src/workspace/__tests__/findChangeForSelection.test.ts +132 -0
- package/src/workspace/__tests__/matchContentPreview.test.ts +55 -0
- package/src/workspace/__tests__/matchWorkspaceFiles.test.ts +104 -0
- package/src/workspace/__tests__/resolveWorkspaceFileSelection.test.ts +135 -0
- package/src/workspace/__tests__/useWorkspaceContentSearch.test.tsx +196 -0
- package/src/workspace/__tests__/useWorkspaceFileContent.test.tsx +190 -0
- package/src/workspace/__tests__/useWorkspaceFileSearch.test.tsx +162 -0
- package/src/workspace/findChangeForSelection.ts +61 -0
- package/src/workspace/index.ts +56 -2
- package/src/workspace/matchContentPreview.ts +51 -0
- package/src/workspace/matchWorkspaceFiles.ts +86 -0
- package/src/workspace/resolveWorkspaceFileSelection.ts +119 -0
- package/src/workspace/useWorkspaceContentSearch.ts +228 -0
- package/src/workspace/useWorkspaceFileContent.ts +129 -0
- package/src/workspace/useWorkspaceFileSearch.ts +184 -0
- package/src/workspace/useWorkspaceFiles.ts +27 -27
- package/src/workspace/workspaceListingCache.ts +93 -0
- package/styles.css +1 -1
- package/workflow/WorkflowExecutionGraph.js +1 -1
- package/workflow/WorkflowExecutionGraph.js.map +1 -1
- package/workflow/index.d.ts +1 -1
- package/workflow/index.d.ts.map +1 -1
- package/workflow/index.js +1 -1
- package/workflow/index.js.map +1 -1
- package/workflow/useFollowExecution.js +1 -1
- package/workflow/useFollowExecution.js.map +1 -1
- package/workspace/EditorTabs.d.ts +29 -0
- package/workspace/EditorTabs.d.ts.map +1 -0
- package/workspace/EditorTabs.js +66 -0
- package/workspace/EditorTabs.js.map +1 -0
- package/workspace/ExplorerTree.d.ts +32 -0
- package/workspace/ExplorerTree.d.ts.map +1 -0
- package/workspace/ExplorerTree.js +45 -0
- package/workspace/ExplorerTree.js.map +1 -0
- package/workspace/FileViewer.d.ts +93 -0
- package/workspace/FileViewer.d.ts.map +1 -0
- package/workspace/FileViewer.js +182 -0
- package/workspace/FileViewer.js.map +1 -0
- package/workspace/WorkspaceContentSearch.d.ts +41 -0
- package/workspace/WorkspaceContentSearch.d.ts.map +1 -0
- package/workspace/WorkspaceContentSearch.js +195 -0
- package/workspace/WorkspaceContentSearch.js.map +1 -0
- package/workspace/WorkspaceContentSearcher.d.ts +59 -0
- package/workspace/WorkspaceContentSearcher.d.ts.map +1 -0
- package/workspace/WorkspaceContentSearcher.js +7 -0
- package/workspace/WorkspaceContentSearcher.js.map +1 -0
- package/workspace/WorkspaceFileLister.d.ts +11 -0
- package/workspace/WorkspaceFileLister.d.ts.map +1 -1
- package/workspace/WorkspaceFileReader.d.ts +48 -0
- package/workspace/WorkspaceFileReader.d.ts.map +1 -0
- package/workspace/WorkspaceFileReader.js +11 -0
- package/workspace/WorkspaceFileReader.js.map +1 -0
- package/workspace/WorkspaceFileSearch.d.ts +32 -0
- package/workspace/WorkspaceFileSearch.d.ts.map +1 -0
- package/workspace/WorkspaceFileSearch.js +155 -0
- package/workspace/WorkspaceFileSearch.js.map +1 -0
- package/workspace/WorkspaceSurface.d.ts +151 -0
- package/workspace/WorkspaceSurface.d.ts.map +1 -0
- package/workspace/WorkspaceSurface.js +184 -0
- package/workspace/WorkspaceSurface.js.map +1 -0
- package/workspace/findChangeForSelection.d.ts +19 -0
- package/workspace/findChangeForSelection.d.ts.map +1 -0
- package/workspace/findChangeForSelection.js +46 -0
- package/workspace/findChangeForSelection.js.map +1 -0
- package/workspace/index.d.ts +24 -2
- package/workspace/index.d.ts.map +1 -1
- package/workspace/index.js +13 -1
- package/workspace/index.js.map +1 -1
- package/workspace/matchContentPreview.d.ts +21 -0
- package/workspace/matchContentPreview.d.ts.map +1 -0
- package/workspace/matchContentPreview.js +36 -0
- package/workspace/matchContentPreview.js.map +1 -0
- package/workspace/matchWorkspaceFiles.d.ts +30 -0
- package/workspace/matchWorkspaceFiles.d.ts.map +1 -0
- package/workspace/matchWorkspaceFiles.js +58 -0
- package/workspace/matchWorkspaceFiles.js.map +1 -0
- package/workspace/resolveWorkspaceFileSelection.d.ts +19 -0
- package/workspace/resolveWorkspaceFileSelection.d.ts.map +1 -0
- package/workspace/resolveWorkspaceFileSelection.js +115 -0
- package/workspace/resolveWorkspaceFileSelection.js.map +1 -0
- package/workspace/useWorkspaceContentSearch.d.ts +69 -0
- package/workspace/useWorkspaceContentSearch.d.ts.map +1 -0
- package/workspace/useWorkspaceContentSearch.js +154 -0
- package/workspace/useWorkspaceContentSearch.js.map +1 -0
- package/workspace/useWorkspaceFileContent.d.ts +73 -0
- package/workspace/useWorkspaceFileContent.d.ts.map +1 -0
- package/workspace/useWorkspaceFileContent.js +57 -0
- package/workspace/useWorkspaceFileContent.js.map +1 -0
- package/workspace/useWorkspaceFileSearch.d.ts +61 -0
- package/workspace/useWorkspaceFileSearch.d.ts.map +1 -0
- package/workspace/useWorkspaceFileSearch.js +119 -0
- package/workspace/useWorkspaceFileSearch.js.map +1 -0
- package/workspace/useWorkspaceFiles.d.ts +13 -5
- package/workspace/useWorkspaceFiles.d.ts.map +1 -1
- package/workspace/useWorkspaceFiles.js +18 -19
- package/workspace/useWorkspaceFiles.js.map +1 -1
- package/workspace/workspaceListingCache.d.ts +47 -0
- package/workspace/workspaceListingCache.d.ts.map +1 -0
- package/workspace/workspaceListingCache.js +55 -0
- package/workspace/workspaceListingCache.js.map +1 -0
- package/session/inspector/ArtifactsTab.d.ts.map +0 -1
- package/session/inspector/ArtifactsTab.js.map +0 -1
- package/session/inspector/ChangesTab.d.ts.map +0 -1
- package/session/inspector/ChangesTab.js.map +0 -1
- package/session/inspector/InspectTab.d.ts.map +0 -1
- package/session/inspector/InspectTab.js.map +0 -1
- package/session/inspector/SessionInspector.d.ts +0 -64
- package/session/inspector/SessionInspector.d.ts.map +0 -1
- package/session/inspector/SessionInspector.js +0 -53
- package/session/inspector/SessionInspector.js.map +0 -1
- package/session/inspector/SetupTab.d.ts.map +0 -1
- package/session/inspector/SetupTab.js.map +0 -1
- package/session/inspector/UsageTab.d.ts.map +0 -1
- package/session/inspector/UsageTab.js.map +0 -1
- package/session/inspector/WorkspaceTab.d.ts +0 -35
- package/session/inspector/WorkspaceTab.d.ts.map +0 -1
- package/session/inspector/WorkspaceTab.js +0 -75
- package/session/inspector/WorkspaceTab.js.map +0 -1
- package/session/inspector/index.d.ts.map +0 -1
- package/session/inspector/index.js.map +0 -1
- package/session/inspector/useSessionInspector.d.ts +0 -49
- package/session/inspector/useSessionInspector.d.ts.map +0 -1
- package/session/inspector/useSessionInspector.js +0 -122
- package/session/inspector/useSessionInspector.js.map +0 -1
- package/src/session/inspector/SessionInspector.tsx +0 -162
- package/src/session/inspector/WorkspaceTab.tsx +0 -245
- package/src/session/inspector/__tests__/useSessionInspector.test.ts +0 -251
- package/src/session/inspector/useSessionInspector.ts +0 -178
- package/src/workspace/WorkspaceEntryFiles.tsx +0 -196
- package/workflow/motion-preference.d.ts.map +0 -1
- package/workflow/motion-preference.js.map +0 -1
- package/workspace/WorkspaceEntryFiles.d.ts +0 -22
- package/workspace/WorkspaceEntryFiles.d.ts.map +0 -1
- package/workspace/WorkspaceEntryFiles.js +0 -58
- package/workspace/WorkspaceEntryFiles.js.map +0 -1
- /package/session/{inspector → facets}/InspectTab.d.ts +0 -0
- /package/session/{inspector → facets}/InspectTab.js +0 -0
- /package/src/{workflow → internal}/__tests__/motion-preference.test.ts +0 -0
- /package/src/session/{inspector → facets}/InspectTab.tsx +0 -0
- /package/src/session/{inspector → facets}/__tests__/ChangesTab.test.tsx +0 -0
package/session/SessionViewer.js
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useCallback, useMemo, useRef } from "react";
|
|
3
|
+
import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
4
|
+
import { create } from "@bufbuild/protobuf";
|
|
4
5
|
import { cn } from "@stigmer/theme";
|
|
5
6
|
import { getUserMessage } from "@stigmer/sdk";
|
|
7
|
+
import { GetArtifactContentRequestSchema, UploadAttachmentRequestSchema, } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/io_pb";
|
|
8
|
+
import { resolveWorkspaceFileSelection } from "../workspace/resolveWorkspaceFileSelection.js";
|
|
9
|
+
import { WorkspaceSurface, } from "../workspace/WorkspaceSurface.js";
|
|
6
10
|
import { ResizableSplit } from "../internal/ResizableSplit.js";
|
|
7
11
|
import { SelectionStore } from "../internal/store/selection-store.js";
|
|
12
|
+
import { useWorkspaceEditors, isVirtualEntryId } from "../internal/store/index.js";
|
|
8
13
|
import { ThreadSelectionContext } from "../execution/ThreadSelectionContext.js";
|
|
9
14
|
import { useSelectedThreadItem } from "../execution/useThreadSelection.js";
|
|
10
15
|
import { MessageThread } from "../execution/MessageThread.js";
|
|
@@ -12,14 +17,67 @@ import { FileReviewDock } from "../execution/FileReviewDock.js";
|
|
|
12
17
|
import { ThreadSkeleton } from "../execution/ThreadSkeleton.js";
|
|
13
18
|
import { SessionComposer } from "../composer/index.js";
|
|
14
19
|
import { SecretFlowErrorGuide, isSecretFlowError } from "../error/index.js";
|
|
20
|
+
import { useStigmer } from "../hooks.js";
|
|
21
|
+
import { PLAN_ARTIFACT_NAME, findLatestSessionPlan, findPlanArtifact, } from "../library/detect-plan-artifact.js";
|
|
22
|
+
import { findStreamingPlan } from "../library/detect-streaming-plan.js";
|
|
15
23
|
import { useSessionPageFlow } from "./useSessionPageFlow.js";
|
|
16
|
-
import {
|
|
24
|
+
import { useOpenFileChange } from "./useOpenFileChange.js";
|
|
25
|
+
import { usePlanDraft, planDraftKey } from "./usePlanDraft.js";
|
|
26
|
+
import { PlanEditor } from "./PlanEditor.js";
|
|
27
|
+
import { PlanStreamingDocument } from "./PlanStreamingDocument.js";
|
|
28
|
+
import { PLAN_DOCUMENT_ENTRY_ID, PLAN_DOCUMENT_PATH } from "./plan-document.js";
|
|
29
|
+
import { useSessionRailViews } from "./useSessionRailViews.js";
|
|
30
|
+
import { useSessionPanel } from "./useSessionPanel.js";
|
|
31
|
+
import { SessionPanelChip } from "./SessionPanelChip.js";
|
|
32
|
+
import { useSessionWriteBacks } from "./useSessionWriteBacks.js";
|
|
33
|
+
import { useSessionArtifacts } from "./useSessionArtifacts.js";
|
|
34
|
+
import { ExecutionPhase } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
17
35
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
36
|
+
* Where the approved plan mounts in the implement execution's workspace —
|
|
37
|
+
* the harnesses' standard attachment inputs directory, where the runner's
|
|
38
|
+
* implement-plan directive points the agent (shared/implement-plan-prompt.ts).
|
|
39
|
+
* Attaching at this exact path is what makes the build implement the document
|
|
40
|
+
* the user approved (including in-place edits), not a paraphrase from memory.
|
|
21
41
|
*/
|
|
22
|
-
const
|
|
42
|
+
const APPROVED_PLAN_MOUNT_PATH = `.stigmer/inputs/${PLAN_ARTIFACT_NAME}`;
|
|
43
|
+
/**
|
|
44
|
+
* The build turn's user message — a short human-readable label, NOT the
|
|
45
|
+
* implement instruction. The agent-facing instruction is runner-injected
|
|
46
|
+
* (keyed off `executionConfig.buildFromPlan`), so this text exists for
|
|
47
|
+
* humans: the thread renders the turn as a compact chip from the same flag,
|
|
48
|
+
* and surfaces without the chip treatment (the CLI, older clients) show
|
|
49
|
+
* this label as-is.
|
|
50
|
+
*/
|
|
51
|
+
const BUILD_FROM_PLAN_MESSAGE = "Build from plan";
|
|
52
|
+
/**
|
|
53
|
+
* Reads the published plan's full text for the build handoff. Refuses a
|
|
54
|
+
* truncated read (content RPC caps at 512 KB): attaching a partial plan would
|
|
55
|
+
* silently implement half a document — the caller falls back to
|
|
56
|
+
* conversation-history implement instead.
|
|
57
|
+
*/
|
|
58
|
+
async function fetchPlanText(stigmer, plan) {
|
|
59
|
+
const result = await stigmer.agentExecution.getArtifactContent(create(GetArtifactContentRequestSchema, {
|
|
60
|
+
executionId: plan.executionId,
|
|
61
|
+
storageKey: plan.artifact.storageKey,
|
|
62
|
+
}));
|
|
63
|
+
if (result.truncated) {
|
|
64
|
+
throw new Error("plan content truncated — not attaching a partial plan");
|
|
65
|
+
}
|
|
66
|
+
return new TextDecoder().decode(result.content);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Width and anchoring of the conversation reading column, shared by the
|
|
70
|
+
* thread and the composer/banners block so they can never drift apart.
|
|
71
|
+
*
|
|
72
|
+
* Centered (the classic chat reading view, matching Cursor's agent panel):
|
|
73
|
+
* with the session panel collapsed the column sits in the middle of the
|
|
74
|
+
* row; opening the panel narrows the chat pane below the column max, so
|
|
75
|
+
* the column simply fills it. The thread applies the same geometry via
|
|
76
|
+
* `contentColumn="center"`, which adds the item gutter; the composer/banner
|
|
77
|
+
* block's children carry their own edge padding, so only width and
|
|
78
|
+
* anchoring live here.
|
|
79
|
+
*/
|
|
80
|
+
const CONVERSATION_COLUMN_CLASS = "mx-auto w-full max-w-3xl";
|
|
23
81
|
/**
|
|
24
82
|
* Full-featured agent session viewer — the graph-less analog of
|
|
25
83
|
* `WorkflowExecutionViewer`.
|
|
@@ -27,10 +85,13 @@ const IMPLEMENT_PLAN_MESSAGE = "Implement the plan above (saved as plan.md). Fol
|
|
|
27
85
|
* Owns `useSessionPageFlow` internally and composes:
|
|
28
86
|
* - **Conversation column** (primary): `MessageThread` + error
|
|
29
87
|
* banners + `SessionComposer`
|
|
30
|
-
* - **
|
|
31
|
-
*
|
|
88
|
+
* - **Session panel** (secondary): the unified `WorkspaceSurface` — explorer,
|
|
89
|
+
* search, read-only editor, and the session facets (Config, Changes,
|
|
90
|
+
* Artifacts, Usage, Inspect) as injected rail views. Collapsed by default
|
|
91
|
+
* to a top-right chip; opening a file (tree, search, or a transcript path)
|
|
92
|
+
* expands it.
|
|
32
93
|
*
|
|
33
|
-
* Connected via `ResizableSplit` with persisted width.
|
|
94
|
+
* Connected via `ResizableSplit` with persisted chat width.
|
|
34
95
|
*
|
|
35
96
|
* Thread selection is provided via `ThreadSelectionContext` (Phase 2
|
|
36
97
|
* opt-in) for render-isolated per-item selection.
|
|
@@ -59,7 +120,7 @@ const IMPLEMENT_PLAN_MESSAGE = "Implement the plan above (saved as plan.md). Fol
|
|
|
59
120
|
* />
|
|
60
121
|
* ```
|
|
61
122
|
*/
|
|
62
|
-
export function SessionViewer({ sessionId, org, gitHubConnection, enableGitHub = true, enableLocal = false, onBrowseLocalFolder, workspaceFileLister, getRuntimeEnv, audience = "integrator", headerActions, onApplied, className, }) {
|
|
123
|
+
export function SessionViewer({ sessionId, org, gitHubConnection, enableGitHub = true, enableLocal = false, onBrowseLocalFolder, workspaceFileLister, workspaceFileReader, workspaceContentSearcher, getRuntimeEnv, audience = "integrator", headerActions, accessSlot, onApplied, className, }) {
|
|
63
124
|
const flow = useSessionPageFlow({ sessionId, org, getRuntimeEnv });
|
|
64
125
|
const { conv } = flow;
|
|
65
126
|
const isEndUser = audience === "endUser";
|
|
@@ -71,16 +132,150 @@ export function SessionViewer({ sessionId, org, gitHubConnection, enableGitHub =
|
|
|
71
132
|
selectionStoreRef.current = new SelectionStore();
|
|
72
133
|
}
|
|
73
134
|
const selectionStore = selectionStoreRef.current;
|
|
135
|
+
const phase = flow.displayExecution?.status?.phase ??
|
|
136
|
+
ExecutionPhase.EXECUTION_PHASE_UNSPECIFIED;
|
|
137
|
+
const hasPhase = phase !== ExecutionPhase.EXECUTION_PHASE_UNSPECIFIED;
|
|
138
|
+
// Facet arrival counts: rail badges inside the panel, the chip's dot-count
|
|
139
|
+
// while collapsed. Arrivals never auto-open the panel (badge-only signal).
|
|
140
|
+
const { hasWriteBacks, writeBackCount } = useSessionWriteBacks(flow.allExecutions);
|
|
141
|
+
const { artifactCount } = useSessionArtifacts(flow.allExecutions);
|
|
142
|
+
// The session's current plan (latest published plan.md across executions)
|
|
143
|
+
// and its viewer-owned draft. Ownership at this level is deliberate: the
|
|
144
|
+
// panel unmounts facet content on every view switch, so a facet-local
|
|
145
|
+
// draft would silently lose the user's edits (see usePlanDraft).
|
|
146
|
+
const stigmer = useStigmer();
|
|
147
|
+
const sessionPlan = useMemo(() => findLatestSessionPlan(flow.allExecutions), [flow.allExecutions]);
|
|
148
|
+
const planDraft = usePlanDraft(sessionPlan);
|
|
149
|
+
// The plan the ACTIVE turn is writing right now (the H1 convention — see
|
|
150
|
+
// findStreamingPlan), resolved at this level for the same reason
|
|
151
|
+
// sessionPlan is: the panel's plan tab renders it. Recomputed per stream
|
|
152
|
+
// commit by design — this component already re-renders on every commit
|
|
153
|
+
// (it reads `flow`), and the scan touches only the last AI message.
|
|
154
|
+
const streamingPlan = useMemo(() => {
|
|
155
|
+
const activeExec = conv.activeStreamExecution;
|
|
156
|
+
const live = findStreamingPlan(activeExec);
|
|
157
|
+
const executionId = activeExec?.metadata?.id;
|
|
158
|
+
return live && executionId
|
|
159
|
+
? { executionId, displayText: live.displayText }
|
|
160
|
+
: undefined;
|
|
161
|
+
}, [conv.activeStreamExecution]);
|
|
162
|
+
const [isBuildingFromPlan, setIsBuildingFromPlan] = useState(false);
|
|
163
|
+
const [planAttachFailed, setPlanAttachFailed] = useState(false);
|
|
164
|
+
// WHICH plan the panel's plan document tab shows. `null` means the session's
|
|
165
|
+
// current (latest) plan — the editable, buildable one; an execution id
|
|
166
|
+
// selects that turn's historical plan, rendered read-only. One tab, host-
|
|
167
|
+
// controlled content (Decision 3 in DD-16).
|
|
168
|
+
const [openPlanExecutionId, setOpenPlanExecutionId] = useState(null);
|
|
169
|
+
// The plan tab's identity across both plan lifecycles: while a plan
|
|
170
|
+
// streams, the in-flight turn owns the tab (`<executionId>:streaming`);
|
|
171
|
+
// once published, the artifact identity (planDraftKey) takes over. Each
|
|
172
|
+
// transition is a NEW identity, so useSessionPanel's planKey trigger
|
|
173
|
+
// auto-opens the tab the moment a plan starts streaming AND (idempotently)
|
|
174
|
+
// when it settles into the published plan.
|
|
175
|
+
const currentPlanKey = sessionPlan ? planDraftKey(sessionPlan) : null;
|
|
176
|
+
const panelPlanKey = streamingPlan
|
|
177
|
+
? `${streamingPlan.executionId}:streaming`
|
|
178
|
+
: currentPlanKey;
|
|
179
|
+
// A new plan identity (a plan starting to stream, the first published
|
|
180
|
+
// plan, or a refinement) supersedes any historical plan the user had
|
|
181
|
+
// opened: the tab snaps back to "latest" so the auto-open always surfaces
|
|
182
|
+
// the incoming plan. Adjust-state-during-render — own state only, the
|
|
183
|
+
// established idiom.
|
|
184
|
+
const [prevPlanKey, setPrevPlanKey] = useState(panelPlanKey);
|
|
185
|
+
if (panelPlanKey !== prevPlanKey) {
|
|
186
|
+
setPrevPlanKey(panelPlanKey);
|
|
187
|
+
setOpenPlanExecutionId(null);
|
|
188
|
+
}
|
|
189
|
+
// The unified-panel controller: owns the open-editor group store, the
|
|
190
|
+
// open/collapsed state, and the rail-view FSM. Shared with the launcher
|
|
191
|
+
// (DD-016). The editor store is owned here (never subscribed at this level)
|
|
192
|
+
// so opening/switching files re-renders only the panel subtree — the
|
|
193
|
+
// SessionPanelRegion subscribes, not the conversation column — preserving
|
|
194
|
+
// streaming render isolation (DD-009/DD-010, invariant 2).
|
|
195
|
+
const panel = useSessionPanel({
|
|
196
|
+
phase: hasPhase ? phase : null,
|
|
197
|
+
hasChanges: hasWriteBacks,
|
|
198
|
+
planKey: panelPlanKey,
|
|
199
|
+
});
|
|
74
200
|
const handleBuildFromPlan = useCallback(() => {
|
|
75
201
|
// Switch the picker to Agent (so subsequent turns stay in Agent) and submit
|
|
76
|
-
// the implement message
|
|
202
|
+
// the implement message through the composer's full pipeline.
|
|
77
203
|
// `interactionMode: "agent"` is passed explicitly to win the same-tick race
|
|
78
204
|
// where the composer prop has not yet re-rendered from "plan".
|
|
79
205
|
setInteractionMode("agent");
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
206
|
+
setPlanAttachFailed(false);
|
|
207
|
+
// `buildFromPlan` (not message text) is what tells the runner to inject
|
|
208
|
+
// the implement directive and the thread to render the compact chip —
|
|
209
|
+
// with or without the attachment (the runner picks the directive variant).
|
|
210
|
+
const submitImplementTurn = (attachments) => {
|
|
211
|
+
composerRef.current?.submit(BUILD_FROM_PLAN_MESSAGE, {
|
|
212
|
+
interactionMode: "agent",
|
|
213
|
+
buildFromPlan: true,
|
|
214
|
+
attachments,
|
|
215
|
+
});
|
|
216
|
+
};
|
|
217
|
+
// No published artifact (the bare-CTA fallback card) — nothing to attach.
|
|
218
|
+
if (!sessionPlan) {
|
|
219
|
+
submitImplementTurn();
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
// Deterministic handoff: upload the APPROVED plan (draft if edited, else
|
|
223
|
+
// the artifact text — one uniform path) and attach it to the implement
|
|
224
|
+
// execution. The published artifact itself stays immutable; the approved
|
|
225
|
+
// copy is a new input on the build turn (edit-as-input provenance).
|
|
226
|
+
setIsBuildingFromPlan(true);
|
|
227
|
+
void (async () => {
|
|
228
|
+
try {
|
|
229
|
+
const approvedText = planDraft.readDraft() ?? (await fetchPlanText(stigmer, sessionPlan));
|
|
230
|
+
const response = await stigmer.agentExecution.uploadAttachment(create(UploadAttachmentRequestSchema, {
|
|
231
|
+
filename: PLAN_ARTIFACT_NAME,
|
|
232
|
+
content: new TextEncoder().encode(approvedText),
|
|
233
|
+
contentType: "text/markdown",
|
|
234
|
+
}));
|
|
235
|
+
submitImplementTurn([
|
|
236
|
+
{
|
|
237
|
+
filename: PLAN_ARTIFACT_NAME,
|
|
238
|
+
storageKey: response.storageKey,
|
|
239
|
+
mountPath: APPROVED_PLAN_MOUNT_PATH,
|
|
240
|
+
contentType: "text/markdown",
|
|
241
|
+
},
|
|
242
|
+
]);
|
|
243
|
+
}
|
|
244
|
+
catch {
|
|
245
|
+
// Attachment plumbing must never block the build: implement from
|
|
246
|
+
// conversation history alone, and say so (non-blocking notice).
|
|
247
|
+
setPlanAttachFailed(true);
|
|
248
|
+
submitImplementTurn();
|
|
249
|
+
}
|
|
250
|
+
finally {
|
|
251
|
+
setIsBuildingFromPlan(false);
|
|
252
|
+
}
|
|
253
|
+
})();
|
|
254
|
+
}, [setInteractionMode, sessionPlan, planDraft.readDraft, stigmer]);
|
|
255
|
+
// "Open plan" (a thread plan card, or the Artifacts facet's plan.md) → the
|
|
256
|
+
// panel's plan document tab. Opening the LATEST plan clears the historical
|
|
257
|
+
// selection (the tab shows the editable current plan); any other execution
|
|
258
|
+
// id opens that turn's plan read-only in the same tab.
|
|
259
|
+
const handleOpenPlan = useCallback((executionId) => {
|
|
260
|
+
setOpenPlanExecutionId(sessionPlan && executionId === sessionPlan.executionId
|
|
261
|
+
? null
|
|
262
|
+
: executionId);
|
|
263
|
+
panel.openPlanDocument();
|
|
264
|
+
}, [sessionPlan, panel.openPlanDocument]);
|
|
265
|
+
// Open a transcript tool-call file path in the panel's read-only editor.
|
|
266
|
+
// Resolves the (possibly absolute / subdir-prefixed) path to a
|
|
267
|
+
// repo/root-relative selection the editor can fetch; on a definite hit it
|
|
268
|
+
// opens the file (expanding the panel) and returns `true` (handled),
|
|
269
|
+
// otherwise returns `false` so the path keeps its default copy / GitHub-link
|
|
270
|
+
// behavior. Writing the editor store re-renders only the panel subtree
|
|
271
|
+
// (which subscribes), never this streaming column.
|
|
272
|
+
const handleTranscriptFilePathClick = useCallback((path) => {
|
|
273
|
+
const selection = resolveWorkspaceFileSelection(path, flow.workspace.entries, flow.sandboxWorkspaceRoot);
|
|
274
|
+
if (!selection)
|
|
275
|
+
return false;
|
|
276
|
+
panel.openFile(selection.entryId, selection.path);
|
|
277
|
+
return true;
|
|
278
|
+
}, [flow.workspace.entries, flow.sandboxWorkspaceRoot, panel.openFile]);
|
|
84
279
|
if (conv.isLoading) {
|
|
85
280
|
return (_jsx("div", { className: cn("flex h-full w-full flex-col", className), children: _jsx(ThreadSkeleton, { className: "flex-1 px-0" }) }));
|
|
86
281
|
}
|
|
@@ -90,9 +285,9 @@ export function SessionViewer({ sessionId, org, gitHubConnection, enableGitHub =
|
|
|
90
285
|
if (!conv.session && !conv.isLoading) {
|
|
91
286
|
return _jsx(SessionStarting, {});
|
|
92
287
|
}
|
|
93
|
-
return (_jsxs("div", { className: cn("relative flex h-full w-full flex-col", className), children: [
|
|
288
|
+
return (_jsxs("div", { className: cn("relative flex h-full w-full flex-col", className), children: [_jsxs("div", { className: "absolute top-2 right-6 z-10 flex items-center gap-2", children: [headerActions, _jsx(SessionPanelChip, { isOpen: panel.isOpen, onToggle: panel.isOpen ? panel.closePanel : panel.openPanel, badgeCount: writeBackCount + artifactCount })] }), _jsx(ThreadSelectionContext.Provider, { value: selectionStore, children: _jsx(ResizableSplit, { resizablePane: "primary", collapsedPane: panel.isOpen ? "none" : "secondary", defaultSize: 420, minSize: 320, maxSize: 640, storageKey: "stgm-session-chat-width", responsiveCollapse: panel.isOpen ? "primary" : "none", ariaLabel: "Resize chat panel", className: "min-h-0 flex-1", primary: _jsx(ConversationColumn, { flow: flow, modelId: modelId, setModelId: setModelId, interactionMode: interactionMode, setInteractionMode: setInteractionMode, composerRef: composerRef, org: org, gitHubConnection: gitHubConnection, enableGitHub: enableGitHub, enableLocal: enableLocal, onBrowseLocalFolder: onBrowseLocalFolder, onBuildFromPlan: handleBuildFromPlan, onOpenPlan: handleOpenPlan, isBuildingFromPlan: isBuildingFromPlan, planAttachFailed: planAttachFailed, onDismissPlanAttachFailed: () => setPlanAttachFailed(false), onFilePathClick: handleTranscriptFilePathClick, isEndUser: isEndUser }), secondary: panel.isOpen ? (_jsx(SessionPanelRegion, { flow: flow, org: org, panel: panel, accessSlot: accessSlot, onApplied: onApplied, onImplementPlan: handleBuildFromPlan, implementPlanDisabled: !conv.canSendFollowUp || isBuildingFromPlan, sessionPlan: sessionPlan, streamingPlan: streamingPlan, planDraft: planDraft, openPlanExecutionId: openPlanExecutionId, onOpenPlan: handleOpenPlan, enableLocal: enableLocal, onBrowseLocalFolder: onBrowseLocalFolder, workspaceFileLister: workspaceFileLister, workspaceFileReader: workspaceFileReader, workspaceContentSearcher: workspaceContentSearcher, isEndUser: isEndUser })) : null }) })] }));
|
|
94
289
|
}
|
|
95
|
-
function ConversationColumn({ flow, modelId, setModelId, interactionMode, setInteractionMode, composerRef, org, gitHubConnection, enableGitHub, enableLocal, onBrowseLocalFolder, onBuildFromPlan, isEndUser, }) {
|
|
290
|
+
const ConversationColumn = memo(function ConversationColumn({ flow, modelId, setModelId, interactionMode, setInteractionMode, composerRef, org, gitHubConnection, enableGitHub, enableLocal, onBrowseLocalFolder, onBuildFromPlan, onOpenPlan, isBuildingFromPlan, planAttachFailed, onDismissPlanAttachFailed, onFilePathClick, isEndUser, }) {
|
|
96
291
|
const { conv } = flow;
|
|
97
292
|
// Approval failures are NOT folded into this banner: they now surface in-card,
|
|
98
293
|
// beside the exact gate that failed (see MessageThread's approvalErrors →
|
|
@@ -120,10 +315,67 @@ function ConversationColumn({ flow, modelId, setModelId, interactionMode, setInt
|
|
|
120
315
|
composerRef.current?.setMessage(text);
|
|
121
316
|
composerRef.current?.focus();
|
|
122
317
|
}, [conv.stop, composerRef]);
|
|
123
|
-
return (_jsxs("div", { className: "flex h-full min-w-0 flex-col", children: [_jsx(MessageThread, { executions: conv.completedExecutions, activeStreamExecution: conv.activeStreamExecution, pendingUserMessage: conv.pendingUserMessage, pendingMessageFailed: !!conv.sendError && !!conv.pendingUserMessage, onRetrySend: conv.retryLastSend, onRetryExecution: onRetryExecution, onApprovalSubmit: flow.submitApproval, submittingApprovalIds: conv.submittingApprovalIds, approvalErrors: conv.approvalErrors, showFileReviewRecords: true, onEditMessage: conv.isStoppable ? handleEditMessage : undefined, workspaceEntries: conv.workspaceEntries, sandboxWorkspaceRoot: flow.sandboxWorkspaceRoot, onBuildFromPlan: onBuildFromPlan, org: org, planActionsDisabled: !conv.canSendFollowUp,
|
|
124
|
-
}
|
|
125
|
-
function
|
|
318
|
+
return (_jsxs("div", { className: "flex h-full min-w-0 flex-col", children: [_jsx(MessageThread, { executions: conv.completedExecutions, activeStreamExecution: conv.activeStreamExecution, pendingUserMessage: conv.pendingUserMessage, pendingMessageFailed: !!conv.sendError && !!conv.pendingUserMessage, onRetrySend: conv.retryLastSend, onRetryExecution: onRetryExecution, onApprovalSubmit: flow.submitApproval, submittingApprovalIds: conv.submittingApprovalIds, approvalErrors: conv.approvalErrors, showFileReviewRecords: true, onEditMessage: conv.isStoppable ? handleEditMessage : undefined, workspaceEntries: conv.workspaceEntries, onFilePathClick: onFilePathClick, sandboxWorkspaceRoot: flow.sandboxWorkspaceRoot, onBuildFromPlan: onBuildFromPlan, onOpenPlan: onOpenPlan, org: org, planActionsDisabled: !conv.canSendFollowUp || isBuildingFromPlan, planBuildPending: isBuildingFromPlan, contentColumn: "center", className: "flex-1" }), _jsxs("div", { className: CONVERSATION_COLUMN_CLASS, children: [planAttachFailed && (_jsx(PlanAttachFailedNotice, { onDismiss: onDismissPlanAttachFailed })), conv.isReconnecting && _jsx(ReconnectingIndicator, {}), conv.connectTimedOut && (_jsx(ConnectTimedOutBanner, { onRetry: conv.reconnectStream })), conv.isSlow && !conv.connectTimedOut && _jsx(SlowIndicator, {}), conv.streamError && (_jsx(StreamErrorBanner, { error: conv.streamError, onReconnect: conv.reconnectStream })), sendError && _jsx(SendErrorBanner, { error: sendError }), flow.autoApproveAll && (_jsx(AutoApproveIndicator, { onTurnOff: () => flow.setAutoApproveAll(false) })), _jsx(FileReviewDock, { changeSets: conv.fileChangeSets, onSubmit: conv.submitFileDecision, submittingDecisionKeys: conv.submittingFileDecisionKeys, decisionErrors: conv.fileDecisionErrors }), _jsx(SessionComposer, { ref: composerRef, onSubmit: flow.handleSubmit, isSubmitting: conv.isSending, disabled: !conv.canSendFollowUp, onStop: conv.isStoppable ? handleStop : undefined, isStopping: conv.isStopping, org: org, harness: flow.harness, defaultModelId: modelId, onModelChange: setModelId, interactionMode: interactionMode, onInteractionModeChange: setInteractionMode, showInteractionModePicker: true, workspace: flow.workspace, gitHubConnection: gitHubConnection, enableGitHub: enableGitHub, enableLocal: enableLocal, onBrowseLocalFolder: onBrowseLocalFolder, agentRef: flow.agentRef, onAgentRefChange: flow.setAgentRef, onAgentResolutionChange: flow.setResolution, isDefaultAgent: flow.isDefaultAgent, lockAgent: isEndUser, mcpServerUsages: isEndUser ? undefined : flow.mcpServerUsages, onMcpServerUsagesChange: isEndUser ? undefined : flow.setMcpServerUsages, skillRefs: isEndUser ? undefined : flow.skillRefs, onSkillRefsChange: isEndUser ? undefined : flow.setSkillRefs, sessionVariables: isEndUser ? undefined : flow.sessionVariables, className: "px-4 py-3" })] })] }));
|
|
319
|
+
});
|
|
320
|
+
function SessionPanelRegion({ flow, org, panel, accessSlot, onApplied, onImplementPlan, implementPlanDisabled, sessionPlan, streamingPlan, planDraft, openPlanExecutionId, onOpenPlan, enableLocal, onBrowseLocalFolder, workspaceFileLister, workspaceFileReader, workspaceContentSearcher, isEndUser, }) {
|
|
126
321
|
const selectedItem = useSelectedThreadItem();
|
|
322
|
+
const { editors, activeKey, activeFile, reveal } = useWorkspaceEditors(panel.editorsStore);
|
|
323
|
+
// Honor a pending jump-to-line reveal only while it targets the active editor
|
|
324
|
+
// (an EditorReveal is structurally a RevealTarget). Switching tabs changes
|
|
325
|
+
// activeKey, so a stale reveal for another tab is naturally ignored.
|
|
326
|
+
const activeReveal = reveal && reveal.key === activeKey ? reveal : undefined;
|
|
327
|
+
// This region is the level that subscribes to thread selection; report it to
|
|
328
|
+
// the controller so an open panel can auto-surface the Inspect view. (A
|
|
329
|
+
// collapsed panel never sees — and deliberately never reacts to — selection.)
|
|
330
|
+
useEffect(() => {
|
|
331
|
+
panel.notifySelection(selectedItem);
|
|
332
|
+
}, [selectedItem, panel.notifySelection]);
|
|
333
|
+
// Correlate the active file with its session change for diff-as-default
|
|
334
|
+
// (DD-06 parity with the transcript's rendering of the same change). A
|
|
335
|
+
// virtual document (the plan tab) is not a workspace file — pass `null` so
|
|
336
|
+
// the hook's no-file guard skips the net-change fold entirely, rather than
|
|
337
|
+
// relying on the correlation harmlessly missing the sentinel id.
|
|
338
|
+
const openFileChange = useOpenFileChange(activeFile && !isVirtualEntryId(activeFile.entryId) ? activeFile : null, flow.allExecutions, flow.workspace.entries, flow.sandboxWorkspaceRoot);
|
|
339
|
+
// Resolve WHICH plan the plan document tab shows: the latest (editable,
|
|
340
|
+
// buildable, draft-backed) unless a historical execution id was opened —
|
|
341
|
+
// that plan renders read-only. A stale id (execution gone, or its plan
|
|
342
|
+
// artifact missing) degrades to the latest rather than an empty tab.
|
|
343
|
+
const openPlan = useMemo(() => {
|
|
344
|
+
if (openPlanExecutionId === null ||
|
|
345
|
+
openPlanExecutionId === sessionPlan?.executionId) {
|
|
346
|
+
return sessionPlan;
|
|
347
|
+
}
|
|
348
|
+
const execution = flow.allExecutions.find((e) => e.metadata?.id === openPlanExecutionId);
|
|
349
|
+
const artifact = findPlanArtifact(execution);
|
|
350
|
+
return artifact
|
|
351
|
+
? { executionId: openPlanExecutionId, artifact }
|
|
352
|
+
: sessionPlan;
|
|
353
|
+
}, [openPlanExecutionId, sessionPlan, flow.allExecutions]);
|
|
354
|
+
// The plan document tab (SurfaceVirtualDocument): the panel's editor-area
|
|
355
|
+
// rendering of the session's plan. Three states, in precedence order:
|
|
356
|
+
// a STREAMING plan owns the tab (live document, no actions); otherwise the
|
|
357
|
+
// resolved `openPlan` renders in the editor (keyed by plan identity so
|
|
358
|
+
// switching plans resets view state cleanly); otherwise an honest empty
|
|
359
|
+
// notice (DD-006) — reachable only when a streaming plan auto-opened the
|
|
360
|
+
// tab and its turn then ended without publishing, with no earlier plan to
|
|
361
|
+
// fall back to.
|
|
362
|
+
const openPlanIsLatest = openPlan?.executionId === sessionPlan?.executionId;
|
|
363
|
+
const virtualDocuments = useMemo(() => {
|
|
364
|
+
return [
|
|
365
|
+
{
|
|
366
|
+
entryId: PLAN_DOCUMENT_ENTRY_ID,
|
|
367
|
+
path: PLAN_DOCUMENT_PATH,
|
|
368
|
+
content: streamingPlan ? (_jsx(PlanStreamingDocument, { displayText: streamingPlan.displayText }, `streaming-${streamingPlan.executionId}`)) : openPlan ? (_jsx(PlanEditor, { plan: openPlan, draft: openPlanIsLatest ? planDraft : undefined, onBuildFromPlan: openPlanIsLatest ? onImplementPlan : undefined, buildDisabled: implementPlanDisabled, readOnly: !openPlanIsLatest }, planDraftKey(openPlan))) : (_jsx(PlanUnavailableNotice, {})),
|
|
369
|
+
},
|
|
370
|
+
];
|
|
371
|
+
}, [
|
|
372
|
+
streamingPlan,
|
|
373
|
+
openPlan,
|
|
374
|
+
openPlanIsLatest,
|
|
375
|
+
planDraft,
|
|
376
|
+
onImplementPlan,
|
|
377
|
+
implementPlanDisabled,
|
|
378
|
+
]);
|
|
127
379
|
const handleRemoveAgent = useCallback(() => {
|
|
128
380
|
flow.setAgentRef(null);
|
|
129
381
|
flow.setResolution(null);
|
|
@@ -143,8 +395,8 @@ function InspectorPanel({ flow, org, selectionStore, onApplied, onImplementPlan,
|
|
|
143
395
|
harness: flow.harness,
|
|
144
396
|
executionTarget: flow.executionTarget,
|
|
145
397
|
modelId: flow.model[0],
|
|
146
|
-
// End users see the configuration but cannot strip it — the
|
|
147
|
-
//
|
|
398
|
+
// End users see the configuration but cannot strip it — the Config
|
|
399
|
+
// facet renders read-only without mutation callbacks (DD-011).
|
|
148
400
|
mutations: isEndUser
|
|
149
401
|
? undefined
|
|
150
402
|
: {
|
|
@@ -152,22 +404,33 @@ function InspectorPanel({ flow, org, selectionStore, onApplied, onImplementPlan,
|
|
|
152
404
|
onRemoveMcp: handleRemoveMcp,
|
|
153
405
|
onRemoveSkill: handleRemoveSkill,
|
|
154
406
|
},
|
|
407
|
+
accessSlot,
|
|
155
408
|
}), [
|
|
156
409
|
flow.agentRef, flow.isDefaultAgent, flow.mcpServerUsages, flow.skillRefs,
|
|
157
410
|
flow.sessionVariables, flow.harness, flow.executionTarget, flow.model,
|
|
158
411
|
isEndUser, handleRemoveAgent, handleRemoveMcp, handleRemoveSkill,
|
|
412
|
+
accessSlot,
|
|
159
413
|
]);
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
414
|
+
// The session facets (Config / Changes / Artifacts / Usage / Inspect) as
|
|
415
|
+
// injected rail views — the full inspector feature set inside one panel.
|
|
416
|
+
const railViews = useSessionRailViews({
|
|
417
|
+
allExecutions: flow.allExecutions,
|
|
418
|
+
org,
|
|
419
|
+
sessionConfig,
|
|
420
|
+
selectedItem,
|
|
421
|
+
onApplied,
|
|
422
|
+
onImplementPlan,
|
|
423
|
+
onOpenPlan,
|
|
424
|
+
});
|
|
425
|
+
// Explorer-footer folder attach (desktop only — needs the native picker).
|
|
426
|
+
// Same wiring the retired Workspace tab used.
|
|
427
|
+
const canAddLocalFolder = enableLocal && !!onBrowseLocalFolder;
|
|
428
|
+
const handleAddLocalFolder = useCallback(async () => {
|
|
429
|
+
const path = await onBrowseLocalFolder?.();
|
|
430
|
+
if (path)
|
|
431
|
+
flow.workspace.addLocalPath(path);
|
|
432
|
+
}, [onBrowseLocalFolder, flow.workspace.addLocalPath]);
|
|
433
|
+
return (_jsx(WorkspaceSurface, { entries: flow.workspace.entries, lister: workspaceFileLister, reader: workspaceFileReader, searcher: workspaceContentSearcher, view: panel.view, onViewChange: panel.setView, extraViews: railViews, virtualDocuments: virtualDocuments, onRemoveEntry: flow.workspace.remove, onAddLocalFolder: canAddLocalFolder ? handleAddLocalFolder : undefined, editors: editors, selectedFile: activeFile, onOpenFile: panel.openFile, onActivateEditor: panel.activateEditor, onPinEditor: panel.pinEditor, onCloseEditor: panel.closeEditor, onCollapse: panel.closePanel, change: openFileChange ?? undefined, reveal: activeReveal, className: "h-full" }));
|
|
171
434
|
}
|
|
172
435
|
// ---------------------------------------------------------------------------
|
|
173
436
|
// Local sub-components (error states)
|
|
@@ -187,6 +450,25 @@ function SessionStarting() {
|
|
|
187
450
|
function AutoApproveIndicator({ onTurnOff }) {
|
|
188
451
|
return (_jsxs("div", { role: "status", className: "flex items-center gap-2 border-t border-border-muted px-4 py-1.5 text-xs text-muted-foreground", children: [_jsx(ShieldCheckIcon, {}), _jsx("span", { className: "min-w-0 flex-1 truncate", children: "Auto-approving tool calls for this session" }), _jsx("button", { type: "button", onClick: onTurnOff, className: "shrink-0 rounded font-medium text-foreground underline-offset-2 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: "Turn off" })] }));
|
|
189
452
|
}
|
|
453
|
+
/**
|
|
454
|
+
* The plan document tab's empty state — reachable only when a streaming plan
|
|
455
|
+
* auto-opened the tab and its turn then ended without publishing (stopped or
|
|
456
|
+
* failed) while the session has no earlier published plan to fall back to.
|
|
457
|
+
* The partial plan reverts to the conversation (the thread un-collapses it),
|
|
458
|
+
* so the notice points there. Never a blank pane (DD-006).
|
|
459
|
+
*/
|
|
460
|
+
function PlanUnavailableNotice() {
|
|
461
|
+
return (_jsxs("div", { role: "status", className: "mx-auto flex w-full max-w-3xl flex-col items-center gap-1 px-4 py-8 text-center", children: [_jsx("p", { className: "text-xs font-medium text-foreground", children: "This turn ended before a plan was completed." }), _jsx("p", { className: "text-xs text-muted-foreground", children: "Any partial plan text remains in the conversation." })] }));
|
|
462
|
+
}
|
|
463
|
+
/**
|
|
464
|
+
* Non-blocking notice for a build that fell back to message-only implement
|
|
465
|
+
* (the approved plan.md could not be uploaded/attached). The build itself
|
|
466
|
+
* proceeded — the agent follows the plan from conversation history — so this
|
|
467
|
+
* is a status, not an alert, and it is dismissible.
|
|
468
|
+
*/
|
|
469
|
+
function PlanAttachFailedNotice({ onDismiss }) {
|
|
470
|
+
return (_jsxs("div", { role: "status", className: "flex items-center gap-2 border-t border-border-muted px-4 py-1.5 text-xs text-muted-foreground", children: [_jsx("span", { className: "min-w-0 flex-1 truncate", children: "Couldn\u2019t attach plan.md \u2014 the agent will follow the plan from the conversation instead." }), _jsx("button", { type: "button", onClick: onDismiss, className: "shrink-0 rounded font-medium text-foreground underline-offset-2 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: "Dismiss" })] }));
|
|
471
|
+
}
|
|
190
472
|
function SendErrorBanner({ error }) {
|
|
191
473
|
if (isSecretFlowError(error)) {
|
|
192
474
|
return _jsx(SecretFlowErrorGuide, { error: error, className: "mx-4 my-2" });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionViewer.js","sourceRoot":"","sources":["../../src/session/SessionViewer.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SessionViewer.js","sourceRoot":"","sources":["../../src/session/SessionViewer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -10,13 +10,21 @@ export interface ArtifactsTabProps {
|
|
|
10
10
|
* action as the message-thread plan card.
|
|
11
11
|
*/
|
|
12
12
|
readonly onImplementPlan?: () => void;
|
|
13
|
+
/**
|
|
14
|
+
* Open a plan in the session panel's plan document tab. When provided, a
|
|
15
|
+
* `plan.md` artifact routes there instead of the preview modal — the plan
|
|
16
|
+
* is a first-class document, not a popup. Non-plan artifacts keep the
|
|
17
|
+
* modal. When omitted (hosts without the plan tab) the modal remains for
|
|
18
|
+
* every artifact.
|
|
19
|
+
*/
|
|
20
|
+
readonly onOpenPlan?: (executionId: string) => void;
|
|
13
21
|
}
|
|
14
22
|
/**
|
|
15
|
-
* Artifacts facet for the
|
|
23
|
+
* Artifacts facet for the session panel (a `useSessionRailViews` rail view).
|
|
16
24
|
*
|
|
17
25
|
* Wraps `useSessionArtifacts` → `ArtifactCard` list with
|
|
18
26
|
* `ArtifactPreviewModal` — the same content as `ArtifactsWidget`
|
|
19
27
|
* without the section heading.
|
|
20
28
|
*/
|
|
21
|
-
export declare function ArtifactsTab({ executions, org, onApplied, onImplementPlan }: ArtifactsTabProps): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export declare function ArtifactsTab({ executions, org, onApplied, onImplementPlan, onOpenPlan, }: ArtifactsTabProps): import("react/jsx-runtime").JSX.Element;
|
|
22
30
|
//# sourceMappingURL=ArtifactsTab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArtifactsTab.d.ts","sourceRoot":"","sources":["../../../src/session/facets/ArtifactsTab.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAQlG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;IAC/C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC3D;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IACtC;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACrD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAC3B,UAAU,EACV,GAAG,EACH,SAAS,EACT,eAAe,EACf,UAAU,GACX,EAAE,iBAAiB,2CA8DnB"}
|
|
@@ -6,18 +6,23 @@ import { ArtifactCard } from "../../execution/ArtifactCard.js";
|
|
|
6
6
|
import { ArtifactPreviewModal } from "../../execution/ArtifactPreviewModal.js";
|
|
7
7
|
import { isPlanArtifact } from "../../library/detect-plan-artifact.js";
|
|
8
8
|
/**
|
|
9
|
-
* Artifacts facet for the
|
|
9
|
+
* Artifacts facet for the session panel (a `useSessionRailViews` rail view).
|
|
10
10
|
*
|
|
11
11
|
* Wraps `useSessionArtifacts` → `ArtifactCard` list with
|
|
12
12
|
* `ArtifactPreviewModal` — the same content as `ArtifactsWidget`
|
|
13
13
|
* without the section heading.
|
|
14
14
|
*/
|
|
15
|
-
export function ArtifactsTab({ executions, org, onApplied, onImplementPlan }) {
|
|
15
|
+
export function ArtifactsTab({ executions, org, onApplied, onImplementPlan, onOpenPlan, }) {
|
|
16
16
|
const { artifacts, hasArtifacts } = useSessionArtifacts(executions);
|
|
17
17
|
const [previewEntry, setPreviewEntry] = useState(null);
|
|
18
18
|
const handlePreview = useCallback((entry) => {
|
|
19
|
+
// The plan opens as a document (the panel's plan tab), never a popup.
|
|
20
|
+
if (onOpenPlan && isPlanArtifact(entry.artifact)) {
|
|
21
|
+
onOpenPlan(entry.executionId);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
19
24
|
setPreviewEntry(entry);
|
|
20
|
-
}, []);
|
|
25
|
+
}, [onOpenPlan]);
|
|
21
26
|
const handleClosePreview = useCallback(() => {
|
|
22
27
|
setPreviewEntry(null);
|
|
23
28
|
}, []);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArtifactsTab.js","sourceRoot":"","sources":["../../../src/session/facets/ArtifactsTab.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE9C,OAAO,EACL,mBAAmB,GAEpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAuBvE;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,UAAU,EACV,GAAG,EACH,SAAS,EACT,eAAe,EACf,UAAU,GACQ;IAClB,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACpE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAA8B,IAAI,CAAC,CAAC;IAEpF,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,KAA2B,EAAE,EAAE;QAC9B,sEAAsE;QACtE,IAAI,UAAU,IAAI,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjD,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,eAAe,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC1C,eAAe,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CACL,cAAK,SAAS,EAAC,iEAAiE,YAC9E,YAAG,SAAS,EAAC,+BAA+B,iFAExC,GACA,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,8BACE,cAAK,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,WAAW,YACnC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACxB,cAA6D,IAAI,EAAC,UAAU,YAC1E,KAAC,YAAY,IACX,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,GAAG,EAAE,GAAG,EACR,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EACxC,SAAS,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,GACrC,IAPM,KAAK,CAAC,QAAQ,CAAC,WAAW,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAQrD,CACP,CAAC,GACE,EAEL,YAAY,IAAI,CACf,KAAC,oBAAoB,IACnB,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAC/B,WAAW,EAAE,YAAY,CAAC,WAAW,EACrC,UAAU,EAAE,YAAY,CAAC,UAAU,EACnC,GAAG,EAAE,GAAG,EACR,IAAI,QACJ,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,SAAS,EACpB,WAAW,EACT,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,GAErE,CACH,IACA,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -3,15 +3,15 @@ export interface ChangesTabProps {
|
|
|
3
3
|
readonly executions: readonly AgentExecution[];
|
|
4
4
|
}
|
|
5
5
|
/**
|
|
6
|
-
* Changes facet for the
|
|
6
|
+
* Changes facet for the session panel — the session's git write-backs
|
|
7
7
|
* (branch/commit/PR), one `WriteBackCard` per entry.
|
|
8
8
|
*
|
|
9
9
|
* Local file changes deliberately do NOT render here: they live in the
|
|
10
10
|
* transcript, where each stamped edit row shows its diff in place and the
|
|
11
11
|
* per-turn decision bar carries the review controls and file list
|
|
12
12
|
* (`FileReviewCard`). Duplicating them in a side panel gave the same change a
|
|
13
|
-
* third rendering with no added authority. The
|
|
14
|
-
* once a write-back exists (see `
|
|
13
|
+
* third rendering with no added authority. The facet therefore only surfaces
|
|
14
|
+
* once a write-back exists (see `useSessionRailViews`).
|
|
15
15
|
*/
|
|
16
16
|
export declare function ChangesTab({ executions }: ChangesTabProps): import("react/jsx-runtime").JSX.Element;
|
|
17
17
|
//# sourceMappingURL=ChangesTab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChangesTab.d.ts","sourceRoot":"","sources":["../../../src/session/facets/ChangesTab.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAIlG,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;CAChD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,EAAE,UAAU,EAAE,EAAE,eAAe,2CAuBzD"}
|