@hachej/boring-workspace 0.1.71 → 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.
Files changed (325) hide show
  1. package/dist/{FileTree-B_fRS4Om.js → FileTree-C8JPlZtS.js} +1 -1
  2. package/dist/{MarkdownEditor-C55gVDyW.js → MarkdownEditor-B9wN6tGH.js} +14 -14
  3. package/dist/{WorkspaceLoadingState-D3i4X-eH.js → WorkspaceLoadingState-TgOWTNJC.js} +350 -203
  4. package/dist/{WorkspaceProvider-Ddx7GByq.js → WorkspaceProvider-DcOiZU24.js} +9 -9
  5. package/dist/app-front.d.ts +2 -883
  6. package/dist/app-front.js +1049 -1033
  7. package/dist/app-server.d.ts +4 -4
  8. package/dist/bridge-client.d.ts +2 -2
  9. package/dist/charts.d.ts +2 -119
  10. package/dist/plugin.d.ts +3 -3
  11. package/dist/{runtimeEnv-CU-c4kaV.d.ts → runtimeEnv-DKtVLBXo.d.ts} +2 -2
  12. package/dist/server.d.ts +6 -6
  13. package/dist/shared.d.ts +3 -3
  14. package/dist/src/__tests__/WorkspaceProvider.test.d.ts +1 -0
  15. package/dist/src/__tests__/exploration.property.test.d.ts +1 -0
  16. package/dist/src/__tests__/plugin-integration.test.d.ts +1 -0
  17. package/dist/src/__tests__/public-api.test.d.ts +1 -0
  18. package/dist/src/__tests__/publicFileStateApi.test.d.ts +1 -0
  19. package/dist/src/__tests__/theme-system.test.d.ts +1 -0
  20. package/dist/src/app/front/CloseLeftPaneOnAttention.d.ts +10 -0
  21. package/dist/src/app/front/PluginAppLeftHost.d.ts +18 -0
  22. package/dist/src/app/front/WorkspaceAgentFront.d.ts +174 -0
  23. package/dist/src/app/front/WorkspaceAgentStatusStates.d.ts +5 -0
  24. package/dist/src/app/front/WorkspaceBackgroundBoot.d.ts +10 -0
  25. package/dist/src/app/front/WorkspaceBootGate.d.ts +12 -0
  26. package/dist/src/app/front/WorkspaceFullPagePanel.d.ts +5 -0
  27. package/dist/src/app/front/WorkspaceShellCapabilitiesHost.d.ts +20 -0
  28. package/dist/src/app/front/WorkspaceUiStateSync.d.ts +9 -0
  29. package/dist/src/app/front/__tests__/WorkspaceAgentFront.test.d.ts +1 -0
  30. package/dist/src/app/front/__tests__/WorkspaceBackgroundBoot.test.d.ts +1 -0
  31. package/dist/src/app/front/__tests__/WorkspaceBootGate.test.d.ts +1 -0
  32. package/dist/src/app/front/__tests__/WorkspaceFullPagePanel.test.d.ts +1 -0
  33. package/dist/src/app/front/__tests__/chatPaneState.property.test.d.ts +1 -0
  34. package/dist/src/app/front/__tests__/useWorkspaceShellCapabilitiesController.test.d.ts +1 -0
  35. package/dist/src/app/front/__tests__/workspacePreload.test.d.ts +1 -0
  36. package/dist/src/app/front/chatPaneState.d.ts +8 -0
  37. package/dist/src/app/front/fullPageRoute.d.ts +10 -0
  38. package/dist/src/app/front/fullPageRouteErrors.d.ts +7 -0
  39. package/dist/src/app/front/index.d.ts +8 -0
  40. package/dist/src/app/front/localStorageSessions.d.ts +18 -0
  41. package/dist/src/app/front/useWorkspaceShellCapabilitiesController.d.ts +8 -0
  42. package/dist/src/app/front/workspaceBuiltinPlugins.d.ts +6 -0
  43. package/dist/src/app/front/workspacePreload.d.ts +64 -0
  44. package/dist/src/bridge-client/__tests__/client.test.d.ts +1 -0
  45. package/dist/src/bridge-client/index.d.ts +65 -0
  46. package/dist/src/front/agentPlugins/__tests__/registerAgentPlugin.test.d.ts +1 -0
  47. package/dist/src/front/agentPlugins/registerAgentPlugin.d.ts +26 -0
  48. package/dist/src/front/agentPlugins/reloadEvent.d.ts +7 -0
  49. package/dist/src/front/attention/WorkspaceAttentionProvider.d.ts +71 -0
  50. package/dist/src/front/attention/__tests__/WorkspaceAttentionProvider.test.d.ts +1 -0
  51. package/dist/src/front/attention/index.d.ts +2 -0
  52. package/dist/src/front/bridge/WorkspaceLink.d.ts +35 -0
  53. package/dist/src/front/bridge/__tests__/WorkspaceLink.test.d.ts +1 -0
  54. package/dist/src/front/bridge/__tests__/bridge.property.test.d.ts +1 -0
  55. package/dist/src/front/bridge/__tests__/bridge.test.d.ts +1 -0
  56. package/dist/src/front/bridge/__tests__/client.test.d.ts +1 -0
  57. package/dist/src/front/bridge/__tests__/uiCommandDispatcher.test.d.ts +1 -0
  58. package/dist/src/front/bridge/__tests__/uiCommandStream.test.d.ts +1 -0
  59. package/dist/src/front/bridge/client.d.ts +33 -0
  60. package/dist/src/front/bridge/createBridge.d.ts +8 -0
  61. package/dist/src/front/bridge/index.d.ts +12 -0
  62. package/dist/src/front/bridge/types.d.ts +92 -0
  63. package/dist/src/front/bridge/uiCommandBus.d.ts +3 -0
  64. package/dist/src/front/bridge/uiCommandDispatcher.d.ts +44 -0
  65. package/dist/src/front/bridge/uiCommandStream.d.ts +41 -0
  66. package/dist/src/front/bridge/validation.d.ts +66 -0
  67. package/dist/src/front/charts/__tests__/charts.test.d.ts +1 -0
  68. package/dist/src/front/charts/index.d.ts +92 -0
  69. package/dist/src/front/chrome/artifact-surface/ArtifactSurfacePane.d.ts +18 -0
  70. package/dist/src/front/chrome/artifact-surface/SurfaceShell.d.ts +84 -0
  71. package/dist/src/front/chrome/artifact-surface/__tests__/ArtifactSurfacePane.persistence.test.d.ts +1 -0
  72. package/dist/src/front/chrome/artifact-surface/__tests__/ArtifactSurfacePane.test.d.ts +1 -0
  73. package/dist/src/front/chrome/artifact-surface/__tests__/SurfaceShell.test.d.ts +1 -0
  74. package/dist/src/front/chrome/artifact-surface/__tests__/resolvePanelForPath.test.d.ts +1 -0
  75. package/dist/src/front/chrome/artifact-surface/definition.d.ts +12 -0
  76. package/dist/src/front/chrome/artifact-surface/surfaceShellHelpers.d.ts +10 -0
  77. package/dist/src/front/chrome/chat/ChatPanelHost.d.ts +16 -0
  78. package/dist/src/front/chrome/chat/DetachedChatPopover.d.ts +11 -0
  79. package/dist/src/front/chrome/chat/__tests__/ChatPanelHost.test.d.ts +1 -0
  80. package/dist/src/front/chrome/chat/composerStop.d.ts +19 -0
  81. package/dist/src/front/chrome/chat/definition.d.ts +16 -0
  82. package/dist/src/front/chrome/chat/types.d.ts +30 -0
  83. package/dist/src/front/chrome/empty-pane/EmptyPane.d.ts +5 -0
  84. package/dist/src/front/chrome/empty-pane/__tests__/EmptyPane.test.d.ts +1 -0
  85. package/dist/src/front/chrome/management/ManagementOverlaySurface.d.ts +16 -0
  86. package/dist/src/front/chrome/plugins/PluginsOverlay.d.ts +16 -0
  87. package/dist/src/front/chrome/session-list/SessionBrowser.d.ts +20 -0
  88. package/dist/src/front/chrome/session-list/__tests__/SessionBrowser.test.d.ts +1 -0
  89. package/dist/src/front/chrome/session-list/definition.d.ts +28 -0
  90. package/dist/src/front/chrome/skills/SkillsPage.d.ts +11 -0
  91. package/dist/src/front/chrome/skills/definition.d.ts +3 -0
  92. package/dist/src/front/chrome/workbench-left/WorkbenchLeftPane.d.ts +28 -0
  93. package/dist/src/front/chrome/workbench-left/__tests__/WorkbenchLeftPane.test.d.ts +1 -0
  94. package/dist/src/front/chrome/workbench-left/definition.d.ts +12 -0
  95. package/dist/src/front/chrome/workbench-left/useWorkspaceLeftPaneActions.d.ts +48 -0
  96. package/dist/src/front/components/CommandPalette.d.ts +21 -0
  97. package/dist/src/front/components/ControlTooltip.d.ts +12 -0
  98. package/dist/src/front/components/ErrorChip.d.ts +6 -0
  99. package/dist/src/front/components/PanelErrorBoundary.d.ts +22 -0
  100. package/dist/src/front/components/SessionList.d.ts +15 -0
  101. package/dist/src/front/components/WorkspaceLoadingState.d.ts +8 -0
  102. package/dist/src/front/components/__tests__/CommandPalette.test.d.ts +1 -0
  103. package/dist/src/front/components/__tests__/PanelErrorBoundary.test.d.ts +1 -0
  104. package/dist/src/front/components/__tests__/SessionList.test.d.ts +1 -0
  105. package/dist/src/front/components/__tests__/WorkspaceLoadingState.test.d.ts +1 -0
  106. package/dist/src/front/components/commandPaletteHelpers.d.ts +16 -0
  107. package/dist/src/front/components/recent/__tests__/migrate.test.d.ts +1 -0
  108. package/dist/src/front/components/recent/__tests__/recentStore.test.d.ts +1 -0
  109. package/dist/src/front/components/recent/index.d.ts +2 -0
  110. package/dist/src/front/components/recent/recentStore.d.ts +9 -0
  111. package/dist/src/front/components/recent/types.d.ts +23 -0
  112. package/dist/src/front/components/useCommandPaletteCatalogSearch.d.ts +7 -0
  113. package/dist/src/front/components/useCommandPaletteChrome.d.ts +14 -0
  114. package/dist/src/front/components/useCommandPaletteSelection.d.ts +15 -0
  115. package/dist/src/front/detached/DetachedPanelPopover.d.ts +2 -0
  116. package/dist/src/front/detached/detachedPanelTypes.d.ts +21 -0
  117. package/dist/src/front/detached/useDetachedPanelPosition.d.ts +10 -0
  118. package/dist/src/front/dock/DockviewShell.d.ts +6 -0
  119. package/dist/src/front/dock/PanelChrome.d.ts +16 -0
  120. package/dist/src/front/dock/ShadcnTab.d.ts +2 -0
  121. package/dist/src/front/dock/__tests__/dock.test.d.ts +1 -0
  122. package/dist/src/front/dock/index.d.ts +3 -0
  123. package/dist/src/front/dock/types.d.ts +69 -0
  124. package/dist/src/front/events/__tests__/agentBridge.test.d.ts +1 -0
  125. package/dist/src/front/events/__tests__/bus.test.d.ts +1 -0
  126. package/dist/src/front/events/__tests__/types.test.d.ts +1 -0
  127. package/dist/src/front/events/__tests__/useEvent.test.d.ts +1 -0
  128. package/dist/src/front/events/agentBridge.d.ts +1 -0
  129. package/dist/src/front/events/bus.d.ts +21 -0
  130. package/dist/src/front/events/index.d.ts +7 -0
  131. package/dist/src/front/events/types.d.ts +137 -0
  132. package/dist/src/front/events/useEvent.d.ts +7 -0
  133. package/dist/src/front/fullPage.d.ts +24 -0
  134. package/dist/src/front/hooks/__tests__/useArtifactPanels.test.d.ts +1 -0
  135. package/dist/src/front/hooks/__tests__/useArtifactRouting.test.d.ts +1 -0
  136. package/dist/src/front/hooks/__tests__/useEditorLifecycle.test.d.ts +1 -0
  137. package/dist/src/front/hooks/__tests__/useKeyboardShortcuts.test.d.ts +1 -0
  138. package/dist/src/front/hooks/__tests__/useViewportBreakpoint.test.d.ts +1 -0
  139. package/dist/src/front/hooks/index.d.ts +6 -0
  140. package/dist/src/front/hooks/useArtifactPanels.d.ts +14 -0
  141. package/dist/src/front/hooks/useArtifactRouting.d.ts +12 -0
  142. package/dist/src/front/hooks/useEditorLifecycle.d.ts +27 -0
  143. package/dist/src/front/hooks/useKeyboardShortcuts.d.ts +13 -0
  144. package/dist/src/front/hooks/useResponsiveSidebarCollapse.d.ts +6 -0
  145. package/dist/src/front/hooks/useViewportBreakpoint.d.ts +1 -0
  146. package/dist/src/front/layout/ChatLayout.d.ts +4 -0
  147. package/dist/src/front/layout/ChatPaneStage.d.ts +59 -0
  148. package/dist/src/front/layout/ChatPaneStageDock.d.ts +5 -0
  149. package/dist/src/front/layout/IdeLayout.d.ts +4 -0
  150. package/dist/src/front/layout/ResponsiveDockviewShell.d.ts +6 -0
  151. package/dist/src/front/layout/ThemeToggle.d.ts +10 -0
  152. package/dist/src/front/layout/TopBar.d.ts +17 -0
  153. package/dist/src/front/layout/__tests__/ChatPaneStageDock.test.d.ts +1 -0
  154. package/dist/src/front/layout/__tests__/TopBar.test.d.ts +1 -0
  155. package/dist/src/front/layout/__tests__/presets.test.d.ts +1 -0
  156. package/dist/src/front/layout/cornerChrome.d.ts +10 -0
  157. package/dist/src/front/layout/index.d.ts +9 -0
  158. package/dist/src/front/layout/mobileShell.d.ts +18 -0
  159. package/dist/src/front/layout/paneCollapseButton.d.ts +15 -0
  160. package/dist/src/front/layout/plugin-tabs/AppLeftOverlayChromeContext.d.ts +1 -0
  161. package/dist/src/front/layout/plugin-tabs/AppLeftPane.d.ts +75 -0
  162. package/dist/src/front/layout/plugin-tabs/AppLeftPaneActions.d.ts +13 -0
  163. package/dist/src/front/layout/plugin-tabs/AppLeftPaneHeader.d.ts +7 -0
  164. package/dist/src/front/layout/plugin-tabs/AppLeftPaneProjects.d.ts +18 -0
  165. package/dist/src/front/layout/plugin-tabs/AppLeftPaneSections.d.ts +6 -0
  166. package/dist/src/front/layout/plugin-tabs/AppLeftPaneSessionRow.d.ts +18 -0
  167. package/dist/src/front/layout/plugin-tabs/PluginTabsWorkspaceShell.d.ts +15 -0
  168. package/dist/src/front/layout/plugin-tabs/__tests__/AppLeftPane.test.d.ts +1 -0
  169. package/dist/src/front/layout/types.d.ts +40 -0
  170. package/dist/src/front/layout/useViewportWidth.d.ts +1 -0
  171. package/dist/src/front/lib/utils.d.ts +2 -0
  172. package/dist/src/front/lib/utils.test.d.ts +1 -0
  173. package/dist/src/front/lib/validation.d.ts +189 -0
  174. package/dist/src/front/plugin/PluginErrorBoundary.d.ts +21 -0
  175. package/dist/src/front/plugin/PluginErrorContext.d.ts +19 -0
  176. package/dist/src/front/plugin/PluginInspector.d.ts +8 -0
  177. package/dist/src/front/plugin/__tests__/CatalogRegistry.test.d.ts +1 -0
  178. package/dist/src/front/plugin/__tests__/PluginErrorBoundary.test.d.ts +1 -0
  179. package/dist/src/front/plugin/__tests__/PluginInspector.test.d.ts +1 -0
  180. package/dist/src/front/plugin/__tests__/useWorkspacePluginClient.test.d.ts +1 -0
  181. package/dist/src/front/plugin/index.d.ts +10 -0
  182. package/dist/src/front/plugin/useActivePanels.d.ts +2 -0
  183. package/dist/src/front/plugin/useCatalogs.d.ts +2 -0
  184. package/dist/src/front/plugin/useCommands.d.ts +2 -0
  185. package/dist/src/front/plugin/useWorkspacePluginClient.d.ts +29 -0
  186. package/dist/src/front/provider/WorkspaceProvider.d.ts +84 -0
  187. package/dist/src/front/provider/index.d.ts +9 -0
  188. package/dist/src/front/provider/workspaceTitle.d.ts +5 -0
  189. package/dist/src/front/registry/PanelRegistry.d.ts +39 -0
  190. package/dist/src/front/registry/PanelRenderStatusBoundary.d.ts +38 -0
  191. package/dist/src/front/registry/RegistryProvider.d.ts +21 -0
  192. package/dist/src/front/registry/WorkspaceSourceRegistry.d.ts +25 -0
  193. package/dist/src/front/registry/__tests__/registry.test.d.ts +1 -0
  194. package/dist/src/front/registry/__tests__/replaceByPluginId.test.d.ts +1 -0
  195. package/dist/src/front/registry/__tests__/subscribe.test.d.ts +1 -0
  196. package/dist/src/front/registry/coreRegistrations.d.ts +2 -0
  197. package/dist/src/front/registry/getFileIcon.d.ts +2 -0
  198. package/dist/src/front/registry/index.d.ts +7 -0
  199. package/dist/src/front/registry/types.d.ts +2 -0
  200. package/dist/src/front/shell/WorkspaceShellCapabilitiesContext.d.ts +1 -0
  201. package/dist/src/front/store/__tests__/store.property.test.d.ts +1 -0
  202. package/dist/src/front/store/__tests__/store.test.d.ts +1 -0
  203. package/dist/src/front/store/index.d.ts +35 -0
  204. package/dist/src/front/store/localStorageValues.d.ts +4 -0
  205. package/dist/src/front/store/selectors.d.ts +21 -0
  206. package/dist/src/front/store/types.d.ts +53 -0
  207. package/dist/src/front/testing/TestWorkspaceProvider.d.ts +13 -0
  208. package/dist/src/front/testing/__tests__/testing.test.d.ts +1 -0
  209. package/dist/src/front/testing/createLocalStorageSessions.d.ts +16 -0
  210. package/dist/src/front/testing/createMockBridge.d.ts +20 -0
  211. package/dist/src/front/testing/createMockPaneProps.d.ts +11 -0
  212. package/dist/src/front/testing/createMockRegistry.d.ts +7 -0
  213. package/dist/src/front/testing/createMockSessions.d.ts +24 -0
  214. package/dist/src/front/testing/e2e.d.ts +61 -0
  215. package/dist/src/front/testing/index.d.ts +17 -0
  216. package/dist/src/front/testing/mockApi.d.ts +9 -0
  217. package/dist/src/front/testing/renderPane.d.ts +20 -0
  218. package/dist/src/front/theme/codemirror-theme.d.ts +4 -0
  219. package/dist/src/front/theme/index.d.ts +1 -0
  220. package/dist/src/front/toast/__tests__/toast.test.d.ts +1 -0
  221. package/dist/src/front/toast/index.d.ts +1 -0
  222. package/dist/src/index.d.ts +90 -0
  223. package/dist/src/plugin.d.ts +19 -0
  224. package/dist/src/plugins/filesystemPlugin/front/ConflictBanner.d.ts +14 -0
  225. package/dist/src/plugins/filesystemPlugin/front/FilePaneShell.d.ts +73 -0
  226. package/dist/src/plugins/filesystemPlugin/front/__tests__/agentFileBridge.test.d.ts +1 -0
  227. package/dist/src/plugins/filesystemPlugin/front/__tests__/filePanelBinding.test.d.ts +1 -0
  228. package/dist/src/plugins/filesystemPlugin/front/__tests__/filesystemPlugin.test.d.ts +1 -0
  229. package/dist/src/plugins/filesystemPlugin/front/__tests__/search.test.d.ts +1 -0
  230. package/dist/src/plugins/filesystemPlugin/front/__tests__/useFilePane.test.d.ts +1 -0
  231. package/dist/src/plugins/filesystemPlugin/front/agentFileBridge.d.ts +12 -0
  232. package/dist/src/plugins/filesystemPlugin/front/catalogs.d.ts +9 -0
  233. package/dist/src/plugins/filesystemPlugin/front/code-editor/CodeEditor.d.ts +10 -0
  234. package/dist/src/plugins/filesystemPlugin/front/code-editor/CodeEditorPane.d.ts +8 -0
  235. package/dist/src/plugins/filesystemPlugin/front/code-editor/__tests__/CodeEditor.test.d.ts +1 -0
  236. package/dist/src/plugins/filesystemPlugin/front/code-editor/__tests__/CodeEditorPane.test.d.ts +1 -0
  237. package/dist/src/plugins/filesystemPlugin/front/data/DataProvider.d.ts +16 -0
  238. package/dist/src/plugins/filesystemPlugin/front/data/__tests__/fetchClient.integration.test.d.ts +1 -0
  239. package/dist/src/plugins/filesystemPlugin/front/data/__tests__/fetchClient.test.d.ts +1 -0
  240. package/dist/src/plugins/filesystemPlugin/front/data/__tests__/fileRecords.test.d.ts +1 -0
  241. package/dist/src/plugins/filesystemPlugin/front/data/__tests__/hooks.test.d.ts +1 -0
  242. package/dist/src/plugins/filesystemPlugin/front/data/__tests__/useFileEventInvalidation.test.d.ts +1 -0
  243. package/dist/src/plugins/filesystemPlugin/front/data/__tests__/useFileEventStream.test.d.ts +1 -0
  244. package/dist/src/plugins/filesystemPlugin/front/data/__tests__/useFileUpload.test.d.ts +1 -0
  245. package/dist/src/plugins/filesystemPlugin/front/data/fetchClient.d.ts +63 -0
  246. package/dist/src/plugins/filesystemPlugin/front/data/fileRecords.d.ts +34 -0
  247. package/dist/src/plugins/filesystemPlugin/front/data/filesystemErrorRedaction.d.ts +2 -0
  248. package/dist/src/plugins/filesystemPlugin/front/data/hooks.d.ts +48 -0
  249. package/dist/src/plugins/filesystemPlugin/front/data/index.d.ts +9 -0
  250. package/dist/src/plugins/filesystemPlugin/front/data/treePreloadCache.d.ts +3 -0
  251. package/dist/src/plugins/filesystemPlugin/front/data/types.d.ts +37 -0
  252. package/dist/src/plugins/filesystemPlugin/front/data/useFileEventInvalidation.d.ts +28 -0
  253. package/dist/src/plugins/filesystemPlugin/front/data/useFileEventStream.d.ts +27 -0
  254. package/dist/src/plugins/filesystemPlugin/front/data/useFileUpload.d.ts +12 -0
  255. package/dist/src/plugins/filesystemPlugin/front/empty-file-panel/EmptyFilePanel.d.ts +6 -0
  256. package/dist/src/plugins/filesystemPlugin/front/empty-file-panel/definition.d.ts +8 -0
  257. package/dist/src/plugins/filesystemPlugin/front/events.d.ts +6 -0
  258. package/dist/src/plugins/filesystemPlugin/front/file-tree/FileTree.d.ts +59 -0
  259. package/dist/src/plugins/filesystemPlugin/front/file-tree/FileTreeView.d.ts +83 -0
  260. package/dist/src/plugins/filesystemPlugin/front/file-tree/__tests__/FileTree.test.d.ts +1 -0
  261. package/dist/src/plugins/filesystemPlugin/front/file-tree/__tests__/FileTreePane.test.d.ts +1 -0
  262. package/dist/src/plugins/filesystemPlugin/front/file-tree/__tests__/copyToClipboard.test.d.ts +1 -0
  263. package/dist/src/plugins/filesystemPlugin/front/file-tree/clipboard.d.ts +6 -0
  264. package/dist/src/plugins/filesystemPlugin/front/file-tree/dndManager.d.ts +8 -0
  265. package/dist/src/plugins/filesystemPlugin/front/file-tree/treeModel.d.ts +20 -0
  266. package/dist/src/plugins/filesystemPlugin/front/filePanelBinding.d.ts +1 -0
  267. package/dist/src/plugins/filesystemPlugin/front/html-viewer/HtmlViewer.d.ts +18 -0
  268. package/dist/src/plugins/filesystemPlugin/front/html-viewer/HtmlViewer.test.d.ts +1 -0
  269. package/dist/src/plugins/filesystemPlugin/front/html-viewer/HtmlViewerPane.d.ts +7 -0
  270. package/dist/src/plugins/filesystemPlugin/front/index.d.ts +11 -0
  271. package/dist/src/plugins/filesystemPlugin/front/markdown-editor/MarkdownEditor.d.ts +44 -0
  272. package/dist/src/plugins/filesystemPlugin/front/markdown-editor/MarkdownEditorPane.d.ts +8 -0
  273. package/dist/src/plugins/filesystemPlugin/front/markdown-editor/ResizableImage.d.ts +10 -0
  274. package/dist/src/plugins/filesystemPlugin/front/markdown-editor/__tests__/MarkdownEditor.test.d.ts +1 -0
  275. package/dist/src/plugins/filesystemPlugin/front/markdown-editor/__tests__/MarkdownEditorPane.test.d.ts +1 -0
  276. package/dist/src/plugins/filesystemPlugin/front/media-viewer/MediaViewer.d.ts +9 -0
  277. package/dist/src/plugins/filesystemPlugin/front/media-viewer/MediaViewer.test.d.ts +1 -0
  278. package/dist/src/plugins/filesystemPlugin/front/media-viewer/MediaViewerPane.d.ts +8 -0
  279. package/dist/src/plugins/filesystemPlugin/front/media-viewer/useMediaViewerReload.d.ts +8 -0
  280. package/dist/src/plugins/filesystemPlugin/front/media-viewer/useMediaViewerReload.test.d.ts +1 -0
  281. package/dist/src/plugins/filesystemPlugin/front/search.d.ts +5 -0
  282. package/dist/src/plugins/filesystemPlugin/front/search.test.d.ts +1 -0
  283. package/dist/src/plugins/filesystemPlugin/front/surfaceResolver.d.ts +10 -0
  284. package/dist/src/plugins/filesystemPlugin/front/useFilePane.d.ts +61 -0
  285. package/dist/src/plugins/filesystemPlugin/shared/constants.d.ts +12 -0
  286. package/dist/src/plugins/filesystemPlugin/shared/events.d.ts +39 -0
  287. package/dist/src/shared/__tests__/filesystem.test.d.ts +1 -0
  288. package/dist/src/shared/__tests__/telemetry.test.d.ts +1 -0
  289. package/dist/src/shared/__tests__/workspaceBridgeRpc.test.d.ts +1 -0
  290. package/dist/src/shared/index.d.ts +25 -0
  291. package/dist/src/shared/plugins/CatalogRegistry.d.ts +28 -0
  292. package/dist/src/shared/plugins/CommandRegistry.d.ts +23 -0
  293. package/dist/src/shared/plugins/SurfaceResolverRegistry.d.ts +24 -0
  294. package/dist/src/shared/plugins/__tests__/bootstrap.test.d.ts +1 -0
  295. package/dist/src/shared/plugins/__tests__/frontFactory.test.d.ts +1 -0
  296. package/dist/src/shared/plugins/__tests__/manifest.test.d.ts +1 -0
  297. package/dist/src/shared/plugins/__tests__/uiBridgeRegistry.test.d.ts +1 -0
  298. package/dist/src/shared/plugins/appLeftOverlayChrome.d.ts +10 -0
  299. package/dist/src/shared/plugins/bootstrap.d.ts +41 -0
  300. package/dist/src/shared/plugins/errors.d.ts +5 -0
  301. package/dist/src/shared/plugins/frontFactory.d.ts +166 -0
  302. package/dist/src/shared/plugins/index.d.ts +5 -0
  303. package/dist/src/shared/plugins/manifest.d.ts +58 -0
  304. package/dist/src/shared/plugins/runtimePluginTypes.d.ts +51 -0
  305. package/dist/src/shared/plugins/types.d.ts +84 -0
  306. package/dist/src/shared/plugins/uiBridgeRegistry.d.ts +44 -0
  307. package/dist/src/shared/plugins/workspaceShellCapabilities.d.ts +44 -0
  308. package/dist/src/shared/telemetry.d.ts +11 -0
  309. package/dist/src/shared/types/agent-tool.d.ts +30 -0
  310. package/dist/src/shared/types/boring-core-front.d.ts +2 -0
  311. package/dist/src/shared/types/filesystem.d.ts +15 -0
  312. package/dist/src/shared/types/panel.d.ts +123 -0
  313. package/dist/src/shared/types/surface.d.ts +42 -0
  314. package/dist/src/shared/ui-bridge.d.ts +77 -0
  315. package/dist/src/shared/workspace-bridge-rpc.d.ts +122 -0
  316. package/dist/{surface-aLQ_Hryw.d.ts → surface-h6IgrsK5.d.ts} +1 -1
  317. package/dist/testing-e2e.d.ts +2 -73
  318. package/dist/testing.d.ts +2 -433
  319. package/dist/testing.js +11 -11
  320. package/dist/{ui-bridge-D2eO3epD.d.ts → ui-bridge-C4CyIrQA.d.ts} +1 -1
  321. package/dist/{workspace-bridge-rpc-A98RA5o6.d.ts → workspace-bridge-rpc-BHsOJMlW.d.ts} +1 -1
  322. package/dist/workspace.css +21 -0
  323. package/dist/workspace.d.ts +2 -2649
  324. package/dist/workspace.js +40 -40
  325. 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,4 @@
1
+ import { LayoutConfig } from '../dock';
2
+ import { IdeLayoutProps } from './types';
3
+ export declare function buildIdeLayout(props?: IdeLayoutProps): LayoutConfig;
4
+ export declare function IdeLayout(props: IdeLayoutProps): import("react").JSX.Element;
@@ -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,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,7 @@
1
+ import { ReactNode } from 'react';
2
+ export declare function AppLeftPaneHeader({ appTitle, workspaceLabel, topSlot, showBrand, }: {
3
+ appTitle?: string;
4
+ workspaceLabel?: string;
5
+ topSlot?: ReactNode;
6
+ showBrand?: boolean;
7
+ }): 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,6 @@
1
+ import { ReactNode } from 'react';
2
+ export declare function SessionSubSection({ title, empty, children }: {
3
+ title: string;
4
+ empty?: string;
5
+ children: ReactNode;
6
+ }): import("react").JSX.Element | null;
@@ -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,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,2 @@
1
+ import { ClassValue } from 'clsx';
2
+ export declare function cn(...inputs: ClassValue[]): string;
@@ -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,8 @@
1
+ export interface PluginMeta {
2
+ id: string;
3
+ label?: string;
4
+ systemPrompt?: string;
5
+ }
6
+ export declare function PluginInspector({ plugins }: {
7
+ plugins: PluginMeta[];
8
+ }): import("react").JSX.Element | null;