@hachej/boring-workspace 0.1.71 → 0.1.73
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/dist/{FileTree-B_fRS4Om.js → FileTree-C8JPlZtS.js} +1 -1
- package/dist/{MarkdownEditor-C55gVDyW.js → MarkdownEditor-B9wN6tGH.js} +14 -14
- package/dist/{WorkspaceLoadingState-D3i4X-eH.js → WorkspaceLoadingState-TgOWTNJC.js} +350 -203
- package/dist/{WorkspaceProvider-Ddx7GByq.js → WorkspaceProvider-DcOiZU24.js} +9 -9
- package/dist/app-front.d.ts +2 -883
- package/dist/app-front.js +1049 -1033
- package/dist/app-server.d.ts +4 -4
- package/dist/bridge-client.d.ts +2 -2
- package/dist/charts.d.ts +2 -119
- package/dist/plugin.d.ts +3 -3
- package/dist/{runtimeEnv-CU-c4kaV.d.ts → runtimeEnv-DKtVLBXo.d.ts} +2 -2
- package/dist/server.d.ts +6 -6
- package/dist/shared.d.ts +3 -3
- package/dist/src/__tests__/WorkspaceProvider.test.d.ts +1 -0
- package/dist/src/__tests__/exploration.property.test.d.ts +1 -0
- package/dist/src/__tests__/plugin-integration.test.d.ts +1 -0
- package/dist/src/__tests__/public-api.test.d.ts +1 -0
- package/dist/src/__tests__/publicFileStateApi.test.d.ts +1 -0
- package/dist/src/__tests__/theme-system.test.d.ts +1 -0
- package/dist/src/app/front/CloseLeftPaneOnAttention.d.ts +10 -0
- package/dist/src/app/front/PluginAppLeftHost.d.ts +18 -0
- package/dist/src/app/front/WorkspaceAgentFront.d.ts +174 -0
- package/dist/src/app/front/WorkspaceAgentStatusStates.d.ts +5 -0
- package/dist/src/app/front/WorkspaceBackgroundBoot.d.ts +10 -0
- package/dist/src/app/front/WorkspaceBootGate.d.ts +12 -0
- package/dist/src/app/front/WorkspaceFullPagePanel.d.ts +5 -0
- package/dist/src/app/front/WorkspaceShellCapabilitiesHost.d.ts +20 -0
- package/dist/src/app/front/WorkspaceUiStateSync.d.ts +9 -0
- package/dist/src/app/front/__tests__/WorkspaceAgentFront.test.d.ts +1 -0
- package/dist/src/app/front/__tests__/WorkspaceBackgroundBoot.test.d.ts +1 -0
- package/dist/src/app/front/__tests__/WorkspaceBootGate.test.d.ts +1 -0
- package/dist/src/app/front/__tests__/WorkspaceFullPagePanel.test.d.ts +1 -0
- package/dist/src/app/front/__tests__/chatPaneState.property.test.d.ts +1 -0
- package/dist/src/app/front/__tests__/useWorkspaceShellCapabilitiesController.test.d.ts +1 -0
- package/dist/src/app/front/__tests__/workspacePreload.test.d.ts +1 -0
- package/dist/src/app/front/chatPaneState.d.ts +8 -0
- package/dist/src/app/front/fullPageRoute.d.ts +10 -0
- package/dist/src/app/front/fullPageRouteErrors.d.ts +7 -0
- package/dist/src/app/front/index.d.ts +8 -0
- package/dist/src/app/front/localStorageSessions.d.ts +18 -0
- package/dist/src/app/front/useWorkspaceShellCapabilitiesController.d.ts +8 -0
- package/dist/src/app/front/workspaceBuiltinPlugins.d.ts +6 -0
- package/dist/src/app/front/workspacePreload.d.ts +64 -0
- package/dist/src/bridge-client/__tests__/client.test.d.ts +1 -0
- package/dist/src/bridge-client/index.d.ts +65 -0
- package/dist/src/front/agentPlugins/__tests__/registerAgentPlugin.test.d.ts +1 -0
- package/dist/src/front/agentPlugins/registerAgentPlugin.d.ts +26 -0
- package/dist/src/front/agentPlugins/reloadEvent.d.ts +7 -0
- package/dist/src/front/attention/WorkspaceAttentionProvider.d.ts +71 -0
- package/dist/src/front/attention/__tests__/WorkspaceAttentionProvider.test.d.ts +1 -0
- package/dist/src/front/attention/index.d.ts +2 -0
- package/dist/src/front/bridge/WorkspaceLink.d.ts +35 -0
- package/dist/src/front/bridge/__tests__/WorkspaceLink.test.d.ts +1 -0
- package/dist/src/front/bridge/__tests__/bridge.property.test.d.ts +1 -0
- package/dist/src/front/bridge/__tests__/bridge.test.d.ts +1 -0
- package/dist/src/front/bridge/__tests__/client.test.d.ts +1 -0
- package/dist/src/front/bridge/__tests__/uiCommandDispatcher.test.d.ts +1 -0
- package/dist/src/front/bridge/__tests__/uiCommandStream.test.d.ts +1 -0
- package/dist/src/front/bridge/client.d.ts +33 -0
- package/dist/src/front/bridge/createBridge.d.ts +8 -0
- package/dist/src/front/bridge/index.d.ts +12 -0
- package/dist/src/front/bridge/types.d.ts +92 -0
- package/dist/src/front/bridge/uiCommandBus.d.ts +3 -0
- package/dist/src/front/bridge/uiCommandDispatcher.d.ts +44 -0
- package/dist/src/front/bridge/uiCommandStream.d.ts +41 -0
- package/dist/src/front/bridge/validation.d.ts +66 -0
- package/dist/src/front/charts/__tests__/charts.test.d.ts +1 -0
- package/dist/src/front/charts/index.d.ts +92 -0
- package/dist/src/front/chrome/artifact-surface/ArtifactSurfacePane.d.ts +18 -0
- package/dist/src/front/chrome/artifact-surface/SurfaceShell.d.ts +84 -0
- package/dist/src/front/chrome/artifact-surface/__tests__/ArtifactSurfacePane.persistence.test.d.ts +1 -0
- package/dist/src/front/chrome/artifact-surface/__tests__/ArtifactSurfacePane.test.d.ts +1 -0
- package/dist/src/front/chrome/artifact-surface/__tests__/SurfaceShell.test.d.ts +1 -0
- package/dist/src/front/chrome/artifact-surface/__tests__/resolvePanelForPath.test.d.ts +1 -0
- package/dist/src/front/chrome/artifact-surface/definition.d.ts +12 -0
- package/dist/src/front/chrome/artifact-surface/surfaceShellHelpers.d.ts +10 -0
- package/dist/src/front/chrome/chat/ChatPanelHost.d.ts +16 -0
- package/dist/src/front/chrome/chat/DetachedChatPopover.d.ts +11 -0
- package/dist/src/front/chrome/chat/__tests__/ChatPanelHost.test.d.ts +1 -0
- package/dist/src/front/chrome/chat/composerStop.d.ts +19 -0
- package/dist/src/front/chrome/chat/definition.d.ts +16 -0
- package/dist/src/front/chrome/chat/types.d.ts +30 -0
- package/dist/src/front/chrome/empty-pane/EmptyPane.d.ts +5 -0
- package/dist/src/front/chrome/empty-pane/__tests__/EmptyPane.test.d.ts +1 -0
- package/dist/src/front/chrome/management/ManagementOverlaySurface.d.ts +16 -0
- package/dist/src/front/chrome/plugins/PluginsOverlay.d.ts +16 -0
- package/dist/src/front/chrome/session-list/SessionBrowser.d.ts +20 -0
- package/dist/src/front/chrome/session-list/__tests__/SessionBrowser.test.d.ts +1 -0
- package/dist/src/front/chrome/session-list/definition.d.ts +28 -0
- package/dist/src/front/chrome/skills/SkillsPage.d.ts +11 -0
- package/dist/src/front/chrome/skills/definition.d.ts +3 -0
- package/dist/src/front/chrome/workbench-left/WorkbenchLeftPane.d.ts +28 -0
- package/dist/src/front/chrome/workbench-left/__tests__/WorkbenchLeftPane.test.d.ts +1 -0
- package/dist/src/front/chrome/workbench-left/definition.d.ts +12 -0
- package/dist/src/front/chrome/workbench-left/useWorkspaceLeftPaneActions.d.ts +48 -0
- package/dist/src/front/components/CommandPalette.d.ts +21 -0
- package/dist/src/front/components/ControlTooltip.d.ts +12 -0
- package/dist/src/front/components/ErrorChip.d.ts +6 -0
- package/dist/src/front/components/PanelErrorBoundary.d.ts +22 -0
- package/dist/src/front/components/SessionList.d.ts +15 -0
- package/dist/src/front/components/WorkspaceLoadingState.d.ts +8 -0
- package/dist/src/front/components/__tests__/CommandPalette.test.d.ts +1 -0
- package/dist/src/front/components/__tests__/PanelErrorBoundary.test.d.ts +1 -0
- package/dist/src/front/components/__tests__/SessionList.test.d.ts +1 -0
- package/dist/src/front/components/__tests__/WorkspaceLoadingState.test.d.ts +1 -0
- package/dist/src/front/components/commandPaletteHelpers.d.ts +16 -0
- package/dist/src/front/components/recent/__tests__/migrate.test.d.ts +1 -0
- package/dist/src/front/components/recent/__tests__/recentStore.test.d.ts +1 -0
- package/dist/src/front/components/recent/index.d.ts +2 -0
- package/dist/src/front/components/recent/recentStore.d.ts +9 -0
- package/dist/src/front/components/recent/types.d.ts +23 -0
- package/dist/src/front/components/useCommandPaletteCatalogSearch.d.ts +7 -0
- package/dist/src/front/components/useCommandPaletteChrome.d.ts +14 -0
- package/dist/src/front/components/useCommandPaletteSelection.d.ts +15 -0
- package/dist/src/front/detached/DetachedPanelPopover.d.ts +2 -0
- package/dist/src/front/detached/detachedPanelTypes.d.ts +21 -0
- package/dist/src/front/detached/useDetachedPanelPosition.d.ts +10 -0
- package/dist/src/front/dock/DockviewShell.d.ts +6 -0
- package/dist/src/front/dock/PanelChrome.d.ts +16 -0
- package/dist/src/front/dock/ShadcnTab.d.ts +2 -0
- package/dist/src/front/dock/__tests__/dock.test.d.ts +1 -0
- package/dist/src/front/dock/index.d.ts +3 -0
- package/dist/src/front/dock/types.d.ts +69 -0
- package/dist/src/front/events/__tests__/agentBridge.test.d.ts +1 -0
- package/dist/src/front/events/__tests__/bus.test.d.ts +1 -0
- package/dist/src/front/events/__tests__/types.test.d.ts +1 -0
- package/dist/src/front/events/__tests__/useEvent.test.d.ts +1 -0
- package/dist/src/front/events/agentBridge.d.ts +1 -0
- package/dist/src/front/events/bus.d.ts +21 -0
- package/dist/src/front/events/index.d.ts +7 -0
- package/dist/src/front/events/types.d.ts +137 -0
- package/dist/src/front/events/useEvent.d.ts +7 -0
- package/dist/src/front/fullPage.d.ts +24 -0
- package/dist/src/front/hooks/__tests__/useArtifactPanels.test.d.ts +1 -0
- package/dist/src/front/hooks/__tests__/useArtifactRouting.test.d.ts +1 -0
- package/dist/src/front/hooks/__tests__/useEditorLifecycle.test.d.ts +1 -0
- package/dist/src/front/hooks/__tests__/useKeyboardShortcuts.test.d.ts +1 -0
- package/dist/src/front/hooks/__tests__/useViewportBreakpoint.test.d.ts +1 -0
- package/dist/src/front/hooks/index.d.ts +6 -0
- package/dist/src/front/hooks/useArtifactPanels.d.ts +14 -0
- package/dist/src/front/hooks/useArtifactRouting.d.ts +12 -0
- package/dist/src/front/hooks/useEditorLifecycle.d.ts +27 -0
- package/dist/src/front/hooks/useKeyboardShortcuts.d.ts +13 -0
- package/dist/src/front/hooks/useResponsiveSidebarCollapse.d.ts +6 -0
- package/dist/src/front/hooks/useViewportBreakpoint.d.ts +1 -0
- package/dist/src/front/layout/ChatLayout.d.ts +4 -0
- package/dist/src/front/layout/ChatPaneStage.d.ts +59 -0
- package/dist/src/front/layout/ChatPaneStageDock.d.ts +5 -0
- package/dist/src/front/layout/IdeLayout.d.ts +4 -0
- package/dist/src/front/layout/ResponsiveDockviewShell.d.ts +6 -0
- package/dist/src/front/layout/ThemeToggle.d.ts +10 -0
- package/dist/src/front/layout/TopBar.d.ts +17 -0
- package/dist/src/front/layout/__tests__/ChatPaneStageDock.test.d.ts +1 -0
- package/dist/src/front/layout/__tests__/TopBar.test.d.ts +1 -0
- package/dist/src/front/layout/__tests__/presets.test.d.ts +1 -0
- package/dist/src/front/layout/cornerChrome.d.ts +10 -0
- package/dist/src/front/layout/index.d.ts +9 -0
- package/dist/src/front/layout/mobileShell.d.ts +18 -0
- package/dist/src/front/layout/paneCollapseButton.d.ts +15 -0
- package/dist/src/front/layout/plugin-tabs/AppLeftOverlayChromeContext.d.ts +1 -0
- package/dist/src/front/layout/plugin-tabs/AppLeftPane.d.ts +75 -0
- package/dist/src/front/layout/plugin-tabs/AppLeftPaneActions.d.ts +13 -0
- package/dist/src/front/layout/plugin-tabs/AppLeftPaneHeader.d.ts +7 -0
- package/dist/src/front/layout/plugin-tabs/AppLeftPaneProjects.d.ts +18 -0
- package/dist/src/front/layout/plugin-tabs/AppLeftPaneSections.d.ts +6 -0
- package/dist/src/front/layout/plugin-tabs/AppLeftPaneSessionRow.d.ts +18 -0
- package/dist/src/front/layout/plugin-tabs/PluginTabsWorkspaceShell.d.ts +15 -0
- package/dist/src/front/layout/plugin-tabs/__tests__/AppLeftPane.test.d.ts +1 -0
- package/dist/src/front/layout/types.d.ts +40 -0
- package/dist/src/front/layout/useViewportWidth.d.ts +1 -0
- package/dist/src/front/lib/utils.d.ts +2 -0
- package/dist/src/front/lib/utils.test.d.ts +1 -0
- package/dist/src/front/lib/validation.d.ts +189 -0
- package/dist/src/front/plugin/PluginErrorBoundary.d.ts +21 -0
- package/dist/src/front/plugin/PluginErrorContext.d.ts +19 -0
- package/dist/src/front/plugin/PluginInspector.d.ts +8 -0
- package/dist/src/front/plugin/__tests__/CatalogRegistry.test.d.ts +1 -0
- package/dist/src/front/plugin/__tests__/PluginErrorBoundary.test.d.ts +1 -0
- package/dist/src/front/plugin/__tests__/PluginInspector.test.d.ts +1 -0
- package/dist/src/front/plugin/__tests__/useWorkspacePluginClient.test.d.ts +1 -0
- package/dist/src/front/plugin/index.d.ts +10 -0
- package/dist/src/front/plugin/useActivePanels.d.ts +2 -0
- package/dist/src/front/plugin/useCatalogs.d.ts +2 -0
- package/dist/src/front/plugin/useCommands.d.ts +2 -0
- package/dist/src/front/plugin/useWorkspacePluginClient.d.ts +29 -0
- package/dist/src/front/provider/WorkspaceProvider.d.ts +84 -0
- package/dist/src/front/provider/index.d.ts +9 -0
- package/dist/src/front/provider/workspaceTitle.d.ts +5 -0
- package/dist/src/front/registry/PanelRegistry.d.ts +39 -0
- package/dist/src/front/registry/PanelRenderStatusBoundary.d.ts +38 -0
- package/dist/src/front/registry/RegistryProvider.d.ts +21 -0
- package/dist/src/front/registry/WorkspaceSourceRegistry.d.ts +25 -0
- package/dist/src/front/registry/__tests__/registry.test.d.ts +1 -0
- package/dist/src/front/registry/__tests__/replaceByPluginId.test.d.ts +1 -0
- package/dist/src/front/registry/__tests__/subscribe.test.d.ts +1 -0
- package/dist/src/front/registry/coreRegistrations.d.ts +2 -0
- package/dist/src/front/registry/getFileIcon.d.ts +2 -0
- package/dist/src/front/registry/index.d.ts +7 -0
- package/dist/src/front/registry/types.d.ts +2 -0
- package/dist/src/front/shell/WorkspaceShellCapabilitiesContext.d.ts +1 -0
- package/dist/src/front/store/__tests__/store.property.test.d.ts +1 -0
- package/dist/src/front/store/__tests__/store.test.d.ts +1 -0
- package/dist/src/front/store/index.d.ts +35 -0
- package/dist/src/front/store/localStorageValues.d.ts +4 -0
- package/dist/src/front/store/selectors.d.ts +21 -0
- package/dist/src/front/store/types.d.ts +53 -0
- package/dist/src/front/testing/TestWorkspaceProvider.d.ts +13 -0
- package/dist/src/front/testing/__tests__/testing.test.d.ts +1 -0
- package/dist/src/front/testing/createLocalStorageSessions.d.ts +16 -0
- package/dist/src/front/testing/createMockBridge.d.ts +20 -0
- package/dist/src/front/testing/createMockPaneProps.d.ts +11 -0
- package/dist/src/front/testing/createMockRegistry.d.ts +7 -0
- package/dist/src/front/testing/createMockSessions.d.ts +24 -0
- package/dist/src/front/testing/e2e.d.ts +61 -0
- package/dist/src/front/testing/index.d.ts +17 -0
- package/dist/src/front/testing/mockApi.d.ts +9 -0
- package/dist/src/front/testing/renderPane.d.ts +20 -0
- package/dist/src/front/theme/codemirror-theme.d.ts +4 -0
- package/dist/src/front/theme/index.d.ts +1 -0
- package/dist/src/front/toast/__tests__/toast.test.d.ts +1 -0
- package/dist/src/front/toast/index.d.ts +1 -0
- package/dist/src/index.d.ts +90 -0
- package/dist/src/plugin.d.ts +19 -0
- package/dist/src/plugins/filesystemPlugin/front/ConflictBanner.d.ts +14 -0
- package/dist/src/plugins/filesystemPlugin/front/FilePaneShell.d.ts +73 -0
- package/dist/src/plugins/filesystemPlugin/front/__tests__/agentFileBridge.test.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/__tests__/filePanelBinding.test.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/__tests__/filesystemPlugin.test.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/__tests__/search.test.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/__tests__/useFilePane.test.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/agentFileBridge.d.ts +12 -0
- package/dist/src/plugins/filesystemPlugin/front/catalogs.d.ts +9 -0
- package/dist/src/plugins/filesystemPlugin/front/code-editor/CodeEditor.d.ts +10 -0
- package/dist/src/plugins/filesystemPlugin/front/code-editor/CodeEditorPane.d.ts +8 -0
- package/dist/src/plugins/filesystemPlugin/front/code-editor/__tests__/CodeEditor.test.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/code-editor/__tests__/CodeEditorPane.test.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/data/DataProvider.d.ts +16 -0
- package/dist/src/plugins/filesystemPlugin/front/data/__tests__/fetchClient.integration.test.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/data/__tests__/fetchClient.test.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/data/__tests__/fileRecords.test.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/data/__tests__/hooks.test.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/data/__tests__/useFileEventInvalidation.test.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/data/__tests__/useFileEventStream.test.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/data/__tests__/useFileUpload.test.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/data/fetchClient.d.ts +63 -0
- package/dist/src/plugins/filesystemPlugin/front/data/fileRecords.d.ts +34 -0
- package/dist/src/plugins/filesystemPlugin/front/data/filesystemErrorRedaction.d.ts +2 -0
- package/dist/src/plugins/filesystemPlugin/front/data/hooks.d.ts +48 -0
- package/dist/src/plugins/filesystemPlugin/front/data/index.d.ts +9 -0
- package/dist/src/plugins/filesystemPlugin/front/data/treePreloadCache.d.ts +3 -0
- package/dist/src/plugins/filesystemPlugin/front/data/types.d.ts +37 -0
- package/dist/src/plugins/filesystemPlugin/front/data/useFileEventInvalidation.d.ts +28 -0
- package/dist/src/plugins/filesystemPlugin/front/data/useFileEventStream.d.ts +27 -0
- package/dist/src/plugins/filesystemPlugin/front/data/useFileUpload.d.ts +12 -0
- package/dist/src/plugins/filesystemPlugin/front/empty-file-panel/EmptyFilePanel.d.ts +6 -0
- package/dist/src/plugins/filesystemPlugin/front/empty-file-panel/definition.d.ts +8 -0
- package/dist/src/plugins/filesystemPlugin/front/events.d.ts +6 -0
- package/dist/src/plugins/filesystemPlugin/front/file-tree/FileTree.d.ts +59 -0
- package/dist/src/plugins/filesystemPlugin/front/file-tree/FileTreeView.d.ts +83 -0
- package/dist/src/plugins/filesystemPlugin/front/file-tree/__tests__/FileTree.test.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/file-tree/__tests__/FileTreePane.test.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/file-tree/__tests__/copyToClipboard.test.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/file-tree/clipboard.d.ts +6 -0
- package/dist/src/plugins/filesystemPlugin/front/file-tree/dndManager.d.ts +8 -0
- package/dist/src/plugins/filesystemPlugin/front/file-tree/treeModel.d.ts +20 -0
- package/dist/src/plugins/filesystemPlugin/front/filePanelBinding.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/html-viewer/HtmlViewer.d.ts +18 -0
- package/dist/src/plugins/filesystemPlugin/front/html-viewer/HtmlViewer.test.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/html-viewer/HtmlViewerPane.d.ts +7 -0
- package/dist/src/plugins/filesystemPlugin/front/index.d.ts +11 -0
- package/dist/src/plugins/filesystemPlugin/front/markdown-editor/MarkdownEditor.d.ts +44 -0
- package/dist/src/plugins/filesystemPlugin/front/markdown-editor/MarkdownEditorPane.d.ts +8 -0
- package/dist/src/plugins/filesystemPlugin/front/markdown-editor/ResizableImage.d.ts +10 -0
- package/dist/src/plugins/filesystemPlugin/front/markdown-editor/__tests__/MarkdownEditor.test.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/markdown-editor/__tests__/MarkdownEditorPane.test.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/media-viewer/MediaViewer.d.ts +9 -0
- package/dist/src/plugins/filesystemPlugin/front/media-viewer/MediaViewer.test.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/media-viewer/MediaViewerPane.d.ts +8 -0
- package/dist/src/plugins/filesystemPlugin/front/media-viewer/useMediaViewerReload.d.ts +8 -0
- package/dist/src/plugins/filesystemPlugin/front/media-viewer/useMediaViewerReload.test.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/search.d.ts +5 -0
- package/dist/src/plugins/filesystemPlugin/front/search.test.d.ts +1 -0
- package/dist/src/plugins/filesystemPlugin/front/surfaceResolver.d.ts +10 -0
- package/dist/src/plugins/filesystemPlugin/front/useFilePane.d.ts +61 -0
- package/dist/src/plugins/filesystemPlugin/shared/constants.d.ts +12 -0
- package/dist/src/plugins/filesystemPlugin/shared/events.d.ts +39 -0
- package/dist/src/shared/__tests__/filesystem.test.d.ts +1 -0
- package/dist/src/shared/__tests__/telemetry.test.d.ts +1 -0
- package/dist/src/shared/__tests__/workspaceBridgeRpc.test.d.ts +1 -0
- package/dist/src/shared/index.d.ts +25 -0
- package/dist/src/shared/plugins/CatalogRegistry.d.ts +28 -0
- package/dist/src/shared/plugins/CommandRegistry.d.ts +23 -0
- package/dist/src/shared/plugins/SurfaceResolverRegistry.d.ts +24 -0
- package/dist/src/shared/plugins/__tests__/bootstrap.test.d.ts +1 -0
- package/dist/src/shared/plugins/__tests__/frontFactory.test.d.ts +1 -0
- package/dist/src/shared/plugins/__tests__/manifest.test.d.ts +1 -0
- package/dist/src/shared/plugins/__tests__/uiBridgeRegistry.test.d.ts +1 -0
- package/dist/src/shared/plugins/appLeftOverlayChrome.d.ts +10 -0
- package/dist/src/shared/plugins/bootstrap.d.ts +41 -0
- package/dist/src/shared/plugins/errors.d.ts +5 -0
- package/dist/src/shared/plugins/frontFactory.d.ts +166 -0
- package/dist/src/shared/plugins/index.d.ts +5 -0
- package/dist/src/shared/plugins/manifest.d.ts +58 -0
- package/dist/src/shared/plugins/runtimePluginTypes.d.ts +51 -0
- package/dist/src/shared/plugins/types.d.ts +84 -0
- package/dist/src/shared/plugins/uiBridgeRegistry.d.ts +44 -0
- package/dist/src/shared/plugins/workspaceShellCapabilities.d.ts +44 -0
- package/dist/src/shared/telemetry.d.ts +11 -0
- package/dist/src/shared/types/agent-tool.d.ts +30 -0
- package/dist/src/shared/types/boring-core-front.d.ts +2 -0
- package/dist/src/shared/types/filesystem.d.ts +15 -0
- package/dist/src/shared/types/panel.d.ts +123 -0
- package/dist/src/shared/types/surface.d.ts +42 -0
- package/dist/src/shared/ui-bridge.d.ts +77 -0
- package/dist/src/shared/workspace-bridge-rpc.d.ts +122 -0
- package/dist/{surface-aLQ_Hryw.d.ts → surface-h6IgrsK5.d.ts} +1 -1
- package/dist/testing-e2e.d.ts +2 -73
- package/dist/testing.d.ts +2 -433
- package/dist/testing.js +11 -11
- package/dist/{ui-bridge-D2eO3epD.d.ts → ui-bridge-C4CyIrQA.d.ts} +1 -1
- package/dist/{workspace-bridge-rpc-A98RA5o6.d.ts → workspace-bridge-rpc-BHsOJMlW.d.ts} +1 -1
- package/dist/workspace.css +21 -0
- package/dist/workspace.d.ts +2 -2649
- package/dist/workspace.js +40 -40
- package/package.json +4 -4
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface ChatPaneDescriptor {
|
|
3
|
+
id: string;
|
|
4
|
+
title?: string | null;
|
|
5
|
+
panel?: string;
|
|
6
|
+
params?: Record<string, unknown>;
|
|
7
|
+
}
|
|
8
|
+
export interface ChatPaneStageProps {
|
|
9
|
+
panes: ChatPaneDescriptor[];
|
|
10
|
+
activePaneId?: string | null;
|
|
11
|
+
renderPane: (pane: ChatPaneDescriptor) => ReactNode;
|
|
12
|
+
/** Optional host actions rendered in the active chat pane header. */
|
|
13
|
+
topActions?: ReactNode;
|
|
14
|
+
onActivePaneChange?: (id: string) => void;
|
|
15
|
+
onClosePane?: (id: string) => void;
|
|
16
|
+
/**
|
|
17
|
+
* Pane to flash with a brief highlight ring — feedback when an action
|
|
18
|
+
* targets a pane that is already visible (e.g. "open as pane" on an open
|
|
19
|
+
* session). The parent clears it after a beat; the fade-out is CSS.
|
|
20
|
+
*/
|
|
21
|
+
flashPaneId?: string | null;
|
|
22
|
+
/**
|
|
23
|
+
* Persist the dockview layout (splits, sizes) under
|
|
24
|
+
* `${storageKey}:chatPaneLayout`.
|
|
25
|
+
*/
|
|
26
|
+
storageKey?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Called when a session is dropped onto the stage (drag a session-browser
|
|
29
|
+
* row in). The parent opens the session as a pane placed where it was
|
|
30
|
+
* dropped.
|
|
31
|
+
*/
|
|
32
|
+
onDropSession?: (sessionId: string) => void;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Chat pane stage: a dockview-backed surface where each open session is a
|
|
36
|
+
* pane. Drag flat pane headers to split in any direction, drag a session
|
|
37
|
+
* row in to open it at a drop position, resize — geometry persists per
|
|
38
|
+
* workspace.
|
|
39
|
+
*/
|
|
40
|
+
export declare function ChatPaneStage(props: ChatPaneStageProps): import("react").JSX.Element;
|
|
41
|
+
export declare function paneTitle(pane: {
|
|
42
|
+
title?: string | null;
|
|
43
|
+
}): string;
|
|
44
|
+
/**
|
|
45
|
+
* DataTransfer type for dragging a chat session (e.g. a session-browser row)
|
|
46
|
+
* into the chat stage. The payload is the session id.
|
|
47
|
+
*/
|
|
48
|
+
export declare const CHAT_SESSION_DRAG_TYPE = "application/x-boring-chat-session";
|
|
49
|
+
/**
|
|
50
|
+
* The pane focus treatment shared by both engines: the selected chat stays
|
|
51
|
+
* white while the others recede behind a faint grey wash — no border on the
|
|
52
|
+
* active pane, the background contrast alone marks the selection. Flash is a
|
|
53
|
+
* stronger transient ring for open-as-pane feedback.
|
|
54
|
+
*/
|
|
55
|
+
export declare function PaneFocusRing({ dimmed, flash }: {
|
|
56
|
+
active?: boolean;
|
|
57
|
+
dimmed: boolean;
|
|
58
|
+
flash: boolean;
|
|
59
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ChatPaneStageProps } from './ChatPaneStage';
|
|
2
|
+
type ChatPaneStageDockProps = ChatPaneStageProps;
|
|
3
|
+
/** Dockview-backed chat stage: drag pane headers to split in any direction. */
|
|
4
|
+
export declare function ChatPaneStageDock({ panes, activePaneId, renderPane, topActions, onActivePaneChange, onClosePane, flashPaneId, storageKey, onDropSession, }: ChatPaneStageDockProps): import("react").JSX.Element | null;
|
|
5
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { LayoutConfig } from '../dock';
|
|
2
|
+
export interface ResponsiveDockviewShellProps {
|
|
3
|
+
layout: LayoutConfig;
|
|
4
|
+
className?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function ResponsiveDockviewShell({ layout, className, }: ResponsiveDockviewShellProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Light/dark theme toggle for the workspace top bar.
|
|
3
|
+
*
|
|
4
|
+
* Reads/writes theme through the WorkspaceProvider store (persisted under the
|
|
5
|
+
* workspace preferences key). Tailwind's dark variant in the workspace
|
|
6
|
+
* `globals.css` keys off the `.dark` class on the document root, so we keep
|
|
7
|
+
* that class in sync with the active theme here. SSR-safe: the class sync runs
|
|
8
|
+
* inside an effect guarded by a `document` check.
|
|
9
|
+
*/
|
|
10
|
+
export declare function ThemeToggle(): import("react").JSX.Element;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface TopBarProps {
|
|
3
|
+
appTitle?: string;
|
|
4
|
+
sessionTitle?: string;
|
|
5
|
+
onCommandPalette?: () => void;
|
|
6
|
+
onNewChat?: () => void;
|
|
7
|
+
/** Override the brand/title block on the left. Hosts pass workspace
|
|
8
|
+
* switchers, breadcrumbs, etc. here. When set, the default
|
|
9
|
+
* `[B] appTitle / sessionTitle` block is replaced entirely. */
|
|
10
|
+
topBarLeft?: ReactNode;
|
|
11
|
+
/** Override the avatar on the right. The new-chat (+) button stays —
|
|
12
|
+
* it's session-mechanic, not host chrome. Hosts pass theme toggles,
|
|
13
|
+
* user menus, etc. here. */
|
|
14
|
+
topBarRight?: ReactNode;
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function TopBar({ appTitle, sessionTitle, onCommandPalette, onNewChat, topBarLeft, topBarRight, className, }: TopBarProps): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export declare function CornerChromeButton({ label, hint, side, onClick, pressed, pulse, children, }: {
|
|
3
|
+
label: string;
|
|
4
|
+
hint?: string;
|
|
5
|
+
side?: "top" | "bottom" | "left" | "right";
|
|
6
|
+
onClick: () => void;
|
|
7
|
+
pressed: boolean;
|
|
8
|
+
pulse?: boolean;
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { IdeLayout, buildIdeLayout } from './IdeLayout';
|
|
2
|
+
export { ChatLayout, buildChatLayout } from './ChatLayout';
|
|
3
|
+
export { TopBar } from './TopBar';
|
|
4
|
+
export { ThemeToggle } from './ThemeToggle';
|
|
5
|
+
/** Tier 2 entry: declarative LayoutConfig with stock responsive chrome. */
|
|
6
|
+
export { ResponsiveDockviewShell } from './ResponsiveDockviewShell';
|
|
7
|
+
export type { TopBarProps } from './TopBar';
|
|
8
|
+
export type { ResponsiveDockviewShellProps } from './ResponsiveDockviewShell';
|
|
9
|
+
export type { IdeLayoutProps, ChatLayoutProps } from './types';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { ChatPaneDescriptor } from './ChatPaneStage';
|
|
3
|
+
export declare function MobileSingleChatPane({ pane, totalPanes, topActions, onClosePane, renderPane, }: {
|
|
4
|
+
pane: ChatPaneDescriptor;
|
|
5
|
+
totalPanes: number;
|
|
6
|
+
topActions?: ReactNode;
|
|
7
|
+
onClosePane?: (id: string) => void;
|
|
8
|
+
renderPane: (pane: ChatPaneDescriptor) => ReactNode;
|
|
9
|
+
}): import("react").JSX.Element;
|
|
10
|
+
export declare function MobileChatBar({ canOpenNav, canOpenWorkspace, onOpenNav, onOpenWorkspace, }: {
|
|
11
|
+
canOpenNav: boolean;
|
|
12
|
+
canOpenWorkspace: boolean;
|
|
13
|
+
onOpenNav?: () => void;
|
|
14
|
+
onOpenWorkspace: () => void;
|
|
15
|
+
}): import("react").JSX.Element;
|
|
16
|
+
export declare function MobileWorkspaceBar({ onBack }: {
|
|
17
|
+
onBack: () => void;
|
|
18
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface PaneCollapseButtonProps {
|
|
3
|
+
label: string;
|
|
4
|
+
onClick: () => void;
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
side?: "top" | "right" | "bottom" | "left";
|
|
7
|
+
className?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Canonical chrome for left-pane collapse/expand controls.
|
|
11
|
+
*
|
|
12
|
+
* Rule: collapsed and expanded states keep the same button position, size,
|
|
13
|
+
* style, and icon family. The action changes; the chrome does not jump.
|
|
14
|
+
*/
|
|
15
|
+
export declare function PaneCollapseButton({ label, onClick, children, side, className, }: PaneCollapseButtonProps): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { AppLeftOverlayChromeProvider, useAppLeftOverlayChrome, type AppLeftOverlayChromeValue, } from '../../../shared/plugins/appLeftOverlayChrome';
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface AppLeftPaneSession {
|
|
3
|
+
id: string;
|
|
4
|
+
title?: string | null;
|
|
5
|
+
updatedAt?: string | number;
|
|
6
|
+
turnCount?: number;
|
|
7
|
+
}
|
|
8
|
+
export interface AppLeftPaneProjectSession {
|
|
9
|
+
id: string;
|
|
10
|
+
title?: string | null;
|
|
11
|
+
updatedAt?: string | number;
|
|
12
|
+
}
|
|
13
|
+
export interface AppLeftPaneProject {
|
|
14
|
+
id: string;
|
|
15
|
+
name: string;
|
|
16
|
+
available?: boolean;
|
|
17
|
+
sessionCount?: number;
|
|
18
|
+
/** Sessions needing attention (blocked / awaiting input); shown as the row badge. */
|
|
19
|
+
blockedCount?: number;
|
|
20
|
+
sessions?: AppLeftPaneProjectSession[];
|
|
21
|
+
hasMoreSessions?: boolean;
|
|
22
|
+
loadingSessions?: boolean;
|
|
23
|
+
}
|
|
24
|
+
export type AppLeftPaneLayoutMode = "single-project" | "multi-project";
|
|
25
|
+
export type AppLeftPaneHeaderMode = "full" | "workspace" | "hidden";
|
|
26
|
+
export interface AppLeftPaneAction {
|
|
27
|
+
id: string;
|
|
28
|
+
label: string;
|
|
29
|
+
icon: ReactNode;
|
|
30
|
+
onClick: () => void;
|
|
31
|
+
trailing?: ReactNode;
|
|
32
|
+
emphasis?: boolean;
|
|
33
|
+
active?: boolean;
|
|
34
|
+
}
|
|
35
|
+
export interface AppLeftPaneProps {
|
|
36
|
+
width?: number;
|
|
37
|
+
appTitle?: string;
|
|
38
|
+
workspaceLabel?: string;
|
|
39
|
+
workspaceSectionTitle?: string;
|
|
40
|
+
projects?: AppLeftPaneProject[];
|
|
41
|
+
activeProjectId?: string | null;
|
|
42
|
+
onOpenProjectSession?: (projectId: string, sessionId: string) => void;
|
|
43
|
+
onShowMoreProjectSessions?: (projectId: string) => void;
|
|
44
|
+
onCreateProject?: () => void;
|
|
45
|
+
/** Start a new chat inside a specific project (multi-project tree row "+"). */
|
|
46
|
+
onCreateProjectSession?: (projectId: string) => void;
|
|
47
|
+
/** Open a project's workspace settings (rename / runtime / deletion). */
|
|
48
|
+
onOpenProjectSettings?: (projectId: string) => void;
|
|
49
|
+
/** Open a project in a new browser tab. */
|
|
50
|
+
onOpenProjectInNewTab?: (projectId: string) => void;
|
|
51
|
+
sessionTitle?: string;
|
|
52
|
+
topSlot?: ReactNode;
|
|
53
|
+
bottomSlot?: ReactNode;
|
|
54
|
+
/** full: brand + workspace, workspace: workspace picker only, hidden: reserve collapse clearance only. */
|
|
55
|
+
headerMode?: AppLeftPaneHeaderMode;
|
|
56
|
+
sessions: AppLeftPaneSession[];
|
|
57
|
+
activeSessionId?: string | null;
|
|
58
|
+
openSessionIds: readonly string[];
|
|
59
|
+
pinnedSessionIds: readonly string[];
|
|
60
|
+
onCreateSession: () => void;
|
|
61
|
+
onOpenCommandPalette: () => void;
|
|
62
|
+
onSwitchSession: (id: string) => void;
|
|
63
|
+
onOpenSessionAsPane: (id: string) => void;
|
|
64
|
+
onToggleSessionPinned: (id: string) => void;
|
|
65
|
+
onDeleteSession?: (id: string) => void;
|
|
66
|
+
/** Primary app-left actions supplied by the host/app/plugin shell after New chat/Search. */
|
|
67
|
+
actions?: readonly AppLeftPaneAction[];
|
|
68
|
+
/**
|
|
69
|
+
* single-project: workspace shown below the app-title logo, no Workspaces
|
|
70
|
+
* section — just the session list. multi-project: the Workspaces/projects
|
|
71
|
+
* tree (PR2). Defaults to single-project.
|
|
72
|
+
*/
|
|
73
|
+
layoutMode?: AppLeftPaneLayoutMode;
|
|
74
|
+
}
|
|
75
|
+
export declare function AppLeftPane({ width, appTitle, workspaceLabel, workspaceSectionTitle, projects, activeProjectId, onOpenProjectSession, onShowMoreProjectSessions, onCreateProject, onCreateProjectSession, onOpenProjectSettings, onOpenProjectInNewTab, topSlot, bottomSlot, headerMode, sessions, activeSessionId, openSessionIds, pinnedSessionIds, onCreateSession, onOpenCommandPalette, onSwitchSession, onOpenSessionAsPane, onToggleSessionPinned, onDeleteSession, actions, layoutMode, }: AppLeftPaneProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export declare function PrimaryAction({ icon, label, onClick, emphasis, active, trailing, }: {
|
|
3
|
+
icon: ReactNode;
|
|
4
|
+
label: string;
|
|
5
|
+
onClick: () => void;
|
|
6
|
+
emphasis?: boolean;
|
|
7
|
+
active?: boolean;
|
|
8
|
+
trailing?: ReactNode;
|
|
9
|
+
}): import("react").JSX.Element;
|
|
10
|
+
/** Small keyboard-shortcut hint badge (e.g. ⌘K), Linear/Stripe-style. */
|
|
11
|
+
export declare function KbdHint({ keys }: {
|
|
12
|
+
keys: string;
|
|
13
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { AppLeftPaneProject, AppLeftPaneProjectSession } from './AppLeftPane';
|
|
3
|
+
export declare function usePinnedProjectIds(): [readonly string[], (projectId: string) => void];
|
|
4
|
+
export declare function ProjectOverview({ projects, activeProjectId, fallbackName, expandedIds, onToggleExpanded, pinnedProjectIds, onTogglePinnedProject, onOpenProjectSession, onShowMoreProjectSessions, onCreateProjectSession, onOpenProjectSettings, onOpenProjectInNewTab, renderProjectSession, }: {
|
|
5
|
+
projects: AppLeftPaneProject[];
|
|
6
|
+
activeProjectId?: string | null;
|
|
7
|
+
fallbackName: string;
|
|
8
|
+
expandedIds: ReadonlySet<string>;
|
|
9
|
+
onToggleExpanded: (projectId: string) => void;
|
|
10
|
+
pinnedProjectIds: ReadonlySet<string>;
|
|
11
|
+
onTogglePinnedProject: (projectId: string) => void;
|
|
12
|
+
onOpenProjectSession?: (projectId: string, sessionId: string) => void;
|
|
13
|
+
onShowMoreProjectSessions?: (projectId: string) => void;
|
|
14
|
+
onCreateProjectSession?: (projectId: string) => void;
|
|
15
|
+
onOpenProjectSettings?: (projectId: string) => void;
|
|
16
|
+
onOpenProjectInNewTab?: (projectId: string) => void;
|
|
17
|
+
renderProjectSession?: (project: AppLeftPaneProject, session: AppLeftPaneProjectSession) => ReactNode;
|
|
18
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { WorkspaceAttentionSessionBadge } from '../../attention/WorkspaceAttentionProvider';
|
|
2
|
+
import { AppLeftPaneSession } from './AppLeftPane';
|
|
3
|
+
export type AppSessionRowState = "normal" | "open" | "active";
|
|
4
|
+
export declare function AppSessionRow({ session, state, pinned, canSplit, canPin, working, attentionBadge, onSwitch, onOpenAsPane, onTogglePinned, onDelete, }: {
|
|
5
|
+
session: AppLeftPaneSession;
|
|
6
|
+
state: AppSessionRowState;
|
|
7
|
+
pinned: boolean;
|
|
8
|
+
/** Whether this session can be split-paned/dragged (same-project only). */
|
|
9
|
+
canSplit?: boolean;
|
|
10
|
+
/** Whether this session belongs to the active project's pinned-session scope. */
|
|
11
|
+
canPin?: boolean;
|
|
12
|
+
working?: boolean;
|
|
13
|
+
attentionBadge?: WorkspaceAttentionSessionBadge;
|
|
14
|
+
onSwitch: (id: string) => void;
|
|
15
|
+
onOpenAsPane: (id: string) => void;
|
|
16
|
+
onTogglePinned: (id: string) => void;
|
|
17
|
+
onDelete?: (id: string) => void;
|
|
18
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface PluginTabsWorkspaceShellProps {
|
|
3
|
+
collapsed: boolean;
|
|
4
|
+
leftPane: ReactNode;
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
onExpand: () => void;
|
|
7
|
+
onCollapse: () => void;
|
|
8
|
+
onResizeLeftPane?: (delta: number) => void;
|
|
9
|
+
leftPaneWidth?: number;
|
|
10
|
+
minLeftPaneWidth?: number;
|
|
11
|
+
maxLeftPaneWidth?: number;
|
|
12
|
+
className?: string;
|
|
13
|
+
mobileShellEnabled?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function PluginTabsWorkspaceShell({ collapsed, leftPane, children, onExpand, onCollapse, onResizeLeftPane, leftPaneWidth, minLeftPaneWidth, maxLeftPaneWidth, className, mobileShellEnabled, }: PluginTabsWorkspaceShellProps): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { ChatPaneDescriptor } from './ChatPaneStage';
|
|
3
|
+
export interface IdeLayoutProps {
|
|
4
|
+
sidebar?: string;
|
|
5
|
+
center?: string;
|
|
6
|
+
right?: string;
|
|
7
|
+
className?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ChatLayoutProps {
|
|
10
|
+
nav?: string | null;
|
|
11
|
+
navParams?: Record<string, unknown>;
|
|
12
|
+
center?: string;
|
|
13
|
+
centerParams?: Record<string, unknown>;
|
|
14
|
+
chatPanes?: ChatPaneDescriptor[];
|
|
15
|
+
/** Optional host actions rendered in the active chat pane header. */
|
|
16
|
+
chatTopActions?: ReactNode;
|
|
17
|
+
activeChatPaneId?: string | null;
|
|
18
|
+
onActiveChatPaneChange?: (id: string) => void;
|
|
19
|
+
onCloseChatPane?: (id: string) => void;
|
|
20
|
+
onCreateChatPaneAfter?: (id: string) => void;
|
|
21
|
+
onDropChatSession?: (sessionId: string) => void;
|
|
22
|
+
flashChatPaneId?: string | null;
|
|
23
|
+
surface?: string | null;
|
|
24
|
+
surfaceParams?: Record<string, unknown>;
|
|
25
|
+
/** Opaque overlay rendered over the full chat stage only (not over the workbench). */
|
|
26
|
+
chatOverlay?: ReactNode;
|
|
27
|
+
/** Called when shell chrome needs to dismiss the chat overlay before collapsing chat. */
|
|
28
|
+
onCloseChatOverlay?: () => void;
|
|
29
|
+
surfaceOverlay?: ReactNode;
|
|
30
|
+
sidebar?: string | null;
|
|
31
|
+
sidebarParams?: Record<string, unknown>;
|
|
32
|
+
storageKey?: string;
|
|
33
|
+
/** Enable the phone-width one-surface mobile shell for direct ChatLayout hosts. */
|
|
34
|
+
mobileShellEnabled?: boolean;
|
|
35
|
+
onOpenNav?: () => void;
|
|
36
|
+
onOpenSurface?: () => void;
|
|
37
|
+
surfaceButtonBottomOffset?: number;
|
|
38
|
+
onOpenSidebar?: () => void;
|
|
39
|
+
className?: string;
|
|
40
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useViewportWidth(): number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
declare const layoutPartitionSchema: z.ZodObject<{
|
|
3
|
+
layout: z.ZodNullable<z.ZodObject<{
|
|
4
|
+
grid: z.ZodObject<{
|
|
5
|
+
root: z.ZodUnknown;
|
|
6
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
7
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
8
|
+
orientation: z.ZodOptional<z.ZodNumber>;
|
|
9
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
10
|
+
root: z.ZodUnknown;
|
|
11
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
12
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
13
|
+
orientation: z.ZodOptional<z.ZodNumber>;
|
|
14
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
15
|
+
root: z.ZodUnknown;
|
|
16
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
17
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
18
|
+
orientation: z.ZodOptional<z.ZodNumber>;
|
|
19
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
20
|
+
panels: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
21
|
+
id: z.ZodString;
|
|
22
|
+
contentComponent: z.ZodOptional<z.ZodString>;
|
|
23
|
+
title: z.ZodOptional<z.ZodString>;
|
|
24
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
25
|
+
id: z.ZodString;
|
|
26
|
+
contentComponent: z.ZodOptional<z.ZodString>;
|
|
27
|
+
title: z.ZodOptional<z.ZodString>;
|
|
28
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
29
|
+
id: z.ZodString;
|
|
30
|
+
contentComponent: z.ZodOptional<z.ZodString>;
|
|
31
|
+
title: z.ZodOptional<z.ZodString>;
|
|
32
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
33
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
34
|
+
grid: z.ZodObject<{
|
|
35
|
+
root: z.ZodUnknown;
|
|
36
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
37
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
38
|
+
orientation: z.ZodOptional<z.ZodNumber>;
|
|
39
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
40
|
+
root: z.ZodUnknown;
|
|
41
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
42
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
43
|
+
orientation: z.ZodOptional<z.ZodNumber>;
|
|
44
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
45
|
+
root: z.ZodUnknown;
|
|
46
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
47
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
48
|
+
orientation: z.ZodOptional<z.ZodNumber>;
|
|
49
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
50
|
+
panels: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
51
|
+
id: z.ZodString;
|
|
52
|
+
contentComponent: z.ZodOptional<z.ZodString>;
|
|
53
|
+
title: z.ZodOptional<z.ZodString>;
|
|
54
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
55
|
+
id: z.ZodString;
|
|
56
|
+
contentComponent: z.ZodOptional<z.ZodString>;
|
|
57
|
+
title: z.ZodOptional<z.ZodString>;
|
|
58
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
59
|
+
id: z.ZodString;
|
|
60
|
+
contentComponent: z.ZodOptional<z.ZodString>;
|
|
61
|
+
title: z.ZodOptional<z.ZodString>;
|
|
62
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
63
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
64
|
+
grid: z.ZodObject<{
|
|
65
|
+
root: z.ZodUnknown;
|
|
66
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
67
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
68
|
+
orientation: z.ZodOptional<z.ZodNumber>;
|
|
69
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
70
|
+
root: z.ZodUnknown;
|
|
71
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
72
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
73
|
+
orientation: z.ZodOptional<z.ZodNumber>;
|
|
74
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
75
|
+
root: z.ZodUnknown;
|
|
76
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
77
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
78
|
+
orientation: z.ZodOptional<z.ZodNumber>;
|
|
79
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
80
|
+
panels: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
81
|
+
id: z.ZodString;
|
|
82
|
+
contentComponent: z.ZodOptional<z.ZodString>;
|
|
83
|
+
title: z.ZodOptional<z.ZodString>;
|
|
84
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
85
|
+
id: z.ZodString;
|
|
86
|
+
contentComponent: z.ZodOptional<z.ZodString>;
|
|
87
|
+
title: z.ZodOptional<z.ZodString>;
|
|
88
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
89
|
+
id: z.ZodString;
|
|
90
|
+
contentComponent: z.ZodOptional<z.ZodString>;
|
|
91
|
+
title: z.ZodOptional<z.ZodString>;
|
|
92
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
93
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
94
|
+
sidebar: z.ZodObject<{
|
|
95
|
+
collapsed: z.ZodBoolean;
|
|
96
|
+
width: z.ZodNumber;
|
|
97
|
+
}, "strip", z.ZodTypeAny, {
|
|
98
|
+
width: number;
|
|
99
|
+
collapsed: boolean;
|
|
100
|
+
}, {
|
|
101
|
+
width: number;
|
|
102
|
+
collapsed: boolean;
|
|
103
|
+
}>;
|
|
104
|
+
panelSizes: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
105
|
+
}, "strip", z.ZodTypeAny, {
|
|
106
|
+
layout: z.objectOutputType<{
|
|
107
|
+
grid: z.ZodObject<{
|
|
108
|
+
root: z.ZodUnknown;
|
|
109
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
110
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
111
|
+
orientation: z.ZodOptional<z.ZodNumber>;
|
|
112
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
113
|
+
root: z.ZodUnknown;
|
|
114
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
115
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
116
|
+
orientation: z.ZodOptional<z.ZodNumber>;
|
|
117
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
118
|
+
root: z.ZodUnknown;
|
|
119
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
120
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
121
|
+
orientation: z.ZodOptional<z.ZodNumber>;
|
|
122
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
123
|
+
panels: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
124
|
+
id: z.ZodString;
|
|
125
|
+
contentComponent: z.ZodOptional<z.ZodString>;
|
|
126
|
+
title: z.ZodOptional<z.ZodString>;
|
|
127
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
128
|
+
id: z.ZodString;
|
|
129
|
+
contentComponent: z.ZodOptional<z.ZodString>;
|
|
130
|
+
title: z.ZodOptional<z.ZodString>;
|
|
131
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
132
|
+
id: z.ZodString;
|
|
133
|
+
contentComponent: z.ZodOptional<z.ZodString>;
|
|
134
|
+
title: z.ZodOptional<z.ZodString>;
|
|
135
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
136
|
+
}, z.ZodTypeAny, "passthrough"> | null;
|
|
137
|
+
sidebar: {
|
|
138
|
+
width: number;
|
|
139
|
+
collapsed: boolean;
|
|
140
|
+
};
|
|
141
|
+
panelSizes: Record<string, number>;
|
|
142
|
+
}, {
|
|
143
|
+
layout: z.objectInputType<{
|
|
144
|
+
grid: z.ZodObject<{
|
|
145
|
+
root: z.ZodUnknown;
|
|
146
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
147
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
148
|
+
orientation: z.ZodOptional<z.ZodNumber>;
|
|
149
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
150
|
+
root: z.ZodUnknown;
|
|
151
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
152
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
153
|
+
orientation: z.ZodOptional<z.ZodNumber>;
|
|
154
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
155
|
+
root: z.ZodUnknown;
|
|
156
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
157
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
158
|
+
orientation: z.ZodOptional<z.ZodNumber>;
|
|
159
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
160
|
+
panels: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
161
|
+
id: z.ZodString;
|
|
162
|
+
contentComponent: z.ZodOptional<z.ZodString>;
|
|
163
|
+
title: z.ZodOptional<z.ZodString>;
|
|
164
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
165
|
+
id: z.ZodString;
|
|
166
|
+
contentComponent: z.ZodOptional<z.ZodString>;
|
|
167
|
+
title: z.ZodOptional<z.ZodString>;
|
|
168
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
169
|
+
id: z.ZodString;
|
|
170
|
+
contentComponent: z.ZodOptional<z.ZodString>;
|
|
171
|
+
title: z.ZodOptional<z.ZodString>;
|
|
172
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
173
|
+
}, z.ZodTypeAny, "passthrough"> | null;
|
|
174
|
+
sidebar: {
|
|
175
|
+
width: number;
|
|
176
|
+
collapsed: boolean;
|
|
177
|
+
};
|
|
178
|
+
panelSizes: Record<string, number>;
|
|
179
|
+
}>;
|
|
180
|
+
declare const preferencesPartitionSchema: z.ZodObject<{
|
|
181
|
+
theme: z.ZodEnum<["light", "dark"]>;
|
|
182
|
+
}, "strip", z.ZodTypeAny, {
|
|
183
|
+
theme: "light" | "dark";
|
|
184
|
+
}, {
|
|
185
|
+
theme: "light" | "dark";
|
|
186
|
+
}>;
|
|
187
|
+
export declare function validateLayoutPartition(data: unknown): z.infer<typeof layoutPartitionSchema> | null;
|
|
188
|
+
export declare function validatePreferencesPartition(data: unknown): z.infer<typeof preferencesPartitionSchema> | null;
|
|
189
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Component, ReactNode, ErrorInfo, Context, ReactPortal, ReactElement, JSXElementConstructor } from 'react';
|
|
2
|
+
import { PluginErrorContext, PluginErrorContextValue } from './PluginErrorContext';
|
|
3
|
+
interface Props {
|
|
4
|
+
pluginId: string;
|
|
5
|
+
contributionKind: "panel" | "workspace-source" | "catalog-row" | "chat-suggestion" | "app-left-action";
|
|
6
|
+
contributionId?: string;
|
|
7
|
+
children?: ReactNode;
|
|
8
|
+
onError?: (error: Error, info: ErrorInfo) => void;
|
|
9
|
+
}
|
|
10
|
+
interface State {
|
|
11
|
+
error: Error | null;
|
|
12
|
+
}
|
|
13
|
+
export declare class PluginErrorBoundary extends Component<Props, State> {
|
|
14
|
+
static contextType: Context< PluginErrorContextValue | null>;
|
|
15
|
+
context: React.ContextType<typeof PluginErrorContext>;
|
|
16
|
+
state: State;
|
|
17
|
+
static getDerivedStateFromError(error: Error): State;
|
|
18
|
+
componentDidCatch(error: Error, info: ErrorInfo): void;
|
|
19
|
+
render(): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | ReactPortal | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ReactNode, Context } from 'react';
|
|
2
|
+
export interface PluginError {
|
|
3
|
+
kind: "contribution";
|
|
4
|
+
pluginId: string;
|
|
5
|
+
contributionKind: "panel" | "workspace-source" | "catalog-row" | "chat-suggestion" | "app-left-action";
|
|
6
|
+
contributionId?: string;
|
|
7
|
+
error: Error;
|
|
8
|
+
componentStack?: string | null;
|
|
9
|
+
}
|
|
10
|
+
export interface PluginErrorContextValue {
|
|
11
|
+
errors: PluginError[];
|
|
12
|
+
reportPluginError: (error: PluginError) => void;
|
|
13
|
+
}
|
|
14
|
+
declare const PluginErrorContext: Context<PluginErrorContextValue | null>;
|
|
15
|
+
export declare function PluginErrorProvider({ children }: {
|
|
16
|
+
children: ReactNode;
|
|
17
|
+
}): import("react").JSX.Element;
|
|
18
|
+
export declare function usePluginErrors(): PluginErrorContextValue;
|
|
19
|
+
export { PluginErrorContext };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|