@forgeax/interface 0.4.1
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/LICENSE +202 -0
- package/NOTICE +9 -0
- package/README.md +111 -0
- package/dist/package/browser/App.css +192 -0
- package/dist/package/browser/App.d.ts +11 -0
- package/dist/package/browser/App.js +11 -0
- package/dist/package/browser/ApplicationDetachedShell.d.ts +13 -0
- package/dist/package/browser/ApplicationDetachedShell.js +10 -0
- package/dist/package/browser/ApplicationShell.d.ts +19 -0
- package/dist/package/browser/ApplicationShell.js +62 -0
- package/dist/package/browser/app-kit.d.ts +1 -0
- package/dist/package/browser/app-kit.js +4 -0
- package/dist/package/browser/appHostBootstrap.d.ts +16 -0
- package/dist/package/browser/appHostBootstrap.js +145 -0
- package/dist/package/browser/application.d.ts +35 -0
- package/dist/package/browser/application.js +64 -0
- package/dist/package/browser/assets/icons/agent-icon.png +0 -0
- package/dist/package/browser/assets/icons/at.svg +3 -0
- package/dist/package/browser/assets/icons/chevron-collapse.svg +3 -0
- package/dist/package/browser/assets/icons/chevron-expand.svg +3 -0
- package/dist/package/browser/assets/icons/chevron-up.svg +3 -0
- package/dist/package/browser/assets/icons/close-x.svg +3 -0
- package/dist/package/browser/assets/icons/close.svg +3 -0
- package/dist/package/browser/assets/icons/copy.svg +4 -0
- package/dist/package/browser/assets/icons/edit.svg +3 -0
- package/dist/package/browser/assets/icons/fullscreen.svg +3 -0
- package/dist/package/browser/assets/icons/pause.svg +4 -0
- package/dist/package/browser/assets/icons/play.svg +3 -0
- package/dist/package/browser/assets/icons/select.svg +3 -0
- package/dist/package/browser/assets/icons/sendMessage-enable.svg +4 -0
- package/dist/package/browser/assets/icons/sendMessage.svg +4 -0
- package/dist/package/browser/assets/icons/status-done.svg +11 -0
- package/dist/package/browser/assets/icons/status-running.svg +10 -0
- package/dist/package/browser/assets/icons/status-waiting.svg +10 -0
- package/dist/package/browser/assets/icons/tool-execute-script.svg +3 -0
- package/dist/package/browser/assets/icons/tool-other.svg +10 -0
- package/dist/package/browser/assets/icons/tool-read-file.svg +3 -0
- package/dist/package/browser/assets/icons/tool-resource-search.svg +3 -0
- package/dist/package/browser/assets/icons/tool-task-todo.svg +4 -0
- package/dist/package/browser/assets/icons/tool-write-file.svg +3 -0
- package/dist/package/browser/boot/SettingsSection.d.ts +14 -0
- package/dist/package/browser/boot/SettingsSection.js +82 -0
- package/dist/package/browser/boot/broadcast.d.ts +2 -0
- package/dist/package/browser/boot/broadcast.js +32 -0
- package/dist/package/browser/boot/driver.d.ts +22 -0
- package/dist/package/browser/boot/driver.js +47 -0
- package/dist/package/browser/boot/store.d.ts +29 -0
- package/dist/package/browser/boot/store.js +114 -0
- package/dist/package/browser/boot/themes.d.ts +19 -0
- package/dist/package/browser/boot/themes.js +21 -0
- package/dist/package/browser/boot/types.d.ts +22 -0
- package/dist/package/browser/boot/types.js +30 -0
- package/dist/package/browser/brand/BrandProvider.d.ts +19 -0
- package/dist/package/browser/brand/BrandProvider.js +35 -0
- package/dist/package/browser/brand/index.d.ts +4 -0
- package/dist/package/browser/brand/index.js +3 -0
- package/dist/package/browser/brand/runtime.d.ts +17 -0
- package/dist/package/browser/brand/runtime.js +71 -0
- package/dist/package/browser/brand/types.d.ts +77 -0
- package/dist/package/browser/brand/types.js +9 -0
- package/dist/package/browser/components/ActivityRail/ActivityRail.css +294 -0
- package/dist/package/browser/components/ActivityRail/ActivityRail.d.ts +2 -0
- package/dist/package/browser/components/ActivityRail/ActivityRail.js +164 -0
- package/dist/package/browser/components/ActivityRail/activity-rail-model.d.ts +18 -0
- package/dist/package/browser/components/ActivityRail/activity-rail-model.js +144 -0
- package/dist/package/browser/components/AgentAvatar/AgentAvatar.d.ts +17 -0
- package/dist/package/browser/components/AgentAvatar/AgentAvatar.js +50 -0
- package/dist/package/browser/components/BuildBadge/BuildBadge.d.ts +1 -0
- package/dist/package/browser/components/BuildBadge/BuildBadge.js +279 -0
- package/dist/package/browser/components/Bus/BusAdminPanel.css +2425 -0
- package/dist/package/browser/components/Bus/BusAdminPanel.d.ts +2 -0
- package/dist/package/browser/components/Bus/BusAdminPanel.js +1385 -0
- package/dist/package/browser/components/Bus/CapabilityOverview.d.ts +3 -0
- package/dist/package/browser/components/Bus/CapabilityOverview.js +50 -0
- package/dist/package/browser/components/ChatColumn/ChatColumn.d.ts +2 -0
- package/dist/package/browser/components/ChatColumn/ChatColumn.js +18 -0
- package/dist/package/browser/components/ChatColumn/SessionTabStrip.d.ts +1 -0
- package/dist/package/browser/components/ChatColumn/SessionTabStrip.js +103 -0
- package/dist/package/browser/components/ChatColumn/useChatWidth.d.ts +5 -0
- package/dist/package/browser/components/ChatColumn/useChatWidth.js +13 -0
- package/dist/package/browser/components/CommandPalette/CommandPalette.css +199 -0
- package/dist/package/browser/components/CommandPalette/CommandPalette.d.ts +2 -0
- package/dist/package/browser/components/CommandPalette/CommandPalette.js +242 -0
- package/dist/package/browser/components/Confirm/ConfirmDialog.d.ts +2 -0
- package/dist/package/browser/components/Confirm/ConfirmDialog.js +113 -0
- package/dist/package/browser/components/ContextMenu/ContextMenu.d.ts +10 -0
- package/dist/package/browser/components/ContextMenu/ContextMenu.js +218 -0
- package/dist/package/browser/components/ContextMenu/menuRegistry.d.ts +18 -0
- package/dist/package/browser/components/ContextMenu/menuRegistry.js +152 -0
- package/dist/package/browser/components/DetachedSurface.d.ts +20 -0
- package/dist/package/browser/components/DetachedSurface.js +102 -0
- package/dist/package/browser/components/DockShell/DockPanelHost.d.ts +4 -0
- package/dist/package/browser/components/DockShell/DockPanelHost.js +7 -0
- package/dist/package/browser/components/DockShell/DockRegion.d.ts +7 -0
- package/dist/package/browser/components/DockShell/DockRegion.js +315 -0
- package/dist/package/browser/components/DockShell/DockShell.css +1018 -0
- package/dist/package/browser/components/DockShell/DockTab.d.ts +3 -0
- package/dist/package/browser/components/DockShell/DockTab.js +139 -0
- package/dist/package/browser/components/DockShell/ExtensionHostPanel.d.ts +9 -0
- package/dist/package/browser/components/DockShell/ExtensionHostPanel.js +68 -0
- package/dist/package/browser/components/DockShell/ExtensionRuntimeFrame.d.ts +14 -0
- package/dist/package/browser/components/DockShell/ExtensionRuntimeFrame.js +56 -0
- package/dist/package/browser/components/DockShell/PanelWindowingBoundary.d.ts +6 -0
- package/dist/package/browser/components/DockShell/PanelWindowingBoundary.js +9 -0
- package/dist/package/browser/components/DockShell/chatDockAnimation.d.ts +45 -0
- package/dist/package/browser/components/DockShell/chatDockAnimation.js +101 -0
- package/dist/package/browser/components/DockShell/chatDockFullscreen.d.ts +17 -0
- package/dist/package/browser/components/DockShell/chatDockFullscreen.js +22 -0
- package/dist/package/browser/components/DockShell/chatDockLayout.d.ts +10 -0
- package/dist/package/browser/components/DockShell/chatDockLayout.js +11 -0
- package/dist/package/browser/components/DockShell/compact-empty-dock-groups.d.ts +16 -0
- package/dist/package/browser/components/DockShell/compact-empty-dock-groups.js +28 -0
- package/dist/package/browser/components/DockShell/crossInstanceDrop.d.ts +1 -0
- package/dist/package/browser/components/DockShell/crossInstanceDrop.js +1 -0
- package/dist/package/browser/components/DockShell/dockResetEpoch.d.ts +2 -0
- package/dist/package/browser/components/DockShell/dockResetEpoch.js +13 -0
- package/dist/package/browser/components/DockShell/dockTitle.d.ts +12 -0
- package/dist/package/browser/components/DockShell/dockTitle.js +36 -0
- package/dist/package/browser/components/DockShell/dockviewRegistry.d.ts +1 -0
- package/dist/package/browser/components/DockShell/dockviewRegistry.js +1 -0
- package/dist/package/browser/components/DockShell/edgeDrawer.d.ts +24 -0
- package/dist/package/browser/components/DockShell/edgeDrawer.js +1144 -0
- package/dist/package/browser/components/DockShell/edgePinStore.d.ts +12 -0
- package/dist/package/browser/components/DockShell/edgePinStore.js +37 -0
- package/dist/package/browser/components/DockShell/extension-editor-bridge.d.ts +13 -0
- package/dist/package/browser/components/DockShell/extension-editor-bridge.js +100 -0
- package/dist/package/browser/components/DockShell/extension-runtime-selection.d.ts +8 -0
- package/dist/package/browser/components/DockShell/extension-runtime-selection.js +6 -0
- package/dist/package/browser/components/DockShell/extensionRuntime.d.ts +17 -0
- package/dist/package/browser/components/DockShell/extensionRuntime.js +84 -0
- package/dist/package/browser/components/DockShell/footer-panel-visibility.d.ts +7 -0
- package/dist/package/browser/components/DockShell/footer-panel-visibility.js +43 -0
- package/dist/package/browser/components/DockShell/footer-panels.d.ts +2 -0
- package/dist/package/browser/components/DockShell/footer-panels.js +7 -0
- package/dist/package/browser/components/DockShell/panelRegistry.d.ts +37 -0
- package/dist/package/browser/components/DockShell/panelRegistry.js +126 -0
- package/dist/package/browser/components/DockShell/panelRenderers.d.ts +325 -0
- package/dist/package/browser/components/DockShell/panelRenderers.js +25 -0
- package/dist/package/browser/components/DockShell/panelTabCommands.d.ts +18 -0
- package/dist/package/browser/components/DockShell/panelTabCommands.js +133 -0
- package/dist/package/browser/components/DockShell/panelWindowing.d.ts +32 -0
- package/dist/package/browser/components/DockShell/panelWindowing.js +42 -0
- package/dist/package/browser/components/DockShell/regions.d.ts +1 -0
- package/dist/package/browser/components/DockShell/regions.js +1 -0
- package/dist/package/browser/components/DockShell/resolveRegion.d.ts +1 -0
- package/dist/package/browser/components/DockShell/resolveRegion.js +1 -0
- package/dist/package/browser/components/DockShell/sanitizeDockLayout.d.ts +3 -0
- package/dist/package/browser/components/DockShell/sanitizeDockLayout.js +46 -0
- package/dist/package/browser/components/DockShell/sideEdgeMove.d.ts +1 -0
- package/dist/package/browser/components/DockShell/sideEdgeMove.js +1 -0
- package/dist/package/browser/components/DockShell/studioTabMenuProvider.d.ts +13 -0
- package/dist/package/browser/components/DockShell/studioTabMenuProvider.js +39 -0
- package/dist/package/browser/components/DockShell/tabContextMenu.d.ts +29 -0
- package/dist/package/browser/components/DockShell/tabContextMenu.js +68 -0
- package/dist/package/browser/components/DockShell/ueDrag/controller.d.ts +80 -0
- package/dist/package/browser/components/DockShell/ueDrag/controller.js +785 -0
- package/dist/package/browser/components/DockShell/ueDrag/geometry.d.ts +94 -0
- package/dist/package/browser/components/DockShell/ueDrag/geometry.js +217 -0
- package/dist/package/browser/components/DockShell/ueDrag/overlay.d.ts +32 -0
- package/dist/package/browser/components/DockShell/ueDrag/overlay.js +206 -0
- package/dist/package/browser/components/DockShell/ueDrag/ueDrag.css +199 -0
- package/dist/package/browser/components/DockShell/useAuxBarWidth.d.ts +5 -0
- package/dist/package/browser/components/DockShell/useAuxBarWidth.js +13 -0
- package/dist/package/browser/components/Drawer/DrawerHostView.css +143 -0
- package/dist/package/browser/components/Drawer/DrawerHostView.d.ts +19 -0
- package/dist/package/browser/components/Drawer/DrawerHostView.js +93 -0
- package/dist/package/browser/components/Drawer/DrawerLauncher.d.ts +12 -0
- package/dist/package/browser/components/Drawer/DrawerLauncher.js +22 -0
- package/dist/package/browser/components/Drawer/useDrawerStore.d.ts +15 -0
- package/dist/package/browser/components/Drawer/useDrawerStore.js +80 -0
- package/dist/package/browser/components/ErrorBoundary.d.ts +55 -0
- package/dist/package/browser/components/ErrorBoundary.js +131 -0
- package/dist/package/browser/components/ExtensionHost/ExtensionIframeHost.d.ts +28 -0
- package/dist/package/browser/components/ExtensionHost/ExtensionIframeHost.js +179 -0
- package/dist/package/browser/components/ExtensionHost/NativeExtensionHost.d.ts +14 -0
- package/dist/package/browser/components/ExtensionHost/NativeExtensionHost.js +152 -0
- package/dist/package/browser/components/Feedback/FeedbackPanel.css +640 -0
- package/dist/package/browser/components/Feedback/FeedbackPanel.d.ts +8 -0
- package/dist/package/browser/components/Feedback/FeedbackPanel.js +118 -0
- package/dist/package/browser/components/Feedback/PassiveFeedback.css +179 -0
- package/dist/package/browser/components/Feedback/PassiveFeedback.d.ts +2 -0
- package/dist/package/browser/components/Feedback/PassiveFeedback.js +218 -0
- package/dist/package/browser/components/Feedback/collect.d.ts +15 -0
- package/dist/package/browser/components/Feedback/collect.js +80 -0
- package/dist/package/browser/components/Feedback/store.d.ts +61 -0
- package/dist/package/browser/components/Feedback/store.js +174 -0
- package/dist/package/browser/components/LangSwitcher/LangSwitcher.css +78 -0
- package/dist/package/browser/components/LangSwitcher/LangSwitcher.d.ts +14 -0
- package/dist/package/browser/components/LangSwitcher/LangSwitcher.js +44 -0
- package/dist/package/browser/components/MainArea/ConsolePanel.d.ts +1 -0
- package/dist/package/browser/components/MainArea/ConsolePanel.js +16 -0
- package/dist/package/browser/components/MainArea/MainArea.css +2130 -0
- package/dist/package/browser/components/MainArea/MainArea.d.ts +2 -0
- package/dist/package/browser/components/MainArea/MainArea.js +20 -0
- package/dist/package/browser/components/MainArea/StandaloneExtensionIframe.d.ts +25 -0
- package/dist/package/browser/components/MainArea/StandaloneExtensionIframe.js +155 -0
- package/dist/package/browser/components/MainArea/SurfacePanels.d.ts +3 -0
- package/dist/package/browser/components/MainArea/SurfacePanels.js +27 -0
- package/dist/package/browser/components/MainArea/TelemetryViewer.css +122 -0
- package/dist/package/browser/components/MainArea/TelemetryViewer.d.ts +36 -0
- package/dist/package/browser/components/MainArea/TelemetryViewer.js +116 -0
- package/dist/package/browser/components/MenuBar/MenuBar.css +186 -0
- package/dist/package/browser/components/MenuBar/MenuBar.d.ts +27 -0
- package/dist/package/browser/components/MenuBar/MenuBar.js +286 -0
- package/dist/package/browser/components/MenuBar/index.d.ts +1 -0
- package/dist/package/browser/components/MenuBar/index.js +1 -0
- package/dist/package/browser/components/MenuBar/menubar-open-state.d.ts +8 -0
- package/dist/package/browser/components/MenuBar/menubar-open-state.js +11 -0
- package/dist/package/browser/components/MenuBar/menubar-surface.d.ts +30 -0
- package/dist/package/browser/components/MenuBar/menubar-surface.js +201 -0
- package/dist/package/browser/components/ModelPicker/index.d.ts +1 -0
- package/dist/package/browser/components/ModelPicker/index.js +1 -0
- package/dist/package/browser/components/ModelPicker/useModelCatalog.d.ts +22 -0
- package/dist/package/browser/components/ModelPicker/useModelCatalog.js +100 -0
- package/dist/package/browser/components/Onboarding/ConnectModelPrompt.d.ts +2 -0
- package/dist/package/browser/components/Onboarding/ConnectModelPrompt.js +40 -0
- package/dist/package/browser/components/Onboarding/Onboarding.css +232 -0
- package/dist/package/browser/components/Onboarding/OnboardingController.d.ts +10 -0
- package/dist/package/browser/components/Onboarding/OnboardingController.js +549 -0
- package/dist/package/browser/components/Onboarding/connect-selection.d.ts +17 -0
- package/dist/package/browser/components/Onboarding/connect-selection.js +18 -0
- package/dist/package/browser/components/Onboarding/home-transition.d.ts +9 -0
- package/dist/package/browser/components/Onboarding/home-transition.js +20 -0
- package/dist/package/browser/components/Onboarding/index.d.ts +4 -0
- package/dist/package/browser/components/Onboarding/index.js +3 -0
- package/dist/package/browser/components/Onboarding/prepareTourShell.d.ts +5 -0
- package/dist/package/browser/components/Onboarding/prepareTourShell.js +11 -0
- package/dist/package/browser/components/Onboarding/project-name.d.ts +17 -0
- package/dist/package/browser/components/Onboarding/project-name.js +29 -0
- package/dist/package/browser/components/Onboarding/types.d.ts +31 -0
- package/dist/package/browser/components/Onboarding/types.js +77 -0
- package/dist/package/browser/components/PageTabs/PageTabStrip.css +221 -0
- package/dist/package/browser/components/PageTabs/PageTabStrip.d.ts +3 -0
- package/dist/package/browser/components/PageTabs/PageTabStrip.js +214 -0
- package/dist/package/browser/components/PageTabs/openablePageTypes.d.ts +9 -0
- package/dist/package/browser/components/PageTabs/openablePageTypes.js +13 -0
- package/dist/package/browser/components/PanelShell/PanelShell.css +517 -0
- package/dist/package/browser/components/PanelShell/PanelShell.d.ts +7 -0
- package/dist/package/browser/components/PanelShell/PanelShell.js +459 -0
- package/dist/package/browser/components/Resize/ResizeHandle.d.ts +1 -0
- package/dist/package/browser/components/Resize/ResizeHandle.js +1 -0
- package/dist/package/browser/components/SceneBackground/SceneBackground.d.ts +2 -0
- package/dist/package/browser/components/SceneBackground/SceneBackground.js +5 -0
- package/dist/package/browser/components/SchemaForm/SchemaForm.css +138 -0
- package/dist/package/browser/components/SchemaForm/SchemaForm.d.ts +17 -0
- package/dist/package/browser/components/SchemaForm/SchemaForm.js +86 -0
- package/dist/package/browser/components/SchemaForm/schema-form-utils.d.ts +30 -0
- package/dist/package/browser/components/SchemaForm/schema-form-utils.js +51 -0
- package/dist/package/browser/components/SettingsPrimitives.d.ts +24 -0
- package/dist/package/browser/components/SettingsPrimitives.js +145 -0
- package/dist/package/browser/components/Sidebar/BusHealthLamp.d.ts +1 -0
- package/dist/package/browser/components/Sidebar/BusHealthLamp.js +72 -0
- package/dist/package/browser/components/Sidebar/FilesPanel.d.ts +1 -0
- package/dist/package/browser/components/Sidebar/FilesPanel.js +234 -0
- package/dist/package/browser/components/Sidebar/Sidebar.css +1393 -0
- package/dist/package/browser/components/Sidebar/Sidebar.d.ts +3 -0
- package/dist/package/browser/components/Sidebar/Sidebar.js +8 -0
- package/dist/package/browser/components/Sidebar/sidebar-types.d.ts +18 -0
- package/dist/package/browser/components/Sidebar/sidebar-types.js +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/SlotDebugOverlay.d.ts +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/SlotDebugOverlay.js +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/hashHue.d.ts +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/hashHue.js +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/index.d.ts +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/index.js +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/isSlotDebugEnabled.d.ts +1 -0
- package/dist/package/browser/components/SlotDebugOverlay/isSlotDebugEnabled.js +1 -0
- package/dist/package/browser/components/StatusBar/FatalBanner.d.ts +25 -0
- package/dist/package/browser/components/StatusBar/FatalBanner.js +52 -0
- package/dist/package/browser/components/StatusBar/GlobalStatusBar.css +304 -0
- package/dist/package/browser/components/StatusBar/InfoPanel.css +174 -0
- package/dist/package/browser/components/StatusBar/InfoPanel.d.ts +19 -0
- package/dist/package/browser/components/StatusBar/InfoPanel.js +128 -0
- package/dist/package/browser/components/StatusBar/StatusChip.css +52 -0
- package/dist/package/browser/components/StatusBar/StatusChip.d.ts +40 -0
- package/dist/package/browser/components/StatusBar/StatusChip.js +13 -0
- package/dist/package/browser/components/StatusBar/StripHostView.d.ts +2 -0
- package/dist/package/browser/components/StatusBar/StripHostView.js +91 -0
- package/dist/package/browser/components/StatusBar/StripPopover.css +58 -0
- package/dist/package/browser/components/StatusBar/StripPopover.d.ts +16 -0
- package/dist/package/browser/components/StatusBar/StripPopover.js +15 -0
- package/dist/package/browser/components/StatusBar/feeds/PulseFeeds.d.ts +16 -0
- package/dist/package/browser/components/StatusBar/feeds/PulseFeeds.js +88 -0
- package/dist/package/browser/components/StatusBar/footer/CheckpointsDrawer.d.ts +4 -0
- package/dist/package/browser/components/StatusBar/footer/CheckpointsDrawer.js +77 -0
- package/dist/package/browser/components/StatusBar/footer/DiagnosticsPopover.d.ts +4 -0
- package/dist/package/browser/components/StatusBar/footer/DiagnosticsPopover.js +108 -0
- package/dist/package/browser/components/StatusBar/footer/EventsDrawer.d.ts +14 -0
- package/dist/package/browser/components/StatusBar/footer/EventsDrawer.js +25 -0
- package/dist/package/browser/components/StatusBar/footer/ForgeaxBuildPopover.d.ts +4 -0
- package/dist/package/browser/components/StatusBar/footer/ForgeaxBuildPopover.js +62 -0
- package/dist/package/browser/components/StatusBar/footer/footer.css +178 -0
- package/dist/package/browser/components/StatusBar/healthBridge.d.ts +38 -0
- package/dist/package/browser/components/StatusBar/healthBridge.js +245 -0
- package/dist/package/browser/components/StatusBar/healthStore.d.ts +80 -0
- package/dist/package/browser/components/StatusBar/healthStore.js +129 -0
- package/dist/package/browser/components/StatusBar/useStatusItem.d.ts +10 -0
- package/dist/package/browser/components/StatusBar/useStatusItem.js +35 -0
- package/dist/package/browser/components/Surfaces/SurfaceKeepAlive.css +34 -0
- package/dist/package/browser/components/Surfaces/SurfaceKeepAliveLayer.d.ts +3 -0
- package/dist/package/browser/components/Surfaces/SurfaceKeepAliveLayer.js +218 -0
- package/dist/package/browser/components/Surfaces/SurfaceOverlay.css +160 -0
- package/dist/package/browser/components/Surfaces/SurfaceOverlay.d.ts +9 -0
- package/dist/package/browser/components/Surfaces/SurfaceOverlay.js +144 -0
- package/dist/package/browser/components/TopBar/AndroidPackageDialog.d.ts +23 -0
- package/dist/package/browser/components/TopBar/AndroidPackageDialog.js +115 -0
- package/dist/package/browser/components/TopBar/FsBrowser.css +156 -0
- package/dist/package/browser/components/TopBar/FsBrowser.d.ts +8 -0
- package/dist/package/browser/components/TopBar/FsBrowser.js +93 -0
- package/dist/package/browser/components/TopBar/GameSwitcher.d.ts +29 -0
- package/dist/package/browser/components/TopBar/GameSwitcher.js +157 -0
- package/dist/package/browser/components/TopBar/IosPackageDialog.d.ts +23 -0
- package/dist/package/browser/components/TopBar/IosPackageDialog.js +115 -0
- package/dist/package/browser/components/TopBar/ProjectSwitcher.d.ts +3 -0
- package/dist/package/browser/components/TopBar/ProjectSwitcher.js +41 -0
- package/dist/package/browser/components/TopBar/PublishOnboarding.css +133 -0
- package/dist/package/browser/components/TopBar/PublishOnboarding.d.ts +10 -0
- package/dist/package/browser/components/TopBar/PublishOnboarding.js +144 -0
- package/dist/package/browser/components/TopBar/SessionSwitcher.d.ts +2 -0
- package/dist/package/browser/components/TopBar/SessionSwitcher.js +124 -0
- package/dist/package/browser/components/TopBar/TopBar.css +1672 -0
- package/dist/package/browser/components/TopBar/TopBar.d.ts +2 -0
- package/dist/package/browser/components/TopBar/TopBar.js +606 -0
- package/dist/package/browser/components/TopBar/publish-options.d.ts +20 -0
- package/dist/package/browser/components/TopBar/publish-options.js +28 -0
- package/dist/package/browser/components/TourOverlay/TourOverlay.css +122 -0
- package/dist/package/browser/components/TourOverlay/TourOverlay.d.ts +26 -0
- package/dist/package/browser/components/TourOverlay/TourOverlay.js +233 -0
- package/dist/package/browser/components/TourOverlay/index.d.ts +2 -0
- package/dist/package/browser/components/TourOverlay/index.js +1 -0
- package/dist/package/browser/components/ownership.d.ts +7 -0
- package/dist/package/browser/components/ownership.js +7 -0
- package/dist/package/browser/components/ui/SearchableMenu.css +143 -0
- package/dist/package/browser/components/ui/SearchableMenu.d.ts +30 -0
- package/dist/package/browser/components/ui/SearchableMenu.js +40 -0
- package/dist/package/browser/components/ui/alert-dialog.d.ts +20 -0
- package/dist/package/browser/components/ui/alert-dialog.js +38 -0
- package/dist/package/browser/components/ui/button.d.ts +11 -0
- package/dist/package/browser/components/ui/button.js +33 -0
- package/dist/package/browser/components/ui/checkbox.d.ts +4 -0
- package/dist/package/browser/components/ui/checkbox.js +8 -0
- package/dist/package/browser/components/ui/command.d.ts +74 -0
- package/dist/package/browser/components/ui/command.js +20 -0
- package/dist/package/browser/components/ui/dialog.d.ts +21 -0
- package/dist/package/browser/components/ui/dialog.js +34 -0
- package/dist/package/browser/components/ui/dropdown-menu.d.ts +18 -0
- package/dist/package/browser/components/ui/dropdown-menu.js +30 -0
- package/dist/package/browser/components/ui/input.d.ts +3 -0
- package/dist/package/browser/components/ui/input.js +8 -0
- package/dist/package/browser/components/ui/label.d.ts +4 -0
- package/dist/package/browser/components/ui/label.js +7 -0
- package/dist/package/browser/components/ui/popover.d.ts +7 -0
- package/dist/package/browser/components/ui/popover.js +10 -0
- package/dist/package/browser/components/ui/select.d.ts +11 -0
- package/dist/package/browser/components/ui/select.js +31 -0
- package/dist/package/browser/components/ui/tabs.d.ts +7 -0
- package/dist/package/browser/components/ui/tabs.js +12 -0
- package/dist/package/browser/components/ui/textarea.d.ts +3 -0
- package/dist/package/browser/components/ui/textarea.js +8 -0
- package/dist/package/browser/components/ui/tooltip.d.ts +7 -0
- package/dist/package/browser/components/ui/tooltip.js +10 -0
- package/dist/package/browser/core/app-shell/catalog-page-extensions.d.ts +28 -0
- package/dist/package/browser/core/app-shell/catalog-page-extensions.js +234 -0
- package/dist/package/browser/core/app-shell/derive-panel-renderers.d.ts +2 -0
- package/dist/package/browser/core/app-shell/derive-panel-renderers.js +17 -0
- package/dist/package/browser/core/app-shell/host.d.ts +31 -0
- package/dist/package/browser/core/app-shell/host.js +188 -0
- package/dist/package/browser/core/app-shell/index.d.ts +7 -0
- package/dist/package/browser/core/app-shell/index.js +8 -0
- package/dist/package/browser/core/app-shell/logger.d.ts +2 -0
- package/dist/package/browser/core/app-shell/logger.js +6 -0
- package/dist/package/browser/core/app-shell/ownership.d.ts +7 -0
- package/dist/package/browser/core/app-shell/ownership.js +7 -0
- package/dist/package/browser/core/app-shell/react/HostProvider.d.ts +10 -0
- package/dist/package/browser/core/app-shell/react/HostProvider.js +35 -0
- package/dist/package/browser/core/app-shell/surface-extension.d.ts +17 -0
- package/dist/package/browser/core/app-shell/surface-extension.js +33 -0
- package/dist/package/browser/core/app-shell/types.d.ts +176 -0
- package/dist/package/browser/core/app-shell/types.js +1 -0
- package/dist/package/browser/core/contextual-keybindings.d.ts +71 -0
- package/dist/package/browser/core/contextual-keybindings.js +198 -0
- package/dist/package/browser/core/extension-foundation/bus.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/bus.js +3 -0
- package/dist/package/browser/core/extension-foundation/capabilities.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/capabilities.js +3 -0
- package/dist/package/browser/core/extension-foundation/commands.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/commands.js +3 -0
- package/dist/package/browser/core/extension-foundation/context-keys.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/context-keys.js +3 -0
- package/dist/package/browser/core/extension-foundation/contribution-registry.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/contribution-registry.js +3 -0
- package/dist/package/browser/core/extension-foundation/errors.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/errors.js +3 -0
- package/dist/package/browser/core/extension-foundation/index.d.ts +8 -0
- package/dist/package/browser/core/extension-foundation/index.js +9 -0
- package/dist/package/browser/core/extension-foundation/loader.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/loader.js +3 -0
- package/dist/package/browser/core/extension-foundation/storage.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/storage.js +3 -0
- package/dist/package/browser/core/extension-foundation/types.d.ts +2 -0
- package/dist/package/browser/core/extension-foundation/types.js +1 -0
- package/dist/package/browser/core/extensions/builtin-commands.d.ts +2 -0
- package/dist/package/browser/core/extensions/builtin-commands.js +256 -0
- package/dist/package/browser/core/extensions/builtin-menus.d.ts +2 -0
- package/dist/package/browser/core/extensions/builtin-menus.js +252 -0
- package/dist/package/browser/core/extensions/chrome-drawer.d.ts +3 -0
- package/dist/package/browser/core/extensions/chrome-drawer.js +45 -0
- package/dist/package/browser/core/extensions/chrome-statusbar.d.ts +6 -0
- package/dist/package/browser/core/extensions/chrome-statusbar.js +26 -0
- package/dist/package/browser/core/extensions/detached-agents-browser.d.ts +3 -0
- package/dist/package/browser/core/extensions/detached-agents-browser.js +9 -0
- package/dist/package/browser/core/extensions/detached-files-browser.d.ts +3 -0
- package/dist/package/browser/core/extensions/detached-files-browser.js +6 -0
- package/dist/package/browser/core/extensions/editor-commands.d.ts +2 -0
- package/dist/package/browser/core/extensions/editor-commands.js +182 -0
- package/dist/package/browser/core/extensions/foundation-bus.d.ts +2 -0
- package/dist/package/browser/core/extensions/foundation-bus.js +3 -0
- package/dist/package/browser/core/extensions/foundation-commands.d.ts +2 -0
- package/dist/package/browser/core/extensions/foundation-commands.js +6 -0
- package/dist/package/browser/core/extensions/foundation-storage.d.ts +2 -0
- package/dist/package/browser/core/extensions/foundation-storage.js +3 -0
- package/dist/package/browser/core/extensions/host-commands.d.ts +18 -0
- package/dist/package/browser/core/extensions/host-commands.js +52 -0
- package/dist/package/browser/core/extensions/observability.d.ts +14 -0
- package/dist/package/browser/core/extensions/observability.js +18 -0
- package/dist/package/browser/core/extensions/panels-chat.d.ts +2 -0
- package/dist/package/browser/core/extensions/panels-chat.js +41 -0
- package/dist/package/browser/core/extensions/panels-editor.d.ts +8 -0
- package/dist/package/browser/core/extensions/panels-editor.js +26 -0
- package/dist/package/browser/core/extensions/panels-viewport.d.ts +2 -0
- package/dist/package/browser/core/extensions/panels-viewport.js +20 -0
- package/dist/package/browser/core/extensions/session-client.d.ts +29 -0
- package/dist/package/browser/core/extensions/session-client.js +42 -0
- package/dist/package/browser/core/extensions/slots-corner-agent-picker.d.ts +5 -0
- package/dist/package/browser/core/extensions/slots-corner-agent-picker.js +6 -0
- package/dist/package/browser/core/extensions/slots-main-area-body.d.ts +3 -0
- package/dist/package/browser/core/extensions/slots-main-area-body.js +6 -0
- package/dist/package/browser/core/extensions/slots-sidebar-agents.d.ts +3 -0
- package/dist/package/browser/core/extensions/slots-sidebar-agents.js +6 -0
- package/dist/package/browser/core/extensions/studio-domain-clients.d.ts +12 -0
- package/dist/package/browser/core/extensions/studio-domain-clients.js +15 -0
- package/dist/package/browser/core/extensions/surfaces-scene-editor.d.ts +3 -0
- package/dist/package/browser/core/extensions/surfaces-scene-editor.js +6 -0
- package/dist/package/browser/core/extensions/trajectory.d.ts +2 -0
- package/dist/package/browser/core/extensions/trajectory.js +50 -0
- package/dist/package/browser/core/page-navigation.d.ts +1 -0
- package/dist/package/browser/core/page-navigation.js +1 -0
- package/dist/package/browser/core/page-platform/activity.d.ts +4 -0
- package/dist/package/browser/core/page-platform/activity.js +46 -0
- package/dist/package/browser/core/page-platform/dockview-layout.d.ts +7 -0
- package/dist/package/browser/core/page-platform/dockview-layout.js +63 -0
- package/dist/package/browser/core/page-platform/index.d.ts +8 -0
- package/dist/package/browser/core/page-platform/index.js +8 -0
- package/dist/package/browser/core/page-platform/layout-store.d.ts +18 -0
- package/dist/package/browser/core/page-platform/layout-store.js +54 -0
- package/dist/package/browser/core/page-platform/page-dirty-probe.d.ts +1 -0
- package/dist/package/browser/core/page-platform/page-dirty-probe.js +4 -0
- package/dist/package/browser/core/page-platform/registry.d.ts +3 -0
- package/dist/package/browser/core/page-platform/registry.js +194 -0
- package/dist/package/browser/core/page-platform/resource-editor.d.ts +3 -0
- package/dist/package/browser/core/page-platform/resource-editor.js +74 -0
- package/dist/package/browser/core/page-platform/session.d.ts +10 -0
- package/dist/package/browser/core/page-platform/session.js +327 -0
- package/dist/package/browser/core/page-platform/types.d.ts +242 -0
- package/dist/package/browser/core/page-platform/types.js +10 -0
- package/dist/package/browser/core/panels/context-expression.d.ts +1 -0
- package/dist/package/browser/core/panels/context-expression.js +1 -0
- package/dist/package/browser/core/panels/drawer.d.ts +23 -0
- package/dist/package/browser/core/panels/drawer.js +1 -0
- package/dist/package/browser/core/panels/index.d.ts +7 -0
- package/dist/package/browser/core/panels/index.js +7 -0
- package/dist/package/browser/core/panels/panel-action-registry.d.ts +6 -0
- package/dist/package/browser/core/panels/panel-action-registry.js +62 -0
- package/dist/package/browser/core/panels/panel-control-registry.d.ts +6 -0
- package/dist/package/browser/core/panels/panel-control-registry.js +54 -0
- package/dist/package/browser/core/panels/resolve-panel-action-state.d.ts +10 -0
- package/dist/package/browser/core/panels/resolve-panel-action-state.js +9 -0
- package/dist/package/browser/core/panels/strip.d.ts +40 -0
- package/dist/package/browser/core/panels/strip.js +1 -0
- package/dist/package/browser/core/panels/types.d.ts +143 -0
- package/dist/package/browser/core/panels/types.js +1 -0
- package/dist/package/browser/i18n/index.d.ts +50 -0
- package/dist/package/browser/i18n/index.js +207 -0
- package/dist/package/browser/i18n/locales/en.json +1959 -0
- package/dist/package/browser/i18n/locales/zh.json +1959 -0
- package/dist/package/browser/index.d.ts +2 -0
- package/dist/package/browser/index.js +2 -0
- package/dist/package/browser/lib/a11y-summary.d.ts +17 -0
- package/dist/package/browser/lib/a11y-summary.js +66 -0
- package/dist/package/browser/lib/action-dom-discovery.d.ts +2 -0
- package/dist/package/browser/lib/action-dom-discovery.js +84 -0
- package/dist/package/browser/lib/action-registry.d.ts +94 -0
- package/dist/package/browser/lib/action-registry.js +210 -0
- package/dist/package/browser/lib/aegis.d.ts +40 -0
- package/dist/package/browser/lib/aegis.js +230 -0
- package/dist/package/browser/lib/agent-catalog-url.d.ts +9 -0
- package/dist/package/browser/lib/agent-catalog-url.js +24 -0
- package/dist/package/browser/lib/agent-cli-provider.d.ts +10 -0
- package/dist/package/browser/lib/agent-cli-provider.js +81 -0
- package/dist/package/browser/lib/ai-intents.d.ts +30 -0
- package/dist/package/browser/lib/ai-intents.js +52 -0
- package/dist/package/browser/lib/broadcast-stream.d.ts +17 -0
- package/dist/package/browser/lib/broadcast-stream.js +163 -0
- package/dist/package/browser/lib/browser-prefs-sync.d.ts +16 -0
- package/dist/package/browser/lib/browser-prefs-sync.js +151 -0
- package/dist/package/browser/lib/builtin-actions.d.ts +2 -0
- package/dist/package/browser/lib/builtin-actions.js +558 -0
- package/dist/package/browser/lib/bus.d.ts +25 -0
- package/dist/package/browser/lib/bus.js +71 -0
- package/dist/package/browser/lib/checkpoint-api.d.ts +54 -0
- package/dist/package/browser/lib/checkpoint-api.js +41 -0
- package/dist/package/browser/lib/cli-providers.d.ts +33 -0
- package/dist/package/browser/lib/cli-providers.js +61 -0
- package/dist/package/browser/lib/command-palette-store.d.ts +5 -0
- package/dist/package/browser/lib/command-palette-store.js +22 -0
- package/dist/package/browser/lib/composer-bridge.d.ts +103 -0
- package/dist/package/browser/lib/composer-bridge.js +448 -0
- package/dist/package/browser/lib/dashboard-api.d.ts +104 -0
- package/dist/package/browser/lib/dashboard-api.js +125 -0
- package/dist/package/browser/lib/deep-link-bus.d.ts +10 -0
- package/dist/package/browser/lib/deep-link-bus.js +35 -0
- package/dist/package/browser/lib/dialog.d.ts +40 -0
- package/dist/package/browser/lib/dialog.js +103 -0
- package/dist/package/browser/lib/editor-facts-bus.d.ts +27 -0
- package/dist/package/browser/lib/editor-facts-bus.js +25 -0
- package/dist/package/browser/lib/extension-api.d.ts +140 -0
- package/dist/package/browser/lib/extension-api.js +90 -0
- package/dist/package/browser/lib/file-activity-stream.d.ts +54 -0
- package/dist/package/browser/lib/file-activity-stream.js +123 -0
- package/dist/package/browser/lib/file-family.d.ts +15 -0
- package/dist/package/browser/lib/file-family.js +25 -0
- package/dist/package/browser/lib/game-templates.d.ts +7 -0
- package/dist/package/browser/lib/game-templates.js +15 -0
- package/dist/package/browser/lib/global-shortcuts.d.ts +121 -0
- package/dist/package/browser/lib/global-shortcuts.js +551 -0
- package/dist/package/browser/lib/logSink.d.ts +16 -0
- package/dist/package/browser/lib/logSink.js +128 -0
- package/dist/package/browser/lib/lucide-icon.d.ts +5 -0
- package/dist/package/browser/lib/lucide-icon.js +20 -0
- package/dist/package/browser/lib/menu-registry.d.ts +113 -0
- package/dist/package/browser/lib/menu-registry.js +197 -0
- package/dist/package/browser/lib/model-config.d.ts +89 -0
- package/dist/package/browser/lib/model-config.js +72 -0
- package/dist/package/browser/lib/model-prefs.d.ts +5 -0
- package/dist/package/browser/lib/model-prefs.js +53 -0
- package/dist/package/browser/lib/model-route/index.d.ts +81 -0
- package/dist/package/browser/lib/model-route/index.js +175 -0
- package/dist/package/browser/lib/narrative-copilot.d.ts +20 -0
- package/dist/package/browser/lib/narrative-copilot.js +105 -0
- package/dist/package/browser/lib/native-menu-bridge.d.ts +37 -0
- package/dist/package/browser/lib/native-menu-bridge.js +151 -0
- package/dist/package/browser/lib/page-tab-icons.d.ts +21 -0
- package/dist/package/browser/lib/page-tab-icons.js +64 -0
- package/dist/package/browser/lib/panel-tab-icons.d.ts +21 -0
- package/dist/package/browser/lib/panel-tab-icons.js +49 -0
- package/dist/package/browser/lib/passive-feedback.d.ts +50 -0
- package/dist/package/browser/lib/passive-feedback.js +171 -0
- package/dist/package/browser/lib/perception-stream.d.ts +27 -0
- package/dist/package/browser/lib/perception-stream.js +42 -0
- package/dist/package/browser/lib/platform/index.d.ts +14 -0
- package/dist/package/browser/lib/platform/index.js +13 -0
- package/dist/package/browser/lib/platform/runtime.d.ts +22 -0
- package/dist/package/browser/lib/platform/runtime.js +42 -0
- package/dist/package/browser/lib/platform/shell-adapter.d.ts +24 -0
- package/dist/package/browser/lib/platform/shell-adapter.js +74 -0
- package/dist/package/browser/lib/platform/surface-windowing.d.ts +4 -0
- package/dist/package/browser/lib/platform/surface-windowing.js +16 -0
- package/dist/package/browser/lib/platform/surface.d.ts +13 -0
- package/dist/package/browser/lib/platform/surface.js +27 -0
- package/dist/package/browser/lib/platform/use-surface-windowing.d.ts +1 -0
- package/dist/package/browser/lib/platform/use-surface-windowing.js +6 -0
- package/dist/package/browser/lib/platform/window-manager.d.ts +2 -0
- package/dist/package/browser/lib/platform/window-manager.js +82 -0
- package/dist/package/browser/lib/project-context.d.ts +4 -0
- package/dist/package/browser/lib/project-context.js +42 -0
- package/dist/package/browser/lib/project.d.ts +5 -0
- package/dist/package/browser/lib/project.js +8 -0
- package/dist/package/browser/lib/recent-games.d.ts +24 -0
- package/dist/package/browser/lib/recent-games.js +50 -0
- package/dist/package/browser/lib/repair-builtin-menus.d.ts +6 -0
- package/dist/package/browser/lib/repair-builtin-menus.js +18 -0
- package/dist/package/browser/lib/reply-language.d.ts +9 -0
- package/dist/package/browser/lib/reply-language.js +11 -0
- package/dist/package/browser/lib/resilient-polling.d.ts +9 -0
- package/dist/package/browser/lib/resilient-polling.js +16 -0
- package/dist/package/browser/lib/session-time.d.ts +8 -0
- package/dist/package/browser/lib/session-time.js +40 -0
- package/dist/package/browser/lib/shell-live-data.d.ts +12 -0
- package/dist/package/browser/lib/shell-live-data.js +66 -0
- package/dist/package/browser/lib/sse.d.ts +5 -0
- package/dist/package/browser/lib/sse.js +42 -0
- package/dist/package/browser/lib/storageKeys.d.ts +70 -0
- package/dist/package/browser/lib/storageKeys.js +89 -0
- package/dist/package/browser/lib/surface-store.d.ts +38 -0
- package/dist/package/browser/lib/surface-store.js +62 -0
- package/dist/package/browser/lib/surface.d.ts +56 -0
- package/dist/package/browser/lib/surface.js +225 -0
- package/dist/package/browser/lib/surfaceAnchors.d.ts +16 -0
- package/dist/package/browser/lib/surfaceAnchors.js +76 -0
- package/dist/package/browser/lib/surfaceKeepAliveLayout.d.ts +7 -0
- package/dist/package/browser/lib/surfaceKeepAliveLayout.js +12 -0
- package/dist/package/browser/lib/telemetry-test-prelude.d.ts +0 -0
- package/dist/package/browser/lib/telemetry-test-prelude.js +14 -0
- package/dist/package/browser/lib/text-edit-actions.d.ts +14 -0
- package/dist/package/browser/lib/text-edit-actions.js +184 -0
- package/dist/package/browser/lib/trace.d.ts +34 -0
- package/dist/package/browser/lib/trace.js +273 -0
- package/dist/package/browser/lib/trustedOrigins.d.ts +4 -0
- package/dist/package/browser/lib/trustedOrigins.js +36 -0
- package/dist/package/browser/lib/ui-action-highlight.d.ts +2 -0
- package/dist/package/browser/lib/ui-action-highlight.js +93 -0
- package/dist/package/browser/lib/ui-bridge.d.ts +2 -0
- package/dist/package/browser/lib/ui-bridge.js +224 -0
- package/dist/package/browser/lib/ui-screenshot.d.ts +31 -0
- package/dist/package/browser/lib/ui-screenshot.js +155 -0
- package/dist/package/browser/lib/ui-trajectory.d.ts +47 -0
- package/dist/package/browser/lib/ui-trajectory.js +99 -0
- package/dist/package/browser/lib/use-bus-snapshot.d.ts +3 -0
- package/dist/package/browser/lib/use-bus-snapshot.js +13 -0
- package/dist/package/browser/lib/use-extension-manifest.d.ts +19 -0
- package/dist/package/browser/lib/use-extension-manifest.js +67 -0
- package/dist/package/browser/lib/useConfirmToast.d.ts +26 -0
- package/dist/package/browser/lib/useConfirmToast.js +120 -0
- package/dist/package/browser/lib/utils.d.ts +2 -0
- package/dist/package/browser/lib/utils.js +5 -0
- package/dist/package/browser/lib/vag-action-bridge.d.ts +2 -0
- package/dist/package/browser/lib/vag-action-bridge.js +130 -0
- package/dist/package/browser/main.d.ts +1 -0
- package/dist/package/browser/main.js +157 -0
- package/dist/package/browser/store-parts/domain-clients.d.ts +149 -0
- package/dist/package/browser/store-parts/domain-clients.js +17 -0
- package/dist/package/browser/store-parts/observability.d.ts +4 -0
- package/dist/package/browser/store-parts/observability.js +35 -0
- package/dist/package/browser/store-parts/persistence.d.ts +40 -0
- package/dist/package/browser/store-parts/persistence.js +245 -0
- package/dist/package/browser/store-parts/session-client.d.ts +73 -0
- package/dist/package/browser/store-parts/session-client.js +17 -0
- package/dist/package/browser/store-parts/session-pick.d.ts +8 -0
- package/dist/package/browser/store-parts/session-pick.js +21 -0
- package/dist/package/browser/store-parts/shell.d.ts +5 -0
- package/dist/package/browser/store-parts/shell.js +37 -0
- package/dist/package/browser/store.d.ts +455 -0
- package/dist/package/browser/store.js +890 -0
- package/dist/package/browser/styles/forgeax-preview/agent-avatar.css +69 -0
- package/dist/package/browser/styles/forgeax-preview/aliases.css +21 -0
- package/dist/package/browser/styles/forgeax-preview/chat-popover.css +141 -0
- package/dist/package/browser/styles/forgeax-preview/chat-session.css +896 -0
- package/dist/package/browser/styles/forgeax-preview/composer-port.css +531 -0
- package/dist/package/browser/styles/forgeax-preview/design-tokens.css +25 -0
- package/dist/package/browser/styles/forgeax-preview/index.css +9 -0
- package/dist/package/browser/styles/forgeax-preview/scene-fx.css +117 -0
- package/dist/package/browser/styles/forgeax-preview/shell-layout.css +280 -0
- package/dist/package/browser/styles/forgeax-preview/shell-skin.css +128 -0
- package/dist/package/browser/styles/foundation.tokens.json +2755 -0
- package/dist/package/browser/styles/global.css +196 -0
- package/dist/package/browser/styles/motion.css +558 -0
- package/dist/package/browser/styles/plugin-token-bridge.css +19 -0
- package/dist/package/browser/styles/primitive.css +197 -0
- package/dist/package/browser/styles/semantic.tokens.json +1524 -0
- package/dist/package/browser/styles/tokens.css +304 -0
- package/dist/package/node/App.js +11 -0
- package/dist/package/node/ApplicationDetachedShell.js +10 -0
- package/dist/package/node/ApplicationShell.js +62 -0
- package/dist/package/node/app-kit.js +4 -0
- package/dist/package/node/appHostBootstrap.js +145 -0
- package/dist/package/node/application.js +64 -0
- package/dist/package/node/boot/SettingsSection.js +82 -0
- package/dist/package/node/boot/broadcast.js +32 -0
- package/dist/package/node/boot/driver.js +47 -0
- package/dist/package/node/boot/store.js +114 -0
- package/dist/package/node/boot/themes.js +21 -0
- package/dist/package/node/boot/types.js +30 -0
- package/dist/package/node/brand/BrandProvider.js +35 -0
- package/dist/package/node/brand/index.js +3 -0
- package/dist/package/node/brand/runtime.js +71 -0
- package/dist/package/node/brand/types.js +9 -0
- package/dist/package/node/components/ActivityRail/ActivityRail.js +164 -0
- package/dist/package/node/components/ActivityRail/activity-rail-model.js +144 -0
- package/dist/package/node/components/AgentAvatar/AgentAvatar.js +50 -0
- package/dist/package/node/components/BuildBadge/BuildBadge.js +279 -0
- package/dist/package/node/components/Bus/BusAdminPanel.js +1385 -0
- package/dist/package/node/components/Bus/CapabilityOverview.js +50 -0
- package/dist/package/node/components/ChatColumn/ChatColumn.js +18 -0
- package/dist/package/node/components/ChatColumn/SessionTabStrip.js +103 -0
- package/dist/package/node/components/ChatColumn/useChatWidth.js +13 -0
- package/dist/package/node/components/CommandPalette/CommandPalette.js +242 -0
- package/dist/package/node/components/Confirm/ConfirmDialog.js +113 -0
- package/dist/package/node/components/ContextMenu/ContextMenu.js +218 -0
- package/dist/package/node/components/ContextMenu/menuRegistry.js +152 -0
- package/dist/package/node/components/DetachedSurface.js +102 -0
- package/dist/package/node/components/DockShell/DockPanelHost.js +7 -0
- package/dist/package/node/components/DockShell/DockRegion.js +315 -0
- package/dist/package/node/components/DockShell/DockTab.js +139 -0
- package/dist/package/node/components/DockShell/ExtensionHostPanel.js +68 -0
- package/dist/package/node/components/DockShell/ExtensionRuntimeFrame.js +56 -0
- package/dist/package/node/components/DockShell/PanelWindowingBoundary.js +9 -0
- package/dist/package/node/components/DockShell/chatDockAnimation.js +101 -0
- package/dist/package/node/components/DockShell/chatDockFullscreen.js +22 -0
- package/dist/package/node/components/DockShell/chatDockLayout.js +11 -0
- package/dist/package/node/components/DockShell/compact-empty-dock-groups.js +28 -0
- package/dist/package/node/components/DockShell/crossInstanceDrop.js +1 -0
- package/dist/package/node/components/DockShell/dockResetEpoch.js +13 -0
- package/dist/package/node/components/DockShell/dockTitle.js +36 -0
- package/dist/package/node/components/DockShell/dockviewRegistry.js +1 -0
- package/dist/package/node/components/DockShell/edgeDrawer.js +1144 -0
- package/dist/package/node/components/DockShell/edgePinStore.js +37 -0
- package/dist/package/node/components/DockShell/extension-editor-bridge.js +100 -0
- package/dist/package/node/components/DockShell/extension-runtime-selection.js +6 -0
- package/dist/package/node/components/DockShell/extensionRuntime.js +84 -0
- package/dist/package/node/components/DockShell/footer-panel-visibility.js +43 -0
- package/dist/package/node/components/DockShell/footer-panels.js +7 -0
- package/dist/package/node/components/DockShell/panelRegistry.js +126 -0
- package/dist/package/node/components/DockShell/panelRenderers.js +25 -0
- package/dist/package/node/components/DockShell/panelTabCommands.js +133 -0
- package/dist/package/node/components/DockShell/panelWindowing.js +42 -0
- package/dist/package/node/components/DockShell/regions.js +1 -0
- package/dist/package/node/components/DockShell/resolveRegion.js +1 -0
- package/dist/package/node/components/DockShell/sanitizeDockLayout.js +46 -0
- package/dist/package/node/components/DockShell/sideEdgeMove.js +1 -0
- package/dist/package/node/components/DockShell/studioTabMenuProvider.js +39 -0
- package/dist/package/node/components/DockShell/tabContextMenu.js +68 -0
- package/dist/package/node/components/DockShell/ueDrag/controller.js +785 -0
- package/dist/package/node/components/DockShell/ueDrag/geometry.js +217 -0
- package/dist/package/node/components/DockShell/ueDrag/overlay.js +206 -0
- package/dist/package/node/components/DockShell/useAuxBarWidth.js +13 -0
- package/dist/package/node/components/Drawer/DrawerHostView.js +93 -0
- package/dist/package/node/components/Drawer/DrawerLauncher.js +22 -0
- package/dist/package/node/components/Drawer/useDrawerStore.js +80 -0
- package/dist/package/node/components/ErrorBoundary.js +131 -0
- package/dist/package/node/components/ExtensionHost/ExtensionIframeHost.js +179 -0
- package/dist/package/node/components/ExtensionHost/NativeExtensionHost.js +152 -0
- package/dist/package/node/components/Feedback/FeedbackPanel.js +118 -0
- package/dist/package/node/components/Feedback/PassiveFeedback.js +218 -0
- package/dist/package/node/components/Feedback/collect.js +80 -0
- package/dist/package/node/components/Feedback/store.js +174 -0
- package/dist/package/node/components/LangSwitcher/LangSwitcher.js +44 -0
- package/dist/package/node/components/MainArea/ConsolePanel.js +16 -0
- package/dist/package/node/components/MainArea/MainArea.js +20 -0
- package/dist/package/node/components/MainArea/StandaloneExtensionIframe.js +155 -0
- package/dist/package/node/components/MainArea/SurfacePanels.js +27 -0
- package/dist/package/node/components/MainArea/TelemetryViewer.js +116 -0
- package/dist/package/node/components/MenuBar/MenuBar.js +286 -0
- package/dist/package/node/components/MenuBar/index.js +1 -0
- package/dist/package/node/components/MenuBar/menubar-open-state.js +11 -0
- package/dist/package/node/components/MenuBar/menubar-surface.js +201 -0
- package/dist/package/node/components/ModelPicker/index.js +1 -0
- package/dist/package/node/components/ModelPicker/useModelCatalog.js +100 -0
- package/dist/package/node/components/Onboarding/ConnectModelPrompt.js +40 -0
- package/dist/package/node/components/Onboarding/OnboardingController.js +549 -0
- package/dist/package/node/components/Onboarding/connect-selection.js +18 -0
- package/dist/package/node/components/Onboarding/home-transition.js +20 -0
- package/dist/package/node/components/Onboarding/index.js +3 -0
- package/dist/package/node/components/Onboarding/prepareTourShell.js +11 -0
- package/dist/package/node/components/Onboarding/project-name.js +29 -0
- package/dist/package/node/components/Onboarding/types.js +77 -0
- package/dist/package/node/components/PageTabs/PageTabStrip.js +214 -0
- package/dist/package/node/components/PageTabs/openablePageTypes.js +13 -0
- package/dist/package/node/components/PanelShell/PanelShell.js +459 -0
- package/dist/package/node/components/Resize/ResizeHandle.js +1 -0
- package/dist/package/node/components/SceneBackground/SceneBackground.js +5 -0
- package/dist/package/node/components/SchemaForm/SchemaForm.js +86 -0
- package/dist/package/node/components/SchemaForm/schema-form-utils.js +51 -0
- package/dist/package/node/components/SettingsPrimitives.js +145 -0
- package/dist/package/node/components/Sidebar/BusHealthLamp.js +72 -0
- package/dist/package/node/components/Sidebar/FilesPanel.js +234 -0
- package/dist/package/node/components/Sidebar/Sidebar.js +8 -0
- package/dist/package/node/components/Sidebar/sidebar-types.js +1 -0
- package/dist/package/node/components/SlotDebugOverlay/SlotDebugOverlay.js +1 -0
- package/dist/package/node/components/SlotDebugOverlay/hashHue.js +1 -0
- package/dist/package/node/components/SlotDebugOverlay/index.js +1 -0
- package/dist/package/node/components/SlotDebugOverlay/isSlotDebugEnabled.js +1 -0
- package/dist/package/node/components/StatusBar/FatalBanner.js +52 -0
- package/dist/package/node/components/StatusBar/InfoPanel.js +128 -0
- package/dist/package/node/components/StatusBar/StatusChip.js +13 -0
- package/dist/package/node/components/StatusBar/StripHostView.js +91 -0
- package/dist/package/node/components/StatusBar/StripPopover.js +15 -0
- package/dist/package/node/components/StatusBar/feeds/PulseFeeds.js +88 -0
- package/dist/package/node/components/StatusBar/footer/CheckpointsDrawer.js +77 -0
- package/dist/package/node/components/StatusBar/footer/DiagnosticsPopover.js +108 -0
- package/dist/package/node/components/StatusBar/footer/EventsDrawer.js +25 -0
- package/dist/package/node/components/StatusBar/footer/ForgeaxBuildPopover.js +62 -0
- package/dist/package/node/components/StatusBar/healthBridge.js +245 -0
- package/dist/package/node/components/StatusBar/healthStore.js +129 -0
- package/dist/package/node/components/StatusBar/useStatusItem.js +35 -0
- package/dist/package/node/components/Surfaces/SurfaceKeepAliveLayer.js +218 -0
- package/dist/package/node/components/Surfaces/SurfaceOverlay.js +144 -0
- package/dist/package/node/components/TopBar/AndroidPackageDialog.js +115 -0
- package/dist/package/node/components/TopBar/FsBrowser.js +93 -0
- package/dist/package/node/components/TopBar/GameSwitcher.js +157 -0
- package/dist/package/node/components/TopBar/IosPackageDialog.js +115 -0
- package/dist/package/node/components/TopBar/ProjectSwitcher.js +41 -0
- package/dist/package/node/components/TopBar/PublishOnboarding.js +144 -0
- package/dist/package/node/components/TopBar/SessionSwitcher.js +124 -0
- package/dist/package/node/components/TopBar/TopBar.js +606 -0
- package/dist/package/node/components/TopBar/publish-options.js +28 -0
- package/dist/package/node/components/TourOverlay/TourOverlay.js +233 -0
- package/dist/package/node/components/TourOverlay/index.js +1 -0
- package/dist/package/node/components/ownership.js +7 -0
- package/dist/package/node/components/ui/SearchableMenu.js +40 -0
- package/dist/package/node/components/ui/alert-dialog.js +38 -0
- package/dist/package/node/components/ui/button.js +33 -0
- package/dist/package/node/components/ui/checkbox.js +8 -0
- package/dist/package/node/components/ui/command.js +20 -0
- package/dist/package/node/components/ui/dialog.js +34 -0
- package/dist/package/node/components/ui/dropdown-menu.js +30 -0
- package/dist/package/node/components/ui/input.js +8 -0
- package/dist/package/node/components/ui/label.js +7 -0
- package/dist/package/node/components/ui/popover.js +10 -0
- package/dist/package/node/components/ui/select.js +31 -0
- package/dist/package/node/components/ui/tabs.js +12 -0
- package/dist/package/node/components/ui/textarea.js +8 -0
- package/dist/package/node/components/ui/tooltip.js +10 -0
- package/dist/package/node/core/app-shell/catalog-page-extensions.js +234 -0
- package/dist/package/node/core/app-shell/derive-panel-renderers.js +17 -0
- package/dist/package/node/core/app-shell/host.js +188 -0
- package/dist/package/node/core/app-shell/index.js +8 -0
- package/dist/package/node/core/app-shell/logger.js +6 -0
- package/dist/package/node/core/app-shell/ownership.js +7 -0
- package/dist/package/node/core/app-shell/react/HostProvider.js +35 -0
- package/dist/package/node/core/app-shell/surface-extension.js +33 -0
- package/dist/package/node/core/app-shell/types.js +1 -0
- package/dist/package/node/core/contextual-keybindings.js +198 -0
- package/dist/package/node/core/extension-foundation/bus.js +3 -0
- package/dist/package/node/core/extension-foundation/capabilities.js +3 -0
- package/dist/package/node/core/extension-foundation/commands.js +3 -0
- package/dist/package/node/core/extension-foundation/context-keys.js +3 -0
- package/dist/package/node/core/extension-foundation/contribution-registry.js +3 -0
- package/dist/package/node/core/extension-foundation/errors.js +3 -0
- package/dist/package/node/core/extension-foundation/index.js +9 -0
- package/dist/package/node/core/extension-foundation/loader.js +3 -0
- package/dist/package/node/core/extension-foundation/storage.js +3 -0
- package/dist/package/node/core/extension-foundation/types.js +1 -0
- package/dist/package/node/core/extensions/builtin-commands.js +256 -0
- package/dist/package/node/core/extensions/builtin-menus.js +252 -0
- package/dist/package/node/core/extensions/chrome-drawer.js +45 -0
- package/dist/package/node/core/extensions/chrome-statusbar.js +26 -0
- package/dist/package/node/core/extensions/detached-agents-browser.js +9 -0
- package/dist/package/node/core/extensions/detached-files-browser.js +6 -0
- package/dist/package/node/core/extensions/editor-commands.js +182 -0
- package/dist/package/node/core/extensions/foundation-bus.js +3 -0
- package/dist/package/node/core/extensions/foundation-commands.js +6 -0
- package/dist/package/node/core/extensions/foundation-storage.js +3 -0
- package/dist/package/node/core/extensions/host-commands.js +52 -0
- package/dist/package/node/core/extensions/observability.js +18 -0
- package/dist/package/node/core/extensions/panels-chat.js +41 -0
- package/dist/package/node/core/extensions/panels-editor.js +26 -0
- package/dist/package/node/core/extensions/panels-viewport.js +20 -0
- package/dist/package/node/core/extensions/session-client.js +42 -0
- package/dist/package/node/core/extensions/slots-corner-agent-picker.js +6 -0
- package/dist/package/node/core/extensions/slots-main-area-body.js +6 -0
- package/dist/package/node/core/extensions/slots-sidebar-agents.js +6 -0
- package/dist/package/node/core/extensions/studio-domain-clients.js +15 -0
- package/dist/package/node/core/extensions/surfaces-scene-editor.js +6 -0
- package/dist/package/node/core/extensions/trajectory.js +50 -0
- package/dist/package/node/core/page-navigation.js +1 -0
- package/dist/package/node/core/page-platform/activity.js +46 -0
- package/dist/package/node/core/page-platform/dockview-layout.js +63 -0
- package/dist/package/node/core/page-platform/index.js +8 -0
- package/dist/package/node/core/page-platform/layout-store.js +54 -0
- package/dist/package/node/core/page-platform/page-dirty-probe.js +4 -0
- package/dist/package/node/core/page-platform/registry.js +194 -0
- package/dist/package/node/core/page-platform/resource-editor.js +74 -0
- package/dist/package/node/core/page-platform/session.js +327 -0
- package/dist/package/node/core/page-platform/types.js +10 -0
- package/dist/package/node/core/panels/context-expression.js +1 -0
- package/dist/package/node/core/panels/drawer.js +1 -0
- package/dist/package/node/core/panels/index.js +7 -0
- package/dist/package/node/core/panels/panel-action-registry.js +62 -0
- package/dist/package/node/core/panels/panel-control-registry.js +54 -0
- package/dist/package/node/core/panels/resolve-panel-action-state.js +9 -0
- package/dist/package/node/core/panels/strip.js +1 -0
- package/dist/package/node/core/panels/types.js +1 -0
- package/dist/package/node/i18n/index.js +207 -0
- package/dist/package/node/i18n/locales/en.json +1959 -0
- package/dist/package/node/i18n/locales/zh.json +1959 -0
- package/dist/package/node/index.js +2 -0
- package/dist/package/node/lib/a11y-summary.js +66 -0
- package/dist/package/node/lib/action-dom-discovery.js +84 -0
- package/dist/package/node/lib/action-registry.js +210 -0
- package/dist/package/node/lib/aegis.js +230 -0
- package/dist/package/node/lib/agent-catalog-url.js +24 -0
- package/dist/package/node/lib/agent-cli-provider.js +81 -0
- package/dist/package/node/lib/ai-intents.js +52 -0
- package/dist/package/node/lib/broadcast-stream.js +163 -0
- package/dist/package/node/lib/browser-prefs-sync.js +151 -0
- package/dist/package/node/lib/builtin-actions.js +558 -0
- package/dist/package/node/lib/bus.js +71 -0
- package/dist/package/node/lib/checkpoint-api.js +41 -0
- package/dist/package/node/lib/cli-providers.js +61 -0
- package/dist/package/node/lib/command-palette-store.js +22 -0
- package/dist/package/node/lib/composer-bridge.js +448 -0
- package/dist/package/node/lib/dashboard-api.js +125 -0
- package/dist/package/node/lib/deep-link-bus.js +35 -0
- package/dist/package/node/lib/dialog.js +103 -0
- package/dist/package/node/lib/editor-facts-bus.js +25 -0
- package/dist/package/node/lib/extension-api.js +90 -0
- package/dist/package/node/lib/file-activity-stream.js +123 -0
- package/dist/package/node/lib/file-family.js +25 -0
- package/dist/package/node/lib/game-templates.js +15 -0
- package/dist/package/node/lib/global-shortcuts.js +551 -0
- package/dist/package/node/lib/logSink.js +128 -0
- package/dist/package/node/lib/lucide-icon.js +20 -0
- package/dist/package/node/lib/menu-registry.js +197 -0
- package/dist/package/node/lib/model-config.js +72 -0
- package/dist/package/node/lib/model-prefs.js +53 -0
- package/dist/package/node/lib/model-route/index.js +175 -0
- package/dist/package/node/lib/narrative-copilot.js +105 -0
- package/dist/package/node/lib/native-menu-bridge.js +151 -0
- package/dist/package/node/lib/page-tab-icons.js +64 -0
- package/dist/package/node/lib/panel-tab-icons.js +49 -0
- package/dist/package/node/lib/passive-feedback.js +171 -0
- package/dist/package/node/lib/perception-stream.js +42 -0
- package/dist/package/node/lib/platform/index.js +13 -0
- package/dist/package/node/lib/platform/runtime.js +42 -0
- package/dist/package/node/lib/platform/shell-adapter.js +74 -0
- package/dist/package/node/lib/platform/surface-windowing.js +16 -0
- package/dist/package/node/lib/platform/surface.js +27 -0
- package/dist/package/node/lib/platform/use-surface-windowing.js +6 -0
- package/dist/package/node/lib/platform/window-manager.js +82 -0
- package/dist/package/node/lib/project-context.js +42 -0
- package/dist/package/node/lib/project.js +8 -0
- package/dist/package/node/lib/recent-games.js +50 -0
- package/dist/package/node/lib/repair-builtin-menus.js +18 -0
- package/dist/package/node/lib/reply-language.js +11 -0
- package/dist/package/node/lib/resilient-polling.js +16 -0
- package/dist/package/node/lib/session-time.js +40 -0
- package/dist/package/node/lib/shell-live-data.js +66 -0
- package/dist/package/node/lib/sse.js +42 -0
- package/dist/package/node/lib/storageKeys.js +89 -0
- package/dist/package/node/lib/surface-store.js +62 -0
- package/dist/package/node/lib/surface.js +225 -0
- package/dist/package/node/lib/surfaceAnchors.js +76 -0
- package/dist/package/node/lib/surfaceKeepAliveLayout.js +12 -0
- package/dist/package/node/lib/telemetry-test-prelude.js +14 -0
- package/dist/package/node/lib/text-edit-actions.js +184 -0
- package/dist/package/node/lib/trace.js +273 -0
- package/dist/package/node/lib/trustedOrigins.js +36 -0
- package/dist/package/node/lib/ui-action-highlight.js +93 -0
- package/dist/package/node/lib/ui-bridge.js +224 -0
- package/dist/package/node/lib/ui-screenshot.js +155 -0
- package/dist/package/node/lib/ui-trajectory.js +99 -0
- package/dist/package/node/lib/use-bus-snapshot.js +13 -0
- package/dist/package/node/lib/use-extension-manifest.js +67 -0
- package/dist/package/node/lib/useConfirmToast.js +120 -0
- package/dist/package/node/lib/utils.js +5 -0
- package/dist/package/node/lib/vag-action-bridge.js +130 -0
- package/dist/package/node/main.js +157 -0
- package/dist/package/node/store-parts/domain-clients.js +17 -0
- package/dist/package/node/store-parts/observability.js +35 -0
- package/dist/package/node/store-parts/persistence.js +245 -0
- package/dist/package/node/store-parts/session-client.js +17 -0
- package/dist/package/node/store-parts/session-pick.js +21 -0
- package/dist/package/node/store-parts/shell.js +37 -0
- package/dist/package/node/store.js +890 -0
- package/dist/package/node/styles/foundation.tokens.json +2755 -0
- package/dist/package/node/styles/semantic.tokens.json +1524 -0
- package/dist/package/packages/design/styles/fx-bridge.css +25 -0
- package/dist/package/packages/design/styles/primitive.css +199 -0
- package/dist/package/packages/design/styles/semantic.css +262 -0
- package/dist/package/packages/design/theme.d.ts +15 -0
- package/dist/package/packages/design/theme.js +31 -0
- package/dist/package/packages/design/tokens.css +14 -0
- package/package.json +145 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// SSOT for "which tab is pinned in which edge group".
|
|
2
|
+
//
|
|
3
|
+
// edgeDrawer OWNS the rules (at most one pin per edge group; a pinned active tab
|
|
4
|
+
// defeats auto-dismiss) and writes here. DockTab READS here to render the Pin
|
|
5
|
+
// toggle. The split exists so the glyph is a RENDER of state rather than a
|
|
6
|
+
// runtime overwrite of React's own output: edgeDrawer used to do
|
|
7
|
+
// `action.innerHTML = PIN_SVG` on dockview events, which raced React's portal
|
|
8
|
+
// commit (on a fresh page the tab had no pin until some unrelated dockview event
|
|
9
|
+
// happened to re-run the swap) and had no inverse, so a panel dragged out of a
|
|
10
|
+
// strip kept a Pin glyph and a dead close button.
|
|
11
|
+
//
|
|
12
|
+
// Module-scoped adapter: App Shell owns the generic state while only the
|
|
13
|
+
// DockShell region supplies concrete Dockview group/panel identities.
|
|
14
|
+
import { createEdgePinStore } from '@forgeax/app-shell/window';
|
|
15
|
+
/** DOM contract between the two halves: DockTab stamps it on the toggle,
|
|
16
|
+
* edgeDrawer's capture-phase click handler `closest()`s for it. (The CSS in
|
|
17
|
+
* DockShell.css / GlobalStatusBar.css spells it literally, as CSS must.) */
|
|
18
|
+
export const EDGE_PIN_CLASS = 'fx-edge-pin';
|
|
19
|
+
const edgePins = createEdgePinStore();
|
|
20
|
+
export const edgePinStateSource = {
|
|
21
|
+
pinnedIn: edgePins.pinnedIn,
|
|
22
|
+
subscribe: edgePins.onChange,
|
|
23
|
+
};
|
|
24
|
+
export function subscribeEdgePins(onChange) {
|
|
25
|
+
return edgePins.onChange(onChange);
|
|
26
|
+
}
|
|
27
|
+
export function pinnedPanelIdIn(groupId) {
|
|
28
|
+
return edgePins.pinnedIn(groupId);
|
|
29
|
+
}
|
|
30
|
+
/** `panelId === undefined` unpins the group. No-ops (and stays silent) when the
|
|
31
|
+
* state already matches, so callers can fire it from reconcilers. */
|
|
32
|
+
export function setEdgePin(groupId, panelId) {
|
|
33
|
+
edgePins.setPinned(groupId, panelId);
|
|
34
|
+
}
|
|
35
|
+
export function clearEdgePins() {
|
|
36
|
+
edgePins.clear();
|
|
37
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { installWindowMessageObservation } from '@forgeax/app-shell/react';
|
|
2
|
+
function isRecord(value) {
|
|
3
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
4
|
+
}
|
|
5
|
+
function parseRequest(value) {
|
|
6
|
+
if (!isRecord(value) || value.type !== 'extension:editor-asset-import')
|
|
7
|
+
return null;
|
|
8
|
+
const requestId = value.requestId;
|
|
9
|
+
const base64 = value.base64;
|
|
10
|
+
const destPath = value.destPath;
|
|
11
|
+
const sourceName = value.sourceName;
|
|
12
|
+
if (typeof requestId !== 'string' || requestId.trim() === ''
|
|
13
|
+
|| typeof base64 !== 'string' || base64.trim() === ''
|
|
14
|
+
|| typeof destPath !== 'string' || destPath.trim() === ''
|
|
15
|
+
|| typeof sourceName !== 'string' || sourceName.trim() === '')
|
|
16
|
+
return null;
|
|
17
|
+
return {
|
|
18
|
+
requestId: requestId.trim(),
|
|
19
|
+
base64,
|
|
20
|
+
destPath: destPath.trim(),
|
|
21
|
+
sourceName: sourceName.trim(),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function failureHint(value) {
|
|
25
|
+
if (!isRecord(value) || value.ok !== false)
|
|
26
|
+
return null;
|
|
27
|
+
if (typeof value.error === 'string')
|
|
28
|
+
return value.error;
|
|
29
|
+
if (isRecord(value.error) && typeof value.error.hint === 'string')
|
|
30
|
+
return value.error.hint;
|
|
31
|
+
return 'Editor asset import failed';
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Attach the one host-side bridge used by both standalone and formal
|
|
35
|
+
* Page iframes. It owns only the message envelope; the injected callback
|
|
36
|
+
* remains the Studio-side Editor Gateway implementation.
|
|
37
|
+
*/
|
|
38
|
+
export function attachExtensionEditorAssetImportBridge(options) {
|
|
39
|
+
let disposed = false;
|
|
40
|
+
const onMessage = (event) => {
|
|
41
|
+
if (disposed)
|
|
42
|
+
return;
|
|
43
|
+
if (options.isTrustedEvent && !options.isTrustedEvent(event))
|
|
44
|
+
return;
|
|
45
|
+
const source = options.frameWindow();
|
|
46
|
+
if (!source || event.source !== source)
|
|
47
|
+
return;
|
|
48
|
+
const request = parseRequest(event.data);
|
|
49
|
+
if (!request) {
|
|
50
|
+
if (isRecord(event.data) && event.data.type === 'extension:editor-asset-import') {
|
|
51
|
+
source.postMessage({
|
|
52
|
+
type: 'extension:editor-asset-import-result',
|
|
53
|
+
requestId: typeof event.data.requestId === 'string' ? event.data.requestId : '',
|
|
54
|
+
ok: false,
|
|
55
|
+
error: '导入请求格式无效',
|
|
56
|
+
}, '*');
|
|
57
|
+
}
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const reply = (message) => {
|
|
61
|
+
if (disposed)
|
|
62
|
+
return;
|
|
63
|
+
source.postMessage(message, '*');
|
|
64
|
+
};
|
|
65
|
+
const handler = options.importAssetSource;
|
|
66
|
+
if (!handler) {
|
|
67
|
+
reply({
|
|
68
|
+
type: 'extension:editor-asset-import-result',
|
|
69
|
+
requestId: request.requestId,
|
|
70
|
+
ok: false,
|
|
71
|
+
error: '当前 Studio 没有可用的 Editor Gateway',
|
|
72
|
+
});
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
void Promise.resolve(handler(request)).then((result) => {
|
|
76
|
+
const error = failureHint(result);
|
|
77
|
+
reply({
|
|
78
|
+
type: 'extension:editor-asset-import-result',
|
|
79
|
+
requestId: request.requestId,
|
|
80
|
+
ok: error === null,
|
|
81
|
+
...(error === null ? { result } : { error }),
|
|
82
|
+
});
|
|
83
|
+
}).catch((error) => {
|
|
84
|
+
reply({
|
|
85
|
+
type: 'extension:editor-asset-import-result',
|
|
86
|
+
requestId: request.requestId,
|
|
87
|
+
ok: false,
|
|
88
|
+
error: error instanceof Error ? error.message : String(error),
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
const disposeWindowMessageObservation = installWindowMessageObservation({
|
|
93
|
+
target: options.ownerWindow,
|
|
94
|
+
onMessage,
|
|
95
|
+
});
|
|
96
|
+
return () => {
|
|
97
|
+
disposed = true;
|
|
98
|
+
disposeWindowMessageObservation();
|
|
99
|
+
};
|
|
100
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
2
|
+
import { createExtensionBrowserClient, } from '@forgeax/extension-host/browser';
|
|
3
|
+
export const EXTENSION_API_BASE = '/__extension__/v1/';
|
|
4
|
+
const EXTENSION_HOST_EXTENSION_IDS = new Set([
|
|
5
|
+
'@forgeax-extension/video-game',
|
|
6
|
+
'@forgeax-extension/game-video',
|
|
7
|
+
]);
|
|
8
|
+
const catalogRequests = new Map();
|
|
9
|
+
export function isExtensionHostExtension(extensionId) {
|
|
10
|
+
return EXTENSION_HOST_EXTENSION_IDS.has(extensionId);
|
|
11
|
+
}
|
|
12
|
+
export async function loadExtensionCatalog(gameId, fetcher, signal) {
|
|
13
|
+
return createExtensionBrowserClient({
|
|
14
|
+
baseUrl: EXTENSION_API_BASE,
|
|
15
|
+
gameId,
|
|
16
|
+
...(fetcher ? { fetch: fetcher } : {}),
|
|
17
|
+
}).catalog(signal);
|
|
18
|
+
}
|
|
19
|
+
/** A Page can mount left and center placements for the same extension. Keep the
|
|
20
|
+
* catalog request shared so both panels resolve one authoritative runtime. */
|
|
21
|
+
export function loadSharedExtensionCatalog(gameId, fetcher) {
|
|
22
|
+
const current = catalogRequests.get(gameId);
|
|
23
|
+
if (current)
|
|
24
|
+
return current;
|
|
25
|
+
const request = loadExtensionCatalog(gameId, fetcher).catch((error) => {
|
|
26
|
+
if (catalogRequests.get(gameId) === request)
|
|
27
|
+
catalogRequests.delete(gameId);
|
|
28
|
+
throw error;
|
|
29
|
+
});
|
|
30
|
+
catalogRequests.set(gameId, request);
|
|
31
|
+
return request;
|
|
32
|
+
}
|
|
33
|
+
export function invalidateExtensionCatalog(gameId) {
|
|
34
|
+
if (gameId)
|
|
35
|
+
catalogRequests.delete(gameId);
|
|
36
|
+
else
|
|
37
|
+
catalogRequests.clear();
|
|
38
|
+
}
|
|
39
|
+
export function useExtensionCatalogEntry(extensionId, gameId, gameResolved) {
|
|
40
|
+
const [attempt, setAttempt] = useState(0);
|
|
41
|
+
const [state, setState] = useState({
|
|
42
|
+
descriptor: null,
|
|
43
|
+
loading: true,
|
|
44
|
+
error: null,
|
|
45
|
+
});
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
if (!gameResolved) {
|
|
48
|
+
setState({ descriptor: null, loading: true, error: null });
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
if (!gameId) {
|
|
52
|
+
setState({ descriptor: null, loading: false, error: null });
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
let cancelled = false;
|
|
56
|
+
setState({ descriptor: null, loading: true, error: null });
|
|
57
|
+
void loadSharedExtensionCatalog(gameId)
|
|
58
|
+
.then((entries) => {
|
|
59
|
+
if (cancelled)
|
|
60
|
+
return;
|
|
61
|
+
setState({
|
|
62
|
+
descriptor: entries.find((entry) => entry.extensionId === extensionId) ?? null,
|
|
63
|
+
loading: false,
|
|
64
|
+
error: null,
|
|
65
|
+
});
|
|
66
|
+
})
|
|
67
|
+
.catch((error) => {
|
|
68
|
+
if (cancelled)
|
|
69
|
+
return;
|
|
70
|
+
setState({
|
|
71
|
+
descriptor: null,
|
|
72
|
+
loading: false,
|
|
73
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
return () => { cancelled = true; };
|
|
77
|
+
}, [attempt, extensionId, gameId, gameResolved]);
|
|
78
|
+
const retry = useCallback(() => {
|
|
79
|
+
if (gameId)
|
|
80
|
+
invalidateExtensionCatalog(gameId);
|
|
81
|
+
setAttempt((value) => value + 1);
|
|
82
|
+
}, [gameId]);
|
|
83
|
+
return { ...state, retry };
|
|
84
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { FOOTER_PANEL_ID_LIST, FOOTER_PANEL_IDS } from './footer-panels.js';
|
|
2
|
+
/** User intent for footer chrome tabs (Content Browser, Info, …). Distinct from
|
|
3
|
+
* dockview mount state: `ensureFooterPanels` must not resurrect panels the user
|
|
4
|
+
* hid via the layout menu or `app.panel.toggle`. */
|
|
5
|
+
const visibleById = new Map(FOOTER_PANEL_ID_LIST.map((id) => [id, true]));
|
|
6
|
+
const listeners = new Set();
|
|
7
|
+
let ensureMounted = null;
|
|
8
|
+
function notify() {
|
|
9
|
+
for (const listener of listeners)
|
|
10
|
+
listener();
|
|
11
|
+
}
|
|
12
|
+
/** edgeDrawer registers the routine that mounts visible footer tabs. */
|
|
13
|
+
export function registerFooterPanelEnsure(fn) {
|
|
14
|
+
ensureMounted = fn;
|
|
15
|
+
return () => {
|
|
16
|
+
if (ensureMounted === fn)
|
|
17
|
+
ensureMounted = null;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export function requestFooterPanelEnsure() {
|
|
21
|
+
ensureMounted?.();
|
|
22
|
+
}
|
|
23
|
+
export function isFooterPanelId(panelId) {
|
|
24
|
+
return FOOTER_PANEL_IDS.has(panelId);
|
|
25
|
+
}
|
|
26
|
+
export function isFooterPanelUserVisible(panelId) {
|
|
27
|
+
if (!isFooterPanelId(panelId))
|
|
28
|
+
return true;
|
|
29
|
+
return visibleById.get(panelId) ?? true;
|
|
30
|
+
}
|
|
31
|
+
export function setFooterPanelUserVisible(panelId, visible) {
|
|
32
|
+
if (!isFooterPanelId(panelId))
|
|
33
|
+
return;
|
|
34
|
+
const prev = visibleById.get(panelId) ?? true;
|
|
35
|
+
if (prev === visible)
|
|
36
|
+
return;
|
|
37
|
+
visibleById.set(panelId, visible);
|
|
38
|
+
notify();
|
|
39
|
+
}
|
|
40
|
+
export function subscribeFooterPanelVisibility(listener) {
|
|
41
|
+
listeners.add(listener);
|
|
42
|
+
return () => { listeners.delete(listener); };
|
|
43
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Sidebar } from '../Sidebar/Sidebar.js';
|
|
3
|
+
import { MainArea } from '../MainArea/MainArea.js';
|
|
4
|
+
import { FilesPanel } from '../Sidebar/FilesPanel.js';
|
|
5
|
+
import { ConsolePanel } from '../MainArea/ConsolePanel.js';
|
|
6
|
+
import { TelemetryViewer } from '../MainArea/TelemetryViewer.js';
|
|
7
|
+
import { InfoPanel } from '../StatusBar/InfoPanel.js';
|
|
8
|
+
import { CheckpointsDrawer } from '../StatusBar/footer/CheckpointsDrawer.js';
|
|
9
|
+
import { EventsDrawer } from '../StatusBar/footer/EventsDrawer.js';
|
|
10
|
+
import { RecoveryBoundary } from '../ErrorBoundary.js';
|
|
11
|
+
// Editor panel bodies resolve through the runtime PanelRenderers context so
|
|
12
|
+
// interface stays editor-agnostic (no `@forgeax/editor*` import).
|
|
13
|
+
import { usePanelRenderers } from './panelRenderers.js';
|
|
14
|
+
import { DockPanelHost } from './DockPanelHost.js';
|
|
15
|
+
import { withDockTitleRestore } from './dockTitle.js';
|
|
16
|
+
import { t as panelT } from '../../i18n/index.js';
|
|
17
|
+
import { SurfacePlaceholder } from '@forgeax/app-shell/react';
|
|
18
|
+
// Agents panel body — injected by Studio from `@forgeax/chat`.
|
|
19
|
+
// When absent (interface-alone / standalone editor) render a neutral placeholder
|
|
20
|
+
// so the dock/pop-out slot stays valid. Exported so Sidebar can reuse the same
|
|
21
|
+
// placeholder path (consistent UX between dock-panel and sidebar mount).
|
|
22
|
+
export function AgentsPanelSlot() {
|
|
23
|
+
const SidebarAgents = usePanelRenderers().slots?.SidebarAgents;
|
|
24
|
+
if (SidebarAgents)
|
|
25
|
+
return _jsx("div", { "data-fx-slot": "SidebarAgents", style: { display: 'contents' }, children: _jsx(SidebarAgents, {}) });
|
|
26
|
+
return _jsx(SurfacePlaceholder, { title: "No agents app configured" });
|
|
27
|
+
}
|
|
28
|
+
function panelWindowing(id, fallbackTitle, size = { width: 480, height: 680 }, dockBehavior = 'close') {
|
|
29
|
+
return {
|
|
30
|
+
createTarget: () => {
|
|
31
|
+
const key = `dockShell.panelTitles.${id}`;
|
|
32
|
+
const localized = panelT(key);
|
|
33
|
+
return {
|
|
34
|
+
surface: { kind: 'panel', id },
|
|
35
|
+
title: localized === key ? fallbackTitle : localized,
|
|
36
|
+
...size,
|
|
37
|
+
dockBehavior,
|
|
38
|
+
};
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
// ── core + optional panels ───────────────────────────────────────────────────
|
|
43
|
+
// Order within each array is the order the layout menu lists them.
|
|
44
|
+
export const CORE_PANELS = [
|
|
45
|
+
// Tools is a single-panel group (nav moved to the shell ActivityRail), so its
|
|
46
|
+
// dockview tab bar is redundant — the `hideTitle` single-tab marker collapses it.
|
|
47
|
+
{ id: 'tools', title: 'Tools', group: 'core', windowing: panelWindowing('tools', 'Tools'), tourId: 'sidebar', render: () => (_jsx("div", { className: "fx-panel", "data-dock-single-tab": "hideTitle", children: _jsx(Sidebar, {}) })) },
|
|
48
|
+
// 'main' is the plugin-launcher / catalog panel (formerly titled 'Page',
|
|
49
|
+
// which was redundant with the top-level page tab strip). It renders MainArea.
|
|
50
|
+
// Single-panel group → hide its dockview tab bar (like tools) so the in-panel
|
|
51
|
+
// plugin header (CenterExtensionLayer) sits at the very top of the column.
|
|
52
|
+
{ id: 'main', title: 'Studio', group: 'core', windowing: panelWindowing('main', 'Studio'), render: () => (_jsx("div", { className: "fx-panel", "data-dock-single-tab": "hideTitle", children: _jsx(MainArea, {}) })) },
|
|
53
|
+
// In flat-architecture mode 'viewport' is the combined panel (engine canvas +
|
|
54
|
+
// gizmo). Its body is contributed via panels.viewport, same as chat/ep:*
|
|
55
|
+
// panels; the descriptor renders the anchor tracked by SurfaceKeepAliveLayer.
|
|
56
|
+
{ id: 'viewport', title: 'Viewport', group: 'core', windowing: panelWindowing('viewport', 'Viewport', { width: 1280, height: 800 }, 'keep-anchor'), tourId: 'preview', render: () => _jsx(DockPanelHost, { id: "viewport" }) },
|
|
57
|
+
// R4: chat body comes from the studio-injected panels['chat'] registry.
|
|
58
|
+
{ id: 'chat', title: 'ForgeaX CLI', group: 'core', windowing: panelWindowing('chat', 'ForgeaX CLI'), tourId: 'chat', render: () => _jsx(DockPanelHost, { id: "chat" }) },
|
|
59
|
+
];
|
|
60
|
+
export const OPTIONAL_PANELS = [
|
|
61
|
+
{ id: 'agents', title: 'Agents', group: 'optional', windowing: panelWindowing('agents', 'Agents'), render: () => _jsx(DockPanelHost, { id: "agents" }) },
|
|
62
|
+
{ id: 'files', title: 'Files', group: 'optional', windowing: panelWindowing('files', 'Files'), render: () => _jsx(FilesPanel, {}) },
|
|
63
|
+
{ id: 'console', title: 'Console', group: 'optional', windowing: panelWindowing('console', 'Console'), render: () => _jsx(ConsolePanel, {}) },
|
|
64
|
+
// Observability (trace + log) feed — trace waterfall + log stream, fed by the
|
|
65
|
+
// unified store.telemetry slice (node WS `{type:'telemetry'}` + iframe
|
|
66
|
+
// `VAG_TELEMETRY`). See MainArea/TelemetryViewer.tsx.
|
|
67
|
+
{ id: 'telemetry', title: 'Telemetry', group: 'optional', windowing: panelWindowing('telemetry', 'Telemetry'), render: () => _jsx(TelemetryViewer, {}) },
|
|
68
|
+
// Footer chrome panels — Info (Blender-INFO-style health/log feed), Checkpoints
|
|
69
|
+
// (session rewind timeline) and Events (gateway feed). Formerly a bottom-drawer
|
|
70
|
+
// launcher (ADR-0030 §2.3); now real dockview panels that DEFAULT into the
|
|
71
|
+
// footer-merged bottom EDGE group (see the default layouts' `edgeGroups.bottom`
|
|
72
|
+
// + edgeDrawer relocation). Tab titles localize via dockShell.panelTitles.*.
|
|
73
|
+
{ id: 'info', title: 'Info', group: 'optional', render: () => _jsx(InfoPanel, {}) },
|
|
74
|
+
{ id: 'checkpoints', title: 'Checkpoints', group: 'optional', render: () => _jsx(CheckpointsDrawer, {}) },
|
|
75
|
+
{ id: 'events', title: 'Events', group: 'optional', render: () => _jsx(EventsDrawer, {}) },
|
|
76
|
+
];
|
|
77
|
+
// ── derived lookup maps (DockShell consumes these; never edit by hand) ────────
|
|
78
|
+
const ALL_PANELS = [...CORE_PANELS, ...OPTIONAL_PANELS];
|
|
79
|
+
/** Wrap a panel renderer in a region-scoped RecoveryBoundary so a render throw
|
|
80
|
+
* in ONE dock panel (a bad selector, a plugin panel) shows a retry/reload
|
|
81
|
+
* affordance for that panel only — instead of taking down the whole shell. The
|
|
82
|
+
* inline (non-fullscreen) variant keeps the surrounding dock layout intact. */
|
|
83
|
+
function withBoundary(scope, render) {
|
|
84
|
+
return () => _jsx(RecoveryBoundary, { scope: scope, fullscreen: false, children: render() });
|
|
85
|
+
}
|
|
86
|
+
// Tour anchors for editor (`ep:*`) panels. The default Scene workspace's left
|
|
87
|
+
// column is Hierarchy (scene outline) over Inspector (object properties), and
|
|
88
|
+
// its content browser is the Assets panel — the onboarding tour highlights both
|
|
89
|
+
// by these ids. Keyed by bare panel id (buildEditorPanelComponents prefixes
|
|
90
|
+
// `ep:`); a panel absent here simply renders without a tour marker.
|
|
91
|
+
const EP_TOUR_IDS = {
|
|
92
|
+
hierarchy: 'hierarchy',
|
|
93
|
+
inspector: 'inspector',
|
|
94
|
+
assets: 'assets',
|
|
95
|
+
};
|
|
96
|
+
function tourWrap(tourId, render) {
|
|
97
|
+
if (!tourId)
|
|
98
|
+
return render;
|
|
99
|
+
// Layout-neutral tour anchor: render the panel body UNCHANGED (no wrapper in
|
|
100
|
+
// the flow) and append an out-of-flow, zero-size marker. The TourOverlay reads
|
|
101
|
+
// the marker's PARENT rect (the dockview content box = the panel's real area),
|
|
102
|
+
// so highlighting never perturbs the panel's own layout.
|
|
103
|
+
return () => (_jsxs(_Fragment, { children: [render(), _jsx("span", { "data-tour-id": tourId, "data-tour-anchor-parent": "1", "aria-hidden": "true", style: { position: 'absolute', width: 0, height: 0, pointerEvents: 'none' } })] }));
|
|
104
|
+
}
|
|
105
|
+
/** Static, interface-owned dockview component map. Host-owned editor panels
|
|
106
|
+
* are added at runtime by buildEditorPanelComponents(). */
|
|
107
|
+
export const BASE_PANEL_COMPONENTS = Object.fromEntries(ALL_PANELS.map((p) => [
|
|
108
|
+
p.id,
|
|
109
|
+
withDockTitleRestore(withBoundary(`panel:${p.id}`, tourWrap(p.tourId, p.render))),
|
|
110
|
+
]));
|
|
111
|
+
/** Static titles for interface-owned panels only. */
|
|
112
|
+
export const BASE_PANEL_TITLE = Object.fromEntries(ALL_PANELS.map((p) => [p.id, p.title]));
|
|
113
|
+
/** Runtime editor panel component map. The host injects the bare ids from its
|
|
114
|
+
* editor manifest, so the interface never owns a business panel list. */
|
|
115
|
+
export function buildEditorPanelComponents(editorPanelIds) {
|
|
116
|
+
return Object.fromEntries(editorPanelIds.map((id) => [
|
|
117
|
+
`ep:${id}`,
|
|
118
|
+
withDockTitleRestore(withBoundary(`ep:${id}`, tourWrap(EP_TOUR_IDS[id], () => _jsx(DockPanelHost, { id: id })))),
|
|
119
|
+
]));
|
|
120
|
+
}
|
|
121
|
+
/** Core panel ids offered in the layout menu's main-panels section (excludes 'main' alias). */
|
|
122
|
+
export const CORE_PANEL_IDS = ['tools', 'viewport', 'chat'];
|
|
123
|
+
/** Optional panel ids (layout menu more-panels section). */
|
|
124
|
+
export const OPTIONAL_PANEL_IDS = OPTIONAL_PANELS.map((p) => p.id);
|
|
125
|
+
/** Interface-owned detached-window declarations, derived from PanelDef. */
|
|
126
|
+
export const BASE_PANEL_WINDOWING = Object.fromEntries(ALL_PANELS.flatMap((panel) => (panel.windowing ? [[panel.id, panel.windowing]] : [])));
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Panel renderer injection — keeps the interface shell business-agnostic.
|
|
2
|
+
//
|
|
3
|
+
// The DockShell renders generic chrome (page / preview / edit / chat /
|
|
4
|
+
// ep:* editor panels), but the actual edit & preview SURFACES belong to an
|
|
5
|
+
// app (today: the editor). To avoid interface importing `@forgeax/editor*`
|
|
6
|
+
// (which created the studio → interface → editor → interface cycle), the
|
|
7
|
+
// host injects the editor-specific render slots through this context.
|
|
8
|
+
//
|
|
9
|
+
// - interface ALONE renders neutral placeholders (no editor present).
|
|
10
|
+
// - studio injects real renderers built from `@forgeax/editor/{edit,play}`.
|
|
11
|
+
//
|
|
12
|
+
// This is the same shape as the existing extension panel merge: DockShell owns
|
|
13
|
+
// the docking mechanics, the host supplies the panel bodies.
|
|
14
|
+
import { createContext, useContext } from 'react';
|
|
15
|
+
// Interface-alone hosts do not expose editor panels. Editor hosts inject their
|
|
16
|
+
// own manifest through PanelRenderers.editorPanelIds.
|
|
17
|
+
export const DEFAULT_EDITOR_PANEL_IDS = [];
|
|
18
|
+
export const DEFAULT_PANEL_RENDERERS = {
|
|
19
|
+
editorPanelIds: DEFAULT_EDITOR_PANEL_IDS,
|
|
20
|
+
};
|
|
21
|
+
const PanelRenderersContext = createContext(DEFAULT_PANEL_RENDERERS);
|
|
22
|
+
export const PanelRenderersProvider = PanelRenderersContext.Provider;
|
|
23
|
+
export function usePanelRenderers() {
|
|
24
|
+
return useContext(PanelRenderersContext);
|
|
25
|
+
}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { getSurfaceWindowingController } from '../../lib/platform/surface-windowing.js';
|
|
2
|
+
import { getDockRegions } from './dockviewRegistry.js';
|
|
3
|
+
import { setDockTitleHidden } from './dockTitle.js';
|
|
4
|
+
import { openPanelWindow } from './panelWindowing.js';
|
|
5
|
+
import { setFooterPanelUserVisible, isFooterPanelId } from './footer-panel-visibility.js';
|
|
6
|
+
function dockRegionTransferApi(api) {
|
|
7
|
+
return api;
|
|
8
|
+
}
|
|
9
|
+
export function createPanelTabCommands(deps) {
|
|
10
|
+
const { getApi, titleFor } = deps;
|
|
11
|
+
return {
|
|
12
|
+
close(panel) {
|
|
13
|
+
if (isFooterPanelId(panel.id))
|
|
14
|
+
setFooterPanelUserVisible(panel.id, false);
|
|
15
|
+
try {
|
|
16
|
+
panel.api.close();
|
|
17
|
+
}
|
|
18
|
+
catch { /* noop */ }
|
|
19
|
+
},
|
|
20
|
+
closeOthers(active, group) {
|
|
21
|
+
for (const panel of group.panels) {
|
|
22
|
+
if (panel.id === active.id)
|
|
23
|
+
continue;
|
|
24
|
+
try {
|
|
25
|
+
panel.api.close();
|
|
26
|
+
}
|
|
27
|
+
catch { /* noop */ }
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
moveToEdge(panel, side) {
|
|
31
|
+
const api = getApi();
|
|
32
|
+
if (!api)
|
|
33
|
+
return;
|
|
34
|
+
const edgeApi = api.getEdgeGroup(side);
|
|
35
|
+
if (!edgeApi)
|
|
36
|
+
return;
|
|
37
|
+
const edgeGroup = api.groups.find((group) => group.api.id === edgeApi.id);
|
|
38
|
+
if (!edgeGroup)
|
|
39
|
+
return;
|
|
40
|
+
try {
|
|
41
|
+
api.setEdgeGroupVisible(side, true);
|
|
42
|
+
}
|
|
43
|
+
catch { /* noop */ }
|
|
44
|
+
edgeGroup.element.classList.remove('fx-edge-empty');
|
|
45
|
+
try {
|
|
46
|
+
panel.api.moveTo({ group: edgeGroup, position: 'center' });
|
|
47
|
+
}
|
|
48
|
+
catch { /* noop */ }
|
|
49
|
+
try {
|
|
50
|
+
edgeGroup.api.collapse();
|
|
51
|
+
}
|
|
52
|
+
catch { /* noop */ }
|
|
53
|
+
try {
|
|
54
|
+
panel.api.setActive();
|
|
55
|
+
}
|
|
56
|
+
catch { /* noop */ }
|
|
57
|
+
},
|
|
58
|
+
moveOffEdge(panel) {
|
|
59
|
+
const api = getApi();
|
|
60
|
+
if (!api)
|
|
61
|
+
return;
|
|
62
|
+
const gridGroup = api.groups.find((group) => group.api.location.type === 'grid');
|
|
63
|
+
if (!gridGroup)
|
|
64
|
+
return;
|
|
65
|
+
const loc = panel.api.location;
|
|
66
|
+
const fromSide = loc.type === 'edge' && (loc.position === 'left' || loc.position === 'right')
|
|
67
|
+
? loc.position
|
|
68
|
+
: 'left';
|
|
69
|
+
try {
|
|
70
|
+
panel.api.moveTo({ group: gridGroup, position: fromSide });
|
|
71
|
+
}
|
|
72
|
+
catch { /* noop */ }
|
|
73
|
+
try {
|
|
74
|
+
panel.api.setActive();
|
|
75
|
+
}
|
|
76
|
+
catch { /* noop */ }
|
|
77
|
+
},
|
|
78
|
+
setTitleBarHidden(groupEl, hidden) {
|
|
79
|
+
setDockTitleHidden(groupEl, hidden);
|
|
80
|
+
},
|
|
81
|
+
transferToRegion(panelId, targetRegion) {
|
|
82
|
+
const regions = getDockRegions();
|
|
83
|
+
const target = regions.find((entry) => entry.region === targetRegion);
|
|
84
|
+
if (!target)
|
|
85
|
+
return;
|
|
86
|
+
const targetApi = dockRegionTransferApi(target.api);
|
|
87
|
+
const source = regions.find((entry) => dockRegionTransferApi(entry.api).getPanel(panelId));
|
|
88
|
+
if (source?.region === targetRegion)
|
|
89
|
+
return;
|
|
90
|
+
const sourcePanel = source ? dockRegionTransferApi(source.api).getPanel(panelId) : undefined;
|
|
91
|
+
if (sourcePanel) {
|
|
92
|
+
const component = panelId;
|
|
93
|
+
const title = sourcePanel.api.title || titleFor(panelId);
|
|
94
|
+
const params = sourcePanel.params;
|
|
95
|
+
try {
|
|
96
|
+
sourcePanel.api.close();
|
|
97
|
+
}
|
|
98
|
+
catch { /* noop */ }
|
|
99
|
+
try {
|
|
100
|
+
targetApi.addPanel({
|
|
101
|
+
id: panelId,
|
|
102
|
+
component,
|
|
103
|
+
title,
|
|
104
|
+
params,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
catch { /* noop */ }
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
if (targetApi.getPanel(panelId))
|
|
111
|
+
return;
|
|
112
|
+
try {
|
|
113
|
+
targetApi.addPanel({
|
|
114
|
+
id: panelId,
|
|
115
|
+
component: panelId,
|
|
116
|
+
title: titleFor(panelId),
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
catch { /* noop */ }
|
|
120
|
+
},
|
|
121
|
+
detach(panel, capability) {
|
|
122
|
+
void openPanelWindow(panel.id, capability, {
|
|
123
|
+
detachSurface: getSurfaceWindowingController().detachSurface,
|
|
124
|
+
closeDockPanel: () => {
|
|
125
|
+
try {
|
|
126
|
+
panel.api.close();
|
|
127
|
+
}
|
|
128
|
+
catch { /* noop */ }
|
|
129
|
+
},
|
|
130
|
+
});
|
|
131
|
+
},
|
|
132
|
+
};
|
|
133
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { canOpenPanelWindow, createPanelWindowingController, shouldShowDetachedPlaceholder, } from '@forgeax/app-shell/window';
|
|
2
|
+
export { canOpenPanelWindow, shouldShowDetachedPlaceholder };
|
|
3
|
+
const panelWindowing = createPanelWindowingController();
|
|
4
|
+
/** Dockview prefixes editor placements with ep:, while injected descriptors use bare ids. */
|
|
5
|
+
export function injectedPanelDescriptorId(panelId) {
|
|
6
|
+
return panelId.startsWith('ep:') ? panelId.slice(3) : panelId;
|
|
7
|
+
}
|
|
8
|
+
/** Whether the Page runtime survives the later BASE/editor component spreads. */
|
|
9
|
+
export function pageRuntimeOwnsPanel(panelId, basePanelIds, editorPanelIds) {
|
|
10
|
+
if (basePanelIds.has(panelId))
|
|
11
|
+
return false;
|
|
12
|
+
return !(panelId.startsWith('ep:') && editorPanelIds.includes(panelId.slice(3)));
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Resolve capability with the same ownership precedence as DockRegion's final
|
|
16
|
+
* component map: editor ep:* uses its injected descriptor; BASE wins even when
|
|
17
|
+
* it deliberately has no capability; only unclaimed ids may fall through
|
|
18
|
+
* Page → injected.
|
|
19
|
+
*/
|
|
20
|
+
export function resolvePanelWindowing(panelId, sources) {
|
|
21
|
+
if (panelId.startsWith('ep:'))
|
|
22
|
+
return sources.injectedWindowing;
|
|
23
|
+
if (sources.basePanelIds.has(panelId))
|
|
24
|
+
return sources.baseWindowing[panelId];
|
|
25
|
+
return sources.pageWindowing[panelId] ?? sources.injectedWindowing;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The one high-level panel pop-out action used by every shell affordance.
|
|
29
|
+
* It constructs the target, opens the physical carrier, and only then removes
|
|
30
|
+
* an ordinary dock tab only when the target explicitly requests that behavior.
|
|
31
|
+
*/
|
|
32
|
+
export async function openPanelWindow(panelId, capability, options) {
|
|
33
|
+
return panelWindowing.openPanelWindow(panelId, capability, options);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Resolve the dock placement restored by a window-close event. This is a lookup,
|
|
37
|
+
* not a consume: every DockRegion receives the same close notification and the
|
|
38
|
+
* region that owns the placement must be allowed to handle it.
|
|
39
|
+
*/
|
|
40
|
+
export function detachedDockPanelForSurface(surface) {
|
|
41
|
+
return panelWindowing.panelForClosedSurface(surface);
|
|
42
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DOCK_REGIONS, REGIONS, isDockRegion, } from '@forgeax/app-shell/dock';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { resolveRegion, } from '@forgeax/app-shell/dock';
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/** Retired viewport panel keys from the pre-2026-06-30 edit/preview split. */
|
|
2
|
+
const RETIRED_VIEWPORT_KEYS = new Set(['edit', 'preview']);
|
|
3
|
+
function remapGridViews(node) {
|
|
4
|
+
if (!node || typeof node !== 'object')
|
|
5
|
+
return;
|
|
6
|
+
const n = node;
|
|
7
|
+
if (n.type === 'leaf' && n.data && typeof n.data === 'object') {
|
|
8
|
+
const leaf = n.data;
|
|
9
|
+
if (Array.isArray(leaf.views)) {
|
|
10
|
+
leaf.views = leaf.views.map((v) => (RETIRED_VIEWPORT_KEYS.has(v) ? 'viewport' : v));
|
|
11
|
+
}
|
|
12
|
+
if (leaf.activeView && RETIRED_VIEWPORT_KEYS.has(leaf.activeView)) {
|
|
13
|
+
leaf.activeView = 'viewport';
|
|
14
|
+
}
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
if (n.type === 'branch' && Array.isArray(n.data)) {
|
|
18
|
+
for (const child of n.data)
|
|
19
|
+
remapGridViews(child);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/** Rewrite legacy `edit`/`preview` dock keys to `viewport` before `api.fromJSON`. */
|
|
23
|
+
export function sanitizeRetiredDockLayout(layout) {
|
|
24
|
+
const out = structuredClone(layout);
|
|
25
|
+
if (out.grid?.root)
|
|
26
|
+
remapGridViews(out.grid.root);
|
|
27
|
+
if (out.panels) {
|
|
28
|
+
for (const key of Object.keys(out.panels)) {
|
|
29
|
+
const panel = out.panels[key];
|
|
30
|
+
if (!panel)
|
|
31
|
+
continue;
|
|
32
|
+
if (RETIRED_VIEWPORT_KEYS.has(panel.contentComponent ?? '')) {
|
|
33
|
+
panel.contentComponent = 'viewport';
|
|
34
|
+
}
|
|
35
|
+
if (RETIRED_VIEWPORT_KEYS.has(key)) {
|
|
36
|
+
const migrated = { ...panel, id: 'viewport', contentComponent: 'viewport' };
|
|
37
|
+
out.panels.viewport = migrated;
|
|
38
|
+
delete out.panels[key];
|
|
39
|
+
}
|
|
40
|
+
else if (panel.id && RETIRED_VIEWPORT_KEYS.has(panel.id)) {
|
|
41
|
+
panel.id = 'viewport';
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return out;
|
|
46
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { isOnSideEdge, nearerSideEdge, } from '@forgeax/app-shell/dock';
|