@stigmer/react 3.1.1 → 3.1.3
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 +25 -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/ArtifactPreviewModal.d.ts +5 -5
- package/execution/ArtifactPreviewModal.js +4 -4
- package/execution/ArtifactPreviewModal.js.map +1 -1
- package/execution/FileChangeProgressBar.d.ts +47 -0
- package/execution/FileChangeProgressBar.d.ts.map +1 -0
- package/execution/FileChangeProgressBar.js +49 -0
- package/execution/FileChangeProgressBar.js.map +1 -0
- package/execution/FileChangesView.d.ts.map +1 -1
- package/execution/FileChangesView.js +19 -4
- package/execution/FileChangesView.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/FileReviewAtoms.d.ts +27 -0
- package/execution/FileReviewAtoms.d.ts.map +1 -0
- package/execution/FileReviewAtoms.js +64 -0
- package/execution/FileReviewAtoms.js.map +1 -0
- package/execution/FileReviewCard.d.ts +2 -2
- package/execution/FileReviewCard.d.ts.map +1 -1
- package/execution/FileReviewCard.js +32 -62
- package/execution/FileReviewCard.js.map +1 -1
- package/execution/MessageEntry.d.ts +20 -0
- package/execution/MessageEntry.d.ts.map +1 -1
- package/execution/MessageEntry.js +19 -5
- package/execution/MessageEntry.js.map +1 -1
- package/execution/MessageThread.d.ts +75 -13
- package/execution/MessageThread.d.ts.map +1 -1
- package/execution/MessageThread.js +195 -27
- package/execution/MessageThread.js.map +1 -1
- package/execution/PlanArtifactCard.d.ts +36 -21
- package/execution/PlanArtifactCard.d.ts.map +1 -1
- package/execution/PlanArtifactCard.js +39 -25
- package/execution/PlanArtifactCard.js.map +1 -1
- package/execution/PlanCompletionCard.d.ts +4 -4
- package/execution/PlanCompletionCard.d.ts.map +1 -1
- package/execution/PlanCompletionCard.js +4 -4
- package/execution/PlanCompletionCard.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 +50 -0
- package/execution/PlanStreamingCard.d.ts.map +1 -0
- package/execution/PlanStreamingCard.js +40 -0
- package/execution/PlanStreamingCard.js.map +1 -0
- package/execution/index.d.ts +9 -1
- package/execution/index.d.ts.map +1 -1
- package/execution/index.js +4 -0
- package/execution/index.js.map +1 -1
- package/execution/use-build-from-plan-hotkey.d.ts +1 -1
- package/execution/use-build-from-plan-hotkey.js +1 -1
- package/execution/useArtifactCopy.d.ts +51 -0
- package/execution/useArtifactCopy.d.ts.map +1 -0
- package/execution/useArtifactCopy.js +75 -0
- package/execution/useArtifactCopy.js.map +1 -0
- package/execution/useArtifactDownload.d.ts.map +1 -1
- package/execution/useArtifactDownload.js +17 -5
- package/execution/useArtifactDownload.js.map +1 -1
- package/execution/useCreateAgentExecution.d.ts +12 -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 +43 -4
- package/library/detect-plan-artifact.d.ts.map +1 -1
- package/library/detect-plan-artifact.js +45 -5
- 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 +334 -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 +21 -0
- package/session/plan-document.d.ts.map +1 -0
- package/session/plan-document.js +28 -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 +14 -1
- package/session/useSessionConversation.d.ts.map +1 -1
- package/session/useSessionConversation.js +20 -2
- 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 +53 -10
- package/src/composer/__tests__/SessionComposer-contract.test.tsx +58 -4
- package/src/execution/ArtifactContentRenderer.tsx +101 -24
- package/src/execution/ArtifactPreviewModal.tsx +9 -9
- package/src/execution/FileChangeProgressBar.tsx +121 -0
- package/src/execution/FileChangesView.tsx +18 -4
- package/src/execution/FilePathContext.tsx +8 -1
- package/src/execution/FilePathLink.tsx +22 -6
- package/src/execution/FileReviewAtoms.tsx +89 -0
- package/src/execution/FileReviewCard.tsx +57 -90
- package/src/execution/MessageEntry.tsx +49 -1
- package/src/execution/MessageThread.tsx +308 -39
- package/src/execution/PlanArtifactCard.tsx +174 -64
- package/src/execution/PlanCompletionCard.tsx +5 -5
- package/src/execution/PlanDocumentMessage.tsx +96 -0
- package/src/execution/PlanStreamingCard.tsx +141 -0
- package/src/execution/__tests__/ArtifactContentRenderer.test.tsx +80 -1
- package/src/execution/__tests__/ArtifactPreviewModal.test.tsx +6 -6
- package/src/execution/__tests__/FileChangeProgressBar.test.tsx +125 -0
- package/src/execution/__tests__/FilePathLink.test.tsx +87 -0
- package/src/execution/__tests__/FileReviewCard.test.tsx +66 -7
- package/src/execution/__tests__/MessageThread.test.tsx +102 -1
- package/src/execution/__tests__/PlanArtifactCard.test.tsx +114 -26
- package/src/execution/__tests__/PlanCompletionCard.test.tsx +2 -2
- package/src/execution/__tests__/PlanDocumentMessage.test.tsx +55 -0
- package/src/execution/__tests__/PlanStreamingCard.test.tsx +56 -0
- package/src/execution/__tests__/buildThreadItems-plan-completion.test.ts +600 -22
- package/src/execution/__tests__/message-entry.test.tsx +17 -0
- package/src/execution/__tests__/useArtifactCopy.test.tsx +90 -0
- package/src/execution/__tests__/useArtifactDownload.test.tsx +2 -0
- package/src/execution/__tests__/useCreateAgentExecution.test.tsx +85 -0
- package/src/execution/index.ts +13 -1
- package/src/execution/use-build-from-plan-hotkey.ts +1 -1
- package/src/execution/useArtifactCopy.ts +109 -0
- package/src/execution/useArtifactDownload.ts +17 -5
- package/src/execution/useCreateAgentExecution.ts +18 -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 +69 -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 +56 -5
- 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 +69 -0
- package/src/library/__tests__/detect-streaming-plan.test.ts +234 -0
- package/src/library/detect-plan-artifact.ts +62 -5
- package/src/library/detect-streaming-plan.ts +108 -0
- package/src/library/index.ts +7 -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 +655 -96
- 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 +66 -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__/useSessionConversation.test.tsx +44 -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 +42 -8
- 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 +30 -0
- package/src/session/useOpenFileChange.ts +53 -0
- package/src/session/usePlanDraft.ts +109 -0
- package/src/session/useSessionConversation.ts +38 -3
- 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 +174 -0
- package/src/workspace/ExplorerTree.tsx +253 -0
- package/src/workspace/FileViewer.tsx +537 -0
- package/src/workspace/WorkspaceContentSearch.tsx +502 -0
- package/src/workspace/WorkspaceContentSearcher.ts +70 -0
- package/src/workspace/WorkspaceEditor.tsx +19 -16
- package/src/workspace/WorkspaceFileLister.ts +11 -0
- package/src/workspace/WorkspaceFileReader.ts +57 -0
- package/src/workspace/WorkspaceFileSearch.tsx +452 -0
- package/src/workspace/WorkspaceSurface.tsx +839 -0
- package/src/workspace/__tests__/EditorTabs.test.tsx +102 -0
- package/src/workspace/__tests__/ExplorerTree.test.tsx +204 -0
- package/src/workspace/__tests__/FileViewer.test.tsx +439 -0
- package/src/workspace/__tests__/WorkspaceContentSearch.test.tsx +229 -0
- package/src/workspace/__tests__/WorkspaceEditor-initialPanel.test.tsx +19 -0
- package/src/workspace/__tests__/WorkspaceFileSearch.test.tsx +227 -0
- package/src/workspace/__tests__/WorkspaceSurface.test.tsx +418 -0
- package/src/workspace/__tests__/a11y/harness.tsx +140 -0
- package/src/workspace/__tests__/a11y/mock-capabilities.ts +138 -0
- package/src/workspace/__tests__/a11y/workspace-editor.a11y.test.tsx +65 -0
- package/src/workspace/__tests__/a11y/workspace-explorer-search.a11y.test.tsx +112 -0
- package/src/workspace/__tests__/a11y/workspace-viewer-tabs.a11y.test.tsx +69 -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 +47 -0
- package/workspace/EditorTabs.d.ts.map +1 -0
- package/workspace/EditorTabs.js +78 -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 +49 -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 +193 -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 +216 -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/WorkspaceEditor.d.ts.map +1 -1
- package/workspace/WorkspaceEditor.js +8 -10
- package/workspace/WorkspaceEditor.js.map +1 -1
- 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 +175 -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 +220 -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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewSessionViewer.js","sourceRoot":"","sources":["../../src/session/NewSessionViewer.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AACvE,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"NewSessionViewer.js","sourceRoot":"","sources":["../../src/session/NewSessionViewer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { SessionPlan } from "../library/detect-plan-artifact.js";
|
|
2
|
+
import type { PlanDraftController } from "./usePlanDraft.js";
|
|
3
|
+
/** Props for {@link PlanEditor}. */
|
|
4
|
+
export interface PlanEditorProps {
|
|
5
|
+
/** The plan to display (latest, or a superseded plan opened from its card). */
|
|
6
|
+
readonly plan: SessionPlan;
|
|
7
|
+
/**
|
|
8
|
+
* Draft controller owned by the viewer (survives panel collapse/unmounts).
|
|
9
|
+
* Consulted only when editable — a read-only (superseded) plan renders its
|
|
10
|
+
* own artifact text, never the current plan's draft.
|
|
11
|
+
*/
|
|
12
|
+
readonly draft?: PlanDraftController;
|
|
13
|
+
/** Builds from the plan — the same action as the thread card's primary. */
|
|
14
|
+
readonly onBuildFromPlan?: () => void;
|
|
15
|
+
/** Disables the Build action (execution in flight, or build submitting). */
|
|
16
|
+
readonly buildDisabled?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Renders the plan as a historical, read-only document: no Edit view, no
|
|
19
|
+
* Build action, and a "superseded" notice. Used when the user opens a plan
|
|
20
|
+
* that a newer plan has since replaced.
|
|
21
|
+
*/
|
|
22
|
+
readonly readOnly?: boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* The plan document for the workspace surface's editor area — the wide-pane
|
|
26
|
+
* successor of the retired Plan sidebar facet, mounted as a virtual document
|
|
27
|
+
* (`SurfaceVirtualDocument`) under the {@link PLAN_DOCUMENT_ENTRY_ID} tab.
|
|
28
|
+
*
|
|
29
|
+
* Three views over one text:
|
|
30
|
+
* - **Rendered** — the plan as a document (same typography as the thread's
|
|
31
|
+
* plan rendering, title lifted from the leading H1).
|
|
32
|
+
* - **Source** — the raw markdown.
|
|
33
|
+
* - **Edit** — a plain-textarea editor over a LOCAL draft
|
|
34
|
+
* ({@link PlanDraftController}); the published artifact is never mutated.
|
|
35
|
+
* Building from an edited plan delivers the draft to the implement
|
|
36
|
+
* execution (edit-as-input).
|
|
37
|
+
*
|
|
38
|
+
* All views show the *effective* plan — the draft when one exists, the
|
|
39
|
+
* published artifact otherwise — so what the user reviews is exactly what
|
|
40
|
+
* Build will implement. An "Edited" indicator plus Revert makes the overlay
|
|
41
|
+
* visible and reversible.
|
|
42
|
+
*
|
|
43
|
+
* Editing is disabled for truncated content (the content RPC caps at 512 KB):
|
|
44
|
+
* editing a truncated plan would silently drop its tail on handoff. The
|
|
45
|
+
* document still renders read-only with the truncation notice.
|
|
46
|
+
*
|
|
47
|
+
* Holds no must-survive local state: the panel region unmounts wholesale on
|
|
48
|
+
* collapse, so anything that must outlive it (the draft, the fetched content
|
|
49
|
+
* cache) is owned above. The view pick resetting to Rendered on reopen is
|
|
50
|
+
* deliberate.
|
|
51
|
+
*
|
|
52
|
+
* All visual properties flow through `--stgm-*` tokens.
|
|
53
|
+
*/
|
|
54
|
+
export declare function PlanEditor({ plan, draft, onBuildFromPlan, buildDisabled, readOnly, }: PlanEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
55
|
+
//# sourceMappingURL=PlanEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlanEditor.d.ts","sourceRoot":"","sources":["../../src/session/PlanEditor.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,mBAAmB,CAAC;IACrC,2EAA2E;IAC3E,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IACtC,4EAA4E;IAC5E,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,KAAK,EACL,eAAe,EACf,aAAa,EACb,QAAQ,GACT,EAAE,eAAe,2CAoKjB"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useMemo, useState } from "react";
|
|
4
|
+
import Markdown from "react-markdown";
|
|
5
|
+
import { cn } from "@stigmer/theme";
|
|
6
|
+
import { PLAN_DOCUMENT_MARKDOWN_COMPONENTS, REMARK_PLUGINS, extractLeadingH1, unwrapEnclosingMarkdownFence, } from "../internal/markdown-components.js";
|
|
7
|
+
import { useArtifactContent } from "../execution/useArtifactContent.js";
|
|
8
|
+
import { useBuildFromPlanHotkey } from "../execution/use-build-from-plan-hotkey.js";
|
|
9
|
+
import { formatArtifactSize } from "../execution/artifact-utils.js";
|
|
10
|
+
/**
|
|
11
|
+
* The plan document for the workspace surface's editor area — the wide-pane
|
|
12
|
+
* successor of the retired Plan sidebar facet, mounted as a virtual document
|
|
13
|
+
* (`SurfaceVirtualDocument`) under the {@link PLAN_DOCUMENT_ENTRY_ID} tab.
|
|
14
|
+
*
|
|
15
|
+
* Three views over one text:
|
|
16
|
+
* - **Rendered** — the plan as a document (same typography as the thread's
|
|
17
|
+
* plan rendering, title lifted from the leading H1).
|
|
18
|
+
* - **Source** — the raw markdown.
|
|
19
|
+
* - **Edit** — a plain-textarea editor over a LOCAL draft
|
|
20
|
+
* ({@link PlanDraftController}); the published artifact is never mutated.
|
|
21
|
+
* Building from an edited plan delivers the draft to the implement
|
|
22
|
+
* execution (edit-as-input).
|
|
23
|
+
*
|
|
24
|
+
* All views show the *effective* plan — the draft when one exists, the
|
|
25
|
+
* published artifact otherwise — so what the user reviews is exactly what
|
|
26
|
+
* Build will implement. An "Edited" indicator plus Revert makes the overlay
|
|
27
|
+
* visible and reversible.
|
|
28
|
+
*
|
|
29
|
+
* Editing is disabled for truncated content (the content RPC caps at 512 KB):
|
|
30
|
+
* editing a truncated plan would silently drop its tail on handoff. The
|
|
31
|
+
* document still renders read-only with the truncation notice.
|
|
32
|
+
*
|
|
33
|
+
* Holds no must-survive local state: the panel region unmounts wholesale on
|
|
34
|
+
* collapse, so anything that must outlive it (the draft, the fetched content
|
|
35
|
+
* cache) is owned above. The view pick resetting to Rendered on reopen is
|
|
36
|
+
* deliberate.
|
|
37
|
+
*
|
|
38
|
+
* All visual properties flow through `--stgm-*` tokens.
|
|
39
|
+
*/
|
|
40
|
+
export function PlanEditor({ plan, draft, onBuildFromPlan, buildDisabled, readOnly, }) {
|
|
41
|
+
const [view, setView] = useState("rendered");
|
|
42
|
+
const canBuild = !readOnly && onBuildFromPlan !== undefined;
|
|
43
|
+
const handleKeyDown = useBuildFromPlanHotkey(canBuild ? onBuildFromPlan : undefined, buildDisabled);
|
|
44
|
+
const { content, isTruncated, isLoading, error, refetch } = useArtifactContent(plan.executionId, plan.artifact.storageKey, undefined, plan.artifact.contentHash);
|
|
45
|
+
const activeDraft = readOnly ? undefined : draft;
|
|
46
|
+
const effectiveText = activeDraft?.draftText ?? content;
|
|
47
|
+
// A read-only plan (or one without a draft controller) never offers Edit;
|
|
48
|
+
// a truncated plan only keeps it while an existing draft needs rescuing.
|
|
49
|
+
const canEdit = activeDraft !== undefined && (!isTruncated || activeDraft.isEdited);
|
|
50
|
+
const activeView = view === "edit" && !canEdit ? "rendered" : view;
|
|
51
|
+
if (isLoading) {
|
|
52
|
+
return (_jsx(PlanEditorFrame, { children: _jsx(PlanEditorSkeleton, {}) }));
|
|
53
|
+
}
|
|
54
|
+
if (error || effectiveText === null) {
|
|
55
|
+
return (_jsx(PlanEditorFrame, { children: _jsxs("div", { className: "flex flex-col items-center gap-2 px-4 py-8 text-center", children: [_jsxs("p", { className: "text-xs text-muted-foreground", children: ["Couldn\u2019t load the plan", error ? `: ${error.message}` : "."] }), _jsx("button", { type: "button", onClick: refetch, className: "rounded text-xs font-medium text-foreground underline-offset-2 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: "Retry" })] }) }));
|
|
56
|
+
}
|
|
57
|
+
return (_jsxs(PlanEditorFrame, { onKeyDown: handleKeyDown, children: [_jsxs("div", { className: "flex min-w-0 flex-wrap items-center gap-2", children: [_jsxs("div", { className: "inline-flex shrink-0 rounded-md bg-muted p-0.5", role: "tablist", "aria-label": "Plan view", children: [_jsx(ViewTab, { active: activeView === "rendered", onClick: () => setView("rendered"), label: "Rendered" }), _jsx(ViewTab, { active: activeView === "source", onClick: () => setView("source"), label: "Source" }), activeDraft !== undefined && (_jsx(ViewTab, { active: activeView === "edit", onClick: () => setView("edit"), label: "Edit", disabled: !canEdit, title: !canEdit
|
|
58
|
+
? "This plan is too large to edit in place — download it instead."
|
|
59
|
+
: undefined }))] }), _jsx("span", { className: "text-[0.65rem] tabular-nums text-muted-foreground-faint", children: formatArtifactSize(plan.artifact.sizeBytes) }), _jsxs("div", { className: "ml-auto flex min-w-0 flex-wrap items-center gap-3", children: [activeDraft?.isEdited && (_jsxs("span", { className: "inline-flex items-center gap-2", children: [_jsx("span", { className: "rounded-md bg-accent px-1.5 py-0.5 text-[0.65rem] font-medium text-muted-foreground", children: "Edited" }), _jsx("button", { type: "button", onClick: () => activeDraft.setDraft(null), className: "rounded text-[0.65rem] font-medium text-muted-foreground underline-offset-2 hover:text-foreground hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: "Revert" })] })), readOnly ? (_jsx("span", { role: "status", className: "rounded-md bg-muted px-2 py-0.5 text-[0.65rem] font-medium text-muted-foreground", children: "Superseded by a newer plan" })) : (onBuildFromPlan && (_jsxs("button", { type: "button", disabled: buildDisabled, onClick: onBuildFromPlan, className: cn("inline-flex min-w-0 items-center gap-1.5 rounded-md px-3 py-1.5", "text-xs font-medium transition-colors", "bg-primary text-primary-foreground hover:bg-primary-hover", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", "disabled:pointer-events-none disabled:opacity-50"), children: [_jsx(ImplementIcon, {}), _jsx("span", { className: "truncate", children: buildDisabled ? "Starting build…" : "Build" })] })))] })] }), activeView === "rendered" && _jsx(RenderedPlan, { text: effectiveText }), activeView === "source" && (_jsx("pre", { className: "overflow-x-auto rounded-md bg-muted p-3 font-mono text-xs whitespace-pre-wrap text-foreground", children: effectiveText })), activeView === "edit" && activeDraft !== undefined && (_jsx("textarea", { value: effectiveText, onChange: (e) => activeDraft.setDraft(e.target.value), "aria-label": "Edit plan", spellCheck: false, rows: 28, className: cn("w-full flex-1 resize-y rounded-md border border-border bg-card p-3", "font-mono text-xs leading-relaxed text-foreground", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring") })), isTruncated && (_jsx("p", { role: "status", className: "text-[0.65rem] text-muted-foreground", children: "Preview truncated \u2014 download the artifact for the full plan." }))] }));
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The editor-area envelope: a centered document column so the plan reads as a
|
|
63
|
+
* page rather than stretching across the full pane width.
|
|
64
|
+
*/
|
|
65
|
+
function PlanEditorFrame({ children, onKeyDown, }) {
|
|
66
|
+
return (_jsx("div", { role: "article", "aria-label": "Plan document", onKeyDown: onKeyDown, className: "mx-auto flex w-full max-w-3xl flex-col gap-3 px-4 py-3", children: children }));
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* The plan document: title lifted from the leading H1, body in the shared
|
|
70
|
+
* plan-document typography — identical treatment to the thread's plan
|
|
71
|
+
* rendering, so the plan reads the same on every surface.
|
|
72
|
+
*/
|
|
73
|
+
function RenderedPlan({ text }) {
|
|
74
|
+
const { title, body } = useMemo(() => extractLeadingH1(unwrapEnclosingMarkdownFence(text, true)), [text]);
|
|
75
|
+
return (_jsxs("div", { className: "overflow-hidden rounded-lg border border-border-muted bg-card", children: [title && (_jsx("header", { className: "border-b border-border-muted bg-muted-faint px-4 py-2.5", children: _jsx("span", { className: "block truncate text-sm font-semibold text-foreground", children: title }) })), _jsx("div", { className: "stgm-prose px-4 py-4", children: _jsx(Markdown, { remarkPlugins: REMARK_PLUGINS, components: PLAN_DOCUMENT_MARKDOWN_COMPONENTS, children: body }) })] }));
|
|
76
|
+
}
|
|
77
|
+
function PlanEditorSkeleton() {
|
|
78
|
+
return (_jsxs("div", { className: "space-y-2 py-2", "aria-hidden": "true", children: [_jsx("div", { className: "h-8 w-full animate-pulse rounded-md bg-muted" }), _jsx("div", { className: "h-4 w-2/3 animate-pulse rounded bg-muted" }), _jsx("div", { className: "h-4 w-full animate-pulse rounded bg-muted" }), _jsx("div", { className: "h-4 w-5/6 animate-pulse rounded bg-muted" })] }));
|
|
79
|
+
}
|
|
80
|
+
function ViewTab({ active, onClick, label, disabled, title, }) {
|
|
81
|
+
return (_jsx("button", { type: "button", role: "tab", "aria-selected": active, onClick: onClick, disabled: disabled, title: title, className: cn("rounded px-2 py-0.5 text-[0.65rem] font-medium transition-colors", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", active
|
|
82
|
+
? "bg-card text-foreground shadow-sm"
|
|
83
|
+
: "text-muted-foreground hover:text-foreground", "disabled:pointer-events-none disabled:opacity-50"), children: label }));
|
|
84
|
+
}
|
|
85
|
+
function ImplementIcon() {
|
|
86
|
+
return (_jsx("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: _jsx("path", { d: "M2 6h8M7 3l3 3-3 3" }) }));
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=PlanEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlanEditor.js","sourceRoot":"","sources":["../../src/session/PlanEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/** Props for {@link PlanStreamingDocument}. */
|
|
2
|
+
export interface PlanStreamingDocumentProps {
|
|
3
|
+
/**
|
|
4
|
+
* The live plan text, already fence-stripped by `findStreamingPlan`
|
|
5
|
+
* (`StreamingPlan.displayText`). Grows on every stream commit.
|
|
6
|
+
*/
|
|
7
|
+
readonly displayText: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* The plan document tab's LIVE view: renders the plan as it streams, before
|
|
11
|
+
* any artifact exists. The streaming counterpart of {@link PlanEditor} — same
|
|
12
|
+
* centered document column, same header-lifted title, same plan-document
|
|
13
|
+
* typography — so the moment the turn completes and the artifact-backed
|
|
14
|
+
* editor takes over, the document simply stops moving rather than changing
|
|
15
|
+
* shape.
|
|
16
|
+
*
|
|
17
|
+
* Deliberately capability-free: no view tabs, no Edit, no Build — a plan in
|
|
18
|
+
* flight cannot be edited or implemented, and offering dead controls would
|
|
19
|
+
* misstate the turn's state. A "Writing…" status pill stands where the
|
|
20
|
+
* editor's toolbar will appear.
|
|
21
|
+
*
|
|
22
|
+
* Rendering goes through `Streamdown` (the same streaming-aware renderer the
|
|
23
|
+
* thread's `AiMessage` uses: block-level memoization, incomplete-syntax
|
|
24
|
+
* healing, animated caret) rather than `PlanEditor`'s static markdown — this
|
|
25
|
+
* component re-renders on every stream commit by design.
|
|
26
|
+
*
|
|
27
|
+
* All visual properties flow through `--stgm-*` tokens.
|
|
28
|
+
*/
|
|
29
|
+
export declare function PlanStreamingDocument({ displayText, }: PlanStreamingDocumentProps): import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
//# sourceMappingURL=PlanStreamingDocument.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlanStreamingDocument.d.ts","sourceRoot":"","sources":["../../src/session/PlanStreamingDocument.tsx"],"names":[],"mappings":"AASA,+CAA+C;AAC/C,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,WAAW,GACZ,EAAE,0BAA0B,2CA2C5B"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useMemo } from "react";
|
|
4
|
+
import { Streamdown } from "streamdown";
|
|
5
|
+
import { PLAN_DOCUMENT_MARKDOWN_COMPONENTS, extractLeadingH1, } from "../internal/markdown-components.js";
|
|
6
|
+
/**
|
|
7
|
+
* The plan document tab's LIVE view: renders the plan as it streams, before
|
|
8
|
+
* any artifact exists. The streaming counterpart of {@link PlanEditor} — same
|
|
9
|
+
* centered document column, same header-lifted title, same plan-document
|
|
10
|
+
* typography — so the moment the turn completes and the artifact-backed
|
|
11
|
+
* editor takes over, the document simply stops moving rather than changing
|
|
12
|
+
* shape.
|
|
13
|
+
*
|
|
14
|
+
* Deliberately capability-free: no view tabs, no Edit, no Build — a plan in
|
|
15
|
+
* flight cannot be edited or implemented, and offering dead controls would
|
|
16
|
+
* misstate the turn's state. A "Writing…" status pill stands where the
|
|
17
|
+
* editor's toolbar will appear.
|
|
18
|
+
*
|
|
19
|
+
* Rendering goes through `Streamdown` (the same streaming-aware renderer the
|
|
20
|
+
* thread's `AiMessage` uses: block-level memoization, incomplete-syntax
|
|
21
|
+
* healing, animated caret) rather than `PlanEditor`'s static markdown — this
|
|
22
|
+
* component re-renders on every stream commit by design.
|
|
23
|
+
*
|
|
24
|
+
* All visual properties flow through `--stgm-*` tokens.
|
|
25
|
+
*/
|
|
26
|
+
export function PlanStreamingDocument({ displayText, }) {
|
|
27
|
+
const { title, body } = useMemo(() => extractLeadingH1(displayText), [displayText]);
|
|
28
|
+
return (_jsxs("div", { role: "article", "aria-label": "Plan document", "aria-busy": "true", className: "mx-auto flex w-full max-w-3xl flex-col gap-3 px-4 py-3", children: [_jsx("div", { className: "flex min-w-0 flex-wrap items-center gap-2", children: _jsxs("span", { role: "status", className: "inline-flex items-center gap-1.5 rounded-md bg-muted px-2 py-0.5 text-[0.65rem] font-medium text-muted-foreground", children: [_jsx(WritingDot, {}), "Writing\u2026"] }) }), _jsxs("div", { className: "overflow-hidden rounded-lg border border-border-muted bg-card", children: [title && (_jsx("header", { className: "border-b border-border-muted bg-muted-faint px-4 py-2.5", children: _jsx("span", { className: "block truncate text-sm font-semibold text-foreground", children: title }) })), _jsx("div", { className: "stgm-prose px-4 py-4", children: _jsx(Streamdown, { components: PLAN_DOCUMENT_MARKDOWN_COMPONENTS, isAnimating: true, caret: "block", children: body }) })] })] }));
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The pill's pulsing dot — a CSS animation inside `.stgm`, covered by the
|
|
32
|
+
* stylesheet's global `prefers-reduced-motion` rule (DD-015).
|
|
33
|
+
*/
|
|
34
|
+
function WritingDot() {
|
|
35
|
+
return (_jsx("span", { "aria-hidden": "true", className: "size-1.5 animate-pulse rounded-full bg-primary" }));
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=PlanStreamingDocument.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlanStreamingDocument.js","sourceRoot":"","sources":["../../src/session/PlanStreamingDocument.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EACL,iCAAiC,EACjC,gBAAgB,GACjB,MAAM,oCAAoC,CAAC;AAW5C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,qBAAqB,CAAC,EACpC,WAAW,GACgB;IAC3B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAC7B,GAAG,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACnC,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,OAAO,CACL,eACE,IAAI,EAAC,SAAS,gBACH,eAAe,eAChB,MAAM,EAChB,SAAS,EAAC,wDAAwD,aAElE,cAAK,SAAS,EAAC,2CAA2C,YACxD,gBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,mHAAmH,aAE7H,KAAC,UAAU,KAAG,qBAET,GACH,EAEN,eAAK,SAAS,EAAC,+DAA+D,aAC3E,KAAK,IAAI,CACR,iBAAQ,SAAS,EAAC,yDAAyD,YACzE,eAAM,SAAS,EAAC,sDAAsD,YACnE,KAAK,GACD,GACA,CACV,EACD,cAAK,SAAS,EAAC,sBAAsB,YACnC,KAAC,UAAU,IACT,UAAU,EAAE,iCAAiC,EAC7C,WAAW,QACX,KAAK,EAAC,OAAO,YAEZ,IAAI,GACM,GACT,IACF,IACF,CACP,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU;IACjB,OAAO,CACL,8BACc,MAAM,EAClB,SAAS,EAAC,gDAAgD,GAC1D,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/** Props for {@link SessionPanelChip}. */
|
|
2
|
+
export interface SessionPanelChipProps {
|
|
3
|
+
/** Whether the panel is currently expanded. */
|
|
4
|
+
readonly isOpen: boolean;
|
|
5
|
+
/** Toggles the panel open/collapsed. */
|
|
6
|
+
readonly onToggle: () => void;
|
|
7
|
+
/**
|
|
8
|
+
* Aggregate count of facet items (write-backs + artifacts) awaiting the
|
|
9
|
+
* user. Rendered as a dot-count while collapsed — the panel's only "something
|
|
10
|
+
* arrived" signal, since arrivals never auto-open the panel.
|
|
11
|
+
*/
|
|
12
|
+
readonly badgeCount?: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* The always-mounted top-right toggle for the unified session panel — the
|
|
16
|
+
* Cursor "Show panel" chip. Collapsed, it carries the pending-item count;
|
|
17
|
+
* open, it is the hide affordance. Being a small leaf, it is also the one
|
|
18
|
+
* place that may safely carry per-arrival re-renders while the panel subtree
|
|
19
|
+
* is unmounted. Execution status deliberately does not surface here (or
|
|
20
|
+
* anywhere else in the viewer chrome) — the thread itself communicates run
|
|
21
|
+
* state.
|
|
22
|
+
*
|
|
23
|
+
* All visual properties flow through `--stgm-*` tokens (DD-005).
|
|
24
|
+
*/
|
|
25
|
+
export declare function SessionPanelChip({ isOpen, onToggle, badgeCount, }: SessionPanelChipProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
//# sourceMappingURL=SessionPanelChip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionPanelChip.d.ts","sourceRoot":"","sources":["../../src/session/SessionPanelChip.tsx"],"names":[],"mappings":"AAKA,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB;IACpC,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,wCAAwC;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,QAAQ,EACR,UAAU,GACX,EAAE,qBAAqB,2CA0CvB"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useRef } from "react";
|
|
4
|
+
import { cn } from "@stigmer/theme";
|
|
5
|
+
/**
|
|
6
|
+
* The always-mounted top-right toggle for the unified session panel — the
|
|
7
|
+
* Cursor "Show panel" chip. Collapsed, it carries the pending-item count;
|
|
8
|
+
* open, it is the hide affordance. Being a small leaf, it is also the one
|
|
9
|
+
* place that may safely carry per-arrival re-renders while the panel subtree
|
|
10
|
+
* is unmounted. Execution status deliberately does not surface here (or
|
|
11
|
+
* anywhere else in the viewer chrome) — the thread itself communicates run
|
|
12
|
+
* state.
|
|
13
|
+
*
|
|
14
|
+
* All visual properties flow through `--stgm-*` tokens (DD-005).
|
|
15
|
+
*/
|
|
16
|
+
export function SessionPanelChip({ isOpen, onToggle, badgeCount, }) {
|
|
17
|
+
const showCount = !isOpen && badgeCount != null && badgeCount > 0;
|
|
18
|
+
// Focus restoration: collapsing unmounts the panel subtree, so keyboard
|
|
19
|
+
// focus that lived inside it (rail, tabs, viewer) falls to <body>. Reclaim
|
|
20
|
+
// it here — the chip is the collapse's logical origin. Focus resting
|
|
21
|
+
// anywhere else (e.g. the composer) is respected. Opening deliberately does
|
|
22
|
+
// NOT move focus: the chip is a standard disclosure trigger.
|
|
23
|
+
const buttonRef = useRef(null);
|
|
24
|
+
const prevOpenRef = useRef(isOpen);
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
if (prevOpenRef.current && !isOpen && document.activeElement === document.body) {
|
|
27
|
+
buttonRef.current?.focus();
|
|
28
|
+
}
|
|
29
|
+
prevOpenRef.current = isOpen;
|
|
30
|
+
}, [isOpen]);
|
|
31
|
+
return (_jsxs("button", { ref: buttonRef, type: "button", onClick: onToggle, "aria-expanded": isOpen, "aria-label": isOpen ? "Hide panel" : "Show panel", title: isOpen ? "Hide panel" : "Show panel", className: cn("flex items-center gap-1.5 rounded-md border border-border bg-card px-1.5 py-1", "text-muted-foreground transition-colors hover:bg-muted hover:text-foreground", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"), children: [showCount && (_jsx("span", { "aria-label": `${badgeCount} new items`, className: "inline-flex min-w-[1rem] items-center justify-center rounded-full bg-primary px-1 py-px text-[10px] font-medium leading-none text-primary-foreground", children: badgeCount })), _jsx(PanelIcon, { open: isOpen })] }));
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Panel-layout glyph: a frame with its right region filled while the panel is
|
|
35
|
+
* open, hollow while collapsed — mirroring the state it toggles to at a glance.
|
|
36
|
+
*/
|
|
37
|
+
function PanelIcon({ open }) {
|
|
38
|
+
return (_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.3", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [_jsx("rect", { x: "1.5", y: "2.5", width: "13", height: "11", rx: "1.5" }), _jsx("path", { d: "M9.5 2.5v11" }), open && (_jsx("rect", { x: "9.5", y: "2.5", width: "5", height: "11", rx: "1.5", fill: "currentColor", stroke: "none" }))] }));
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=SessionPanelChip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionPanelChip.js","sourceRoot":"","sources":["../../src/session/SessionPanelChip.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAgBpC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAC/B,MAAM,EACN,QAAQ,EACR,UAAU,GACY;IACtB,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,GAAG,CAAC,CAAC;IAElE,wEAAwE;IACxE,2EAA2E;IAC3E,qEAAqE;IACrE,4EAA4E;IAC5E,6DAA6D;IAC7D,MAAM,SAAS,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACnC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC/E,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC7B,CAAC;QACD,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC;IAC/B,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,CACL,kBACE,GAAG,EAAE,SAAS,EACd,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,QAAQ,mBACF,MAAM,gBACT,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAChD,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAC3C,SAAS,EAAE,EAAE,CACX,+EAA+E,EAC/E,8EAA8E,EAC9E,yEAAyE,CAC1E,aAEA,SAAS,IAAI,CACZ,6BACc,GAAG,UAAU,YAAY,EACrC,SAAS,EAAC,sJAAsJ,YAE/J,UAAU,GACN,CACR,EACD,KAAC,SAAS,IAAC,IAAI,EAAE,MAAM,GAAI,IACpB,CACV,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,EAAE,IAAI,EAA8B;IACrD,OAAO,CACL,eACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,iBACV,MAAM,aAElB,eAAM,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,KAAK,GAAG,EACxD,eAAM,CAAC,EAAC,aAAa,GAAG,EACvB,IAAI,IAAI,CACP,eAAM,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,KAAK,EAAC,IAAI,EAAC,cAAc,EAAC,MAAM,EAAC,MAAM,GAAG,CAC1F,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
2
|
import type { UseGitHubConnectionReturn } from "../github/useGitHubConnection.js";
|
|
3
3
|
import type { WorkspaceFileLister } from "../workspace/WorkspaceFileLister.js";
|
|
4
|
+
import type { WorkspaceFileReader } from "../workspace/WorkspaceFileReader.js";
|
|
5
|
+
import type { WorkspaceContentSearcher } from "../workspace/WorkspaceContentSearcher.js";
|
|
4
6
|
import type { ApplyResourceResult } from "../library/useApplyResource.js";
|
|
5
7
|
import type { RuntimeEnvProvider } from "./runtime-env.js";
|
|
6
8
|
import type { SessionAudience } from "./audience.js";
|
|
@@ -45,6 +47,21 @@ export interface SessionViewerProps {
|
|
|
45
47
|
* expandable file tree. (DD-004 capability injection, DD-011 opt-in.)
|
|
46
48
|
*/
|
|
47
49
|
readonly workspaceFileLister?: WorkspaceFileLister;
|
|
50
|
+
/**
|
|
51
|
+
* Platform-injected content reader for the read-only file viewer. When
|
|
52
|
+
* provided, clicking a file in the Workspace tree opens it in a contextual
|
|
53
|
+
* "Viewer" tab. GitHub Contents/blob on web, Tauri fs on desktop; `undefined`
|
|
54
|
+
* degrades the viewer to an "unavailable here" state (DD-004, DD-011 opt-in).
|
|
55
|
+
*/
|
|
56
|
+
readonly workspaceFileReader?: WorkspaceFileReader;
|
|
57
|
+
/**
|
|
58
|
+
* Platform-injected content (text) searcher. When provided, the session
|
|
59
|
+
* panel's Search pane gains a `Name | Text` toggle for full-text search
|
|
60
|
+
* across the workspace. Desktop injects a native ripgrep-backed searcher;
|
|
61
|
+
* web leaves it undefined (git content search needs a branch-accurate
|
|
62
|
+
* backend — DD-09), keeping Search filename-only there (DD-004, DD-011 opt-in).
|
|
63
|
+
*/
|
|
64
|
+
readonly workspaceContentSearcher?: WorkspaceContentSearcher;
|
|
48
65
|
/**
|
|
49
66
|
* Supplies host-app environment variables for every follow-up
|
|
50
67
|
* execution (e.g. short-lived credentials for MCP tools, minted as
|
|
@@ -67,11 +84,18 @@ export interface SessionViewerProps {
|
|
|
67
84
|
*/
|
|
68
85
|
readonly audience?: SessionAudience;
|
|
69
86
|
/**
|
|
70
|
-
* Slot for host-injected header actions
|
|
71
|
-
*
|
|
72
|
-
*
|
|
87
|
+
* Slot for host-injected header actions. Rendered in the top-right corner
|
|
88
|
+
* of the viewer, beside the panel chip. Keeps the SDK organism
|
|
89
|
+
* unopinionated about Console auth (DD-004).
|
|
73
90
|
*/
|
|
74
91
|
readonly headerActions?: ReactNode;
|
|
92
|
+
/**
|
|
93
|
+
* Host-injected access management control (e.g. the Console's
|
|
94
|
+
* `ManageAccessButton` with its own permission gating). Rendered inside
|
|
95
|
+
* the panel's Config facet rather than the header — access is session
|
|
96
|
+
* configuration, not a moment-to-moment action (DD-004 slot injection).
|
|
97
|
+
*/
|
|
98
|
+
readonly accessSlot?: ReactNode;
|
|
75
99
|
/** Called after a resource is applied from the Artifacts tab. */
|
|
76
100
|
readonly onApplied?: (result: ApplyResourceResult) => void;
|
|
77
101
|
/** Additional CSS classes for the root container. */
|
|
@@ -84,10 +108,13 @@ export interface SessionViewerProps {
|
|
|
84
108
|
* Owns `useSessionPageFlow` internally and composes:
|
|
85
109
|
* - **Conversation column** (primary): `MessageThread` + error
|
|
86
110
|
* banners + `SessionComposer`
|
|
87
|
-
* - **
|
|
88
|
-
*
|
|
111
|
+
* - **Session panel** (secondary): the unified `WorkspaceSurface` — explorer,
|
|
112
|
+
* search, read-only editor, and the session facets (Config, Changes,
|
|
113
|
+
* Artifacts, Usage, Inspect) as injected rail views. Collapsed by default
|
|
114
|
+
* to a top-right chip; opening a file (tree, search, or a transcript path)
|
|
115
|
+
* expands it.
|
|
89
116
|
*
|
|
90
|
-
* Connected via `ResizableSplit` with persisted width.
|
|
117
|
+
* Connected via `ResizableSplit` with persisted chat width.
|
|
91
118
|
*
|
|
92
119
|
* Thread selection is provided via `ThreadSelectionContext` (Phase 2
|
|
93
120
|
* opt-in) for render-isolated per-item selection.
|
|
@@ -116,5 +143,5 @@ export interface SessionViewerProps {
|
|
|
116
143
|
* />
|
|
117
144
|
* ```
|
|
118
145
|
*/
|
|
119
|
-
export declare function SessionViewer({ sessionId, org, gitHubConnection, enableGitHub, enableLocal, onBrowseLocalFolder, workspaceFileLister, getRuntimeEnv, audience, headerActions, onApplied, className, }: SessionViewerProps): import("react/jsx-runtime").JSX.Element;
|
|
146
|
+
export declare function SessionViewer({ sessionId, org, gitHubConnection, enableGitHub, enableLocal, onBrowseLocalFolder, workspaceFileLister, workspaceFileReader, workspaceContentSearcher, getRuntimeEnv, audience, headerActions, accessSlot, onApplied, className, }: SessionViewerProps): import("react/jsx-runtime").JSX.Element;
|
|
120
147
|
//# sourceMappingURL=SessionViewer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionViewer.d.ts","sourceRoot":"","sources":["../../src/session/SessionViewer.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"SessionViewer.d.ts","sourceRoot":"","sources":["../../src/session/SessionViewer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA2D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQhG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAOzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAoC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AA2ErD,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,yBAAyB;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IACtD;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5D;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IACnD;;;;;OAKG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IACnD;;;;;;OAMG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IAC7D;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC;IAC5C;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IAChC,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC3D,qDAAqD;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,GAAG,EACH,gBAAgB,EAChB,YAAmB,EACnB,WAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,aAAa,EACb,QAAuB,EACvB,aAAa,EACb,UAAU,EACV,SAAS,EACT,SAAS,GACV,EAAE,kBAAkB,2CAkSpB"}
|