@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,27 @@
|
|
|
1
|
+
import { encodeSurfaceQuery, } from '@forgeax/app-shell/window';
|
|
2
|
+
export { decodeSurfaceFromLocation, encodeSurfaceQuery, surfaceKey, surfaceWindowLabel, } from '@forgeax/app-shell/window';
|
|
3
|
+
/** Add the fenced Runtime identity only to the Viewport surface. Business panels remain ordinary shell pages. */
|
|
4
|
+
export function encodeSurfaceWindowQuery(d, carrierKind, generation = Date.now(), hostOrigin = typeof window !== 'undefined' ? window.location.origin : 'http://localhost') {
|
|
5
|
+
const params = new URLSearchParams(encodeSurfaceQuery(d));
|
|
6
|
+
if (d.kind === 'panel' && (d.id === 'viewport' || d.id === 'edit' || d.id === 'preview')) {
|
|
7
|
+
params.set('runtimeId', 'edit-runtime');
|
|
8
|
+
params.set('runtimeGeneration', String(generation));
|
|
9
|
+
params.set('carrierId', `${carrierKind}-${generation}`);
|
|
10
|
+
params.set('carrierKind', carrierKind);
|
|
11
|
+
params.set('hostOrigin', hostOrigin);
|
|
12
|
+
}
|
|
13
|
+
return params.toString();
|
|
14
|
+
}
|
|
15
|
+
/** Build the carrier URL from the page that owns the Runtime lease.
|
|
16
|
+
*
|
|
17
|
+
* Tauri treats a relative `index.html?...` URL as a bundled app asset even when
|
|
18
|
+
* the main WebView was navigated to a remote sidecar. Keeping the current
|
|
19
|
+
* origin and pathname makes the detached WebView load the same frontend and
|
|
20
|
+
* preserves same-origin Runtime transport.
|
|
21
|
+
*/
|
|
22
|
+
export function surfaceWindowUrl(d, carrierKind, currentHref = typeof window !== 'undefined' ? window.location.href : 'http://localhost/', generation = Date.now()) {
|
|
23
|
+
const url = new URL(currentHref);
|
|
24
|
+
url.search = encodeSurfaceWindowQuery(d, carrierKind, generation, url.origin);
|
|
25
|
+
url.hash = '';
|
|
26
|
+
return url.href;
|
|
27
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useFloatingSurfaces(): Readonly<Record<string, true>>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { useSyncExternalStore } from 'react';
|
|
2
|
+
import { getSurfaceWindowingController } from './surface-windowing';
|
|
3
|
+
export function useFloatingSurfaces() {
|
|
4
|
+
const controller = getSurfaceWindowingController();
|
|
5
|
+
return useSyncExternalStore(controller.onChange, controller.snapshot, controller.snapshot);
|
|
6
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WindowManager — detach a surface into its own OS window and redock it.
|
|
3
|
+
*
|
|
4
|
+
* This is the "windowing" layer. It is the OUT-OF-window twin of keep-alive:
|
|
5
|
+
* keep-alive hosts a surface CSS-hidden inside the main window; windowing hosts
|
|
6
|
+
* it in a separate Tauri WebviewWindow. The owning store flips a surface
|
|
7
|
+
* between `docked` and `floating` and this manager makes the OS-level change.
|
|
8
|
+
*
|
|
9
|
+
* Pattern adapted from gameclaw_pet/src/shared/window-manager.ts (dynamic
|
|
10
|
+
* WebviewWindow create/destroy), but our detached windows reuse the SAME
|
|
11
|
+
* frontend bundle — they load `index.html?surface=...` and the entry renders a
|
|
12
|
+
* single <DetachedSurface>. Cross-window business state stays consistent for
|
|
13
|
+
* free because every window talks to the same backend (/api, /ws).
|
|
14
|
+
*
|
|
15
|
+
* Browser form delegates its product-neutral popup lifecycle to App Shell;
|
|
16
|
+
* Interface supplies only the ForgeaX surface URL policy. Tauri stays here as
|
|
17
|
+
* a product runtime integration and loads the same surface URL contract.
|
|
18
|
+
*/
|
|
19
|
+
import { isTauri, loadWebviewWindowApi } from './runtime';
|
|
20
|
+
import { createBrowserWindowManager, createExternalWindowManager, } from '@forgeax/app-shell/window';
|
|
21
|
+
import { encodeSurfaceWindowQuery, surfaceWindowUrl, } from './surface';
|
|
22
|
+
let _manager = null;
|
|
23
|
+
export function getWindowManager() {
|
|
24
|
+
if (!_manager) {
|
|
25
|
+
_manager = isTauri()
|
|
26
|
+
? createExternalWindowManager({
|
|
27
|
+
canDetach: isTauri,
|
|
28
|
+
loadHost: loadTauriWindowHost,
|
|
29
|
+
})
|
|
30
|
+
: createBrowserWindowManager({
|
|
31
|
+
surfaceUrl: (d) => `index.html?${encodeSurfaceWindowQuery(d, 'browser-page')}`,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
return _manager;
|
|
35
|
+
}
|
|
36
|
+
function toExternalWindowHandle(window) {
|
|
37
|
+
return {
|
|
38
|
+
show: () => window.show(),
|
|
39
|
+
focus: () => window.setFocus(),
|
|
40
|
+
close: () => window.close(),
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
async function loadTauriWindowHost() {
|
|
44
|
+
const mod = await loadWebviewWindowApi();
|
|
45
|
+
if (!mod)
|
|
46
|
+
return undefined;
|
|
47
|
+
return {
|
|
48
|
+
async getByLabel(label) {
|
|
49
|
+
const window = await mod.WebviewWindow.getByLabel(label);
|
|
50
|
+
return window ? toExternalWindowHandle(window) : null;
|
|
51
|
+
},
|
|
52
|
+
async create(label, surface, options, lifecycle) {
|
|
53
|
+
const hasPosition = typeof options?.x === 'number' && typeof options?.y === 'number';
|
|
54
|
+
const window = new mod.WebviewWindow(label, {
|
|
55
|
+
url: surfaceWindowUrl(surface, 'tauri-webview'),
|
|
56
|
+
title: options?.title ?? surface.id,
|
|
57
|
+
width: options?.width ?? 960,
|
|
58
|
+
height: options?.height ?? 720,
|
|
59
|
+
...(hasPosition ? { x: options.x, y: options.y } : { center: true }),
|
|
60
|
+
resizable: true,
|
|
61
|
+
// Preserve HTML5 Dockview drag-and-drop inside the detached Webview.
|
|
62
|
+
dragDropEnabled: false,
|
|
63
|
+
});
|
|
64
|
+
try {
|
|
65
|
+
await Promise.all([
|
|
66
|
+
// Redock only after the OS window is actually gone.
|
|
67
|
+
window.once('tauri://destroyed', lifecycle.destroyed),
|
|
68
|
+
window.once('tauri://created', lifecycle.created),
|
|
69
|
+
window.once('tauri://error', lifecycle.error),
|
|
70
|
+
]);
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
try {
|
|
74
|
+
await window.close();
|
|
75
|
+
}
|
|
76
|
+
catch { /* registration failed after creation */ }
|
|
77
|
+
throw error;
|
|
78
|
+
}
|
|
79
|
+
return toExternalWindowHandle(window);
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function setCurrentProject(projectId: string): void;
|
|
2
|
+
export declare function getCurrentProject(): string;
|
|
3
|
+
export declare function subscribeCurrentProject(listener: (projectId: string) => void): () => void;
|
|
4
|
+
export declare function __resetCurrentProjectIdForTests(): void;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/** Active project identity used only to namespace project-owned Page state. */
|
|
2
|
+
let currentProjectId = 'default';
|
|
3
|
+
let projectListeners = [];
|
|
4
|
+
const PAGE_ONLY_MIGRATION_KEY = 'forgeax:migrations:page-only-v1';
|
|
5
|
+
function discardRetiredGlobalLayouts() {
|
|
6
|
+
if (typeof localStorage === 'undefined' || localStorage.getItem(PAGE_ONLY_MIGRATION_KEY) === 'done')
|
|
7
|
+
return;
|
|
8
|
+
const retiredShellTerm = ['work', 'bench'].join('');
|
|
9
|
+
const retired = new RegExp(`(?:${retiredShellTerm}|ws-layout|panel-locations|app-mode)`, 'i');
|
|
10
|
+
const keys = [];
|
|
11
|
+
for (let index = 0; index < localStorage.length; index += 1) {
|
|
12
|
+
const key = localStorage.key(index);
|
|
13
|
+
if (key && retired.test(key))
|
|
14
|
+
keys.push(key);
|
|
15
|
+
}
|
|
16
|
+
keys.forEach((key) => localStorage.removeItem(key));
|
|
17
|
+
localStorage.setItem(PAGE_ONLY_MIGRATION_KEY, 'done');
|
|
18
|
+
}
|
|
19
|
+
export function setCurrentProject(projectId) {
|
|
20
|
+
discardRetiredGlobalLayouts();
|
|
21
|
+
if (!projectId || projectId === currentProjectId)
|
|
22
|
+
return;
|
|
23
|
+
currentProjectId = projectId;
|
|
24
|
+
projectListeners.forEach((listener) => {
|
|
25
|
+
try {
|
|
26
|
+
listener(projectId);
|
|
27
|
+
}
|
|
28
|
+
catch { /* isolated observer */ }
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
export function getCurrentProject() {
|
|
32
|
+
discardRetiredGlobalLayouts();
|
|
33
|
+
return currentProjectId;
|
|
34
|
+
}
|
|
35
|
+
export function subscribeCurrentProject(listener) {
|
|
36
|
+
projectListeners.push(listener);
|
|
37
|
+
return () => { projectListeners = projectListeners.filter((candidate) => candidate !== listener); };
|
|
38
|
+
}
|
|
39
|
+
export function __resetCurrentProjectIdForTests() {
|
|
40
|
+
currentProjectId = 'default';
|
|
41
|
+
projectListeners = [];
|
|
42
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Single source of truth for project/path/branch shown in the TopBar title.
|
|
2
|
+
// Static for now. A future iteration can replace this with server-owned active
|
|
3
|
+
// game metadata so the title reflects the actual git branch and game path.
|
|
4
|
+
export const CURRENT_PROJECT = {
|
|
5
|
+
name: 'forgeax',
|
|
6
|
+
path: 'games/gta-2.5d',
|
|
7
|
+
branch: 'main',
|
|
8
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** recent-games —— File → 打开最近 submenu 的数据源。
|
|
2
|
+
*
|
|
3
|
+
* 菜单的 `dynamicChildren` 派生器必须**同步**求值 (Radix 在 submenu 展开时同步
|
|
4
|
+
* 渲染 SubContent),而游戏列表来自 async 的 `listGames()`。本模块把二者解耦:
|
|
5
|
+
* - `warmRecentGames()` —— async 预取,在 File 菜单 dropdown 打开时调用一次,
|
|
6
|
+
* 结果写入模块级缓存;
|
|
7
|
+
* - `getRecentGames(limit)` —— sync 读缓存,按 mtime 降序 (最近打开在前) 取前
|
|
8
|
+
* N 个,供 dynamicChildren 派生菜单项。
|
|
9
|
+
*
|
|
10
|
+
* SSOT remains the server's /api/projects collection; the cache is only a
|
|
11
|
+
* 的快照,不是第二真值源 (每次 File 菜单打开都重新 warm)。
|
|
12
|
+
*/
|
|
13
|
+
import { type ProjectRow } from '../store-parts/domain-clients';
|
|
14
|
+
export declare function subscribeRecentGames(listener: () => void): () => void;
|
|
15
|
+
/** Stable scalar snapshot for useSyncExternalStore consumers. */
|
|
16
|
+
export declare function getRecentGamesRevision(): number;
|
|
17
|
+
/** Prefetch the game list into the sync cache. Call when the File dropdown
|
|
18
|
+
* opens so `getRecentGames` has data ready by the time the submenu expands.
|
|
19
|
+
* Failures leave the previous cache intact (stale is better than empty flash). */
|
|
20
|
+
export declare function warmRecentGames(): Promise<void>;
|
|
21
|
+
/** Sync read: most-recently-modified games first, capped at `limit`.
|
|
22
|
+
* `GameRow` carries `mtime` under an index signature (typed `unknown`), so
|
|
23
|
+
* coerce defensively — a missing/NaN mtime sorts last rather than crashing. */
|
|
24
|
+
export declare function getRecentGames(limit?: number): ProjectRow[];
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/** recent-games —— File → 打开最近 submenu 的数据源。
|
|
2
|
+
*
|
|
3
|
+
* 菜单的 `dynamicChildren` 派生器必须**同步**求值 (Radix 在 submenu 展开时同步
|
|
4
|
+
* 渲染 SubContent),而游戏列表来自 async 的 `listGames()`。本模块把二者解耦:
|
|
5
|
+
* - `warmRecentGames()` —— async 预取,在 File 菜单 dropdown 打开时调用一次,
|
|
6
|
+
* 结果写入模块级缓存;
|
|
7
|
+
* - `getRecentGames(limit)` —— sync 读缓存,按 mtime 降序 (最近打开在前) 取前
|
|
8
|
+
* N 个,供 dynamicChildren 派生菜单项。
|
|
9
|
+
*
|
|
10
|
+
* SSOT remains the server's /api/projects collection; the cache is only a
|
|
11
|
+
* 的快照,不是第二真值源 (每次 File 菜单打开都重新 warm)。
|
|
12
|
+
*/
|
|
13
|
+
import { getStudioProjectClient, hasStudioDomainClients } from '../store-parts/domain-clients';
|
|
14
|
+
let cache = [];
|
|
15
|
+
let revision = 0;
|
|
16
|
+
const listeners = new Set();
|
|
17
|
+
export function subscribeRecentGames(listener) {
|
|
18
|
+
listeners.add(listener);
|
|
19
|
+
return () => listeners.delete(listener);
|
|
20
|
+
}
|
|
21
|
+
/** Stable scalar snapshot for useSyncExternalStore consumers. */
|
|
22
|
+
export function getRecentGamesRevision() {
|
|
23
|
+
return revision;
|
|
24
|
+
}
|
|
25
|
+
/** Prefetch the game list into the sync cache. Call when the File dropdown
|
|
26
|
+
* opens so `getRecentGames` has data ready by the time the submenu expands.
|
|
27
|
+
* Failures leave the previous cache intact (stale is better than empty flash). */
|
|
28
|
+
export async function warmRecentGames() {
|
|
29
|
+
if (!hasStudioDomainClients())
|
|
30
|
+
return;
|
|
31
|
+
try {
|
|
32
|
+
const j = await getStudioProjectClient().listProjects();
|
|
33
|
+
cache = j.games ?? [];
|
|
34
|
+
revision += 1;
|
|
35
|
+
listeners.forEach((listener) => listener());
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
/* keep last-known cache on transient failure */
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/** Sync read: most-recently-modified games first, capped at `limit`.
|
|
42
|
+
* `GameRow` carries `mtime` under an index signature (typed `unknown`), so
|
|
43
|
+
* coerce defensively — a missing/NaN mtime sorts last rather than crashing. */
|
|
44
|
+
export function getRecentGames(limit = 8) {
|
|
45
|
+
const mt = (g) => {
|
|
46
|
+
const v = Number(g.mtime);
|
|
47
|
+
return Number.isFinite(v) ? v : 0;
|
|
48
|
+
};
|
|
49
|
+
return [...cache].sort((a, b) => mt(b) - mt(a)).slice(0, limit);
|
|
50
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** Re-register built-in menus when the module-level registry was cleared
|
|
2
|
+
* (React StrictMode dispose race, Vite HMR module swap) but shell chrome
|
|
3
|
+
* is still mounted. Idempotent — no-op when File menu already populated. */
|
|
4
|
+
export declare function repairBuiltinMenusIfEmpty(): void;
|
|
5
|
+
/** Test-only: tear down ad-hoc repair registration. */
|
|
6
|
+
export declare function __resetBuiltinMenuRepairForTest(): void;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { builtinMenusExtension } from '../core/extensions/builtin-menus';
|
|
2
|
+
import { snapshotMenu } from './menu-registry';
|
|
3
|
+
let adhocCleanup;
|
|
4
|
+
/** Re-register built-in menus when the module-level registry was cleared
|
|
5
|
+
* (React StrictMode dispose race, Vite HMR module swap) but shell chrome
|
|
6
|
+
* is still mounted. Idempotent — no-op when File menu already populated. */
|
|
7
|
+
export function repairBuiltinMenusIfEmpty() {
|
|
8
|
+
if (snapshotMenu('file').length > 0)
|
|
9
|
+
return;
|
|
10
|
+
adhocCleanup?.();
|
|
11
|
+
const result = builtinMenusExtension.setup?.({});
|
|
12
|
+
adhocCleanup = typeof result === 'function' ? result : undefined;
|
|
13
|
+
}
|
|
14
|
+
/** Test-only: tear down ad-hoc repair registration. */
|
|
15
|
+
export function __resetBuiltinMenuRepairForTest() {
|
|
16
|
+
adhocCleanup?.();
|
|
17
|
+
adhocCleanup = undefined;
|
|
18
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent reply-language resolution.
|
|
3
|
+
*
|
|
4
|
+
* Reply language follows the interface locale (Settings → Language). The agent
|
|
5
|
+
* is asked to answer in the same language as the UI chrome.
|
|
6
|
+
*/
|
|
7
|
+
export type ReplyLang = 'en' | 'zh';
|
|
8
|
+
/** Resolve the reply language for a turn — always the current UI locale. */
|
|
9
|
+
export declare function resolveReplyLanguage(_userText: string): ReplyLang;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent reply-language resolution.
|
|
3
|
+
*
|
|
4
|
+
* Reply language follows the interface locale (Settings → Language). The agent
|
|
5
|
+
* is asked to answer in the same language as the UI chrome.
|
|
6
|
+
*/
|
|
7
|
+
import { getLocale } from '../i18n';
|
|
8
|
+
/** Resolve the reply language for a turn — always the current UI locale. */
|
|
9
|
+
export function resolveReplyLanguage(_userText) {
|
|
10
|
+
return getLocale();
|
|
11
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type ExtensionStatusKind = 'model-binding' | 'skill' | 'tool' | 'agent';
|
|
2
|
+
export type ExtensionKindCounts = Record<ExtensionStatusKind, {
|
|
3
|
+
count: number;
|
|
4
|
+
ids: string[];
|
|
5
|
+
}>;
|
|
6
|
+
export declare function deriveExtensionKindCounts(items: readonly {
|
|
7
|
+
id: string;
|
|
8
|
+
kind: string;
|
|
9
|
+
}[]): ExtensionKindCounts;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export function deriveExtensionKindCounts(items) {
|
|
2
|
+
const result = {
|
|
3
|
+
'model-binding': { count: 0, ids: [] },
|
|
4
|
+
skill: { count: 0, ids: [] },
|
|
5
|
+
tool: { count: 0, ids: [] },
|
|
6
|
+
agent: { count: 0, ids: [] },
|
|
7
|
+
};
|
|
8
|
+
for (const item of items) {
|
|
9
|
+
if (!(item.kind in result))
|
|
10
|
+
continue;
|
|
11
|
+
const row = result[item.kind];
|
|
12
|
+
row.count += 1;
|
|
13
|
+
row.ids.push(item.id);
|
|
14
|
+
}
|
|
15
|
+
return result;
|
|
16
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type Locale, type TFunction } from '../i18n';
|
|
2
|
+
interface SessionTimeOptions {
|
|
3
|
+
now?: number;
|
|
4
|
+
locale?: Locale;
|
|
5
|
+
translate?: TFunction;
|
|
6
|
+
}
|
|
7
|
+
export declare function formatSessionTime(timestamp: number | undefined, options?: SessionTimeOptions): string;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { getLocale, t } from '../i18n';
|
|
2
|
+
const DAY_MS = 86_400_000;
|
|
3
|
+
function calendarDayDiff(now, then) {
|
|
4
|
+
return Math.floor((Date.UTC(now.getFullYear(), now.getMonth(), now.getDate())
|
|
5
|
+
- Date.UTC(then.getFullYear(), then.getMonth(), then.getDate()))
|
|
6
|
+
/ DAY_MS);
|
|
7
|
+
}
|
|
8
|
+
function clock(date) {
|
|
9
|
+
return `${String(date.getHours()).padStart(2, '0')}:${String(date.getMinutes()).padStart(2, '0')}`;
|
|
10
|
+
}
|
|
11
|
+
export function formatSessionTime(timestamp, options = {}) {
|
|
12
|
+
if (!timestamp || !Number.isFinite(timestamp))
|
|
13
|
+
return '';
|
|
14
|
+
const nowMs = options.now ?? Date.now();
|
|
15
|
+
const locale = options.locale ?? getLocale();
|
|
16
|
+
const translate = options.translate ?? t;
|
|
17
|
+
if (timestamp > nowMs)
|
|
18
|
+
return translate('sessionTime.justNow');
|
|
19
|
+
const now = new Date(nowMs);
|
|
20
|
+
const then = new Date(timestamp);
|
|
21
|
+
const dayDiff = calendarDayDiff(now, then);
|
|
22
|
+
const time = clock(then);
|
|
23
|
+
if (dayDiff <= 0)
|
|
24
|
+
return translate('sessionTime.todayTime', { time });
|
|
25
|
+
if (dayDiff === 1)
|
|
26
|
+
return translate('sessionTime.yesterdayTime', { time });
|
|
27
|
+
if (dayDiff < 7) {
|
|
28
|
+
const weekday = new Intl.DateTimeFormat(locale === 'zh' ? 'zh-CN' : 'en-US', {
|
|
29
|
+
weekday: 'short',
|
|
30
|
+
}).format(then);
|
|
31
|
+
return translate('sessionTime.weekdayTime', { weekday, time });
|
|
32
|
+
}
|
|
33
|
+
const month = locale === 'zh'
|
|
34
|
+
? String(then.getMonth() + 1)
|
|
35
|
+
: new Intl.DateTimeFormat('en-US', { month: 'short' }).format(then);
|
|
36
|
+
const day = then.getDate();
|
|
37
|
+
return then.getFullYear() === now.getFullYear()
|
|
38
|
+
? translate('sessionTime.dateThisYear', { month, day })
|
|
39
|
+
: translate('sessionTime.dateOtherYear', { year: then.getFullYear(), month, day });
|
|
40
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { HealthResponse } from './dashboard-api';
|
|
2
|
+
import { type ExtensionKindCounts } from './resilient-polling';
|
|
3
|
+
export type LiveSnapshot<T> = {
|
|
4
|
+
state: 'loading';
|
|
5
|
+
} | {
|
|
6
|
+
state: 'ok';
|
|
7
|
+
value: T;
|
|
8
|
+
} | {
|
|
9
|
+
state: 'down';
|
|
10
|
+
};
|
|
11
|
+
export declare function useSharedHealth(): LiveSnapshot<HealthResponse>;
|
|
12
|
+
export declare function useSharedExtensionCounts(): LiveSnapshot<ExtensionKindCounts>;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { useSyncExternalStore } from 'react';
|
|
2
|
+
import { createSettledPollingLifecycle } from '@forgeax/app-shell/react';
|
|
3
|
+
import { deriveExtensionKindCounts, } from './resilient-polling';
|
|
4
|
+
function createLiveStore(load, intervalMs) {
|
|
5
|
+
let snapshot = { state: 'loading' };
|
|
6
|
+
const listeners = new Set();
|
|
7
|
+
let stop;
|
|
8
|
+
const emit = () => listeners.forEach((listener) => listener());
|
|
9
|
+
const start = () => {
|
|
10
|
+
const poll = createSettledPollingLifecycle({
|
|
11
|
+
task: async (signal) => {
|
|
12
|
+
try {
|
|
13
|
+
const value = await load(signal);
|
|
14
|
+
snapshot = { state: 'ok', value };
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
if (signal.aborted)
|
|
18
|
+
throw error;
|
|
19
|
+
snapshot = { state: 'down' };
|
|
20
|
+
throw error;
|
|
21
|
+
}
|
|
22
|
+
finally {
|
|
23
|
+
emit();
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
intervalMs,
|
|
27
|
+
timeoutMs: 5_000,
|
|
28
|
+
});
|
|
29
|
+
poll.start();
|
|
30
|
+
return poll.dispose;
|
|
31
|
+
};
|
|
32
|
+
return {
|
|
33
|
+
subscribe(listener) {
|
|
34
|
+
listeners.add(listener);
|
|
35
|
+
if (listeners.size === 1)
|
|
36
|
+
stop = start();
|
|
37
|
+
return () => {
|
|
38
|
+
listeners.delete(listener);
|
|
39
|
+
if (listeners.size === 0) {
|
|
40
|
+
stop?.();
|
|
41
|
+
stop = undefined;
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
},
|
|
45
|
+
getSnapshot: () => snapshot,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
const healthStore = createLiveStore(async (signal) => {
|
|
49
|
+
const response = await fetch('/api/health', { cache: 'no-store', signal });
|
|
50
|
+
if (!response.ok)
|
|
51
|
+
throw new Error(`/api/health ${response.status}`);
|
|
52
|
+
return response.json();
|
|
53
|
+
}, 5_000);
|
|
54
|
+
const extensionCountsStore = createLiveStore(async (signal) => {
|
|
55
|
+
const response = await fetch('/api/extensions/list', { cache: 'no-store', signal });
|
|
56
|
+
if (!response.ok)
|
|
57
|
+
throw new Error(`/api/extensions/list ${response.status}`);
|
|
58
|
+
const payload = await response.json();
|
|
59
|
+
return deriveExtensionKindCounts(payload.items);
|
|
60
|
+
}, 12_000);
|
|
61
|
+
export function useSharedHealth() {
|
|
62
|
+
return useSyncExternalStore(healthStore.subscribe, healthStore.getSnapshot, healthStore.getSnapshot);
|
|
63
|
+
}
|
|
64
|
+
export function useSharedExtensionCounts() {
|
|
65
|
+
return useSyncExternalStore(extensionCountsStore.subscribe, extensionCountsStore.getSnapshot, extensionCountsStore.getSnapshot);
|
|
66
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// Minimal SSE parser over a fetch ReadableStream.
|
|
2
|
+
// Yields {event, data} frames; handles multi-line `data:` accumulation per spec.
|
|
3
|
+
export async function* parseSse(stream) {
|
|
4
|
+
const reader = stream.getReader();
|
|
5
|
+
const decoder = new TextDecoder();
|
|
6
|
+
let buf = '';
|
|
7
|
+
let event = '';
|
|
8
|
+
let data = '';
|
|
9
|
+
try {
|
|
10
|
+
for (;;) {
|
|
11
|
+
const { done, value } = await reader.read();
|
|
12
|
+
if (done)
|
|
13
|
+
break;
|
|
14
|
+
buf += decoder.decode(value, { stream: true });
|
|
15
|
+
let idx;
|
|
16
|
+
while ((idx = buf.indexOf('\n')) >= 0) {
|
|
17
|
+
const line = buf.slice(0, idx).replace(/\r$/, '');
|
|
18
|
+
buf = buf.slice(idx + 1);
|
|
19
|
+
if (line === '') {
|
|
20
|
+
if (event || data)
|
|
21
|
+
yield { event, data };
|
|
22
|
+
event = '';
|
|
23
|
+
data = '';
|
|
24
|
+
}
|
|
25
|
+
else if (line.startsWith('event:')) {
|
|
26
|
+
event = line.slice(6).trim();
|
|
27
|
+
}
|
|
28
|
+
else if (line.startsWith('data:')) {
|
|
29
|
+
data += (data ? '\n' : '') + line.slice(5).trim();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
finally {
|
|
35
|
+
try {
|
|
36
|
+
reader.releaseLock();
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
/* ignore */
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
export declare const STORAGE_KEYS: {
|
|
2
|
+
/** persisted open chat tabs. */
|
|
3
|
+
readonly tabs: "forgeax.tabs";
|
|
4
|
+
/** active session id. */
|
|
5
|
+
readonly activeSid: "forgeax.activeSid";
|
|
6
|
+
/** active tab id. */
|
|
7
|
+
readonly activeTabId: "forgeax.activeTabId";
|
|
8
|
+
/** first-run boot splash seen flag. */
|
|
9
|
+
readonly bootSplash: "forgeax.boot.splash.v1";
|
|
10
|
+
/** first-run onboarding state machine (welcome→project→home). Shape:
|
|
11
|
+
* OnboardingPersisted (see components/Onboarding/types). v2 supersedes the
|
|
12
|
+
* legacy boolean `onboardingSeenLegacy`, which is read once to migrate. */
|
|
13
|
+
readonly onboarding: "forgeax.onboarding.v2";
|
|
14
|
+
/** legacy boolean "onboarding dismissed" flag (pre state-machine) — read once
|
|
15
|
+
* to migrate existing users past the first-run wizard, then ignored. */
|
|
16
|
+
readonly onboardingSeenLegacy: "forgeax.onboarding.seen";
|
|
17
|
+
/** active UI language code ('en' | 'zh' | …). English is the default/source. */
|
|
18
|
+
readonly locale: "forgeax.locale";
|
|
19
|
+
/** persistent cli provider override (store.ts). null → native forgeax path. */
|
|
20
|
+
readonly providerOverride: "forgeax.providerOverride";
|
|
21
|
+
/** { [providerKey]: modelId } — last model the user HAND-PICKED per provider
|
|
22
|
+
* (providerKey = cli-id | 'forgeax'). New sessions seed from this so the
|
|
23
|
+
* picker lands on "where I left off"; a provider SWITCH still resets to the
|
|
24
|
+
* provider default. See lib/model-prefs.ts. */
|
|
25
|
+
readonly lastModelByProvider: "forgeax.lastModel.byProvider.v1";
|
|
26
|
+
/** agent chat reply language ('en' | 'zh'). Global, decoupled from UI locale.
|
|
27
|
+
* Default 'en'. Overridden per-turn by followInput when that is enabled. */
|
|
28
|
+
readonly replyLanguage: "forgeax.replyLanguage";
|
|
29
|
+
/** when '1', the agent reply language follows the detected language of each
|
|
30
|
+
* user message (highest priority). Default enabled ('1'). */
|
|
31
|
+
readonly followInput: "forgeax.followInput";
|
|
32
|
+
/** when '1', the first-run Publish coach-mark has been seen (or skipped). */
|
|
33
|
+
readonly publishOnboarded: "forgeax.publish.onboarded";
|
|
34
|
+
/** Contact email reused by the manual feedback form. Plain string, v1. */
|
|
35
|
+
readonly feedbackEmail: "forgeax.feedback.email.v1";
|
|
36
|
+
/** [v3] qualified activity IDs pinned to the ActivityRail.
|
|
37
|
+
* Shape: string[]. Display order keeps the historical curated entries first,
|
|
38
|
+
* then follows ActivityRegistry order for newly pinned extensions;
|
|
39
|
+
* missing key → the historical 12-plugin product seed is derived. */
|
|
40
|
+
readonly activityRailPinned: "forgeax.activityRail.pinned.v3";
|
|
41
|
+
/** one-shot migration marker: add the Video Game entry to existing v3 pins
|
|
42
|
+
* once without re-pinning it after a deliberate user unpin. */
|
|
43
|
+
readonly activityRailPinnedVideoGameDefault: "forgeax.activityRail.pinned.videoGameDefault.v1";
|
|
44
|
+
/** [ABANDONED, v2] briefly seeded every registered activity; intentionally not migrated. */
|
|
45
|
+
readonly activityRailPinnedLegacyV2: "forgeax.activityRail.pinned.v2";
|
|
46
|
+
/** [LEGACY, v1] plugin slugs (or early qualified IDs); read-only migration source. */
|
|
47
|
+
readonly activityRailPinnedLegacyV1: "forgeax.activityRail.pinned.v1";
|
|
48
|
+
};
|
|
49
|
+
export declare const APP_EVENTS: {
|
|
50
|
+
readonly dockLayoutToggle: "forgeax:shell:dock-layout-toggle";
|
|
51
|
+
readonly dockReset: "forgeax:shell:dock-reset";
|
|
52
|
+
readonly animHandoff: "forgeax:anim-handoff";
|
|
53
|
+
/** Viewport run axis changed. detail: { running: boolean }. */
|
|
54
|
+
readonly viewportRunChanged: "forgeax:viewport-run-changed";
|
|
55
|
+
/** Open (or focus, if already open) a dock panel by id. detail: { id: string } */
|
|
56
|
+
readonly openPanel: "forgeax:shell:open-panel";
|
|
57
|
+
/** Focus a dock panel by id ONLY if it already exists (no reopen / no force-insert). detail: { id: string } */
|
|
58
|
+
readonly focusPanel: "forgeax:shell:focus-panel";
|
|
59
|
+
/** Chat composer intercepted a send with no model path — open the connect
|
|
60
|
+
* prompt. detail: { text?: string } (the pending message, echoed back on
|
|
61
|
+
* resume so the composer can re-send it after the user connects). */
|
|
62
|
+
readonly openConnectPrompt: "forgeax:open-connect-prompt";
|
|
63
|
+
/** Connect prompt resolved with a usable model path — the composer that
|
|
64
|
+
* opened it should re-send the pending message. detail: { text?: string } */
|
|
65
|
+
readonly resumeSend: "forgeax:resume-send";
|
|
66
|
+
/** Onboarding milestones changed in the SAME session (tour finished, first
|
|
67
|
+
* chat done) — lets the chat empty-state hint react without a reload, since
|
|
68
|
+
* it can't re-read localStorage on its own. No detail. */
|
|
69
|
+
readonly onboardingChanged: "forgeax:onboarding-changed";
|
|
70
|
+
};
|