@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.
Files changed (963) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +9 -0
  3. package/README.md +111 -0
  4. package/dist/package/browser/App.css +192 -0
  5. package/dist/package/browser/App.d.ts +11 -0
  6. package/dist/package/browser/App.js +11 -0
  7. package/dist/package/browser/ApplicationDetachedShell.d.ts +13 -0
  8. package/dist/package/browser/ApplicationDetachedShell.js +10 -0
  9. package/dist/package/browser/ApplicationShell.d.ts +19 -0
  10. package/dist/package/browser/ApplicationShell.js +62 -0
  11. package/dist/package/browser/app-kit.d.ts +1 -0
  12. package/dist/package/browser/app-kit.js +4 -0
  13. package/dist/package/browser/appHostBootstrap.d.ts +16 -0
  14. package/dist/package/browser/appHostBootstrap.js +145 -0
  15. package/dist/package/browser/application.d.ts +35 -0
  16. package/dist/package/browser/application.js +64 -0
  17. package/dist/package/browser/assets/icons/agent-icon.png +0 -0
  18. package/dist/package/browser/assets/icons/at.svg +3 -0
  19. package/dist/package/browser/assets/icons/chevron-collapse.svg +3 -0
  20. package/dist/package/browser/assets/icons/chevron-expand.svg +3 -0
  21. package/dist/package/browser/assets/icons/chevron-up.svg +3 -0
  22. package/dist/package/browser/assets/icons/close-x.svg +3 -0
  23. package/dist/package/browser/assets/icons/close.svg +3 -0
  24. package/dist/package/browser/assets/icons/copy.svg +4 -0
  25. package/dist/package/browser/assets/icons/edit.svg +3 -0
  26. package/dist/package/browser/assets/icons/fullscreen.svg +3 -0
  27. package/dist/package/browser/assets/icons/pause.svg +4 -0
  28. package/dist/package/browser/assets/icons/play.svg +3 -0
  29. package/dist/package/browser/assets/icons/select.svg +3 -0
  30. package/dist/package/browser/assets/icons/sendMessage-enable.svg +4 -0
  31. package/dist/package/browser/assets/icons/sendMessage.svg +4 -0
  32. package/dist/package/browser/assets/icons/status-done.svg +11 -0
  33. package/dist/package/browser/assets/icons/status-running.svg +10 -0
  34. package/dist/package/browser/assets/icons/status-waiting.svg +10 -0
  35. package/dist/package/browser/assets/icons/tool-execute-script.svg +3 -0
  36. package/dist/package/browser/assets/icons/tool-other.svg +10 -0
  37. package/dist/package/browser/assets/icons/tool-read-file.svg +3 -0
  38. package/dist/package/browser/assets/icons/tool-resource-search.svg +3 -0
  39. package/dist/package/browser/assets/icons/tool-task-todo.svg +4 -0
  40. package/dist/package/browser/assets/icons/tool-write-file.svg +3 -0
  41. package/dist/package/browser/boot/SettingsSection.d.ts +14 -0
  42. package/dist/package/browser/boot/SettingsSection.js +82 -0
  43. package/dist/package/browser/boot/broadcast.d.ts +2 -0
  44. package/dist/package/browser/boot/broadcast.js +32 -0
  45. package/dist/package/browser/boot/driver.d.ts +22 -0
  46. package/dist/package/browser/boot/driver.js +47 -0
  47. package/dist/package/browser/boot/store.d.ts +29 -0
  48. package/dist/package/browser/boot/store.js +114 -0
  49. package/dist/package/browser/boot/themes.d.ts +19 -0
  50. package/dist/package/browser/boot/themes.js +21 -0
  51. package/dist/package/browser/boot/types.d.ts +22 -0
  52. package/dist/package/browser/boot/types.js +30 -0
  53. package/dist/package/browser/brand/BrandProvider.d.ts +19 -0
  54. package/dist/package/browser/brand/BrandProvider.js +35 -0
  55. package/dist/package/browser/brand/index.d.ts +4 -0
  56. package/dist/package/browser/brand/index.js +3 -0
  57. package/dist/package/browser/brand/runtime.d.ts +17 -0
  58. package/dist/package/browser/brand/runtime.js +71 -0
  59. package/dist/package/browser/brand/types.d.ts +77 -0
  60. package/dist/package/browser/brand/types.js +9 -0
  61. package/dist/package/browser/components/ActivityRail/ActivityRail.css +294 -0
  62. package/dist/package/browser/components/ActivityRail/ActivityRail.d.ts +2 -0
  63. package/dist/package/browser/components/ActivityRail/ActivityRail.js +164 -0
  64. package/dist/package/browser/components/ActivityRail/activity-rail-model.d.ts +18 -0
  65. package/dist/package/browser/components/ActivityRail/activity-rail-model.js +144 -0
  66. package/dist/package/browser/components/AgentAvatar/AgentAvatar.d.ts +17 -0
  67. package/dist/package/browser/components/AgentAvatar/AgentAvatar.js +50 -0
  68. package/dist/package/browser/components/BuildBadge/BuildBadge.d.ts +1 -0
  69. package/dist/package/browser/components/BuildBadge/BuildBadge.js +279 -0
  70. package/dist/package/browser/components/Bus/BusAdminPanel.css +2425 -0
  71. package/dist/package/browser/components/Bus/BusAdminPanel.d.ts +2 -0
  72. package/dist/package/browser/components/Bus/BusAdminPanel.js +1385 -0
  73. package/dist/package/browser/components/Bus/CapabilityOverview.d.ts +3 -0
  74. package/dist/package/browser/components/Bus/CapabilityOverview.js +50 -0
  75. package/dist/package/browser/components/ChatColumn/ChatColumn.d.ts +2 -0
  76. package/dist/package/browser/components/ChatColumn/ChatColumn.js +18 -0
  77. package/dist/package/browser/components/ChatColumn/SessionTabStrip.d.ts +1 -0
  78. package/dist/package/browser/components/ChatColumn/SessionTabStrip.js +103 -0
  79. package/dist/package/browser/components/ChatColumn/useChatWidth.d.ts +5 -0
  80. package/dist/package/browser/components/ChatColumn/useChatWidth.js +13 -0
  81. package/dist/package/browser/components/CommandPalette/CommandPalette.css +199 -0
  82. package/dist/package/browser/components/CommandPalette/CommandPalette.d.ts +2 -0
  83. package/dist/package/browser/components/CommandPalette/CommandPalette.js +242 -0
  84. package/dist/package/browser/components/Confirm/ConfirmDialog.d.ts +2 -0
  85. package/dist/package/browser/components/Confirm/ConfirmDialog.js +113 -0
  86. package/dist/package/browser/components/ContextMenu/ContextMenu.d.ts +10 -0
  87. package/dist/package/browser/components/ContextMenu/ContextMenu.js +218 -0
  88. package/dist/package/browser/components/ContextMenu/menuRegistry.d.ts +18 -0
  89. package/dist/package/browser/components/ContextMenu/menuRegistry.js +152 -0
  90. package/dist/package/browser/components/DetachedSurface.d.ts +20 -0
  91. package/dist/package/browser/components/DetachedSurface.js +102 -0
  92. package/dist/package/browser/components/DockShell/DockPanelHost.d.ts +4 -0
  93. package/dist/package/browser/components/DockShell/DockPanelHost.js +7 -0
  94. package/dist/package/browser/components/DockShell/DockRegion.d.ts +7 -0
  95. package/dist/package/browser/components/DockShell/DockRegion.js +315 -0
  96. package/dist/package/browser/components/DockShell/DockShell.css +1018 -0
  97. package/dist/package/browser/components/DockShell/DockTab.d.ts +3 -0
  98. package/dist/package/browser/components/DockShell/DockTab.js +139 -0
  99. package/dist/package/browser/components/DockShell/ExtensionHostPanel.d.ts +9 -0
  100. package/dist/package/browser/components/DockShell/ExtensionHostPanel.js +68 -0
  101. package/dist/package/browser/components/DockShell/ExtensionRuntimeFrame.d.ts +14 -0
  102. package/dist/package/browser/components/DockShell/ExtensionRuntimeFrame.js +56 -0
  103. package/dist/package/browser/components/DockShell/PanelWindowingBoundary.d.ts +6 -0
  104. package/dist/package/browser/components/DockShell/PanelWindowingBoundary.js +9 -0
  105. package/dist/package/browser/components/DockShell/chatDockAnimation.d.ts +45 -0
  106. package/dist/package/browser/components/DockShell/chatDockAnimation.js +101 -0
  107. package/dist/package/browser/components/DockShell/chatDockFullscreen.d.ts +17 -0
  108. package/dist/package/browser/components/DockShell/chatDockFullscreen.js +22 -0
  109. package/dist/package/browser/components/DockShell/chatDockLayout.d.ts +10 -0
  110. package/dist/package/browser/components/DockShell/chatDockLayout.js +11 -0
  111. package/dist/package/browser/components/DockShell/compact-empty-dock-groups.d.ts +16 -0
  112. package/dist/package/browser/components/DockShell/compact-empty-dock-groups.js +28 -0
  113. package/dist/package/browser/components/DockShell/crossInstanceDrop.d.ts +1 -0
  114. package/dist/package/browser/components/DockShell/crossInstanceDrop.js +1 -0
  115. package/dist/package/browser/components/DockShell/dockResetEpoch.d.ts +2 -0
  116. package/dist/package/browser/components/DockShell/dockResetEpoch.js +13 -0
  117. package/dist/package/browser/components/DockShell/dockTitle.d.ts +12 -0
  118. package/dist/package/browser/components/DockShell/dockTitle.js +36 -0
  119. package/dist/package/browser/components/DockShell/dockviewRegistry.d.ts +1 -0
  120. package/dist/package/browser/components/DockShell/dockviewRegistry.js +1 -0
  121. package/dist/package/browser/components/DockShell/edgeDrawer.d.ts +24 -0
  122. package/dist/package/browser/components/DockShell/edgeDrawer.js +1144 -0
  123. package/dist/package/browser/components/DockShell/edgePinStore.d.ts +12 -0
  124. package/dist/package/browser/components/DockShell/edgePinStore.js +37 -0
  125. package/dist/package/browser/components/DockShell/extension-editor-bridge.d.ts +13 -0
  126. package/dist/package/browser/components/DockShell/extension-editor-bridge.js +100 -0
  127. package/dist/package/browser/components/DockShell/extension-runtime-selection.d.ts +8 -0
  128. package/dist/package/browser/components/DockShell/extension-runtime-selection.js +6 -0
  129. package/dist/package/browser/components/DockShell/extensionRuntime.d.ts +17 -0
  130. package/dist/package/browser/components/DockShell/extensionRuntime.js +84 -0
  131. package/dist/package/browser/components/DockShell/footer-panel-visibility.d.ts +7 -0
  132. package/dist/package/browser/components/DockShell/footer-panel-visibility.js +43 -0
  133. package/dist/package/browser/components/DockShell/footer-panels.d.ts +2 -0
  134. package/dist/package/browser/components/DockShell/footer-panels.js +7 -0
  135. package/dist/package/browser/components/DockShell/panelRegistry.d.ts +37 -0
  136. package/dist/package/browser/components/DockShell/panelRegistry.js +126 -0
  137. package/dist/package/browser/components/DockShell/panelRenderers.d.ts +325 -0
  138. package/dist/package/browser/components/DockShell/panelRenderers.js +25 -0
  139. package/dist/package/browser/components/DockShell/panelTabCommands.d.ts +18 -0
  140. package/dist/package/browser/components/DockShell/panelTabCommands.js +133 -0
  141. package/dist/package/browser/components/DockShell/panelWindowing.d.ts +32 -0
  142. package/dist/package/browser/components/DockShell/panelWindowing.js +42 -0
  143. package/dist/package/browser/components/DockShell/regions.d.ts +1 -0
  144. package/dist/package/browser/components/DockShell/regions.js +1 -0
  145. package/dist/package/browser/components/DockShell/resolveRegion.d.ts +1 -0
  146. package/dist/package/browser/components/DockShell/resolveRegion.js +1 -0
  147. package/dist/package/browser/components/DockShell/sanitizeDockLayout.d.ts +3 -0
  148. package/dist/package/browser/components/DockShell/sanitizeDockLayout.js +46 -0
  149. package/dist/package/browser/components/DockShell/sideEdgeMove.d.ts +1 -0
  150. package/dist/package/browser/components/DockShell/sideEdgeMove.js +1 -0
  151. package/dist/package/browser/components/DockShell/studioTabMenuProvider.d.ts +13 -0
  152. package/dist/package/browser/components/DockShell/studioTabMenuProvider.js +39 -0
  153. package/dist/package/browser/components/DockShell/tabContextMenu.d.ts +29 -0
  154. package/dist/package/browser/components/DockShell/tabContextMenu.js +68 -0
  155. package/dist/package/browser/components/DockShell/ueDrag/controller.d.ts +80 -0
  156. package/dist/package/browser/components/DockShell/ueDrag/controller.js +785 -0
  157. package/dist/package/browser/components/DockShell/ueDrag/geometry.d.ts +94 -0
  158. package/dist/package/browser/components/DockShell/ueDrag/geometry.js +217 -0
  159. package/dist/package/browser/components/DockShell/ueDrag/overlay.d.ts +32 -0
  160. package/dist/package/browser/components/DockShell/ueDrag/overlay.js +206 -0
  161. package/dist/package/browser/components/DockShell/ueDrag/ueDrag.css +199 -0
  162. package/dist/package/browser/components/DockShell/useAuxBarWidth.d.ts +5 -0
  163. package/dist/package/browser/components/DockShell/useAuxBarWidth.js +13 -0
  164. package/dist/package/browser/components/Drawer/DrawerHostView.css +143 -0
  165. package/dist/package/browser/components/Drawer/DrawerHostView.d.ts +19 -0
  166. package/dist/package/browser/components/Drawer/DrawerHostView.js +93 -0
  167. package/dist/package/browser/components/Drawer/DrawerLauncher.d.ts +12 -0
  168. package/dist/package/browser/components/Drawer/DrawerLauncher.js +22 -0
  169. package/dist/package/browser/components/Drawer/useDrawerStore.d.ts +15 -0
  170. package/dist/package/browser/components/Drawer/useDrawerStore.js +80 -0
  171. package/dist/package/browser/components/ErrorBoundary.d.ts +55 -0
  172. package/dist/package/browser/components/ErrorBoundary.js +131 -0
  173. package/dist/package/browser/components/ExtensionHost/ExtensionIframeHost.d.ts +28 -0
  174. package/dist/package/browser/components/ExtensionHost/ExtensionIframeHost.js +179 -0
  175. package/dist/package/browser/components/ExtensionHost/NativeExtensionHost.d.ts +14 -0
  176. package/dist/package/browser/components/ExtensionHost/NativeExtensionHost.js +152 -0
  177. package/dist/package/browser/components/Feedback/FeedbackPanel.css +640 -0
  178. package/dist/package/browser/components/Feedback/FeedbackPanel.d.ts +8 -0
  179. package/dist/package/browser/components/Feedback/FeedbackPanel.js +118 -0
  180. package/dist/package/browser/components/Feedback/PassiveFeedback.css +179 -0
  181. package/dist/package/browser/components/Feedback/PassiveFeedback.d.ts +2 -0
  182. package/dist/package/browser/components/Feedback/PassiveFeedback.js +218 -0
  183. package/dist/package/browser/components/Feedback/collect.d.ts +15 -0
  184. package/dist/package/browser/components/Feedback/collect.js +80 -0
  185. package/dist/package/browser/components/Feedback/store.d.ts +61 -0
  186. package/dist/package/browser/components/Feedback/store.js +174 -0
  187. package/dist/package/browser/components/LangSwitcher/LangSwitcher.css +78 -0
  188. package/dist/package/browser/components/LangSwitcher/LangSwitcher.d.ts +14 -0
  189. package/dist/package/browser/components/LangSwitcher/LangSwitcher.js +44 -0
  190. package/dist/package/browser/components/MainArea/ConsolePanel.d.ts +1 -0
  191. package/dist/package/browser/components/MainArea/ConsolePanel.js +16 -0
  192. package/dist/package/browser/components/MainArea/MainArea.css +2130 -0
  193. package/dist/package/browser/components/MainArea/MainArea.d.ts +2 -0
  194. package/dist/package/browser/components/MainArea/MainArea.js +20 -0
  195. package/dist/package/browser/components/MainArea/StandaloneExtensionIframe.d.ts +25 -0
  196. package/dist/package/browser/components/MainArea/StandaloneExtensionIframe.js +155 -0
  197. package/dist/package/browser/components/MainArea/SurfacePanels.d.ts +3 -0
  198. package/dist/package/browser/components/MainArea/SurfacePanels.js +27 -0
  199. package/dist/package/browser/components/MainArea/TelemetryViewer.css +122 -0
  200. package/dist/package/browser/components/MainArea/TelemetryViewer.d.ts +36 -0
  201. package/dist/package/browser/components/MainArea/TelemetryViewer.js +116 -0
  202. package/dist/package/browser/components/MenuBar/MenuBar.css +186 -0
  203. package/dist/package/browser/components/MenuBar/MenuBar.d.ts +27 -0
  204. package/dist/package/browser/components/MenuBar/MenuBar.js +286 -0
  205. package/dist/package/browser/components/MenuBar/index.d.ts +1 -0
  206. package/dist/package/browser/components/MenuBar/index.js +1 -0
  207. package/dist/package/browser/components/MenuBar/menubar-open-state.d.ts +8 -0
  208. package/dist/package/browser/components/MenuBar/menubar-open-state.js +11 -0
  209. package/dist/package/browser/components/MenuBar/menubar-surface.d.ts +30 -0
  210. package/dist/package/browser/components/MenuBar/menubar-surface.js +201 -0
  211. package/dist/package/browser/components/ModelPicker/index.d.ts +1 -0
  212. package/dist/package/browser/components/ModelPicker/index.js +1 -0
  213. package/dist/package/browser/components/ModelPicker/useModelCatalog.d.ts +22 -0
  214. package/dist/package/browser/components/ModelPicker/useModelCatalog.js +100 -0
  215. package/dist/package/browser/components/Onboarding/ConnectModelPrompt.d.ts +2 -0
  216. package/dist/package/browser/components/Onboarding/ConnectModelPrompt.js +40 -0
  217. package/dist/package/browser/components/Onboarding/Onboarding.css +232 -0
  218. package/dist/package/browser/components/Onboarding/OnboardingController.d.ts +10 -0
  219. package/dist/package/browser/components/Onboarding/OnboardingController.js +549 -0
  220. package/dist/package/browser/components/Onboarding/connect-selection.d.ts +17 -0
  221. package/dist/package/browser/components/Onboarding/connect-selection.js +18 -0
  222. package/dist/package/browser/components/Onboarding/home-transition.d.ts +9 -0
  223. package/dist/package/browser/components/Onboarding/home-transition.js +20 -0
  224. package/dist/package/browser/components/Onboarding/index.d.ts +4 -0
  225. package/dist/package/browser/components/Onboarding/index.js +3 -0
  226. package/dist/package/browser/components/Onboarding/prepareTourShell.d.ts +5 -0
  227. package/dist/package/browser/components/Onboarding/prepareTourShell.js +11 -0
  228. package/dist/package/browser/components/Onboarding/project-name.d.ts +17 -0
  229. package/dist/package/browser/components/Onboarding/project-name.js +29 -0
  230. package/dist/package/browser/components/Onboarding/types.d.ts +31 -0
  231. package/dist/package/browser/components/Onboarding/types.js +77 -0
  232. package/dist/package/browser/components/PageTabs/PageTabStrip.css +221 -0
  233. package/dist/package/browser/components/PageTabs/PageTabStrip.d.ts +3 -0
  234. package/dist/package/browser/components/PageTabs/PageTabStrip.js +214 -0
  235. package/dist/package/browser/components/PageTabs/openablePageTypes.d.ts +9 -0
  236. package/dist/package/browser/components/PageTabs/openablePageTypes.js +13 -0
  237. package/dist/package/browser/components/PanelShell/PanelShell.css +517 -0
  238. package/dist/package/browser/components/PanelShell/PanelShell.d.ts +7 -0
  239. package/dist/package/browser/components/PanelShell/PanelShell.js +459 -0
  240. package/dist/package/browser/components/Resize/ResizeHandle.d.ts +1 -0
  241. package/dist/package/browser/components/Resize/ResizeHandle.js +1 -0
  242. package/dist/package/browser/components/SceneBackground/SceneBackground.d.ts +2 -0
  243. package/dist/package/browser/components/SceneBackground/SceneBackground.js +5 -0
  244. package/dist/package/browser/components/SchemaForm/SchemaForm.css +138 -0
  245. package/dist/package/browser/components/SchemaForm/SchemaForm.d.ts +17 -0
  246. package/dist/package/browser/components/SchemaForm/SchemaForm.js +86 -0
  247. package/dist/package/browser/components/SchemaForm/schema-form-utils.d.ts +30 -0
  248. package/dist/package/browser/components/SchemaForm/schema-form-utils.js +51 -0
  249. package/dist/package/browser/components/SettingsPrimitives.d.ts +24 -0
  250. package/dist/package/browser/components/SettingsPrimitives.js +145 -0
  251. package/dist/package/browser/components/Sidebar/BusHealthLamp.d.ts +1 -0
  252. package/dist/package/browser/components/Sidebar/BusHealthLamp.js +72 -0
  253. package/dist/package/browser/components/Sidebar/FilesPanel.d.ts +1 -0
  254. package/dist/package/browser/components/Sidebar/FilesPanel.js +234 -0
  255. package/dist/package/browser/components/Sidebar/Sidebar.css +1393 -0
  256. package/dist/package/browser/components/Sidebar/Sidebar.d.ts +3 -0
  257. package/dist/package/browser/components/Sidebar/Sidebar.js +8 -0
  258. package/dist/package/browser/components/Sidebar/sidebar-types.d.ts +18 -0
  259. package/dist/package/browser/components/Sidebar/sidebar-types.js +1 -0
  260. package/dist/package/browser/components/SlotDebugOverlay/SlotDebugOverlay.d.ts +1 -0
  261. package/dist/package/browser/components/SlotDebugOverlay/SlotDebugOverlay.js +1 -0
  262. package/dist/package/browser/components/SlotDebugOverlay/hashHue.d.ts +1 -0
  263. package/dist/package/browser/components/SlotDebugOverlay/hashHue.js +1 -0
  264. package/dist/package/browser/components/SlotDebugOverlay/index.d.ts +1 -0
  265. package/dist/package/browser/components/SlotDebugOverlay/index.js +1 -0
  266. package/dist/package/browser/components/SlotDebugOverlay/isSlotDebugEnabled.d.ts +1 -0
  267. package/dist/package/browser/components/SlotDebugOverlay/isSlotDebugEnabled.js +1 -0
  268. package/dist/package/browser/components/StatusBar/FatalBanner.d.ts +25 -0
  269. package/dist/package/browser/components/StatusBar/FatalBanner.js +52 -0
  270. package/dist/package/browser/components/StatusBar/GlobalStatusBar.css +304 -0
  271. package/dist/package/browser/components/StatusBar/InfoPanel.css +174 -0
  272. package/dist/package/browser/components/StatusBar/InfoPanel.d.ts +19 -0
  273. package/dist/package/browser/components/StatusBar/InfoPanel.js +128 -0
  274. package/dist/package/browser/components/StatusBar/StatusChip.css +52 -0
  275. package/dist/package/browser/components/StatusBar/StatusChip.d.ts +40 -0
  276. package/dist/package/browser/components/StatusBar/StatusChip.js +13 -0
  277. package/dist/package/browser/components/StatusBar/StripHostView.d.ts +2 -0
  278. package/dist/package/browser/components/StatusBar/StripHostView.js +91 -0
  279. package/dist/package/browser/components/StatusBar/StripPopover.css +58 -0
  280. package/dist/package/browser/components/StatusBar/StripPopover.d.ts +16 -0
  281. package/dist/package/browser/components/StatusBar/StripPopover.js +15 -0
  282. package/dist/package/browser/components/StatusBar/feeds/PulseFeeds.d.ts +16 -0
  283. package/dist/package/browser/components/StatusBar/feeds/PulseFeeds.js +88 -0
  284. package/dist/package/browser/components/StatusBar/footer/CheckpointsDrawer.d.ts +4 -0
  285. package/dist/package/browser/components/StatusBar/footer/CheckpointsDrawer.js +77 -0
  286. package/dist/package/browser/components/StatusBar/footer/DiagnosticsPopover.d.ts +4 -0
  287. package/dist/package/browser/components/StatusBar/footer/DiagnosticsPopover.js +108 -0
  288. package/dist/package/browser/components/StatusBar/footer/EventsDrawer.d.ts +14 -0
  289. package/dist/package/browser/components/StatusBar/footer/EventsDrawer.js +25 -0
  290. package/dist/package/browser/components/StatusBar/footer/ForgeaxBuildPopover.d.ts +4 -0
  291. package/dist/package/browser/components/StatusBar/footer/ForgeaxBuildPopover.js +62 -0
  292. package/dist/package/browser/components/StatusBar/footer/footer.css +178 -0
  293. package/dist/package/browser/components/StatusBar/healthBridge.d.ts +38 -0
  294. package/dist/package/browser/components/StatusBar/healthBridge.js +245 -0
  295. package/dist/package/browser/components/StatusBar/healthStore.d.ts +80 -0
  296. package/dist/package/browser/components/StatusBar/healthStore.js +129 -0
  297. package/dist/package/browser/components/StatusBar/useStatusItem.d.ts +10 -0
  298. package/dist/package/browser/components/StatusBar/useStatusItem.js +35 -0
  299. package/dist/package/browser/components/Surfaces/SurfaceKeepAlive.css +34 -0
  300. package/dist/package/browser/components/Surfaces/SurfaceKeepAliveLayer.d.ts +3 -0
  301. package/dist/package/browser/components/Surfaces/SurfaceKeepAliveLayer.js +218 -0
  302. package/dist/package/browser/components/Surfaces/SurfaceOverlay.css +160 -0
  303. package/dist/package/browser/components/Surfaces/SurfaceOverlay.d.ts +9 -0
  304. package/dist/package/browser/components/Surfaces/SurfaceOverlay.js +144 -0
  305. package/dist/package/browser/components/TopBar/AndroidPackageDialog.d.ts +23 -0
  306. package/dist/package/browser/components/TopBar/AndroidPackageDialog.js +115 -0
  307. package/dist/package/browser/components/TopBar/FsBrowser.css +156 -0
  308. package/dist/package/browser/components/TopBar/FsBrowser.d.ts +8 -0
  309. package/dist/package/browser/components/TopBar/FsBrowser.js +93 -0
  310. package/dist/package/browser/components/TopBar/GameSwitcher.d.ts +29 -0
  311. package/dist/package/browser/components/TopBar/GameSwitcher.js +157 -0
  312. package/dist/package/browser/components/TopBar/IosPackageDialog.d.ts +23 -0
  313. package/dist/package/browser/components/TopBar/IosPackageDialog.js +115 -0
  314. package/dist/package/browser/components/TopBar/ProjectSwitcher.d.ts +3 -0
  315. package/dist/package/browser/components/TopBar/ProjectSwitcher.js +41 -0
  316. package/dist/package/browser/components/TopBar/PublishOnboarding.css +133 -0
  317. package/dist/package/browser/components/TopBar/PublishOnboarding.d.ts +10 -0
  318. package/dist/package/browser/components/TopBar/PublishOnboarding.js +144 -0
  319. package/dist/package/browser/components/TopBar/SessionSwitcher.d.ts +2 -0
  320. package/dist/package/browser/components/TopBar/SessionSwitcher.js +124 -0
  321. package/dist/package/browser/components/TopBar/TopBar.css +1672 -0
  322. package/dist/package/browser/components/TopBar/TopBar.d.ts +2 -0
  323. package/dist/package/browser/components/TopBar/TopBar.js +606 -0
  324. package/dist/package/browser/components/TopBar/publish-options.d.ts +20 -0
  325. package/dist/package/browser/components/TopBar/publish-options.js +28 -0
  326. package/dist/package/browser/components/TourOverlay/TourOverlay.css +122 -0
  327. package/dist/package/browser/components/TourOverlay/TourOverlay.d.ts +26 -0
  328. package/dist/package/browser/components/TourOverlay/TourOverlay.js +233 -0
  329. package/dist/package/browser/components/TourOverlay/index.d.ts +2 -0
  330. package/dist/package/browser/components/TourOverlay/index.js +1 -0
  331. package/dist/package/browser/components/ownership.d.ts +7 -0
  332. package/dist/package/browser/components/ownership.js +7 -0
  333. package/dist/package/browser/components/ui/SearchableMenu.css +143 -0
  334. package/dist/package/browser/components/ui/SearchableMenu.d.ts +30 -0
  335. package/dist/package/browser/components/ui/SearchableMenu.js +40 -0
  336. package/dist/package/browser/components/ui/alert-dialog.d.ts +20 -0
  337. package/dist/package/browser/components/ui/alert-dialog.js +38 -0
  338. package/dist/package/browser/components/ui/button.d.ts +11 -0
  339. package/dist/package/browser/components/ui/button.js +33 -0
  340. package/dist/package/browser/components/ui/checkbox.d.ts +4 -0
  341. package/dist/package/browser/components/ui/checkbox.js +8 -0
  342. package/dist/package/browser/components/ui/command.d.ts +74 -0
  343. package/dist/package/browser/components/ui/command.js +20 -0
  344. package/dist/package/browser/components/ui/dialog.d.ts +21 -0
  345. package/dist/package/browser/components/ui/dialog.js +34 -0
  346. package/dist/package/browser/components/ui/dropdown-menu.d.ts +18 -0
  347. package/dist/package/browser/components/ui/dropdown-menu.js +30 -0
  348. package/dist/package/browser/components/ui/input.d.ts +3 -0
  349. package/dist/package/browser/components/ui/input.js +8 -0
  350. package/dist/package/browser/components/ui/label.d.ts +4 -0
  351. package/dist/package/browser/components/ui/label.js +7 -0
  352. package/dist/package/browser/components/ui/popover.d.ts +7 -0
  353. package/dist/package/browser/components/ui/popover.js +10 -0
  354. package/dist/package/browser/components/ui/select.d.ts +11 -0
  355. package/dist/package/browser/components/ui/select.js +31 -0
  356. package/dist/package/browser/components/ui/tabs.d.ts +7 -0
  357. package/dist/package/browser/components/ui/tabs.js +12 -0
  358. package/dist/package/browser/components/ui/textarea.d.ts +3 -0
  359. package/dist/package/browser/components/ui/textarea.js +8 -0
  360. package/dist/package/browser/components/ui/tooltip.d.ts +7 -0
  361. package/dist/package/browser/components/ui/tooltip.js +10 -0
  362. package/dist/package/browser/core/app-shell/catalog-page-extensions.d.ts +28 -0
  363. package/dist/package/browser/core/app-shell/catalog-page-extensions.js +234 -0
  364. package/dist/package/browser/core/app-shell/derive-panel-renderers.d.ts +2 -0
  365. package/dist/package/browser/core/app-shell/derive-panel-renderers.js +17 -0
  366. package/dist/package/browser/core/app-shell/host.d.ts +31 -0
  367. package/dist/package/browser/core/app-shell/host.js +188 -0
  368. package/dist/package/browser/core/app-shell/index.d.ts +7 -0
  369. package/dist/package/browser/core/app-shell/index.js +8 -0
  370. package/dist/package/browser/core/app-shell/logger.d.ts +2 -0
  371. package/dist/package/browser/core/app-shell/logger.js +6 -0
  372. package/dist/package/browser/core/app-shell/ownership.d.ts +7 -0
  373. package/dist/package/browser/core/app-shell/ownership.js +7 -0
  374. package/dist/package/browser/core/app-shell/react/HostProvider.d.ts +10 -0
  375. package/dist/package/browser/core/app-shell/react/HostProvider.js +35 -0
  376. package/dist/package/browser/core/app-shell/surface-extension.d.ts +17 -0
  377. package/dist/package/browser/core/app-shell/surface-extension.js +33 -0
  378. package/dist/package/browser/core/app-shell/types.d.ts +176 -0
  379. package/dist/package/browser/core/app-shell/types.js +1 -0
  380. package/dist/package/browser/core/contextual-keybindings.d.ts +71 -0
  381. package/dist/package/browser/core/contextual-keybindings.js +198 -0
  382. package/dist/package/browser/core/extension-foundation/bus.d.ts +2 -0
  383. package/dist/package/browser/core/extension-foundation/bus.js +3 -0
  384. package/dist/package/browser/core/extension-foundation/capabilities.d.ts +2 -0
  385. package/dist/package/browser/core/extension-foundation/capabilities.js +3 -0
  386. package/dist/package/browser/core/extension-foundation/commands.d.ts +2 -0
  387. package/dist/package/browser/core/extension-foundation/commands.js +3 -0
  388. package/dist/package/browser/core/extension-foundation/context-keys.d.ts +2 -0
  389. package/dist/package/browser/core/extension-foundation/context-keys.js +3 -0
  390. package/dist/package/browser/core/extension-foundation/contribution-registry.d.ts +2 -0
  391. package/dist/package/browser/core/extension-foundation/contribution-registry.js +3 -0
  392. package/dist/package/browser/core/extension-foundation/errors.d.ts +2 -0
  393. package/dist/package/browser/core/extension-foundation/errors.js +3 -0
  394. package/dist/package/browser/core/extension-foundation/index.d.ts +8 -0
  395. package/dist/package/browser/core/extension-foundation/index.js +9 -0
  396. package/dist/package/browser/core/extension-foundation/loader.d.ts +2 -0
  397. package/dist/package/browser/core/extension-foundation/loader.js +3 -0
  398. package/dist/package/browser/core/extension-foundation/storage.d.ts +2 -0
  399. package/dist/package/browser/core/extension-foundation/storage.js +3 -0
  400. package/dist/package/browser/core/extension-foundation/types.d.ts +2 -0
  401. package/dist/package/browser/core/extension-foundation/types.js +1 -0
  402. package/dist/package/browser/core/extensions/builtin-commands.d.ts +2 -0
  403. package/dist/package/browser/core/extensions/builtin-commands.js +256 -0
  404. package/dist/package/browser/core/extensions/builtin-menus.d.ts +2 -0
  405. package/dist/package/browser/core/extensions/builtin-menus.js +252 -0
  406. package/dist/package/browser/core/extensions/chrome-drawer.d.ts +3 -0
  407. package/dist/package/browser/core/extensions/chrome-drawer.js +45 -0
  408. package/dist/package/browser/core/extensions/chrome-statusbar.d.ts +6 -0
  409. package/dist/package/browser/core/extensions/chrome-statusbar.js +26 -0
  410. package/dist/package/browser/core/extensions/detached-agents-browser.d.ts +3 -0
  411. package/dist/package/browser/core/extensions/detached-agents-browser.js +9 -0
  412. package/dist/package/browser/core/extensions/detached-files-browser.d.ts +3 -0
  413. package/dist/package/browser/core/extensions/detached-files-browser.js +6 -0
  414. package/dist/package/browser/core/extensions/editor-commands.d.ts +2 -0
  415. package/dist/package/browser/core/extensions/editor-commands.js +182 -0
  416. package/dist/package/browser/core/extensions/foundation-bus.d.ts +2 -0
  417. package/dist/package/browser/core/extensions/foundation-bus.js +3 -0
  418. package/dist/package/browser/core/extensions/foundation-commands.d.ts +2 -0
  419. package/dist/package/browser/core/extensions/foundation-commands.js +6 -0
  420. package/dist/package/browser/core/extensions/foundation-storage.d.ts +2 -0
  421. package/dist/package/browser/core/extensions/foundation-storage.js +3 -0
  422. package/dist/package/browser/core/extensions/host-commands.d.ts +18 -0
  423. package/dist/package/browser/core/extensions/host-commands.js +52 -0
  424. package/dist/package/browser/core/extensions/observability.d.ts +14 -0
  425. package/dist/package/browser/core/extensions/observability.js +18 -0
  426. package/dist/package/browser/core/extensions/panels-chat.d.ts +2 -0
  427. package/dist/package/browser/core/extensions/panels-chat.js +41 -0
  428. package/dist/package/browser/core/extensions/panels-editor.d.ts +8 -0
  429. package/dist/package/browser/core/extensions/panels-editor.js +26 -0
  430. package/dist/package/browser/core/extensions/panels-viewport.d.ts +2 -0
  431. package/dist/package/browser/core/extensions/panels-viewport.js +20 -0
  432. package/dist/package/browser/core/extensions/session-client.d.ts +29 -0
  433. package/dist/package/browser/core/extensions/session-client.js +42 -0
  434. package/dist/package/browser/core/extensions/slots-corner-agent-picker.d.ts +5 -0
  435. package/dist/package/browser/core/extensions/slots-corner-agent-picker.js +6 -0
  436. package/dist/package/browser/core/extensions/slots-main-area-body.d.ts +3 -0
  437. package/dist/package/browser/core/extensions/slots-main-area-body.js +6 -0
  438. package/dist/package/browser/core/extensions/slots-sidebar-agents.d.ts +3 -0
  439. package/dist/package/browser/core/extensions/slots-sidebar-agents.js +6 -0
  440. package/dist/package/browser/core/extensions/studio-domain-clients.d.ts +12 -0
  441. package/dist/package/browser/core/extensions/studio-domain-clients.js +15 -0
  442. package/dist/package/browser/core/extensions/surfaces-scene-editor.d.ts +3 -0
  443. package/dist/package/browser/core/extensions/surfaces-scene-editor.js +6 -0
  444. package/dist/package/browser/core/extensions/trajectory.d.ts +2 -0
  445. package/dist/package/browser/core/extensions/trajectory.js +50 -0
  446. package/dist/package/browser/core/page-navigation.d.ts +1 -0
  447. package/dist/package/browser/core/page-navigation.js +1 -0
  448. package/dist/package/browser/core/page-platform/activity.d.ts +4 -0
  449. package/dist/package/browser/core/page-platform/activity.js +46 -0
  450. package/dist/package/browser/core/page-platform/dockview-layout.d.ts +7 -0
  451. package/dist/package/browser/core/page-platform/dockview-layout.js +63 -0
  452. package/dist/package/browser/core/page-platform/index.d.ts +8 -0
  453. package/dist/package/browser/core/page-platform/index.js +8 -0
  454. package/dist/package/browser/core/page-platform/layout-store.d.ts +18 -0
  455. package/dist/package/browser/core/page-platform/layout-store.js +54 -0
  456. package/dist/package/browser/core/page-platform/page-dirty-probe.d.ts +1 -0
  457. package/dist/package/browser/core/page-platform/page-dirty-probe.js +4 -0
  458. package/dist/package/browser/core/page-platform/registry.d.ts +3 -0
  459. package/dist/package/browser/core/page-platform/registry.js +194 -0
  460. package/dist/package/browser/core/page-platform/resource-editor.d.ts +3 -0
  461. package/dist/package/browser/core/page-platform/resource-editor.js +74 -0
  462. package/dist/package/browser/core/page-platform/session.d.ts +10 -0
  463. package/dist/package/browser/core/page-platform/session.js +327 -0
  464. package/dist/package/browser/core/page-platform/types.d.ts +242 -0
  465. package/dist/package/browser/core/page-platform/types.js +10 -0
  466. package/dist/package/browser/core/panels/context-expression.d.ts +1 -0
  467. package/dist/package/browser/core/panels/context-expression.js +1 -0
  468. package/dist/package/browser/core/panels/drawer.d.ts +23 -0
  469. package/dist/package/browser/core/panels/drawer.js +1 -0
  470. package/dist/package/browser/core/panels/index.d.ts +7 -0
  471. package/dist/package/browser/core/panels/index.js +7 -0
  472. package/dist/package/browser/core/panels/panel-action-registry.d.ts +6 -0
  473. package/dist/package/browser/core/panels/panel-action-registry.js +62 -0
  474. package/dist/package/browser/core/panels/panel-control-registry.d.ts +6 -0
  475. package/dist/package/browser/core/panels/panel-control-registry.js +54 -0
  476. package/dist/package/browser/core/panels/resolve-panel-action-state.d.ts +10 -0
  477. package/dist/package/browser/core/panels/resolve-panel-action-state.js +9 -0
  478. package/dist/package/browser/core/panels/strip.d.ts +40 -0
  479. package/dist/package/browser/core/panels/strip.js +1 -0
  480. package/dist/package/browser/core/panels/types.d.ts +143 -0
  481. package/dist/package/browser/core/panels/types.js +1 -0
  482. package/dist/package/browser/i18n/index.d.ts +50 -0
  483. package/dist/package/browser/i18n/index.js +207 -0
  484. package/dist/package/browser/i18n/locales/en.json +1959 -0
  485. package/dist/package/browser/i18n/locales/zh.json +1959 -0
  486. package/dist/package/browser/index.d.ts +2 -0
  487. package/dist/package/browser/index.js +2 -0
  488. package/dist/package/browser/lib/a11y-summary.d.ts +17 -0
  489. package/dist/package/browser/lib/a11y-summary.js +66 -0
  490. package/dist/package/browser/lib/action-dom-discovery.d.ts +2 -0
  491. package/dist/package/browser/lib/action-dom-discovery.js +84 -0
  492. package/dist/package/browser/lib/action-registry.d.ts +94 -0
  493. package/dist/package/browser/lib/action-registry.js +210 -0
  494. package/dist/package/browser/lib/aegis.d.ts +40 -0
  495. package/dist/package/browser/lib/aegis.js +230 -0
  496. package/dist/package/browser/lib/agent-catalog-url.d.ts +9 -0
  497. package/dist/package/browser/lib/agent-catalog-url.js +24 -0
  498. package/dist/package/browser/lib/agent-cli-provider.d.ts +10 -0
  499. package/dist/package/browser/lib/agent-cli-provider.js +81 -0
  500. package/dist/package/browser/lib/ai-intents.d.ts +30 -0
  501. package/dist/package/browser/lib/ai-intents.js +52 -0
  502. package/dist/package/browser/lib/broadcast-stream.d.ts +17 -0
  503. package/dist/package/browser/lib/broadcast-stream.js +163 -0
  504. package/dist/package/browser/lib/browser-prefs-sync.d.ts +16 -0
  505. package/dist/package/browser/lib/browser-prefs-sync.js +151 -0
  506. package/dist/package/browser/lib/builtin-actions.d.ts +2 -0
  507. package/dist/package/browser/lib/builtin-actions.js +558 -0
  508. package/dist/package/browser/lib/bus.d.ts +25 -0
  509. package/dist/package/browser/lib/bus.js +71 -0
  510. package/dist/package/browser/lib/checkpoint-api.d.ts +54 -0
  511. package/dist/package/browser/lib/checkpoint-api.js +41 -0
  512. package/dist/package/browser/lib/cli-providers.d.ts +33 -0
  513. package/dist/package/browser/lib/cli-providers.js +61 -0
  514. package/dist/package/browser/lib/command-palette-store.d.ts +5 -0
  515. package/dist/package/browser/lib/command-palette-store.js +22 -0
  516. package/dist/package/browser/lib/composer-bridge.d.ts +103 -0
  517. package/dist/package/browser/lib/composer-bridge.js +448 -0
  518. package/dist/package/browser/lib/dashboard-api.d.ts +104 -0
  519. package/dist/package/browser/lib/dashboard-api.js +125 -0
  520. package/dist/package/browser/lib/deep-link-bus.d.ts +10 -0
  521. package/dist/package/browser/lib/deep-link-bus.js +35 -0
  522. package/dist/package/browser/lib/dialog.d.ts +40 -0
  523. package/dist/package/browser/lib/dialog.js +103 -0
  524. package/dist/package/browser/lib/editor-facts-bus.d.ts +27 -0
  525. package/dist/package/browser/lib/editor-facts-bus.js +25 -0
  526. package/dist/package/browser/lib/extension-api.d.ts +140 -0
  527. package/dist/package/browser/lib/extension-api.js +90 -0
  528. package/dist/package/browser/lib/file-activity-stream.d.ts +54 -0
  529. package/dist/package/browser/lib/file-activity-stream.js +123 -0
  530. package/dist/package/browser/lib/file-family.d.ts +15 -0
  531. package/dist/package/browser/lib/file-family.js +25 -0
  532. package/dist/package/browser/lib/game-templates.d.ts +7 -0
  533. package/dist/package/browser/lib/game-templates.js +15 -0
  534. package/dist/package/browser/lib/global-shortcuts.d.ts +121 -0
  535. package/dist/package/browser/lib/global-shortcuts.js +551 -0
  536. package/dist/package/browser/lib/logSink.d.ts +16 -0
  537. package/dist/package/browser/lib/logSink.js +128 -0
  538. package/dist/package/browser/lib/lucide-icon.d.ts +5 -0
  539. package/dist/package/browser/lib/lucide-icon.js +20 -0
  540. package/dist/package/browser/lib/menu-registry.d.ts +113 -0
  541. package/dist/package/browser/lib/menu-registry.js +197 -0
  542. package/dist/package/browser/lib/model-config.d.ts +89 -0
  543. package/dist/package/browser/lib/model-config.js +72 -0
  544. package/dist/package/browser/lib/model-prefs.d.ts +5 -0
  545. package/dist/package/browser/lib/model-prefs.js +53 -0
  546. package/dist/package/browser/lib/model-route/index.d.ts +81 -0
  547. package/dist/package/browser/lib/model-route/index.js +175 -0
  548. package/dist/package/browser/lib/narrative-copilot.d.ts +20 -0
  549. package/dist/package/browser/lib/narrative-copilot.js +105 -0
  550. package/dist/package/browser/lib/native-menu-bridge.d.ts +37 -0
  551. package/dist/package/browser/lib/native-menu-bridge.js +151 -0
  552. package/dist/package/browser/lib/page-tab-icons.d.ts +21 -0
  553. package/dist/package/browser/lib/page-tab-icons.js +64 -0
  554. package/dist/package/browser/lib/panel-tab-icons.d.ts +21 -0
  555. package/dist/package/browser/lib/panel-tab-icons.js +49 -0
  556. package/dist/package/browser/lib/passive-feedback.d.ts +50 -0
  557. package/dist/package/browser/lib/passive-feedback.js +171 -0
  558. package/dist/package/browser/lib/perception-stream.d.ts +27 -0
  559. package/dist/package/browser/lib/perception-stream.js +42 -0
  560. package/dist/package/browser/lib/platform/index.d.ts +14 -0
  561. package/dist/package/browser/lib/platform/index.js +13 -0
  562. package/dist/package/browser/lib/platform/runtime.d.ts +22 -0
  563. package/dist/package/browser/lib/platform/runtime.js +42 -0
  564. package/dist/package/browser/lib/platform/shell-adapter.d.ts +24 -0
  565. package/dist/package/browser/lib/platform/shell-adapter.js +74 -0
  566. package/dist/package/browser/lib/platform/surface-windowing.d.ts +4 -0
  567. package/dist/package/browser/lib/platform/surface-windowing.js +16 -0
  568. package/dist/package/browser/lib/platform/surface.d.ts +13 -0
  569. package/dist/package/browser/lib/platform/surface.js +27 -0
  570. package/dist/package/browser/lib/platform/use-surface-windowing.d.ts +1 -0
  571. package/dist/package/browser/lib/platform/use-surface-windowing.js +6 -0
  572. package/dist/package/browser/lib/platform/window-manager.d.ts +2 -0
  573. package/dist/package/browser/lib/platform/window-manager.js +82 -0
  574. package/dist/package/browser/lib/project-context.d.ts +4 -0
  575. package/dist/package/browser/lib/project-context.js +42 -0
  576. package/dist/package/browser/lib/project.d.ts +5 -0
  577. package/dist/package/browser/lib/project.js +8 -0
  578. package/dist/package/browser/lib/recent-games.d.ts +24 -0
  579. package/dist/package/browser/lib/recent-games.js +50 -0
  580. package/dist/package/browser/lib/repair-builtin-menus.d.ts +6 -0
  581. package/dist/package/browser/lib/repair-builtin-menus.js +18 -0
  582. package/dist/package/browser/lib/reply-language.d.ts +9 -0
  583. package/dist/package/browser/lib/reply-language.js +11 -0
  584. package/dist/package/browser/lib/resilient-polling.d.ts +9 -0
  585. package/dist/package/browser/lib/resilient-polling.js +16 -0
  586. package/dist/package/browser/lib/session-time.d.ts +8 -0
  587. package/dist/package/browser/lib/session-time.js +40 -0
  588. package/dist/package/browser/lib/shell-live-data.d.ts +12 -0
  589. package/dist/package/browser/lib/shell-live-data.js +66 -0
  590. package/dist/package/browser/lib/sse.d.ts +5 -0
  591. package/dist/package/browser/lib/sse.js +42 -0
  592. package/dist/package/browser/lib/storageKeys.d.ts +70 -0
  593. package/dist/package/browser/lib/storageKeys.js +89 -0
  594. package/dist/package/browser/lib/surface-store.d.ts +38 -0
  595. package/dist/package/browser/lib/surface-store.js +62 -0
  596. package/dist/package/browser/lib/surface.d.ts +56 -0
  597. package/dist/package/browser/lib/surface.js +225 -0
  598. package/dist/package/browser/lib/surfaceAnchors.d.ts +16 -0
  599. package/dist/package/browser/lib/surfaceAnchors.js +76 -0
  600. package/dist/package/browser/lib/surfaceKeepAliveLayout.d.ts +7 -0
  601. package/dist/package/browser/lib/surfaceKeepAliveLayout.js +12 -0
  602. package/dist/package/browser/lib/telemetry-test-prelude.d.ts +0 -0
  603. package/dist/package/browser/lib/telemetry-test-prelude.js +14 -0
  604. package/dist/package/browser/lib/text-edit-actions.d.ts +14 -0
  605. package/dist/package/browser/lib/text-edit-actions.js +184 -0
  606. package/dist/package/browser/lib/trace.d.ts +34 -0
  607. package/dist/package/browser/lib/trace.js +273 -0
  608. package/dist/package/browser/lib/trustedOrigins.d.ts +4 -0
  609. package/dist/package/browser/lib/trustedOrigins.js +36 -0
  610. package/dist/package/browser/lib/ui-action-highlight.d.ts +2 -0
  611. package/dist/package/browser/lib/ui-action-highlight.js +93 -0
  612. package/dist/package/browser/lib/ui-bridge.d.ts +2 -0
  613. package/dist/package/browser/lib/ui-bridge.js +224 -0
  614. package/dist/package/browser/lib/ui-screenshot.d.ts +31 -0
  615. package/dist/package/browser/lib/ui-screenshot.js +155 -0
  616. package/dist/package/browser/lib/ui-trajectory.d.ts +47 -0
  617. package/dist/package/browser/lib/ui-trajectory.js +99 -0
  618. package/dist/package/browser/lib/use-bus-snapshot.d.ts +3 -0
  619. package/dist/package/browser/lib/use-bus-snapshot.js +13 -0
  620. package/dist/package/browser/lib/use-extension-manifest.d.ts +19 -0
  621. package/dist/package/browser/lib/use-extension-manifest.js +67 -0
  622. package/dist/package/browser/lib/useConfirmToast.d.ts +26 -0
  623. package/dist/package/browser/lib/useConfirmToast.js +120 -0
  624. package/dist/package/browser/lib/utils.d.ts +2 -0
  625. package/dist/package/browser/lib/utils.js +5 -0
  626. package/dist/package/browser/lib/vag-action-bridge.d.ts +2 -0
  627. package/dist/package/browser/lib/vag-action-bridge.js +130 -0
  628. package/dist/package/browser/main.d.ts +1 -0
  629. package/dist/package/browser/main.js +157 -0
  630. package/dist/package/browser/store-parts/domain-clients.d.ts +149 -0
  631. package/dist/package/browser/store-parts/domain-clients.js +17 -0
  632. package/dist/package/browser/store-parts/observability.d.ts +4 -0
  633. package/dist/package/browser/store-parts/observability.js +35 -0
  634. package/dist/package/browser/store-parts/persistence.d.ts +40 -0
  635. package/dist/package/browser/store-parts/persistence.js +245 -0
  636. package/dist/package/browser/store-parts/session-client.d.ts +73 -0
  637. package/dist/package/browser/store-parts/session-client.js +17 -0
  638. package/dist/package/browser/store-parts/session-pick.d.ts +8 -0
  639. package/dist/package/browser/store-parts/session-pick.js +21 -0
  640. package/dist/package/browser/store-parts/shell.d.ts +5 -0
  641. package/dist/package/browser/store-parts/shell.js +37 -0
  642. package/dist/package/browser/store.d.ts +455 -0
  643. package/dist/package/browser/store.js +890 -0
  644. package/dist/package/browser/styles/forgeax-preview/agent-avatar.css +69 -0
  645. package/dist/package/browser/styles/forgeax-preview/aliases.css +21 -0
  646. package/dist/package/browser/styles/forgeax-preview/chat-popover.css +141 -0
  647. package/dist/package/browser/styles/forgeax-preview/chat-session.css +896 -0
  648. package/dist/package/browser/styles/forgeax-preview/composer-port.css +531 -0
  649. package/dist/package/browser/styles/forgeax-preview/design-tokens.css +25 -0
  650. package/dist/package/browser/styles/forgeax-preview/index.css +9 -0
  651. package/dist/package/browser/styles/forgeax-preview/scene-fx.css +117 -0
  652. package/dist/package/browser/styles/forgeax-preview/shell-layout.css +280 -0
  653. package/dist/package/browser/styles/forgeax-preview/shell-skin.css +128 -0
  654. package/dist/package/browser/styles/foundation.tokens.json +2755 -0
  655. package/dist/package/browser/styles/global.css +196 -0
  656. package/dist/package/browser/styles/motion.css +558 -0
  657. package/dist/package/browser/styles/plugin-token-bridge.css +19 -0
  658. package/dist/package/browser/styles/primitive.css +197 -0
  659. package/dist/package/browser/styles/semantic.tokens.json +1524 -0
  660. package/dist/package/browser/styles/tokens.css +304 -0
  661. package/dist/package/node/App.js +11 -0
  662. package/dist/package/node/ApplicationDetachedShell.js +10 -0
  663. package/dist/package/node/ApplicationShell.js +62 -0
  664. package/dist/package/node/app-kit.js +4 -0
  665. package/dist/package/node/appHostBootstrap.js +145 -0
  666. package/dist/package/node/application.js +64 -0
  667. package/dist/package/node/boot/SettingsSection.js +82 -0
  668. package/dist/package/node/boot/broadcast.js +32 -0
  669. package/dist/package/node/boot/driver.js +47 -0
  670. package/dist/package/node/boot/store.js +114 -0
  671. package/dist/package/node/boot/themes.js +21 -0
  672. package/dist/package/node/boot/types.js +30 -0
  673. package/dist/package/node/brand/BrandProvider.js +35 -0
  674. package/dist/package/node/brand/index.js +3 -0
  675. package/dist/package/node/brand/runtime.js +71 -0
  676. package/dist/package/node/brand/types.js +9 -0
  677. package/dist/package/node/components/ActivityRail/ActivityRail.js +164 -0
  678. package/dist/package/node/components/ActivityRail/activity-rail-model.js +144 -0
  679. package/dist/package/node/components/AgentAvatar/AgentAvatar.js +50 -0
  680. package/dist/package/node/components/BuildBadge/BuildBadge.js +279 -0
  681. package/dist/package/node/components/Bus/BusAdminPanel.js +1385 -0
  682. package/dist/package/node/components/Bus/CapabilityOverview.js +50 -0
  683. package/dist/package/node/components/ChatColumn/ChatColumn.js +18 -0
  684. package/dist/package/node/components/ChatColumn/SessionTabStrip.js +103 -0
  685. package/dist/package/node/components/ChatColumn/useChatWidth.js +13 -0
  686. package/dist/package/node/components/CommandPalette/CommandPalette.js +242 -0
  687. package/dist/package/node/components/Confirm/ConfirmDialog.js +113 -0
  688. package/dist/package/node/components/ContextMenu/ContextMenu.js +218 -0
  689. package/dist/package/node/components/ContextMenu/menuRegistry.js +152 -0
  690. package/dist/package/node/components/DetachedSurface.js +102 -0
  691. package/dist/package/node/components/DockShell/DockPanelHost.js +7 -0
  692. package/dist/package/node/components/DockShell/DockRegion.js +315 -0
  693. package/dist/package/node/components/DockShell/DockTab.js +139 -0
  694. package/dist/package/node/components/DockShell/ExtensionHostPanel.js +68 -0
  695. package/dist/package/node/components/DockShell/ExtensionRuntimeFrame.js +56 -0
  696. package/dist/package/node/components/DockShell/PanelWindowingBoundary.js +9 -0
  697. package/dist/package/node/components/DockShell/chatDockAnimation.js +101 -0
  698. package/dist/package/node/components/DockShell/chatDockFullscreen.js +22 -0
  699. package/dist/package/node/components/DockShell/chatDockLayout.js +11 -0
  700. package/dist/package/node/components/DockShell/compact-empty-dock-groups.js +28 -0
  701. package/dist/package/node/components/DockShell/crossInstanceDrop.js +1 -0
  702. package/dist/package/node/components/DockShell/dockResetEpoch.js +13 -0
  703. package/dist/package/node/components/DockShell/dockTitle.js +36 -0
  704. package/dist/package/node/components/DockShell/dockviewRegistry.js +1 -0
  705. package/dist/package/node/components/DockShell/edgeDrawer.js +1144 -0
  706. package/dist/package/node/components/DockShell/edgePinStore.js +37 -0
  707. package/dist/package/node/components/DockShell/extension-editor-bridge.js +100 -0
  708. package/dist/package/node/components/DockShell/extension-runtime-selection.js +6 -0
  709. package/dist/package/node/components/DockShell/extensionRuntime.js +84 -0
  710. package/dist/package/node/components/DockShell/footer-panel-visibility.js +43 -0
  711. package/dist/package/node/components/DockShell/footer-panels.js +7 -0
  712. package/dist/package/node/components/DockShell/panelRegistry.js +126 -0
  713. package/dist/package/node/components/DockShell/panelRenderers.js +25 -0
  714. package/dist/package/node/components/DockShell/panelTabCommands.js +133 -0
  715. package/dist/package/node/components/DockShell/panelWindowing.js +42 -0
  716. package/dist/package/node/components/DockShell/regions.js +1 -0
  717. package/dist/package/node/components/DockShell/resolveRegion.js +1 -0
  718. package/dist/package/node/components/DockShell/sanitizeDockLayout.js +46 -0
  719. package/dist/package/node/components/DockShell/sideEdgeMove.js +1 -0
  720. package/dist/package/node/components/DockShell/studioTabMenuProvider.js +39 -0
  721. package/dist/package/node/components/DockShell/tabContextMenu.js +68 -0
  722. package/dist/package/node/components/DockShell/ueDrag/controller.js +785 -0
  723. package/dist/package/node/components/DockShell/ueDrag/geometry.js +217 -0
  724. package/dist/package/node/components/DockShell/ueDrag/overlay.js +206 -0
  725. package/dist/package/node/components/DockShell/useAuxBarWidth.js +13 -0
  726. package/dist/package/node/components/Drawer/DrawerHostView.js +93 -0
  727. package/dist/package/node/components/Drawer/DrawerLauncher.js +22 -0
  728. package/dist/package/node/components/Drawer/useDrawerStore.js +80 -0
  729. package/dist/package/node/components/ErrorBoundary.js +131 -0
  730. package/dist/package/node/components/ExtensionHost/ExtensionIframeHost.js +179 -0
  731. package/dist/package/node/components/ExtensionHost/NativeExtensionHost.js +152 -0
  732. package/dist/package/node/components/Feedback/FeedbackPanel.js +118 -0
  733. package/dist/package/node/components/Feedback/PassiveFeedback.js +218 -0
  734. package/dist/package/node/components/Feedback/collect.js +80 -0
  735. package/dist/package/node/components/Feedback/store.js +174 -0
  736. package/dist/package/node/components/LangSwitcher/LangSwitcher.js +44 -0
  737. package/dist/package/node/components/MainArea/ConsolePanel.js +16 -0
  738. package/dist/package/node/components/MainArea/MainArea.js +20 -0
  739. package/dist/package/node/components/MainArea/StandaloneExtensionIframe.js +155 -0
  740. package/dist/package/node/components/MainArea/SurfacePanels.js +27 -0
  741. package/dist/package/node/components/MainArea/TelemetryViewer.js +116 -0
  742. package/dist/package/node/components/MenuBar/MenuBar.js +286 -0
  743. package/dist/package/node/components/MenuBar/index.js +1 -0
  744. package/dist/package/node/components/MenuBar/menubar-open-state.js +11 -0
  745. package/dist/package/node/components/MenuBar/menubar-surface.js +201 -0
  746. package/dist/package/node/components/ModelPicker/index.js +1 -0
  747. package/dist/package/node/components/ModelPicker/useModelCatalog.js +100 -0
  748. package/dist/package/node/components/Onboarding/ConnectModelPrompt.js +40 -0
  749. package/dist/package/node/components/Onboarding/OnboardingController.js +549 -0
  750. package/dist/package/node/components/Onboarding/connect-selection.js +18 -0
  751. package/dist/package/node/components/Onboarding/home-transition.js +20 -0
  752. package/dist/package/node/components/Onboarding/index.js +3 -0
  753. package/dist/package/node/components/Onboarding/prepareTourShell.js +11 -0
  754. package/dist/package/node/components/Onboarding/project-name.js +29 -0
  755. package/dist/package/node/components/Onboarding/types.js +77 -0
  756. package/dist/package/node/components/PageTabs/PageTabStrip.js +214 -0
  757. package/dist/package/node/components/PageTabs/openablePageTypes.js +13 -0
  758. package/dist/package/node/components/PanelShell/PanelShell.js +459 -0
  759. package/dist/package/node/components/Resize/ResizeHandle.js +1 -0
  760. package/dist/package/node/components/SceneBackground/SceneBackground.js +5 -0
  761. package/dist/package/node/components/SchemaForm/SchemaForm.js +86 -0
  762. package/dist/package/node/components/SchemaForm/schema-form-utils.js +51 -0
  763. package/dist/package/node/components/SettingsPrimitives.js +145 -0
  764. package/dist/package/node/components/Sidebar/BusHealthLamp.js +72 -0
  765. package/dist/package/node/components/Sidebar/FilesPanel.js +234 -0
  766. package/dist/package/node/components/Sidebar/Sidebar.js +8 -0
  767. package/dist/package/node/components/Sidebar/sidebar-types.js +1 -0
  768. package/dist/package/node/components/SlotDebugOverlay/SlotDebugOverlay.js +1 -0
  769. package/dist/package/node/components/SlotDebugOverlay/hashHue.js +1 -0
  770. package/dist/package/node/components/SlotDebugOverlay/index.js +1 -0
  771. package/dist/package/node/components/SlotDebugOverlay/isSlotDebugEnabled.js +1 -0
  772. package/dist/package/node/components/StatusBar/FatalBanner.js +52 -0
  773. package/dist/package/node/components/StatusBar/InfoPanel.js +128 -0
  774. package/dist/package/node/components/StatusBar/StatusChip.js +13 -0
  775. package/dist/package/node/components/StatusBar/StripHostView.js +91 -0
  776. package/dist/package/node/components/StatusBar/StripPopover.js +15 -0
  777. package/dist/package/node/components/StatusBar/feeds/PulseFeeds.js +88 -0
  778. package/dist/package/node/components/StatusBar/footer/CheckpointsDrawer.js +77 -0
  779. package/dist/package/node/components/StatusBar/footer/DiagnosticsPopover.js +108 -0
  780. package/dist/package/node/components/StatusBar/footer/EventsDrawer.js +25 -0
  781. package/dist/package/node/components/StatusBar/footer/ForgeaxBuildPopover.js +62 -0
  782. package/dist/package/node/components/StatusBar/healthBridge.js +245 -0
  783. package/dist/package/node/components/StatusBar/healthStore.js +129 -0
  784. package/dist/package/node/components/StatusBar/useStatusItem.js +35 -0
  785. package/dist/package/node/components/Surfaces/SurfaceKeepAliveLayer.js +218 -0
  786. package/dist/package/node/components/Surfaces/SurfaceOverlay.js +144 -0
  787. package/dist/package/node/components/TopBar/AndroidPackageDialog.js +115 -0
  788. package/dist/package/node/components/TopBar/FsBrowser.js +93 -0
  789. package/dist/package/node/components/TopBar/GameSwitcher.js +157 -0
  790. package/dist/package/node/components/TopBar/IosPackageDialog.js +115 -0
  791. package/dist/package/node/components/TopBar/ProjectSwitcher.js +41 -0
  792. package/dist/package/node/components/TopBar/PublishOnboarding.js +144 -0
  793. package/dist/package/node/components/TopBar/SessionSwitcher.js +124 -0
  794. package/dist/package/node/components/TopBar/TopBar.js +606 -0
  795. package/dist/package/node/components/TopBar/publish-options.js +28 -0
  796. package/dist/package/node/components/TourOverlay/TourOverlay.js +233 -0
  797. package/dist/package/node/components/TourOverlay/index.js +1 -0
  798. package/dist/package/node/components/ownership.js +7 -0
  799. package/dist/package/node/components/ui/SearchableMenu.js +40 -0
  800. package/dist/package/node/components/ui/alert-dialog.js +38 -0
  801. package/dist/package/node/components/ui/button.js +33 -0
  802. package/dist/package/node/components/ui/checkbox.js +8 -0
  803. package/dist/package/node/components/ui/command.js +20 -0
  804. package/dist/package/node/components/ui/dialog.js +34 -0
  805. package/dist/package/node/components/ui/dropdown-menu.js +30 -0
  806. package/dist/package/node/components/ui/input.js +8 -0
  807. package/dist/package/node/components/ui/label.js +7 -0
  808. package/dist/package/node/components/ui/popover.js +10 -0
  809. package/dist/package/node/components/ui/select.js +31 -0
  810. package/dist/package/node/components/ui/tabs.js +12 -0
  811. package/dist/package/node/components/ui/textarea.js +8 -0
  812. package/dist/package/node/components/ui/tooltip.js +10 -0
  813. package/dist/package/node/core/app-shell/catalog-page-extensions.js +234 -0
  814. package/dist/package/node/core/app-shell/derive-panel-renderers.js +17 -0
  815. package/dist/package/node/core/app-shell/host.js +188 -0
  816. package/dist/package/node/core/app-shell/index.js +8 -0
  817. package/dist/package/node/core/app-shell/logger.js +6 -0
  818. package/dist/package/node/core/app-shell/ownership.js +7 -0
  819. package/dist/package/node/core/app-shell/react/HostProvider.js +35 -0
  820. package/dist/package/node/core/app-shell/surface-extension.js +33 -0
  821. package/dist/package/node/core/app-shell/types.js +1 -0
  822. package/dist/package/node/core/contextual-keybindings.js +198 -0
  823. package/dist/package/node/core/extension-foundation/bus.js +3 -0
  824. package/dist/package/node/core/extension-foundation/capabilities.js +3 -0
  825. package/dist/package/node/core/extension-foundation/commands.js +3 -0
  826. package/dist/package/node/core/extension-foundation/context-keys.js +3 -0
  827. package/dist/package/node/core/extension-foundation/contribution-registry.js +3 -0
  828. package/dist/package/node/core/extension-foundation/errors.js +3 -0
  829. package/dist/package/node/core/extension-foundation/index.js +9 -0
  830. package/dist/package/node/core/extension-foundation/loader.js +3 -0
  831. package/dist/package/node/core/extension-foundation/storage.js +3 -0
  832. package/dist/package/node/core/extension-foundation/types.js +1 -0
  833. package/dist/package/node/core/extensions/builtin-commands.js +256 -0
  834. package/dist/package/node/core/extensions/builtin-menus.js +252 -0
  835. package/dist/package/node/core/extensions/chrome-drawer.js +45 -0
  836. package/dist/package/node/core/extensions/chrome-statusbar.js +26 -0
  837. package/dist/package/node/core/extensions/detached-agents-browser.js +9 -0
  838. package/dist/package/node/core/extensions/detached-files-browser.js +6 -0
  839. package/dist/package/node/core/extensions/editor-commands.js +182 -0
  840. package/dist/package/node/core/extensions/foundation-bus.js +3 -0
  841. package/dist/package/node/core/extensions/foundation-commands.js +6 -0
  842. package/dist/package/node/core/extensions/foundation-storage.js +3 -0
  843. package/dist/package/node/core/extensions/host-commands.js +52 -0
  844. package/dist/package/node/core/extensions/observability.js +18 -0
  845. package/dist/package/node/core/extensions/panels-chat.js +41 -0
  846. package/dist/package/node/core/extensions/panels-editor.js +26 -0
  847. package/dist/package/node/core/extensions/panels-viewport.js +20 -0
  848. package/dist/package/node/core/extensions/session-client.js +42 -0
  849. package/dist/package/node/core/extensions/slots-corner-agent-picker.js +6 -0
  850. package/dist/package/node/core/extensions/slots-main-area-body.js +6 -0
  851. package/dist/package/node/core/extensions/slots-sidebar-agents.js +6 -0
  852. package/dist/package/node/core/extensions/studio-domain-clients.js +15 -0
  853. package/dist/package/node/core/extensions/surfaces-scene-editor.js +6 -0
  854. package/dist/package/node/core/extensions/trajectory.js +50 -0
  855. package/dist/package/node/core/page-navigation.js +1 -0
  856. package/dist/package/node/core/page-platform/activity.js +46 -0
  857. package/dist/package/node/core/page-platform/dockview-layout.js +63 -0
  858. package/dist/package/node/core/page-platform/index.js +8 -0
  859. package/dist/package/node/core/page-platform/layout-store.js +54 -0
  860. package/dist/package/node/core/page-platform/page-dirty-probe.js +4 -0
  861. package/dist/package/node/core/page-platform/registry.js +194 -0
  862. package/dist/package/node/core/page-platform/resource-editor.js +74 -0
  863. package/dist/package/node/core/page-platform/session.js +327 -0
  864. package/dist/package/node/core/page-platform/types.js +10 -0
  865. package/dist/package/node/core/panels/context-expression.js +1 -0
  866. package/dist/package/node/core/panels/drawer.js +1 -0
  867. package/dist/package/node/core/panels/index.js +7 -0
  868. package/dist/package/node/core/panels/panel-action-registry.js +62 -0
  869. package/dist/package/node/core/panels/panel-control-registry.js +54 -0
  870. package/dist/package/node/core/panels/resolve-panel-action-state.js +9 -0
  871. package/dist/package/node/core/panels/strip.js +1 -0
  872. package/dist/package/node/core/panels/types.js +1 -0
  873. package/dist/package/node/i18n/index.js +207 -0
  874. package/dist/package/node/i18n/locales/en.json +1959 -0
  875. package/dist/package/node/i18n/locales/zh.json +1959 -0
  876. package/dist/package/node/index.js +2 -0
  877. package/dist/package/node/lib/a11y-summary.js +66 -0
  878. package/dist/package/node/lib/action-dom-discovery.js +84 -0
  879. package/dist/package/node/lib/action-registry.js +210 -0
  880. package/dist/package/node/lib/aegis.js +230 -0
  881. package/dist/package/node/lib/agent-catalog-url.js +24 -0
  882. package/dist/package/node/lib/agent-cli-provider.js +81 -0
  883. package/dist/package/node/lib/ai-intents.js +52 -0
  884. package/dist/package/node/lib/broadcast-stream.js +163 -0
  885. package/dist/package/node/lib/browser-prefs-sync.js +151 -0
  886. package/dist/package/node/lib/builtin-actions.js +558 -0
  887. package/dist/package/node/lib/bus.js +71 -0
  888. package/dist/package/node/lib/checkpoint-api.js +41 -0
  889. package/dist/package/node/lib/cli-providers.js +61 -0
  890. package/dist/package/node/lib/command-palette-store.js +22 -0
  891. package/dist/package/node/lib/composer-bridge.js +448 -0
  892. package/dist/package/node/lib/dashboard-api.js +125 -0
  893. package/dist/package/node/lib/deep-link-bus.js +35 -0
  894. package/dist/package/node/lib/dialog.js +103 -0
  895. package/dist/package/node/lib/editor-facts-bus.js +25 -0
  896. package/dist/package/node/lib/extension-api.js +90 -0
  897. package/dist/package/node/lib/file-activity-stream.js +123 -0
  898. package/dist/package/node/lib/file-family.js +25 -0
  899. package/dist/package/node/lib/game-templates.js +15 -0
  900. package/dist/package/node/lib/global-shortcuts.js +551 -0
  901. package/dist/package/node/lib/logSink.js +128 -0
  902. package/dist/package/node/lib/lucide-icon.js +20 -0
  903. package/dist/package/node/lib/menu-registry.js +197 -0
  904. package/dist/package/node/lib/model-config.js +72 -0
  905. package/dist/package/node/lib/model-prefs.js +53 -0
  906. package/dist/package/node/lib/model-route/index.js +175 -0
  907. package/dist/package/node/lib/narrative-copilot.js +105 -0
  908. package/dist/package/node/lib/native-menu-bridge.js +151 -0
  909. package/dist/package/node/lib/page-tab-icons.js +64 -0
  910. package/dist/package/node/lib/panel-tab-icons.js +49 -0
  911. package/dist/package/node/lib/passive-feedback.js +171 -0
  912. package/dist/package/node/lib/perception-stream.js +42 -0
  913. package/dist/package/node/lib/platform/index.js +13 -0
  914. package/dist/package/node/lib/platform/runtime.js +42 -0
  915. package/dist/package/node/lib/platform/shell-adapter.js +74 -0
  916. package/dist/package/node/lib/platform/surface-windowing.js +16 -0
  917. package/dist/package/node/lib/platform/surface.js +27 -0
  918. package/dist/package/node/lib/platform/use-surface-windowing.js +6 -0
  919. package/dist/package/node/lib/platform/window-manager.js +82 -0
  920. package/dist/package/node/lib/project-context.js +42 -0
  921. package/dist/package/node/lib/project.js +8 -0
  922. package/dist/package/node/lib/recent-games.js +50 -0
  923. package/dist/package/node/lib/repair-builtin-menus.js +18 -0
  924. package/dist/package/node/lib/reply-language.js +11 -0
  925. package/dist/package/node/lib/resilient-polling.js +16 -0
  926. package/dist/package/node/lib/session-time.js +40 -0
  927. package/dist/package/node/lib/shell-live-data.js +66 -0
  928. package/dist/package/node/lib/sse.js +42 -0
  929. package/dist/package/node/lib/storageKeys.js +89 -0
  930. package/dist/package/node/lib/surface-store.js +62 -0
  931. package/dist/package/node/lib/surface.js +225 -0
  932. package/dist/package/node/lib/surfaceAnchors.js +76 -0
  933. package/dist/package/node/lib/surfaceKeepAliveLayout.js +12 -0
  934. package/dist/package/node/lib/telemetry-test-prelude.js +14 -0
  935. package/dist/package/node/lib/text-edit-actions.js +184 -0
  936. package/dist/package/node/lib/trace.js +273 -0
  937. package/dist/package/node/lib/trustedOrigins.js +36 -0
  938. package/dist/package/node/lib/ui-action-highlight.js +93 -0
  939. package/dist/package/node/lib/ui-bridge.js +224 -0
  940. package/dist/package/node/lib/ui-screenshot.js +155 -0
  941. package/dist/package/node/lib/ui-trajectory.js +99 -0
  942. package/dist/package/node/lib/use-bus-snapshot.js +13 -0
  943. package/dist/package/node/lib/use-extension-manifest.js +67 -0
  944. package/dist/package/node/lib/useConfirmToast.js +120 -0
  945. package/dist/package/node/lib/utils.js +5 -0
  946. package/dist/package/node/lib/vag-action-bridge.js +130 -0
  947. package/dist/package/node/main.js +157 -0
  948. package/dist/package/node/store-parts/domain-clients.js +17 -0
  949. package/dist/package/node/store-parts/observability.js +35 -0
  950. package/dist/package/node/store-parts/persistence.js +245 -0
  951. package/dist/package/node/store-parts/session-client.js +17 -0
  952. package/dist/package/node/store-parts/session-pick.js +21 -0
  953. package/dist/package/node/store-parts/shell.js +37 -0
  954. package/dist/package/node/store.js +890 -0
  955. package/dist/package/node/styles/foundation.tokens.json +2755 -0
  956. package/dist/package/node/styles/semantic.tokens.json +1524 -0
  957. package/dist/package/packages/design/styles/fx-bridge.css +25 -0
  958. package/dist/package/packages/design/styles/primitive.css +199 -0
  959. package/dist/package/packages/design/styles/semantic.css +262 -0
  960. package/dist/package/packages/design/theme.d.ts +15 -0
  961. package/dist/package/packages/design/theme.js +31 -0
  962. package/dist/package/packages/design/tokens.css +14 -0
  963. package/package.json +145 -0
@@ -0,0 +1,128 @@
1
+ /**
2
+ * logSink — best-effort persistence of the in-memory observe/debug streams
3
+ * (Console / Network / Info) to disk via `POST /api/logs`.
4
+ *
5
+ * Why: those three streams live only in the browser store (cap 500, in-memory),
6
+ * so a refresh / crash / closed tab loses them — useless for after-the-fact
7
+ * debugging. This sink mirrors every entry to `.forgeax/logs/<stream>.jsonl`
8
+ * on the server (size-rotated there).
9
+ *
10
+ * Contract: `recordLog(stream, entry)` is fire-and-forget and NEVER throws into
11
+ * its caller (the store mutators) — logging must not break the UI. Entries are
12
+ * batched and flushed on a short debounce, when a queue gets large, or when the
13
+ * tab is hidden / unloaded (sendBeacon) so the last buffer survives a close.
14
+ */
15
+ // Per-page-load correlation id, stamped onto every POST so the three client
16
+ // streams (console/network/info) of ONE browser session can be joined on disk
17
+ // (and matched against a session's window in the server log). Minted once.
18
+ const SESSION_ID = (() => {
19
+ try {
20
+ const c = globalThis.crypto;
21
+ if (c?.randomUUID)
22
+ return c.randomUUID();
23
+ }
24
+ catch { /* no crypto */ }
25
+ return `sid-${Date.now().toString(36)}-${Math.floor(Math.random() * 1e9).toString(36)}`;
26
+ })();
27
+ const QUEUES = { console: [], network: [], info: [] };
28
+ const FLUSH_MS = 2000;
29
+ const MAX_QUEUE = 100; // flush immediately past this to bound memory + payload size
30
+ let timer = null;
31
+ // Disk-write dedup: a per-frame error flood (e.g. a RAF-loop console.error at
32
+ // 60Hz) would otherwise write 60 identical lines/sec. Collapse consecutive
33
+ // identical entries within a window onto a single queued record + `repeat` count.
34
+ // (The in-memory store's collapseEntries only folds the UI view, not disk.)
35
+ const DEDUP_WINDOW_MS = 1000;
36
+ const lastSig = {
37
+ console: null, network: null, info: null,
38
+ };
39
+ function sigOf(entry) {
40
+ if (!entry || typeof entry !== 'object')
41
+ return String(entry);
42
+ const { ts: _ts, id: _id, repeat: _r, ...rest } = entry;
43
+ void _ts;
44
+ void _id;
45
+ void _r;
46
+ try {
47
+ return JSON.stringify(rest);
48
+ }
49
+ catch {
50
+ return '';
51
+ }
52
+ }
53
+ function schedule() {
54
+ if (timer)
55
+ return;
56
+ timer = setTimeout(() => { timer = null; void flushAll(); }, FLUSH_MS);
57
+ }
58
+ async function flushStream(stream) {
59
+ const entries = QUEUES[stream];
60
+ if (entries.length === 0)
61
+ return;
62
+ // Detach the current batch up front so concurrent recordLog calls queue into
63
+ // a fresh array (and we don't double-send on failure).
64
+ QUEUES[stream] = [];
65
+ lastSig[stream] = null; // post-flush dups start a fresh record (don't bump a sent one)
66
+ try {
67
+ await fetch('/api/logs', {
68
+ method: 'POST',
69
+ headers: { 'content-type': 'application/json' },
70
+ body: JSON.stringify({ stream, entries, sessionId: SESSION_ID }),
71
+ keepalive: true,
72
+ });
73
+ }
74
+ catch {
75
+ // Drop on failure rather than retry — an unreachable server shouldn't grow
76
+ // an unbounded in-memory backlog. The store still has the live entries.
77
+ }
78
+ }
79
+ async function flushAll() {
80
+ await Promise.all(Object.keys(QUEUES).map(flushStream));
81
+ }
82
+ export function recordLog(stream, entry) {
83
+ try {
84
+ const now = Date.now();
85
+ const sig = sigOf(entry);
86
+ const last = lastSig[stream];
87
+ if (last && last.sig === sig && now - last.ts < DEDUP_WINDOW_MS) {
88
+ // Identical flood within the window → bump `repeat` on the queued record
89
+ // instead of pushing a duplicate line.
90
+ last.entry.repeat = (typeof last.entry.repeat === 'number' ? last.entry.repeat : 1) + 1;
91
+ last.ts = now;
92
+ return;
93
+ }
94
+ const rec = (entry && typeof entry === 'object')
95
+ ? entry
96
+ : { value: entry };
97
+ const q = QUEUES[stream];
98
+ q.push(rec);
99
+ lastSig[stream] = { sig, ts: now, entry: rec };
100
+ if (q.length >= MAX_QUEUE)
101
+ void flushStream(stream);
102
+ else
103
+ schedule();
104
+ }
105
+ catch { /* never throw into the UI */ }
106
+ }
107
+ // Flush via sendBeacon on tab hide / unload — fetch() may be cancelled mid-flight
108
+ // when the document is tearing down, but a beacon is guaranteed-delivered.
109
+ if (typeof window !== 'undefined') {
110
+ const beaconFlush = () => {
111
+ for (const stream of Object.keys(QUEUES)) {
112
+ const entries = QUEUES[stream];
113
+ if (entries.length === 0)
114
+ continue;
115
+ QUEUES[stream] = [];
116
+ try {
117
+ const blob = new Blob([JSON.stringify({ stream, entries, sessionId: SESSION_ID })], { type: 'application/json' });
118
+ navigator.sendBeacon('/api/logs', blob);
119
+ }
120
+ catch { /* ignore */ }
121
+ }
122
+ };
123
+ window.addEventListener('visibilitychange', () => {
124
+ if (document.visibilityState === 'hidden')
125
+ beaconFlush();
126
+ });
127
+ window.addEventListener('pagehide', beaconFlush);
128
+ }
@@ -0,0 +1,5 @@
1
+ import { type LucideIcon } from 'lucide-react';
2
+ /** Resolve only explicit Lucide declarations; emoji and arbitrary text are invalid. */
3
+ export declare function declaredLucideIcon(name?: string): LucideIcon | undefined;
4
+ /** Missing or invalid declarations receive the neutral product fallback. */
5
+ export declare function lucideIconOrBox(name?: string): LucideIcon;
@@ -0,0 +1,20 @@
1
+ import { Box, icons as LucideIcons, } from 'lucide-react';
2
+ /** kebab / snake / spaced → Lucide registry PascalCase key. */
3
+ function toPascalCase(name) {
4
+ return name
5
+ .trim()
6
+ .split(/[-_\s]+/)
7
+ .filter(Boolean)
8
+ .map((part) => `${part.charAt(0).toUpperCase()}${part.slice(1)}`)
9
+ .join('');
10
+ }
11
+ /** Resolve only explicit Lucide declarations; emoji and arbitrary text are invalid. */
12
+ export function declaredLucideIcon(name) {
13
+ if (!name || !/^[A-Za-z][A-Za-z0-9_\-\s]*$/.test(name.trim()))
14
+ return undefined;
15
+ return LucideIcons[toPascalCase(name)];
16
+ }
17
+ /** Missing or invalid declarations receive the neutral product fallback. */
18
+ export function lucideIconOrBox(name) {
19
+ return declaredLucideIcon(name) ?? Box;
20
+ }
@@ -0,0 +1,113 @@
1
+ /** menu-registry —— 顶部菜单栏的单一真值源 (SSOT for the menu bar).
2
+ *
3
+ * 一张注册表服务两个消费者 (压缩公理:消掉「Web 菜单和原生菜单是不是同一套?」):
4
+ * 1. Web 端渲染器 (React) —— 通过 `snapshotMenu(...)` / `snapshotAllMenus()` + `onMenuChange`
5
+ * 走 useSyncExternalStore 拿到当前菜单结构;
6
+ * 2. Tauri 原生菜单桥接 —— 通过 `serializeMenusForNative(t)` 拿到已翻译、去函数、
7
+ * JSON 可序列化的原生菜单契约,一次性 build native menu / 每次注册表变化时 rebuild.
8
+ *
9
+ * 设计与 action-registry.ts 对齐 (模块级 Map 页级单例 + change listener):
10
+ * - 菜单项按 `menu`(顶层大类) + `group`(段落分组) + `order`(段内序) 三级组织;
11
+ * - 同 id 重复注册 = **替换** (幂等,HMR / StrictMode 双挂载安全,cleanup
12
+ * 走身份检查避免误删);
13
+ * - 键位串遵循全仓 canonical combo 格式 (见 lib/global-shortcuts.ts `prettyCombo`),
14
+ * 例:'Ctrl+S' / 'Ctrl+Shift+Z' / 'Ctrl+,'。Web 显示走 prettyCombo,原生菜单走
15
+ * `serializeMenusForNative` 内部的 accelerator 转换 (Ctrl→CmdOrCtrl,保留 Shift/Alt)。
16
+ *
17
+ * 分隔符策略 (评审):**注册者不显式发 separator sentinel** —— 只填 `group`,
18
+ * 渲染器按 `snapshotMenu` 返回结果中相邻两项的 `group` 差异自行绘制分隔线;
19
+ * 原生序列化则在 `serializeMenusForNative` 中把段边界翻成 `separatorBefore=true`。
20
+ * 这样避免维护「三种分隔来源」(注册者手插 + 渲染器 + 原生桥)—— 一处派生 (§2 Derive)。
21
+ */
22
+ /** 菜单顶层大类。品牌菜单 (brand) 在 macOS 原生菜单里通常对应 app 菜单,由 T5 决定放置策略。 */
23
+ export type MenuId = 'brand' | 'file' | 'edit' | 'window' | 'build' | 'select' | 'help' | 'publish';
24
+ export interface MenuItemDef {
25
+ /** 稳定唯一 id,例:'file.save' / 'window.toggle_chat'。重复注册会抛错。 */
26
+ id: string;
27
+ /** 归属菜单顶层大类。 */
28
+ menu: MenuId;
29
+ /** 分组键 —— 菜单内的段落分组;渲染器/原生桥根据相邻项的 group 差异插入分隔符。 */
30
+ group: string;
31
+ /** 段内排序 (升序)。同 order 用插入顺序破平局 (稳定排序)。 */
32
+ order: number;
33
+ /** i18n key —— 渲染时经 `t(labelKey)` 翻译;`serializeMenusForNative` 由调用方
34
+ * 传入的 `translate` fn 完成翻译,进而不把函数塞进原生契约。 */
35
+ labelKey: string;
36
+ /** lucide 图标名 (仅 Web 端渲染;原生菜单不带 icon)。 */
37
+ icon?: string;
38
+ /** 要执行的 command bus id;省略 = 该项为**纯文本禁用项** (占位/说明/未来功能)。 */
39
+ commandId?: string;
40
+ /** 派发命令时透传给 `commands.execute(commandId, args)` 的参数。 */
41
+ args?: unknown;
42
+ /** 键位组合 (canonical),例:'Ctrl+S'。Web 用 prettyCombo 显示,原生转为 accelerator。 */
43
+ keybinding?: string;
44
+ /** 动态子菜单的**事实**(供投影/门对账消费,不是行为指南):
45
+ * 所有动态子项共用的 commandId(如「打开最近」的每一行都是 game.pick)。 */
46
+ dynamicChildCommandId?: string;
47
+ /** 动态子项 id 的构成事实:`\${本项id}.\${args[该键]}`(如 file.openRecent.<slug>)。
48
+ * 有了它,外部调用方无需展开动态列表就能按参数定位到具体子项。 */
49
+ dynamicChildIdFromArg?: string;
50
+ /** 可见性谓词 —— 返回 false 时该项从菜单中**隐藏** (原生序列化时直接 drop)。 */
51
+ when?: () => boolean;
52
+ /** 显式启用谓词 —— 缺省时默认为 `!!commandId` (无命令则不可点)。 */
53
+ enabled?: () => boolean;
54
+ /** 复选态谓词 (Window 面板 toggle 类)。 */
55
+ checked?: () => boolean;
56
+ /** 危险/破坏性样式标记 (仅 Web 视觉;原生透传但由平台决定是否使用)。 */
57
+ danger?: boolean;
58
+ /** 子菜单 (例:File → Open Recent → ...;Select → By Type → ...)。 */
59
+ children?: MenuItemDef[];
60
+ /** 动态子菜单派生器 —— 渲染器在 submenu 展开时同步求值,返回运行时派生的子项
61
+ * (例:File → 打开最近 → 按 mtime 排序的最近游戏列表)。与静态 `children`
62
+ * 互斥优先:声明了本项即视为可展开的 submenu,展开时才求值 (SSOT 仍是注册表,
63
+ * 子项是纯 derive)。求值必须同步 (数据源需在展开前预取/缓存);仅 Web 端消费,
64
+ * 原生序列化不含动态子项 (native 菜单结构在 build 时固化)。 */
65
+ dynamicChildren?: () => MenuItemDef[];
66
+ }
67
+ /** 注册一项菜单 —— 同 id 重复注册 = 替换 (幂等,HMR / StrictMode 双挂载安全)。
68
+ * 返回 cleanup 函数;cleanup 幂等 (身份检查:仅当当前项仍是本次注册的 def
69
+ * 才 delete,避免 A 注册→A 注销 后误删掉 B 的 same-id 覆盖)。
70
+ *
71
+ * 设计变更 (T7 集成):初版为 throw-on-duplicate,与 action-registry 的
72
+ * 「替换即幂等」策略不一致 —— React StrictMode 会双执行 App.tsx 的
73
+ * bootstrapAppHost useEffect,两次 setup 并发跑到同一个模块级 Map 时必抛
74
+ * 「duplicate menu item id」把整个菜单栏打空。改为 last-writer-wins 后
75
+ * 两次 setup 都能顺利完成,先释放的 cleanup 通过身份检查不会误删,
76
+ * 与 action-registry 的语义对齐 (§SSOT / 兄弟注册表一致性)。 */
77
+ export declare function registerMenuItem(def: MenuItemDef): () => void;
78
+ /** 注册表变更订阅 —— 供 useSyncExternalStore / native bridge rebuild 消费。 */
79
+ export declare function onMenuChange(listener: () => void): () => void;
80
+ /** 取单个菜单的排序后条目 —— 渲染器直接消费。 */
81
+ export declare function snapshotMenu(menu: MenuId): MenuItemDef[];
82
+ /** 取所有菜单的排序后条目,按 MenuId 组织。 */
83
+ export declare function snapshotAllMenus(): Record<MenuId, MenuItemDef[]>;
84
+ export interface NativeMenuItem {
85
+ /** 对应 MenuItemDef.id。 */
86
+ id: string;
87
+ /** **已翻译**的显示文本 (调用方传入的 `translate` fn 完成)。 */
88
+ label: string;
89
+ /** 原生 accelerator 字符串,例:'CmdOrCtrl+S' / 'CmdOrCtrl+Shift+Z'。无键位则省略。 */
90
+ accelerator?: string;
91
+ /** 已解析的启用态 (when 已 drop 掉隐藏项;enabled 默认 = !!commandId)。 */
92
+ enabled: boolean;
93
+ /** 破坏性样式提示 (原样透传,由平台决定是否使用)。 */
94
+ danger?: boolean;
95
+ /** 当前项是**新段的第一项**时为 true (菜单内首项除外),原生桥据此插分隔符。 */
96
+ separatorBefore?: boolean;
97
+ /** 子菜单 (递归应用同样的翻译/序列化规则)。 */
98
+ children?: NativeMenuItem[];
99
+ }
100
+ export interface NativeMenu {
101
+ menu: MenuId;
102
+ items: NativeMenuItem[];
103
+ }
104
+ /** 序列化全部菜单为原生契约 —— T5 (Tauri 桥) 的唯一入口。契约要点:
105
+ * - `when === false` 的项被 drop;
106
+ * - `enabled` 缺省时默认 = `!!commandId` (无命令 = 禁用);
107
+ * - `labelKey` 走 `translate` 翻译,函数不出墙;
108
+ * - `keybinding` 转 native accelerator (Ctrl→CmdOrCtrl,Shift/Alt 保留);
109
+ * - 段边界翻成 `separatorBefore=true` (每个菜单首项除外);
110
+ * - 输出**完全 JSON 可序列化** (JSON.stringify 无损 roundtrip,无函数残留)。 */
111
+ export declare function serializeMenusForNative(translate: (key: string) => string): NativeMenu[];
112
+ /** 清空注册表 —— 仅供单测 beforeEach 使用。 */
113
+ export declare function __resetMenuRegistryForTest(): void;
@@ -0,0 +1,197 @@
1
+ /** menu-registry —— 顶部菜单栏的单一真值源 (SSOT for the menu bar).
2
+ *
3
+ * 一张注册表服务两个消费者 (压缩公理:消掉「Web 菜单和原生菜单是不是同一套?」):
4
+ * 1. Web 端渲染器 (React) —— 通过 `snapshotMenu(...)` / `snapshotAllMenus()` + `onMenuChange`
5
+ * 走 useSyncExternalStore 拿到当前菜单结构;
6
+ * 2. Tauri 原生菜单桥接 —— 通过 `serializeMenusForNative(t)` 拿到已翻译、去函数、
7
+ * JSON 可序列化的原生菜单契约,一次性 build native menu / 每次注册表变化时 rebuild.
8
+ *
9
+ * 设计与 action-registry.ts 对齐 (模块级 Map 页级单例 + change listener):
10
+ * - 菜单项按 `menu`(顶层大类) + `group`(段落分组) + `order`(段内序) 三级组织;
11
+ * - 同 id 重复注册 = **替换** (幂等,HMR / StrictMode 双挂载安全,cleanup
12
+ * 走身份检查避免误删);
13
+ * - 键位串遵循全仓 canonical combo 格式 (见 lib/global-shortcuts.ts `prettyCombo`),
14
+ * 例:'Ctrl+S' / 'Ctrl+Shift+Z' / 'Ctrl+,'。Web 显示走 prettyCombo,原生菜单走
15
+ * `serializeMenusForNative` 内部的 accelerator 转换 (Ctrl→CmdOrCtrl,保留 Shift/Alt)。
16
+ *
17
+ * 分隔符策略 (评审):**注册者不显式发 separator sentinel** —— 只填 `group`,
18
+ * 渲染器按 `snapshotMenu` 返回结果中相邻两项的 `group` 差异自行绘制分隔线;
19
+ * 原生序列化则在 `serializeMenusForNative` 中把段边界翻成 `separatorBefore=true`。
20
+ * 这样避免维护「三种分隔来源」(注册者手插 + 渲染器 + 原生桥)—— 一处派生 (§2 Derive)。
21
+ */
22
+ // ─── 注册表本体 (模块级 Map,页级单例) ────────────────────────────────────────
23
+ const items = new Map();
24
+ const changeListeners = new Set();
25
+ function notifyChange() {
26
+ for (const cb of changeListeners) {
27
+ try {
28
+ cb();
29
+ }
30
+ catch {
31
+ /* listener 异常不传染 */
32
+ }
33
+ }
34
+ }
35
+ /** 注册一项菜单 —— 同 id 重复注册 = 替换 (幂等,HMR / StrictMode 双挂载安全)。
36
+ * 返回 cleanup 函数;cleanup 幂等 (身份检查:仅当当前项仍是本次注册的 def
37
+ * 才 delete,避免 A 注册→A 注销 后误删掉 B 的 same-id 覆盖)。
38
+ *
39
+ * 设计变更 (T7 集成):初版为 throw-on-duplicate,与 action-registry 的
40
+ * 「替换即幂等」策略不一致 —— React StrictMode 会双执行 App.tsx 的
41
+ * bootstrapAppHost useEffect,两次 setup 并发跑到同一个模块级 Map 时必抛
42
+ * 「duplicate menu item id」把整个菜单栏打空。改为 last-writer-wins 后
43
+ * 两次 setup 都能顺利完成,先释放的 cleanup 通过身份检查不会误删,
44
+ * 与 action-registry 的语义对齐 (§SSOT / 兄弟注册表一致性)。 */
45
+ export function registerMenuItem(def) {
46
+ items.set(def.id, def);
47
+ notifyChange();
48
+ return () => {
49
+ if (items.get(def.id) === def) {
50
+ items.delete(def.id);
51
+ notifyChange();
52
+ }
53
+ };
54
+ }
55
+ /** 注册表变更订阅 —— 供 useSyncExternalStore / native bridge rebuild 消费。 */
56
+ export function onMenuChange(listener) {
57
+ changeListeners.add(listener);
58
+ return () => {
59
+ changeListeners.delete(listener);
60
+ };
61
+ }
62
+ // ─── 派生视图:排序与快照 (SSOT 是 items Map;所有视图都是纯 derive) ─────────
63
+ /** 排序规则:先按 group 的**首次出现顺序**分段,段内按 order 升序 (相同 order 用
64
+ * 插入顺序破平局,稳定排序)。JS `Array.prototype.sort` 从 ES2019 起要求稳定,
65
+ * Bun/V8/JSC 均已合规,直接用即可。 */
66
+ function sortMenuItems(list) {
67
+ const groupFirstIndex = new Map();
68
+ list.forEach((item, idx) => {
69
+ if (!groupFirstIndex.has(item.group))
70
+ groupFirstIndex.set(item.group, idx);
71
+ });
72
+ const decorated = list.map((item, idx) => ({ item, idx }));
73
+ decorated.sort((a, b) => {
74
+ const ga = groupFirstIndex.get(a.item.group);
75
+ const gb = groupFirstIndex.get(b.item.group);
76
+ if (ga !== gb)
77
+ return ga - gb;
78
+ if (a.item.order !== b.item.order)
79
+ return a.item.order - b.item.order;
80
+ return a.idx - b.idx; // 稳定破平局:插入顺序
81
+ });
82
+ return decorated.map((d) => d.item);
83
+ }
84
+ /** 取单个菜单的排序后条目 —— 渲染器直接消费。 */
85
+ export function snapshotMenu(menu) {
86
+ const list = [];
87
+ for (const def of items.values()) {
88
+ if (def.menu === menu)
89
+ list.push(def);
90
+ }
91
+ return sortMenuItems(list);
92
+ }
93
+ const ALL_MENUS = ['brand', 'file', 'edit', 'window', 'build', 'select', 'help', 'publish'];
94
+ /** 取所有菜单的排序后条目,按 MenuId 组织。 */
95
+ export function snapshotAllMenus() {
96
+ const out = {};
97
+ for (const m of ALL_MENUS)
98
+ out[m] = snapshotMenu(m);
99
+ return out;
100
+ }
101
+ /** 键位串 → 原生 accelerator 转换。canonical 形如 'Ctrl+Shift+S';原生形 'CmdOrCtrl+Shift+S'
102
+ * (Tauri/Electron 通用惯例:Ctrl 走 CmdOrCtrl,让 macOS 走 ⌘、其它平台走 Ctrl)。 */
103
+ function toNativeAccelerator(combo) {
104
+ return combo
105
+ .split('+')
106
+ .map((seg) => (seg === 'Ctrl' ? 'CmdOrCtrl' : seg))
107
+ .join('+');
108
+ }
109
+ /** 递归序列化一项 (含 children) —— 返回值必须完全无函数,可直接 JSON.stringify。 */
110
+ function serializeItem(def, translate) {
111
+ if (def.when && !def.when())
112
+ return null; // 隐藏项直接 drop
113
+ // Static `children` OR a `dynamicChildren` derivation — both serialize the
114
+ // same way. dynamicChildren is evaluated at serialize time (native menu is
115
+ // rebuilt on every registry change, so it re-derives with the cache current
116
+ // at that moment). Web + native thus share one derivation (§Derive / §SSOT).
117
+ const childDefs = def.children && def.children.length > 0
118
+ ? def.children
119
+ : def.dynamicChildren
120
+ ? def.dynamicChildren()
121
+ : null;
122
+ // enabled: explicit predicate wins; a submenu opener (has children) defaults
123
+ // enabled even without a command; else `!!commandId`. Mirrors the web
124
+ // renderer's resolveEnabled so both bars agree on which items are clickable.
125
+ const enabledResolved = def.enabled
126
+ ? def.enabled()
127
+ : (childDefs && childDefs.length > 0)
128
+ ? true
129
+ : !!def.commandId;
130
+ const out = {
131
+ id: def.id,
132
+ label: translate(def.labelKey),
133
+ enabled: enabledResolved,
134
+ };
135
+ if (def.keybinding)
136
+ out.accelerator = toNativeAccelerator(def.keybinding);
137
+ if (def.danger)
138
+ out.danger = true;
139
+ if (childDefs && childDefs.length > 0) {
140
+ const kids = [];
141
+ for (const child of childDefs) {
142
+ const ser = serializeItem(child, translate);
143
+ if (ser)
144
+ kids.push(ser);
145
+ }
146
+ if (kids.length > 0)
147
+ out.children = kids;
148
+ }
149
+ return out;
150
+ }
151
+ /** 序列化全部菜单为原生契约 —— T5 (Tauri 桥) 的唯一入口。契约要点:
152
+ * - `when === false` 的项被 drop;
153
+ * - `enabled` 缺省时默认 = `!!commandId` (无命令 = 禁用);
154
+ * - `labelKey` 走 `translate` 翻译,函数不出墙;
155
+ * - `keybinding` 转 native accelerator (Ctrl→CmdOrCtrl,Shift/Alt 保留);
156
+ * - 段边界翻成 `separatorBefore=true` (每个菜单首项除外);
157
+ * - 输出**完全 JSON 可序列化** (JSON.stringify 无损 roundtrip,无函数残留)。 */
158
+ export function serializeMenusForNative(translate) {
159
+ const out = [];
160
+ for (const menu of ALL_MENUS) {
161
+ const sorted = snapshotMenu(menu);
162
+ const serialized = [];
163
+ let prevGroup = null;
164
+ for (const def of sorted) {
165
+ const ser = serializeItem(def, translate);
166
+ if (!ser) {
167
+ // when=false 的项被 drop;下一项若换 group 依然按已见 group 判段边界。
168
+ prevGroup = def.group;
169
+ continue;
170
+ }
171
+ if (prevGroup !== null && def.group !== prevGroup)
172
+ ser.separatorBefore = true;
173
+ serialized.push(ser);
174
+ prevGroup = def.group;
175
+ }
176
+ out.push({ menu, items: serialized });
177
+ }
178
+ return out;
179
+ }
180
+ // ─── Vite HMR: preserve registrations across hot module swap ───────────────
181
+ if (import.meta.hot) {
182
+ import.meta.hot.dispose((data) => {
183
+ data.menuItems = [...items.entries()];
184
+ });
185
+ const saved = import.meta.hot.data.menuItems;
186
+ if (saved) {
187
+ for (const [id, def] of saved)
188
+ items.set(id, def);
189
+ notifyChange();
190
+ }
191
+ }
192
+ // ─── 测试辅助 (生产代码不要调) ─────────────────────────────────────────────
193
+ /** 清空注册表 —— 仅供单测 beforeEach 使用。 */
194
+ export function __resetMenuRegistryForTest() {
195
+ items.clear();
196
+ changeListeners.clear();
197
+ }
@@ -0,0 +1,89 @@
1
+ export interface ModelCatalogEntry {
2
+ id: string;
3
+ /** ModelSpec 字段透传 —— 调用方按需用 */
4
+ input?: string[];
5
+ reasoning?: boolean;
6
+ contextWindow?: number;
7
+ maxOutput?: number;
8
+ defaultTemperature?: number;
9
+ /** loadModelsCatalog 兜底字段(盘上条目不规整时附原 raw) */
10
+ spec?: unknown;
11
+ /** 元数据来源(与 `live` 正交):'disk' = 命中 ~/.forgeax/key/models.json 的富元
12
+ * 数据;'live' = 只在 /v1/models 上、用默认 spec 兜底;'driver' = rented CLI
13
+ * driver catalog。UI 不再据 disk/live 加徽章。 */
14
+ source?: 'disk' | 'live' | 'driver';
15
+ /** 该 id 当前是否由 live proxy 提供。live 权威时整份列表统一为 true(offline 回退
16
+ * 到盘时统一 false)——UI 的 live 徽章据此「要么全有要么全无」,不再让有本地元数
17
+ * 据的行看起来像非 live。 */
18
+ live?: boolean;
19
+ /** Present when source='driver'. Keeps rented-CLI catalogs separate from gateway models. */
20
+ driverId?: string;
21
+ /** Human-facing label for the driver group. */
22
+ driverLabel?: string;
23
+ /** Rented CLIs report token usage but no local $ cost metering. */
24
+ costMetering?: 'none' | 'gateway';
25
+ /** 用户在 Settings → Models 里隐藏的模型不会出现在 Composer 单选下拉里。
26
+ * inline (Settings) + multi (ModelLab) 仍展示全量,通过眼睛 icon 切换。 */
27
+ hidden?: boolean;
28
+ }
29
+ export interface AgentModelState {
30
+ sid: string;
31
+ agentPath: string;
32
+ /** chain[0] ?? null —— UI 只想拿"当前生效哪个"读它 */
33
+ selected: string | null;
34
+ /** 永远归一成 string[](盘上是 string 也展开成 1 元数组) */
35
+ chain: string[];
36
+ /** 盘上原值(string | string[] | null)—— 想区分"用户写了啥"用它 */
37
+ raw: string | string[] | null;
38
+ }
39
+ /** Catalog 来自 `~/.forgeax/key/models.json`(disk)与 LiteLLM `/v1/models`(live)
40
+ * 的合并:live 权威时展示集合即 live 那份,disk 只静默补元数据。
41
+ * 返回顺序由 server 端按「强度」排好(claude 族最前 → 版本号降序 → tier),
42
+ * 前端不再二次排序,直接平铺渲染。providerId 非空时返回对应内核的
43
+ * driver-scoped catalog。 */
44
+ export declare function listModels(providerId?: string | null): Promise<ModelCatalogEntry[]>;
45
+ /** 内核目录回退链(env → kernel.listModels → last-known → static → none)
46
+ * 的命中层元数据。UI 用它渲染空态("目录不可用",而不是假列表)和
47
+ * 「缓存/预置」徽章。gateway 路径(providerId 为空)没有这段。 */
48
+ export interface CatalogDriverMeta {
49
+ id: string;
50
+ source: 'env' | 'kernel' | 'last-known' | 'static' | 'none' | string;
51
+ error?: string;
52
+ ids: number;
53
+ cached?: boolean;
54
+ }
55
+ export interface ModelCatalogWithMeta {
56
+ models: ModelCatalogEntry[];
57
+ driver?: CatalogDriverMeta;
58
+ }
59
+ /** listModels + driver 元数据透传(内核目录路径需要;见 CatalogDriverMeta)。 */
60
+ export declare function listModelsWithMeta(providerId?: string | null): Promise<ModelCatalogWithMeta>;
61
+ /** Full `list_models` payload including the live-probe summary. Use this when
62
+ * connectivity must NOT treat disk-only fallback as success (onboarding). */
63
+ export declare function listModelsWithLive(providerId?: string | null): Promise<{
64
+ models: ModelCatalogEntry[];
65
+ live: {
66
+ source: string;
67
+ error?: string;
68
+ ids: number;
69
+ };
70
+ }>;
71
+ /** 读 agent.json::models.model —— **不**经 AGENT_DEFAULTS deep-merge,
72
+ * 能区分"用户没配"(chain=[]、raw=null)和"显式空 chain"(chain=[]、raw=[])。 */
73
+ export declare function getAgentModel(sid: string, agentPath: string): Promise<AgentModelState>;
74
+ /** 写 agent.json models.model = string[](单模型也写成 ["MODEL"])。
75
+ * 已 running 的 agent server 端会自动 controlAgent("restart") 重读盘。 */
76
+ export declare function setAgentModels(sid: string, agentPath: string, models: string[]): Promise<{
77
+ selected: string;
78
+ chain: string[];
79
+ restarted: boolean;
80
+ }>;
81
+ /** Toggle a model's "show in Composer picker" visibility. Persists to
82
+ * ~/.forgeax/key/models-hidden.json on the server side. Caller should refresh
83
+ * the catalog (useModelCatalog.refresh) after a successful toggle so the
84
+ * single-mode dropdown re-filters. */
85
+ export declare function setModelHidden(id: string, hidden: boolean): Promise<{
86
+ id: string;
87
+ hidden: boolean;
88
+ totalHidden: number;
89
+ }>;
@@ -0,0 +1,72 @@
1
+ // @desc Frontend client for `builtin/commands/models.ts` —— list / get / set
2
+ //
3
+ // 三个 helper 一律走 `/api/commands/*` 走 transport.ts 的 `{ args }` 协议。统一在
4
+ // 这里抛 server 端的 `result.error`,调用方只需 try/catch 即可。
5
+ //
6
+ // 与 `lib/forgeax-bridge.ts:listSessionAgents` 同款套路(POST query+args)。
7
+ async function callQuery(name, args) {
8
+ const r = await fetch(`/api/commands/${name}/query`, {
9
+ method: "POST",
10
+ headers: { "content-type": "application/json" },
11
+ body: JSON.stringify({ args }),
12
+ });
13
+ // transport.ts 在 result.ok=false 时仍返 500 + body —— 都按 json 解析。
14
+ const j = (await r.json());
15
+ if (!j.result?.ok)
16
+ throw new Error(j.result?.error ?? `${name} failed (HTTP ${r.status})`);
17
+ return j.result.data;
18
+ }
19
+ async function callExecute(name, args) {
20
+ const r = await fetch(`/api/commands/${name}/execute`, {
21
+ method: "POST",
22
+ headers: { "content-type": "application/json" },
23
+ body: JSON.stringify({ args }),
24
+ });
25
+ const j = (await r.json());
26
+ if (!j.result?.ok)
27
+ throw new Error(j.result?.error ?? `${name} failed (HTTP ${r.status})`);
28
+ return j.result.data;
29
+ }
30
+ /** Catalog 来自 `~/.forgeax/key/models.json`(disk)与 LiteLLM `/v1/models`(live)
31
+ * 的合并:live 权威时展示集合即 live 那份,disk 只静默补元数据。
32
+ * 返回顺序由 server 端按「强度」排好(claude 族最前 → 版本号降序 → tier),
33
+ * 前端不再二次排序,直接平铺渲染。providerId 非空时返回对应内核的
34
+ * driver-scoped catalog。 */
35
+ export async function listModels(providerId) {
36
+ return (await listModelsWithMeta(providerId)).models;
37
+ }
38
+ /** listModels + driver 元数据透传(内核目录路径需要;见 CatalogDriverMeta)。 */
39
+ export async function listModelsWithMeta(providerId) {
40
+ const args = providerId ? [providerId] : [];
41
+ const data = await callQuery("list_models", args);
42
+ return { models: data.models ?? [], driver: data.driver };
43
+ }
44
+ /** Full `list_models` payload including the live-probe summary. Use this when
45
+ * connectivity must NOT treat disk-only fallback as success (onboarding). */
46
+ export async function listModelsWithLive(providerId) {
47
+ const args = providerId ? [providerId] : [];
48
+ const data = await callQuery("list_models", args);
49
+ return {
50
+ models: data.models ?? [],
51
+ live: data.live ?? { source: "disabled", ids: 0 },
52
+ };
53
+ }
54
+ /** 读 agent.json::models.model —— **不**经 AGENT_DEFAULTS deep-merge,
55
+ * 能区分"用户没配"(chain=[]、raw=null)和"显式空 chain"(chain=[]、raw=[])。 */
56
+ export async function getAgentModel(sid, agentPath) {
57
+ return callQuery("get_agent_model", [sid, agentPath]);
58
+ }
59
+ /** 写 agent.json models.model = string[](单模型也写成 ["MODEL"])。
60
+ * 已 running 的 agent server 端会自动 controlAgent("restart") 重读盘。 */
61
+ export async function setAgentModels(sid, agentPath, models) {
62
+ if (models.length === 0)
63
+ throw new Error("setAgentModels: at least one model required");
64
+ return callExecute("set_agent_models", [sid, agentPath, ...models]);
65
+ }
66
+ /** Toggle a model's "show in Composer picker" visibility. Persists to
67
+ * ~/.forgeax/key/models-hidden.json on the server side. Caller should refresh
68
+ * the catalog (useModelCatalog.refresh) after a successful toggle so the
69
+ * single-mode dropdown re-filters. */
70
+ export async function setModelHidden(id, hidden) {
71
+ return callExecute("set_model_hidden", [id, hidden ? "1" : "0"]);
72
+ }
@@ -0,0 +1,5 @@
1
+ /** The model the user last hand-picked for this provider, or null if none. */
2
+ export declare function getLastModel(catalogProviderId: string | null): string | null;
3
+ /** Record a HAND-PICKED model for this provider (called from the composer's
4
+ * model picker onChange — never from a provider-switch reset). */
5
+ export declare function recordLastModel(catalogProviderId: string | null, modelId: string): void;