@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,20 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ShellSlot } from '@forgeax/app-shell/react';
|
|
3
|
+
import { ViewportPanel } from './SurfacePanels';
|
|
4
|
+
import { usePanelRenderers } from '../DockShell/panelRenderers';
|
|
5
|
+
import './MainArea.css';
|
|
6
|
+
// 2026-05-17 — Bus mode tab + BusAdminPanel render here removed.
|
|
7
|
+
// Bus inventory is now a "Plugins" section inside SettingsPanel (overlay,
|
|
8
|
+
// opened via gear icon).
|
|
9
|
+
// 2026-06-30: 'preview'/'edit' merged into single 'viewport' mode.
|
|
10
|
+
// 2026-07-08 (v9): Editor Page id renamed 'edit' → 'scene'.
|
|
11
|
+
export function MainArea() {
|
|
12
|
+
// MainArea body is a product Page injected through slots.MainAreaBody.
|
|
13
|
+
const MainAreaBody = usePanelRenderers().slots?.MainAreaBody;
|
|
14
|
+
// The 'main' dock panel exists ONLY in the legacy AI layout (Scene uses a
|
|
15
|
+
// separate 'viewport' panel), so its body is always AI content. The
|
|
16
|
+
// `activeId === 'scene'` ViewportPanel branch is only a fallback for
|
|
17
|
+
// interface-alone hosts that inject no MainAreaBody. Derives directly from the
|
|
18
|
+
// active Page (the single source of truth) — no separate mode field.
|
|
19
|
+
return (_jsx("main", { className: "main-area", children: MainAreaBody ? (_jsx(ShellSlot, { name: "MainAreaBody", style: { display: 'contents' }, children: _jsx(MainAreaBody, {}) })) : _jsx(ViewportPanel, {}) }));
|
|
20
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
import type { ExtensionInfo } from '../../lib/extension-api';
|
|
3
|
+
/** Split-surface extension Page pane. The extension's
|
|
4
|
+
* index.html reads `?pane=` and tags `<body data-pane=...>`; CSS hides the
|
|
5
|
+
* irrelevant regions so left/center can be embedded as sibling iframes that
|
|
6
|
+
* sync via same-origin BroadcastChannel. */
|
|
7
|
+
export type ExtensionIframePane = 'left' | 'center';
|
|
8
|
+
interface Props {
|
|
9
|
+
plugin: ExtensionInfo;
|
|
10
|
+
pane?: ExtensionIframePane;
|
|
11
|
+
/** Keep-alive visibility. When false the iframe stays mounted & alive but is
|
|
12
|
+
* CSS-hidden (no reload), and we push `visibility.changed{visible:false}` so
|
|
13
|
+
* heavy plugins can pause their render loop. Defaults to true (standalone /
|
|
14
|
+
* non-keep-alive callers keep the old always-visible behavior). */
|
|
15
|
+
active?: boolean;
|
|
16
|
+
/** Explicit cold-reload counter. The iframe URL embeds this as `fxv`; the URL
|
|
17
|
+
* is otherwise STABLE for a given plugin id + version + slug, so keep-alive
|
|
18
|
+
* actually works (switching panels / games no longer reloads the iframe and
|
|
19
|
+
* drops its WebGPU ctx / WS / scroll). Bump this only when you intend a
|
|
20
|
+
* deliberate hard reload (e.g. a recovery "重载" button). Defaults to 0. */
|
|
21
|
+
reloadNonce?: number;
|
|
22
|
+
}
|
|
23
|
+
export declare function buildIframeSrc(plugin: ExtensionInfo, pane?: ExtensionIframePane, slug?: string | null): string | null;
|
|
24
|
+
export declare function StandaloneExtensionIframe({ plugin, pane, active, reloadNonce }: Props): ReactElement;
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Phase A3 — iframe-mounted page plugin.
|
|
4
|
+
*
|
|
5
|
+
* Renders the plugin's standalone dev server inside an iframe and wires it to
|
|
6
|
+
* the host RPC channel via `createExtensionPort` from `@forgeax/extension-platform/transport`. This
|
|
7
|
+
* is the new path that will eventually replace the import-tree-based
|
|
8
|
+
* `MAINAREA_PLUGIN_LOADERS` map. Today (A3) it's gated behind the
|
|
9
|
+
* `VITE_FX_USE_IFRAME=true` env flag and only kicks in when a plugin
|
|
10
|
+
* manifest declares `entry.standalone`.
|
|
11
|
+
*
|
|
12
|
+
* What we wire on the host side (interface):
|
|
13
|
+
* - onChat — plugin → composer text (TODO B-phase: dispatch into store)
|
|
14
|
+
* - onToolCall — plugin → tool registry (TODO B-phase: real registry)
|
|
15
|
+
* - surface.subscribe — observe surface.expose for AgentsPanel
|
|
16
|
+
* - setTheme — pushed when light/dark or locale changes
|
|
17
|
+
*/
|
|
18
|
+
import { useCallback, useMemo } from 'react';
|
|
19
|
+
import { getLocale, useTranslation } from '../../i18n';
|
|
20
|
+
import { useShellStore } from '../../store';
|
|
21
|
+
import { openExtensionPage } from '../../core/page-navigation';
|
|
22
|
+
import { getSessionClient } from '../../store-parts/session-client';
|
|
23
|
+
import { ExtensionIframeHost } from '../ExtensionHost/ExtensionIframeHost';
|
|
24
|
+
import { usePanelRenderers } from '../DockShell/panelRenderers';
|
|
25
|
+
export function buildIframeSrc(plugin, pane, slug) {
|
|
26
|
+
const sa = plugin.entry?.standalone;
|
|
27
|
+
if (!plugin.frontendUrl && !sa && !plugin.entry?.frontend)
|
|
28
|
+
return null;
|
|
29
|
+
// Explicit host-validated dev URLs win. Existing embedded/proxy/port modes
|
|
30
|
+
// remain for installed extensions and never infer a Toolkit registration.
|
|
31
|
+
// Four address modes:
|
|
32
|
+
// 1. embeddedAlso=true — plugin ships a built dist served by the host at
|
|
33
|
+
// /extensions/<id>/. Prefer this when set: the studio doesn't launch the
|
|
34
|
+
// plugin's own dev server, and declared `port` may collide with other
|
|
35
|
+
// services (e.g. extension-character's 15173 collides with the engine).
|
|
36
|
+
// 2. anydev/cloud proxy mode — keep the browser on Studio's HTTPS origin and
|
|
37
|
+
// let Vite proxy to the plugin's plain-HTTP dev server inside the container.
|
|
38
|
+
// 3. plugin declares `port` — use http://<host>:<port>/<readyProbe?>
|
|
39
|
+
// 4. plugin only declares `start` — fall back to /extensions/<id>/.
|
|
40
|
+
const shortId = plugin.id.replace(/^@[^/]+\//, '');
|
|
41
|
+
const encodedShortId = encodeURIComponent(shortId);
|
|
42
|
+
const embeddedSrc = `/extensions/${encodedShortId}/`;
|
|
43
|
+
let base;
|
|
44
|
+
if (plugin.frontendUrl)
|
|
45
|
+
base = plugin.frontendUrl;
|
|
46
|
+
else if (plugin.entry?.frontend || sa?.embeddedAlso === true)
|
|
47
|
+
base = embeddedSrc;
|
|
48
|
+
else if (import.meta.env.VITE_FORGEAX_STANDALONE_PROXY === '1') {
|
|
49
|
+
const probe = sa?.readyProbe ?? '/';
|
|
50
|
+
const path = probe.startsWith('/') ? probe : `/${probe}`;
|
|
51
|
+
base = `/__fx-plugin/${encodedShortId}${path}`;
|
|
52
|
+
}
|
|
53
|
+
else if (typeof sa?.port === 'number') {
|
|
54
|
+
const probe = sa.readyProbe ?? '/';
|
|
55
|
+
const path = probe.startsWith('/') ? probe : `/${probe}`;
|
|
56
|
+
// Match the parent page's protocol. When the Studio UI is served over HTTPS
|
|
57
|
+
// (FORGEAX_INTERFACE_HTTPS=1, e.g. remote-IP access) an `http://` iframe is
|
|
58
|
+
// blocked as mixed content. The plugin dev server must then also serve HTTPS
|
|
59
|
+
// (run.ts passes the studio .tls cert to its vite). Falls back to http://
|
|
60
|
+
// transparently when the parent is http.
|
|
61
|
+
base = `${window.location.protocol}//${window.location.hostname}:${sa.port}${path}`;
|
|
62
|
+
}
|
|
63
|
+
else
|
|
64
|
+
base = embeddedSrc;
|
|
65
|
+
// 多游戏:把当前 game slug 喂进 iframe URL,让 extension-scene 等"per-game data"
|
|
66
|
+
// 类型的插件能在自己空间里读出。其它插件忽略此参数即可。
|
|
67
|
+
const params = [];
|
|
68
|
+
if (pane)
|
|
69
|
+
params.push(`pane=${encodeURIComponent(pane)}`);
|
|
70
|
+
if (slug)
|
|
71
|
+
params.push(`slug=${encodeURIComponent(slug)}`);
|
|
72
|
+
params.push(`locale=${encodeURIComponent(getLocale())}`);
|
|
73
|
+
if (params.length === 0)
|
|
74
|
+
return base;
|
|
75
|
+
return base + (base.includes('?') ? '&' : '?') + params.join('&');
|
|
76
|
+
}
|
|
77
|
+
/** localStorage key the host writes the cross-page handoff payload to.
|
|
78
|
+
* Same-origin so the target plugin iframe (e.g. extension-anim) can read it on boot
|
|
79
|
+
* + via the 'storage' event. Mirrored constant lives in extension-anim's bridge. */
|
|
80
|
+
const ANIM_HANDOFF_KEY = 'forgeax:anim-handoff';
|
|
81
|
+
/** Resolve the target plugin's page tab id + flip the store so MainArea
|
|
82
|
+
* takes over with the target plugin. Writes the handoff payload (charId/role/
|
|
83
|
+
* slug) to localStorage first so the target iframe can pick it up. */
|
|
84
|
+
function doNavigate(targetPluginId, payload) {
|
|
85
|
+
try {
|
|
86
|
+
if (payload && Object.keys(payload).length > 0) {
|
|
87
|
+
window.localStorage.setItem(ANIM_HANDOFF_KEY, JSON.stringify({ ...payload, targetPluginId, ts: Date.now() }));
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
/* localStorage unavailable (private mode) — target falls back to selector */
|
|
92
|
+
}
|
|
93
|
+
void openExtensionPage(targetPluginId);
|
|
94
|
+
}
|
|
95
|
+
export function StandaloneExtensionIframe({ plugin, pane, active = true, reloadNonce = 0 }) {
|
|
96
|
+
const { t } = useTranslation();
|
|
97
|
+
const { editor } = usePanelRenderers();
|
|
98
|
+
// STABLE cache key. Was `${version}-${Date.now()}` which defeated keep-alive:
|
|
99
|
+
// any iframe remount (re-parent / reconcile) recomputed Date.now() → new URL →
|
|
100
|
+
// a full cold reload that tore down the WebGPU ctx + WS + scroll on every
|
|
101
|
+
// panel/game switch. Now keyed only on identity (id + version) + an explicit
|
|
102
|
+
// reloadNonce, so the URL stays identical across switches and the browser
|
|
103
|
+
// reuses the live iframe. A deliberate reload bumps reloadNonce.
|
|
104
|
+
const iframeCacheKey = useMemo(() => `${plugin.version ?? 'dev'}-${reloadNonce}`, [plugin.id, plugin.version, reloadNonce]);
|
|
105
|
+
const effectiveSlug = useShellStore((s) => s.activeGameSlug);
|
|
106
|
+
const slugReady = useShellStore((s) => s.activeGameResolved);
|
|
107
|
+
const rawSrc = slugReady ? buildIframeSrc(plugin, pane, effectiveSlug) : null;
|
|
108
|
+
const src = rawSrc ? rawSrc + (rawSrc.includes('?') ? '&' : '?') + `fxv=${encodeURIComponent(iframeCacheKey)}` : null;
|
|
109
|
+
const handleNavigate = useCallback((targetPluginId, payload) => {
|
|
110
|
+
doNavigate(targetPluginId, payload);
|
|
111
|
+
}, []);
|
|
112
|
+
const handleChatPost = useCallback((e) => {
|
|
113
|
+
if (!e.text || !e.text.trim())
|
|
114
|
+
return;
|
|
115
|
+
if (e.attachments && e.attachments.length > 0 && import.meta.env.DEV) {
|
|
116
|
+
// eslint-disable-next-line no-console
|
|
117
|
+
console.warn('[plugin chat.post] attachments dropped (not yet supported):', plugin.id, e.attachments);
|
|
118
|
+
}
|
|
119
|
+
const st = useShellStore.getState();
|
|
120
|
+
const sid = st.activeSid;
|
|
121
|
+
if (!sid)
|
|
122
|
+
return;
|
|
123
|
+
const to = st.tabs.find((tb) => tb.sid === sid)?.agentId ?? undefined;
|
|
124
|
+
void getSessionClient().emitForgeaXMessage(sid, e.text, to ? { to } : {}).catch((err) => {
|
|
125
|
+
if (import.meta.env.DEV) {
|
|
126
|
+
// eslint-disable-next-line no-console
|
|
127
|
+
console.warn('[plugin chat.post] emit failed:', plugin.id, err);
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}, [plugin.id]);
|
|
131
|
+
const handleToolCall = useCallback(async (call) => {
|
|
132
|
+
try {
|
|
133
|
+
const r = await fetch('/api/tools/call', {
|
|
134
|
+
method: 'POST',
|
|
135
|
+
headers: { 'content-type': 'application/json' },
|
|
136
|
+
body: JSON.stringify({
|
|
137
|
+
toolId: call.toolId,
|
|
138
|
+
args: call.args ?? {},
|
|
139
|
+
caller: { kind: 'extension', extensionId: plugin.id, instanceId: `standalone:${plugin.id}` },
|
|
140
|
+
}),
|
|
141
|
+
});
|
|
142
|
+
const body = (await r.json());
|
|
143
|
+
return body.ok
|
|
144
|
+
? { ok: true, result: body.result }
|
|
145
|
+
: { ok: false, error: body.error ?? 'tool call failed' };
|
|
146
|
+
}
|
|
147
|
+
catch (e) {
|
|
148
|
+
return { ok: false, error: e.message };
|
|
149
|
+
}
|
|
150
|
+
}, [plugin.id]);
|
|
151
|
+
if (!src) {
|
|
152
|
+
return (_jsxs("div", { style: { padding: 20, color: '#888' }, children: [t('standaloneExtension.noEntryPrefix'), " ", _jsx("code", { children: plugin.id }), ' ', t('standaloneExtension.noEntryMiddle'), " ", _jsx("code", { children: "entry.standalone" }), ' ', t('standaloneExtension.noEntrySuffix')] }));
|
|
153
|
+
}
|
|
154
|
+
return (_jsx(ExtensionIframeHost, { extensionId: plugin.id, src: src, pane: pane, active: active, onNavigate: handleNavigate, onChatPost: handleChatPost, onEditorAssetImport: editor?.importAssetSource, onToolCall: handleToolCall, allowedOrigin: plugin.allowedOrigin, loadErrorText: (error) => t('standaloneExtension.iframeLoadFailed', { error }) }));
|
|
155
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef } from 'react';
|
|
3
|
+
import { SurfaceRegion } from '@forgeax/app-shell/react';
|
|
4
|
+
import { setAnchor } from '../../lib/surfaceAnchors';
|
|
5
|
+
// SurfaceAnchor — empty flex-fill placeholder that registers its element with the
|
|
6
|
+
// anchor registry on mount and clears it on unmount. The keep-alive layer reads
|
|
7
|
+
// this element's bounding rect to position the live (kept-alive) surface over it.
|
|
8
|
+
function SurfaceAnchor({ kind }) {
|
|
9
|
+
const ref = useRef(null);
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
setAnchor(kind, ref.current);
|
|
12
|
+
return () => setAnchor(kind, null);
|
|
13
|
+
}, [kind]);
|
|
14
|
+
return _jsx("div", { ref: ref, className: "surface-anchor", "data-surface-anchor": kind });
|
|
15
|
+
}
|
|
16
|
+
// ViewportPanel — combined edit+preview surface, renders the editor viewport anchor.
|
|
17
|
+
// The keep-alive layer manages the actual surface rendering.
|
|
18
|
+
export function ViewportPanel() {
|
|
19
|
+
return (_jsx(SurfaceRegion, { children: _jsx(SurfaceAnchor, { kind: "edit" }) }));
|
|
20
|
+
}
|
|
21
|
+
// Backward-compat aliases kept for existing consumers during migration.
|
|
22
|
+
// These are thin wrappers around ViewportPanel; the old 'preview'/'edit' modes
|
|
23
|
+
// should no longer be used (they map to 'viewport' via AppMode migration).
|
|
24
|
+
export { ViewportPanel as EditPanel };
|
|
25
|
+
export function PreviewPanel() {
|
|
26
|
+
return (_jsx(SurfaceRegion, { children: _jsx(SurfaceAnchor, { kind: "play" }) }));
|
|
27
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/* TelemetryViewer — trace waterfall (top) + log stream (bottom).
|
|
2
|
+
* Mirrors the fx-console-panel palette (DockShell.css). */
|
|
3
|
+
|
|
4
|
+
.tv-panel {
|
|
5
|
+
display: flex;
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
height: 100%;
|
|
8
|
+
background: var(--color-background-base, #0d0d0f);
|
|
9
|
+
font-family: var(--font-mono, monospace);
|
|
10
|
+
font-size: 11px;
|
|
11
|
+
color: var(--color-text-primary, #e8eaed);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.tv-bar,
|
|
15
|
+
.tv-logbar {
|
|
16
|
+
display: flex;
|
|
17
|
+
align-items: center;
|
|
18
|
+
gap: 8px;
|
|
19
|
+
padding: 4px 10px;
|
|
20
|
+
border-bottom: 1px solid var(--color-border-default, #2a2d30);
|
|
21
|
+
color: var(--color-text-tertiary, #778);
|
|
22
|
+
flex: 0 0 auto;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.tv-logbar { border-top: 1px solid var(--color-border-default, #2a2d30); }
|
|
26
|
+
|
|
27
|
+
.tv-title,
|
|
28
|
+
.tv-logbar-title { font-weight: 600; }
|
|
29
|
+
|
|
30
|
+
.tv-clear,
|
|
31
|
+
.tv-filter {
|
|
32
|
+
margin-left: auto;
|
|
33
|
+
background: transparent;
|
|
34
|
+
border: 1px solid var(--color-border-default, #2a2d30);
|
|
35
|
+
color: var(--color-text-secondary, #9aa0aa);
|
|
36
|
+
border-radius: 3px;
|
|
37
|
+
padding: 1px 6px;
|
|
38
|
+
font: inherit;
|
|
39
|
+
cursor: pointer;
|
|
40
|
+
}
|
|
41
|
+
.tv-clear:hover { color: var(--color-text-primary, #e8eaed); }
|
|
42
|
+
|
|
43
|
+
.tv-filters { margin-left: auto; display: flex; gap: 4px; }
|
|
44
|
+
.tv-filter { margin-left: 0; }
|
|
45
|
+
.tv-filter:hover { color: var(--color-text-primary, #e8eaed); }
|
|
46
|
+
.tv-filter--on {
|
|
47
|
+
border-color: rgba(212, 255, 72, 0.5);
|
|
48
|
+
color: var(--color-text-primary, #e8eaed);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* Two scroll regions share the remaining height. */
|
|
52
|
+
.tv-section { overflow: auto; }
|
|
53
|
+
.tv-traces { flex: 1 1 55%; padding: 4px 0; }
|
|
54
|
+
.tv-logs { flex: 1 1 45%; padding: 4px 0; }
|
|
55
|
+
|
|
56
|
+
.tv-empty { opacity: 0.45; padding: 6px 10px; }
|
|
57
|
+
|
|
58
|
+
/* ── trace ── */
|
|
59
|
+
.tv-trace { border-bottom: 1px solid rgba(42, 45, 48, 0.5); padding-bottom: 2px; }
|
|
60
|
+
.tv-trace-head {
|
|
61
|
+
display: flex;
|
|
62
|
+
gap: 8px;
|
|
63
|
+
align-items: baseline;
|
|
64
|
+
padding: 2px 10px;
|
|
65
|
+
color: var(--color-text-secondary, #9aa0aa);
|
|
66
|
+
}
|
|
67
|
+
.tv-trace-id { color: rgba(212, 255, 72, 0.8); }
|
|
68
|
+
.tv-trace-dur { color: var(--color-text-tertiary, #778); }
|
|
69
|
+
.tv-trace-count { margin-left: auto; opacity: 0.6; }
|
|
70
|
+
|
|
71
|
+
.tv-span-row {
|
|
72
|
+
display: grid;
|
|
73
|
+
grid-template-columns: 240px 1fr;
|
|
74
|
+
align-items: center;
|
|
75
|
+
gap: 8px;
|
|
76
|
+
padding: 1px 10px;
|
|
77
|
+
}
|
|
78
|
+
.tv-span-row:hover { background: var(--color-background-elevated, #161619); }
|
|
79
|
+
|
|
80
|
+
.tv-span-label { display: flex; gap: 6px; align-items: baseline; overflow: hidden; }
|
|
81
|
+
.tv-span-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
82
|
+
.tv-span-meta { color: var(--color-text-tertiary, #778); white-space: nowrap; flex: 0 0 auto; }
|
|
83
|
+
|
|
84
|
+
.tv-span-track { position: relative; height: 12px; background: var(--color-background-elevated, #161619); border-radius: 2px; }
|
|
85
|
+
.tv-span-bar {
|
|
86
|
+
position: absolute;
|
|
87
|
+
top: 1px;
|
|
88
|
+
bottom: 1px;
|
|
89
|
+
min-width: 2px;
|
|
90
|
+
background: rgba(212, 255, 72, 0.55);
|
|
91
|
+
border-radius: 2px;
|
|
92
|
+
}
|
|
93
|
+
.tv-span-bar--error { background: rgba(255, 92, 92, 0.7); }
|
|
94
|
+
.tv-span-bar--ongoing {
|
|
95
|
+
background: repeating-linear-gradient(
|
|
96
|
+
45deg,
|
|
97
|
+
rgba(212, 255, 72, 0.5),
|
|
98
|
+
rgba(212, 255, 72, 0.5) 4px,
|
|
99
|
+
rgba(212, 255, 72, 0.2) 4px,
|
|
100
|
+
rgba(212, 255, 72, 0.2) 8px
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/* ── log ── */
|
|
105
|
+
.tv-log-row {
|
|
106
|
+
display: flex;
|
|
107
|
+
gap: 8px;
|
|
108
|
+
align-items: baseline;
|
|
109
|
+
padding: 1px 10px;
|
|
110
|
+
white-space: pre-wrap;
|
|
111
|
+
word-break: break-word;
|
|
112
|
+
}
|
|
113
|
+
.tv-log-row:hover { background: var(--color-background-elevated, #161619); }
|
|
114
|
+
.tv-log-time { color: var(--color-text-tertiary, #778); flex: 0 0 auto; }
|
|
115
|
+
.tv-log-level { flex: 0 0 auto; text-transform: uppercase; font-size: 10px; }
|
|
116
|
+
.tv-log-level--debug { color: #6b7280; }
|
|
117
|
+
.tv-log-level--info { color: #60a5fa; }
|
|
118
|
+
.tv-log-level--warn { color: #fbbf24; }
|
|
119
|
+
.tv-log-level--error { color: #f87171; }
|
|
120
|
+
.tv-log-msg { flex: 1 1 auto; }
|
|
121
|
+
.tv-log-trace { flex: 0 0 auto; color: rgba(212, 255, 72, 0.7); opacity: 0.8; }
|
|
122
|
+
.tv-log--error { background: rgba(248, 113, 113, 0.06); }
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type TelemetryRecord, type TelemetrySpan, type TelemetryLog } from '../../store';
|
|
2
|
+
import './TelemetryViewer.css';
|
|
3
|
+
declare const LOG_LEVELS: readonly ["debug", "info", "warn", "error"];
|
|
4
|
+
type LogLevel = (typeof LOG_LEVELS)[number];
|
|
5
|
+
interface TraceTree {
|
|
6
|
+
traceId: string;
|
|
7
|
+
/** Earliest startTs / latest end across the trace (window for bar layout). */
|
|
8
|
+
t0: number;
|
|
9
|
+
t1: number;
|
|
10
|
+
/** Spans flattened in render order (DFS by parent), with computed depth. */
|
|
11
|
+
rows: Array<{
|
|
12
|
+
span: TelemetrySpan;
|
|
13
|
+
depth: number;
|
|
14
|
+
}>;
|
|
15
|
+
}
|
|
16
|
+
/** Group spans by traceId and order each trace's spans into a depth-tagged DFS
|
|
17
|
+
* list (root spans first, children nested under their parentSpanId). Spans with
|
|
18
|
+
* an unknown / absent parent are treated as roots so nothing is dropped. */
|
|
19
|
+
export declare function buildTraces(spans: TelemetrySpan[]): TraceTree[];
|
|
20
|
+
export declare function fmtDur(ms: number): string;
|
|
21
|
+
export declare function SpanBar({ span, depth, t0, t1 }: {
|
|
22
|
+
span: TelemetrySpan;
|
|
23
|
+
depth: number;
|
|
24
|
+
t0: number;
|
|
25
|
+
t1: number;
|
|
26
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
/** 日志按 level 过滤(`'all'` = 不过滤)+ 按 ts 新→旧排序。纯函数,可独立单测。 */
|
|
28
|
+
export declare function filterAndSortLogs(logs: TelemetryLog[], level: LogLevel | 'all'): TelemetryLog[];
|
|
29
|
+
/** store-connected 容器:读 telemetry slice + clear,委托给纯展示组件 {@link TelemetryView}。 */
|
|
30
|
+
export declare function TelemetryViewer(): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
/** 纯展示组件(prop 驱动,不读 store)—— 便于 renderToStaticMarkup 注入 seeded 数据单测。 */
|
|
32
|
+
export declare function TelemetryView({ telemetry, onClear }: {
|
|
33
|
+
telemetry: TelemetryRecord[];
|
|
34
|
+
onClear: () => void;
|
|
35
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
export {};
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo, useState } from 'react';
|
|
3
|
+
import { useShellStore } from '../../store';
|
|
4
|
+
import './TelemetryViewer.css';
|
|
5
|
+
// TelemetryViewer — a dock panel for the observability (trace + log) feed.
|
|
6
|
+
//
|
|
7
|
+
// One store slice (`telemetry`) carries BOTH node-produced records (WS
|
|
8
|
+
// `{type:'telemetry'}`) and iframe-produced ones (postMessage
|
|
9
|
+
// `{type:'VAG_TELEMETRY'}`); see store.ts pushTelemetry. This viewer splits by
|
|
10
|
+
// `kind`:
|
|
11
|
+
// - spans → a per-trace waterfall (nested by parentSpanId, bars positioned by
|
|
12
|
+
// startTs and sized by duration; provisional spans render as「ongoing」).
|
|
13
|
+
// - logs → a newest-first stream with a level filter.
|
|
14
|
+
// 见 .claude/docs/架构设计/forgeax-os/可观测性-trace-log-v3-B档-并行执行计划-2026-06-24.md §C Track UI。
|
|
15
|
+
const LOG_LEVELS = ['debug', 'info', 'warn', 'error'];
|
|
16
|
+
/** Group spans by traceId and order each trace's spans into a depth-tagged DFS
|
|
17
|
+
* list (root spans first, children nested under their parentSpanId). Spans with
|
|
18
|
+
* an unknown / absent parent are treated as roots so nothing is dropped. */
|
|
19
|
+
export function buildTraces(spans) {
|
|
20
|
+
// Latest record per spanId wins (onEnd `final` overrides the onStart
|
|
21
|
+
// `provisional`, both share the same spanId).
|
|
22
|
+
const bySpanId = new Map();
|
|
23
|
+
for (const s of spans)
|
|
24
|
+
bySpanId.set(s.spanId, s);
|
|
25
|
+
const latest = [...bySpanId.values()];
|
|
26
|
+
const byTrace = new Map();
|
|
27
|
+
for (const s of latest) {
|
|
28
|
+
const arr = byTrace.get(s.traceId) ?? [];
|
|
29
|
+
arr.push(s);
|
|
30
|
+
byTrace.set(s.traceId, arr);
|
|
31
|
+
}
|
|
32
|
+
const trees = [];
|
|
33
|
+
for (const [traceId, list] of byTrace) {
|
|
34
|
+
const ids = new Set(list.map((s) => s.spanId));
|
|
35
|
+
const children = new Map();
|
|
36
|
+
const roots = [];
|
|
37
|
+
for (const s of list) {
|
|
38
|
+
if (s.parentSpanId && ids.has(s.parentSpanId)) {
|
|
39
|
+
const arr = children.get(s.parentSpanId) ?? [];
|
|
40
|
+
arr.push(s);
|
|
41
|
+
children.set(s.parentSpanId, arr);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
roots.push(s);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
const sortByStart = (a, b) => a.startTs - b.startTs;
|
|
48
|
+
roots.sort(sortByStart);
|
|
49
|
+
for (const arr of children.values())
|
|
50
|
+
arr.sort(sortByStart);
|
|
51
|
+
const rows = [];
|
|
52
|
+
const walk = (s, depth) => {
|
|
53
|
+
rows.push({ span: s, depth });
|
|
54
|
+
for (const c of children.get(s.spanId) ?? [])
|
|
55
|
+
walk(c, depth + 1);
|
|
56
|
+
};
|
|
57
|
+
for (const r of roots)
|
|
58
|
+
walk(r, 0);
|
|
59
|
+
let t0 = Infinity;
|
|
60
|
+
let t1 = -Infinity;
|
|
61
|
+
const now = Date.now();
|
|
62
|
+
for (const s of list) {
|
|
63
|
+
t0 = Math.min(t0, s.startTs);
|
|
64
|
+
t1 = Math.max(t1, s.endTs ?? now); // provisional → extend to now
|
|
65
|
+
}
|
|
66
|
+
trees.push({ traceId, t0, t1, rows });
|
|
67
|
+
}
|
|
68
|
+
// Newest trace first (by its earliest span).
|
|
69
|
+
trees.sort((a, b) => b.t0 - a.t0);
|
|
70
|
+
return trees;
|
|
71
|
+
}
|
|
72
|
+
export function fmtDur(ms) {
|
|
73
|
+
if (ms < 1)
|
|
74
|
+
return '<1ms';
|
|
75
|
+
if (ms < 1000)
|
|
76
|
+
return `${Math.round(ms)}ms`;
|
|
77
|
+
return `${(ms / 1000).toFixed(2)}s`;
|
|
78
|
+
}
|
|
79
|
+
export function SpanBar({ span, depth, t0, t1 }) {
|
|
80
|
+
const span0 = span.startTs;
|
|
81
|
+
const span1 = span.endTs ?? Date.now();
|
|
82
|
+
const total = Math.max(1, t1 - t0);
|
|
83
|
+
const leftPct = ((span0 - t0) / total) * 100;
|
|
84
|
+
const widthPct = Math.max(0.5, ((span1 - span0) / total) * 100);
|
|
85
|
+
const dur = (span.endTs ?? span1) - span0;
|
|
86
|
+
const isErr = span.status?.code === 'error';
|
|
87
|
+
const cls = ['tv-span-bar', isErr ? 'tv-span-bar--error' : '', span.provisional || span.endTs == null ? 'tv-span-bar--ongoing' : '']
|
|
88
|
+
.filter(Boolean)
|
|
89
|
+
.join(' ');
|
|
90
|
+
const who = span.agentId ? `${span.agentId}` : span.sid ?? '';
|
|
91
|
+
return (_jsxs("div", { className: "tv-span-row", children: [_jsxs("div", { className: "tv-span-label", style: { paddingLeft: depth * 12 }, title: `${span.name} · ${span.spanId}`, children: [_jsx("span", { className: "tv-span-name", children: span.name }), _jsxs("span", { className: "tv-span-meta", children: [fmtDur(dur), span.endTs == null ? '…' : '', who ? ` · ${who}` : ''] })] }), _jsx("div", { className: "tv-span-track", children: _jsx("div", { className: cls, style: { left: `${leftPct}%`, width: `${widthPct}%` } }) })] }));
|
|
92
|
+
}
|
|
93
|
+
/** 日志按 level 过滤(`'all'` = 不过滤)+ 按 ts 新→旧排序。纯函数,可独立单测。 */
|
|
94
|
+
export function filterAndSortLogs(logs, level) {
|
|
95
|
+
const filtered = level === 'all' ? logs : logs.filter((l) => l.level === level);
|
|
96
|
+
return [...filtered].sort((a, b) => b.ts - a.ts);
|
|
97
|
+
}
|
|
98
|
+
/** store-connected 容器:读 telemetry slice + clear,委托给纯展示组件 {@link TelemetryView}。 */
|
|
99
|
+
export function TelemetryViewer() {
|
|
100
|
+
const telemetry = useShellStore((s) => s.telemetry);
|
|
101
|
+
const clearTelemetry = useShellStore((s) => s.clearTelemetry);
|
|
102
|
+
return _jsx(TelemetryView, { telemetry: telemetry, onClear: clearTelemetry });
|
|
103
|
+
}
|
|
104
|
+
/** 纯展示组件(prop 驱动,不读 store)—— 便于 renderToStaticMarkup 注入 seeded 数据单测。 */
|
|
105
|
+
export function TelemetryView({ telemetry, onClear }) {
|
|
106
|
+
const [levelFilter, setLevelFilter] = useState('all');
|
|
107
|
+
const spans = useMemo(() => telemetry.filter((r) => r.kind === 'span'), [telemetry]);
|
|
108
|
+
const logs = useMemo(() => telemetry.filter((r) => r.kind === 'log'), [telemetry]);
|
|
109
|
+
const traces = useMemo(() => buildTraces(spans), [spans]);
|
|
110
|
+
const visibleLogs = useMemo(() => filterAndSortLogs(logs, levelFilter), [logs, levelFilter]);
|
|
111
|
+
return (_jsxs("div", { className: "tv-panel", children: [_jsxs("div", { className: "tv-bar", children: [_jsxs("span", { className: "tv-title", children: ["Telemetry", telemetry.length ? ` · ${spans.length} span / ${logs.length} log` : ''] }), telemetry.length > 0 && (_jsx("button", { type: "button", className: "tv-clear", onClick: () => onClear(), title: "clear telemetry", children: "clear" }))] }), _jsxs("div", { className: "tv-section tv-traces thin-scrollbar", children: [traces.length === 0 && _jsx("div", { className: "tv-empty", children: "no spans yet" }), traces.map((tr) => (_jsxs("div", { className: "tv-trace", children: [_jsxs("div", { className: "tv-trace-head", title: tr.traceId, children: [_jsx("span", { className: "tv-trace-id", children: tr.traceId.slice(0, 12) }), _jsx("span", { className: "tv-trace-dur", children: fmtDur(tr.t1 - tr.t0) }), _jsxs("span", { className: "tv-trace-count", children: [tr.rows.length, " spans"] })] }), tr.rows.map(({ span, depth }) => (_jsx(SpanBar, { span: span, depth: depth, t0: tr.t0, t1: tr.t1 }, span.spanId)))] }, tr.traceId)))] }), _jsxs("div", { className: "tv-logbar", children: [_jsx("span", { className: "tv-logbar-title", children: "Logs" }), _jsxs("div", { className: "tv-filters", children: [_jsx("button", { type: "button", className: `tv-filter ${levelFilter === 'all' ? 'tv-filter--on' : ''}`, onClick: () => setLevelFilter('all'), children: "all" }), LOG_LEVELS.map((lv) => (_jsx("button", { type: "button", className: `tv-filter tv-filter--${lv} ${levelFilter === lv ? 'tv-filter--on' : ''}`, onClick: () => setLevelFilter(lv), children: lv }, lv)))] })] }), _jsxs("div", { className: "tv-section tv-logs thin-scrollbar", children: [visibleLogs.length === 0 && _jsx("div", { className: "tv-empty", children: "no logs" }), visibleLogs.map((l, i) => {
|
|
112
|
+
const d = new Date(l.ts);
|
|
113
|
+
const stamp = `${String(d.getHours()).padStart(2, '0')}:${String(d.getMinutes()).padStart(2, '0')}:${String(d.getSeconds()).padStart(2, '0')}`;
|
|
114
|
+
return (_jsxs("div", { className: `tv-log-row tv-log--${l.level}`, children: [_jsx("span", { className: "tv-log-time", children: stamp }), _jsx("span", { className: `tv-log-level tv-log-level--${l.level}`, children: l.level }), _jsx("span", { className: "tv-log-msg", children: l.msg }), l.traceId && _jsx("span", { className: "tv-log-trace", title: l.traceId, children: l.traceId.slice(0, 8) })] }, `${l.ts}-${i}`));
|
|
115
|
+
})] })] }));
|
|
116
|
+
}
|