@hachej/boring-workspace 0.1.70 → 0.1.72
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 +5 -5
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { ComponentType } from 'react';
|
|
2
|
+
import { DockviewApi, DockviewPanelApi } from 'dockview-react';
|
|
3
|
+
/**
|
|
4
|
+
* Unified prop shape for panel components rendered inside DockviewShell.
|
|
5
|
+
*
|
|
6
|
+
* Structurally mirrors dockview's `IDockviewPanelProps<T>` so dockview
|
|
7
|
+
* can render registered components directly — no wrapper, no field
|
|
8
|
+
* renaming, no `as` casts. We re-state the shape (rather than re-export
|
|
9
|
+
* dockview's type) so the workspace package owns its public contract:
|
|
10
|
+
* if dockview's type ever drifts, only the wiring inside DockviewShell
|
|
11
|
+
* needs to change.
|
|
12
|
+
*
|
|
13
|
+
* Use {@link definePanel} for type-safe registration.
|
|
14
|
+
*
|
|
15
|
+
* @typeParam T - Shape of the panel-specific `params` payload. Defaults
|
|
16
|
+
* to `unknown` because layouts restored from JSON are inherently
|
|
17
|
+
* un-typed at runtime; use a generic param when you control the
|
|
18
|
+
* addPanel call site, otherwise read defensively.
|
|
19
|
+
*/
|
|
20
|
+
export interface PaneProps<T = unknown> {
|
|
21
|
+
/** App-supplied data for this panel instance (e.g. `{ path: string }`). */
|
|
22
|
+
params: T;
|
|
23
|
+
/** Per-panel control surface (close, setActive, setTitle, …). */
|
|
24
|
+
api: DockviewPanelApi;
|
|
25
|
+
/** Top-level dockview API (groups, addPanel, removePanel, fromJSON, …). */
|
|
26
|
+
containerApi: DockviewApi;
|
|
27
|
+
/** Optional className forwarded to the pane's root element. */
|
|
28
|
+
className?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface WorkspaceSourceOpenPanelConfig {
|
|
31
|
+
id: string;
|
|
32
|
+
component: string;
|
|
33
|
+
title?: string;
|
|
34
|
+
params?: Record<string, unknown>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Props for workspace source panes hosted in the left workspace rail.
|
|
38
|
+
* These are not Dockview panels: they receive only source-pane params and
|
|
39
|
+
* the explicit actions that the source host supports.
|
|
40
|
+
*/
|
|
41
|
+
export interface WorkspaceSourceProps<T = unknown> {
|
|
42
|
+
params: T;
|
|
43
|
+
className?: string;
|
|
44
|
+
openPanel?: (config: WorkspaceSourceOpenPanelConfig) => void;
|
|
45
|
+
}
|
|
46
|
+
export type PanelPlacement = "left" | "center" | "right" | "bottom" | "shared-dockview" | "workspace-page" | "right-tab";
|
|
47
|
+
export declare function isSharedDockviewPlacement(placement: string | undefined): boolean;
|
|
48
|
+
export declare function isWorkspacePagePlacement(placement: string | undefined): boolean;
|
|
49
|
+
export interface PanelConfig<T = any> {
|
|
50
|
+
id: string;
|
|
51
|
+
title: string;
|
|
52
|
+
icon?: ComponentType<{
|
|
53
|
+
className?: string;
|
|
54
|
+
}>;
|
|
55
|
+
/** Placement hint. Public plugin placements: "workspace-page" | "shared-dockview". */
|
|
56
|
+
placement?: PanelPlacement | string;
|
|
57
|
+
requiresCapabilities?: string[];
|
|
58
|
+
essential?: boolean;
|
|
59
|
+
chromeless?: boolean;
|
|
60
|
+
supportsFullPage?: boolean;
|
|
61
|
+
/** Source: "builtin" | "app" */
|
|
62
|
+
source?: string;
|
|
63
|
+
pluginId?: string;
|
|
64
|
+
/** Revision emitted by the runtime plugin asset manager for hot-loaded panels. */
|
|
65
|
+
pluginRevision?: number;
|
|
66
|
+
/**
|
|
67
|
+
* Whether to wrap the component with React.lazy + Suspense. Omit to let
|
|
68
|
+
* the registry auto-detect: zero-arg functions (factories) are treated as
|
|
69
|
+
* lazy; components that accept a props argument are treated as eager.
|
|
70
|
+
*/
|
|
71
|
+
lazy?: boolean;
|
|
72
|
+
component: ComponentType<PaneProps<T>> | (() => Promise<{
|
|
73
|
+
default: ComponentType<PaneProps<T>>;
|
|
74
|
+
}>);
|
|
75
|
+
}
|
|
76
|
+
export type PanelRegistration<T = any> = Omit<PanelConfig<T>, 'id'>;
|
|
77
|
+
export interface WorkspaceSourceConfig<T = any> {
|
|
78
|
+
id: string;
|
|
79
|
+
title: string;
|
|
80
|
+
icon?: ComponentType<{
|
|
81
|
+
className?: string;
|
|
82
|
+
}>;
|
|
83
|
+
component: ComponentType<WorkspaceSourceProps<T>> | (() => Promise<{
|
|
84
|
+
default: ComponentType<WorkspaceSourceProps<T>>;
|
|
85
|
+
}>);
|
|
86
|
+
requiresCapabilities?: string[];
|
|
87
|
+
chromeless?: boolean;
|
|
88
|
+
/** Panel id opened in the main workspace when this source is selected. */
|
|
89
|
+
defaultPanelId?: string;
|
|
90
|
+
/** Source: "builtin" | "app" */
|
|
91
|
+
source?: string;
|
|
92
|
+
pluginId?: string;
|
|
93
|
+
/** Revision emitted by the runtime plugin asset manager for hot-loaded sources. */
|
|
94
|
+
pluginRevision?: number;
|
|
95
|
+
lazy?: boolean;
|
|
96
|
+
}
|
|
97
|
+
export type WorkspaceSourceRegistration<T = any> = Omit<WorkspaceSourceConfig<T>, 'id'>;
|
|
98
|
+
/**
|
|
99
|
+
* Identity helper for type-safe panel registration. Pure runtime
|
|
100
|
+
* passthrough — the value of this is forcing TypeScript to verify that
|
|
101
|
+
* the registered component accepts the params shape declared on the
|
|
102
|
+
* config. Without it, apps tend to widen `component` to
|
|
103
|
+
* `ComponentType<PaneProps<unknown>>` and lose the link.
|
|
104
|
+
*
|
|
105
|
+
* ```ts
|
|
106
|
+
* const editorPanel = definePanel<{ path: string }>({
|
|
107
|
+
* id: "code-editor",
|
|
108
|
+
* title: "Editor",
|
|
109
|
+
* component: CodeEditorPane, // typechecked against PaneProps<{ path: string }>
|
|
110
|
+
* placement: "center",
|
|
111
|
+
* })
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
export declare function definePanel<T = unknown>(config: PanelConfig<T>): PanelConfig<T>;
|
|
115
|
+
export interface CommandConfig {
|
|
116
|
+
id: string;
|
|
117
|
+
title: string;
|
|
118
|
+
run: () => void;
|
|
119
|
+
keywords?: string[];
|
|
120
|
+
shortcut?: string;
|
|
121
|
+
when?: () => boolean;
|
|
122
|
+
pluginId?: string;
|
|
123
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { FilesystemId } from './filesystem';
|
|
2
|
+
export declare const WORKSPACE_OPEN_PATH_SURFACE_KIND = "workspace.open.path";
|
|
3
|
+
export interface SurfaceOpenRequest {
|
|
4
|
+
kind: string;
|
|
5
|
+
target: string;
|
|
6
|
+
filesystem?: FilesystemId;
|
|
7
|
+
meta?: Record<string, unknown>;
|
|
8
|
+
}
|
|
9
|
+
export interface SurfacePanelResolution {
|
|
10
|
+
component: string;
|
|
11
|
+
id?: string;
|
|
12
|
+
title?: string;
|
|
13
|
+
params?: Record<string, unknown>;
|
|
14
|
+
score?: number;
|
|
15
|
+
}
|
|
16
|
+
export interface SurfaceResolverExample {
|
|
17
|
+
target: string;
|
|
18
|
+
label?: string;
|
|
19
|
+
meta?: Record<string, unknown>;
|
|
20
|
+
}
|
|
21
|
+
export interface SurfaceResolverMetadata {
|
|
22
|
+
kind?: string;
|
|
23
|
+
title?: string;
|
|
24
|
+
description?: string;
|
|
25
|
+
targetHint?: string;
|
|
26
|
+
examples?: SurfaceResolverExample[];
|
|
27
|
+
metaSchema?: Record<string, unknown>;
|
|
28
|
+
}
|
|
29
|
+
export interface SurfaceResolverDescriptor extends SurfaceResolverMetadata {
|
|
30
|
+
id: string;
|
|
31
|
+
kind: string;
|
|
32
|
+
source?: string;
|
|
33
|
+
pluginId?: string;
|
|
34
|
+
}
|
|
35
|
+
export interface SurfaceResolverConfig extends SurfaceResolverMetadata {
|
|
36
|
+
id: string;
|
|
37
|
+
resolve: (request: SurfaceOpenRequest) => SurfacePanelResolution | undefined;
|
|
38
|
+
source?: string;
|
|
39
|
+
pluginId?: string;
|
|
40
|
+
}
|
|
41
|
+
export type SurfaceResolverRegistration = Omit<SurfaceResolverConfig, "id">;
|
|
42
|
+
export declare function surfaceResolverDescriptor(resolver: SurfaceResolverConfig): SurfaceResolverDescriptor | null;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { FilesystemId } from './types/filesystem';
|
|
2
|
+
export interface UiBridge {
|
|
3
|
+
getState(): Promise<UiState | null>;
|
|
4
|
+
setState(state: UiState): Promise<void>;
|
|
5
|
+
/** Canonical UI command dispatch method. */
|
|
6
|
+
postCommand(cmd: UiCommand): Promise<CommandResult>;
|
|
7
|
+
subscribeCommands(handler: (cmd: UiCommand & {
|
|
8
|
+
seq: number;
|
|
9
|
+
}) => unknown): () => void;
|
|
10
|
+
drainCommands?(): Promise<Array<UiCommand & {
|
|
11
|
+
seq: number;
|
|
12
|
+
}>>;
|
|
13
|
+
}
|
|
14
|
+
export type WorkspaceBridge = UiBridge & {
|
|
15
|
+
/** @deprecated Use postCommand. Kept as a compatibility alias for WorkspaceBridge RPC callers. */
|
|
16
|
+
emitUiEffect(cmd: UiCommand): Promise<CommandResult>;
|
|
17
|
+
};
|
|
18
|
+
export type UiState = Record<string, unknown>;
|
|
19
|
+
export type UiCommand = {
|
|
20
|
+
kind: 'openFile';
|
|
21
|
+
params: {
|
|
22
|
+
path: string;
|
|
23
|
+
mode?: 'view' | 'edit' | 'diff';
|
|
24
|
+
filesystem?: FilesystemId;
|
|
25
|
+
};
|
|
26
|
+
} | {
|
|
27
|
+
kind: 'openSurface';
|
|
28
|
+
params: {
|
|
29
|
+
kind: string;
|
|
30
|
+
target: string;
|
|
31
|
+
filesystem?: FilesystemId;
|
|
32
|
+
meta?: Record<string, unknown>;
|
|
33
|
+
};
|
|
34
|
+
} | {
|
|
35
|
+
kind: 'openPanel';
|
|
36
|
+
params: {
|
|
37
|
+
id: string;
|
|
38
|
+
component: string;
|
|
39
|
+
params?: Record<string, unknown>;
|
|
40
|
+
};
|
|
41
|
+
} | {
|
|
42
|
+
kind: 'closePanel';
|
|
43
|
+
params: {
|
|
44
|
+
id: string;
|
|
45
|
+
};
|
|
46
|
+
} | {
|
|
47
|
+
kind: 'closeWorkbenchLeftPane';
|
|
48
|
+
params: Record<string, never>;
|
|
49
|
+
} | {
|
|
50
|
+
kind: 'showNotification';
|
|
51
|
+
params: {
|
|
52
|
+
msg: string;
|
|
53
|
+
level?: 'info' | 'warn' | 'error';
|
|
54
|
+
};
|
|
55
|
+
} | {
|
|
56
|
+
kind: 'navigateToLine';
|
|
57
|
+
params: {
|
|
58
|
+
file: string;
|
|
59
|
+
line: number;
|
|
60
|
+
};
|
|
61
|
+
} | {
|
|
62
|
+
kind: 'expandToFile';
|
|
63
|
+
params: {
|
|
64
|
+
path: string;
|
|
65
|
+
};
|
|
66
|
+
} | {
|
|
67
|
+
kind: string;
|
|
68
|
+
params: Record<string, unknown>;
|
|
69
|
+
};
|
|
70
|
+
export interface CommandResult {
|
|
71
|
+
seq: number;
|
|
72
|
+
status: 'ok' | 'error';
|
|
73
|
+
error?: {
|
|
74
|
+
code: string;
|
|
75
|
+
message: string;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Platform-neutral WorkspaceBridge RPC contracts.
|
|
3
|
+
*
|
|
4
|
+
* This file is imported by both browser and server bundles. Keep it free of
|
|
5
|
+
* Node-only types/imports and keep stable bridge error codes centralized here.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Canonical WorkspaceBridge runtime env var names. Defined in this browser- and
|
|
9
|
+
* server-safe module so the producer (server runtimeEnv injection) and the
|
|
10
|
+
* consumer (bridge-client SDK) share one source of truth and cannot drift on
|
|
11
|
+
* string equality.
|
|
12
|
+
*/
|
|
13
|
+
export declare const WORKSPACE_BRIDGE_URL_ENV = "BORING_WORKSPACE_BRIDGE_URL";
|
|
14
|
+
export declare const WORKSPACE_BRIDGE_TOKEN_ENV = "BORING_WORKSPACE_BRIDGE_TOKEN";
|
|
15
|
+
export declare const WORKSPACE_BRIDGE_TOKEN_URL_ENV = "BORING_WORKSPACE_BRIDGE_TOKEN_URL";
|
|
16
|
+
export declare const WORKSPACE_BRIDGE_REFRESH_TOKEN_ENV = "BORING_WORKSPACE_BRIDGE_REFRESH_TOKEN";
|
|
17
|
+
export declare const WORKSPACE_BRIDGE_DISABLED_ENV = "BORING_WORKSPACE_BRIDGE_DISABLED";
|
|
18
|
+
export type BridgeCallerClass = "browser" | "runtime" | "server";
|
|
19
|
+
export type BridgeActorKind = "human" | "agent" | "system" | "service";
|
|
20
|
+
export interface BridgeRedactedActorRef {
|
|
21
|
+
/** Redacted, stable-enough label for logs/audit. Never a bearer token. */
|
|
22
|
+
label: string;
|
|
23
|
+
/** Optional non-secret stable id when the auth adapter has one. */
|
|
24
|
+
id?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface BridgeActorAttribution {
|
|
27
|
+
actorKind: BridgeActorKind;
|
|
28
|
+
performedBy?: BridgeRedactedActorRef;
|
|
29
|
+
onBehalfOf?: BridgeRedactedActorRef;
|
|
30
|
+
}
|
|
31
|
+
export interface BridgeAuthContext {
|
|
32
|
+
callerClass: BridgeCallerClass;
|
|
33
|
+
workspaceId: string;
|
|
34
|
+
sessionId?: string;
|
|
35
|
+
pluginId?: string;
|
|
36
|
+
capabilities: readonly string[];
|
|
37
|
+
actor: BridgeActorAttribution;
|
|
38
|
+
tokenId?: string;
|
|
39
|
+
expiresAt?: string;
|
|
40
|
+
}
|
|
41
|
+
export type BridgeIdempotencyPolicy = "none" | "required" | "request-id";
|
|
42
|
+
export interface WorkspaceBridgeOperationDefinition<TInput = unknown, TOutput = unknown> {
|
|
43
|
+
op: string;
|
|
44
|
+
version: number;
|
|
45
|
+
owner: string;
|
|
46
|
+
callerClassesAllowed: readonly BridgeCallerClass[];
|
|
47
|
+
requiredCapabilities: readonly string[];
|
|
48
|
+
/**
|
|
49
|
+
* Allow a caller authenticated for one workspace to invoke this operation on
|
|
50
|
+
* a registry owned by another workspace. Keep false/omitted for normal
|
|
51
|
+
* tenant-scoped operations; cross-workspace ops must perform their own
|
|
52
|
+
* explicit resource authorization.
|
|
53
|
+
*/
|
|
54
|
+
allowCrossWorkspace?: boolean;
|
|
55
|
+
inputSchema: unknown;
|
|
56
|
+
outputSchema?: unknown;
|
|
57
|
+
timeoutMs: number;
|
|
58
|
+
maxInputBytes: number;
|
|
59
|
+
maxOutputBytes: number;
|
|
60
|
+
idempotencyPolicy: BridgeIdempotencyPolicy;
|
|
61
|
+
/** Type anchors only; no runtime value should be supplied. */
|
|
62
|
+
readonly __inputType?: TInput;
|
|
63
|
+
readonly __outputType?: TOutput;
|
|
64
|
+
}
|
|
65
|
+
export interface WorkspaceBridgeCallRequest<TInput = unknown> {
|
|
66
|
+
op: string;
|
|
67
|
+
input: TInput;
|
|
68
|
+
requestId?: string;
|
|
69
|
+
idempotencyKey?: string;
|
|
70
|
+
}
|
|
71
|
+
export interface WorkspaceBridgeCallSuccess<TOutput = unknown> {
|
|
72
|
+
ok: true;
|
|
73
|
+
op: string;
|
|
74
|
+
requestId: string;
|
|
75
|
+
output: TOutput;
|
|
76
|
+
}
|
|
77
|
+
export interface WorkspaceBridgeCallFailure {
|
|
78
|
+
ok: false;
|
|
79
|
+
op: string;
|
|
80
|
+
requestId?: string;
|
|
81
|
+
error: WorkspaceBridgeError;
|
|
82
|
+
}
|
|
83
|
+
export type WorkspaceBridgeCallResponse<TOutput = unknown> = WorkspaceBridgeCallSuccess<TOutput> | WorkspaceBridgeCallFailure;
|
|
84
|
+
export declare enum WorkspaceBridgeErrorCode {
|
|
85
|
+
OpNotFound = "BRIDGE_OP_NOT_FOUND",
|
|
86
|
+
DuplicateOp = "BRIDGE_DUPLICATE_OP",
|
|
87
|
+
CallerNotAllowed = "BRIDGE_CALLER_NOT_ALLOWED",
|
|
88
|
+
AuthRequired = "BRIDGE_AUTH_REQUIRED",
|
|
89
|
+
CapabilityDenied = "BRIDGE_CAPABILITY_DENIED",
|
|
90
|
+
ResourceScopeDenied = "BRIDGE_RESOURCE_SCOPE_DENIED",
|
|
91
|
+
SchemaInvalid = "BRIDGE_SCHEMA_INVALID",
|
|
92
|
+
OutputSchemaInvalid = "BRIDGE_OUTPUT_SCHEMA_INVALID",
|
|
93
|
+
InputTooLarge = "BRIDGE_INPUT_TOO_LARGE",
|
|
94
|
+
OutputTooLarge = "BRIDGE_OUTPUT_TOO_LARGE",
|
|
95
|
+
Timeout = "BRIDGE_TIMEOUT",
|
|
96
|
+
HandlerFailed = "BRIDGE_HANDLER_FAILED",
|
|
97
|
+
IdempotencyRequired = "BRIDGE_IDEMPOTENCY_REQUIRED",
|
|
98
|
+
IdempotencyConflict = "BRIDGE_IDEMPOTENCY_CONFLICT",
|
|
99
|
+
ReplayRejected = "BRIDGE_REPLAY_REJECTED",
|
|
100
|
+
RateLimited = "BRIDGE_RATE_LIMITED",
|
|
101
|
+
InvalidToken = "BRIDGE_INVALID_TOKEN",
|
|
102
|
+
ExpiredToken = "BRIDGE_EXPIRED_TOKEN",
|
|
103
|
+
InvalidRequest = "BRIDGE_INVALID_REQUEST",
|
|
104
|
+
UnsupportedRuntime = "BRIDGE_UNSUPPORTED_RUNTIME"
|
|
105
|
+
}
|
|
106
|
+
export interface WorkspaceBridgeError {
|
|
107
|
+
code: WorkspaceBridgeErrorCode;
|
|
108
|
+
message: string;
|
|
109
|
+
details?: Record<string, unknown>;
|
|
110
|
+
}
|
|
111
|
+
export declare function createWorkspaceBridgeError(code: WorkspaceBridgeErrorCode, message: string, details?: Record<string, unknown>): WorkspaceBridgeError;
|
|
112
|
+
export interface WorkspaceBridgeFileAssetPointer {
|
|
113
|
+
kind: "file-asset";
|
|
114
|
+
/** Workspace-relative path validated by the Workspace adapter/file route. */
|
|
115
|
+
path: string;
|
|
116
|
+
contentType: string;
|
|
117
|
+
byteLength?: number;
|
|
118
|
+
rawUrl?: string;
|
|
119
|
+
}
|
|
120
|
+
export type WorkspaceBridgeJsonValue = null | boolean | number | string | WorkspaceBridgeJsonValue[] | {
|
|
121
|
+
[key: string]: WorkspaceBridgeJsonValue;
|
|
122
|
+
};
|
|
@@ -143,4 +143,4 @@ interface SurfaceResolverConfig extends SurfaceResolverMetadata {
|
|
|
143
143
|
}
|
|
144
144
|
type SurfaceResolverRegistration = Omit<SurfaceResolverConfig, "id">;
|
|
145
145
|
|
|
146
|
-
export { type CommandConfig as C, type PaneProps as P, type
|
|
146
|
+
export { type CommandConfig as C, type PaneProps as P, type SurfaceResolverExample as S, type WorkspaceSourceProps as W, type PanelConfig as a, type SurfaceOpenRequest as b, type SurfacePanelResolution as c, WORKSPACE_OPEN_PATH_SURFACE_KIND as d, type WorkspaceSourceOpenPanelConfig as e, type PanelRegistration as f, type SurfaceResolverConfig as g, type SurfaceResolverRegistration as h, definePanel as i };
|
package/dist/testing-e2e.d.ts
CHANGED
|
@@ -1,73 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Land on the app with a clean localStorage so persistence-sensitive tests
|
|
5
|
-
* start from defaults. Pre-opens the workbench surface unless told
|
|
6
|
-
* otherwise — see `openWorkbenchAtBoot`.
|
|
7
|
-
*
|
|
8
|
-
* Also drains the server-side bridge command queue. The bridge is process-
|
|
9
|
-
* global on a shared dev server (E2E_EXTERNAL_SERVER=1); without an
|
|
10
|
-
* explicit drain, a leftover command from a previous test (e.g. an
|
|
11
|
-
* openPanel posted just before that test ended) gets re-delivered to the
|
|
12
|
-
* next test's SSE subscriber and mounts an unexpected pane. The drain is
|
|
13
|
-
* a no-op when the queue is already empty.
|
|
14
|
-
*/
|
|
15
|
-
export declare function bootClean(page: Page, opts: BootCleanOptions): Promise<void>;
|
|
16
|
-
|
|
17
|
-
export declare interface BootCleanOptions {
|
|
18
|
-
/**
|
|
19
|
-
* Storage prefix used by declarative chat shells. The
|
|
20
|
-
* bootClean default is to pre-seed `${shellKey}:surface=1` so the
|
|
21
|
-
* workbench mounts at boot — required for any test that posts an
|
|
22
|
-
* openPanel via the bridge (the dispatcher early-returns when no
|
|
23
|
-
* surface is mounted).
|
|
24
|
-
*/
|
|
25
|
-
shellKey: string;
|
|
26
|
-
/** Extra localStorage entries to seed after the clear. */
|
|
27
|
-
seed?: Record<string, string>;
|
|
28
|
-
/**
|
|
29
|
-
* If false, surface=1 is NOT pre-seeded — the test starts with the
|
|
30
|
-
* workbench closed. Default: true.
|
|
31
|
-
*/
|
|
32
|
-
openWorkbenchAtBoot?: boolean;
|
|
33
|
-
/** Vite + dockview cold-mount allowance. Default 2500ms. */
|
|
34
|
-
mountSettleMs?: number;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Push an openPanel command through the workspace UI bridge, then poll
|
|
39
|
-
* until the corresponding dockview tab actually appears. The chat shell
|
|
40
|
-
* receives commands over an SSE stream; subscribe latency is
|
|
41
|
-
* non-deterministic (cold Vite, ClickHouse warm-up, EventSource reconnect
|
|
42
|
-
* budget), so we wait on the rendered tab rather than a fixed sleep.
|
|
43
|
-
*/
|
|
44
|
-
export declare function openPaneViaBridge(page: Page, cfg: OpenPaneViaBridgeConfig): Promise<void>;
|
|
45
|
-
|
|
46
|
-
export declare interface OpenPaneViaBridgeConfig {
|
|
47
|
-
/** Tab/panel instance id (e.g. `"chart:CPIAUCSL"`, `"deck:intro.md"`). */
|
|
48
|
-
id: string;
|
|
49
|
-
/** Registered panel component id. Must appear in `extraPanels`. */
|
|
50
|
-
component: string;
|
|
51
|
-
/** Tab title to wait for. */
|
|
52
|
-
title: string;
|
|
53
|
-
/** Forwarded to the panel component as its `params`. */
|
|
54
|
-
params: Record<string, unknown>;
|
|
55
|
-
/** Override the dockview-tab wait timeout. Default 10s. */
|
|
56
|
-
paneMountTimeoutMs?: number;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Ensure the workbench surface is OPEN. Idempotent — checks the persisted
|
|
61
|
-
* flag rather than blindly toggling, so it's safe to call after bootClean
|
|
62
|
-
* (which pre-seeds the open flag by default) or independently.
|
|
63
|
-
*/
|
|
64
|
-
export declare function openWorkbench(page: Page, opts: {
|
|
65
|
-
shellKey: string;
|
|
66
|
-
}): Promise<void>;
|
|
67
|
-
|
|
68
|
-
export { }
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
declare global {
|
|
72
|
-
var __BORING_RUNTIME_SINGLETONS__: Record<string, unknown> | undefined;
|
|
73
|
-
}
|
|
1
|
+
export * from './src/front/testing/e2e.js'
|
|
2
|
+
export {}
|