@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,1959 @@
1
+ {
2
+ "common": {
3
+ "ok": "OK",
4
+ "cancel": "Cancel",
5
+ "close": "Close",
6
+ "save": "Save",
7
+ "reset": "Reset",
8
+ "delete": "Delete",
9
+ "confirm": "Confirm",
10
+ "loading": "Loading…",
11
+ "error": "Error",
12
+ "retry": "Retry",
13
+ "today": "Today",
14
+ "yesterday": "Yesterday"
15
+ },
16
+ "statusBar": {
17
+ "diagnostics": {
18
+ "title": "Diagnostics",
19
+ "tooltip": "Diagnostics · device and runtime status",
20
+ "checking": "Checking…",
21
+ "webgpuUnavailable": "WebGPU unavailable",
22
+ "unknownDevice": "Unknown device",
23
+ "cores": "cores",
24
+ "device": "Device",
25
+ "memory": "Memory",
26
+ "unavailable": "Unavailable",
27
+ "engine": "Engine",
28
+ "processMemory": "Process memory",
29
+ "uptime": "Uptime",
30
+ "wsConnections": "WS connections",
31
+ "project": "Project",
32
+ "scene": "Current scene",
33
+ "assets": "Assets"
34
+ }
35
+ },
36
+ "onboarding": {
37
+ "step": {
38
+ "welcome": "Welcome · Language · Connect",
39
+ "project": "Choose a game",
40
+ "home": "Enter home"
41
+ },
42
+ "welcome": {
43
+ "title": "Welcome to Forgeax Studio!",
44
+ "lead": "Just tell Forge \"make a game about X\" — it plans, writes the code, and shows your game running live.",
45
+ "language": "Language"
46
+ },
47
+ "connect": {
48
+ "title": "Connect a model",
49
+ "hint": "Pick one way to connect — you can change it later in Settings.",
50
+ "keyTitle": "Use an API Key",
51
+ "keySub": "Any OpenAI-compatible endpoint (official / OpenRouter / private proxy).",
52
+ "cliTitle": "Use a local CLI",
53
+ "cliSub": "Connect a local claude-code / codex / cursor-agent.",
54
+ "cliStatus": {
55
+ "loading": "checking…",
56
+ "ok": "connectable",
57
+ "down": "unavailable",
58
+ "unknown": "not detected"
59
+ }
60
+ },
61
+ "collapse": "Collapse",
62
+ "connected": {
63
+ "key": "API Key",
64
+ "cli": "Local CLI · {{cli}}"
65
+ },
66
+ "check": {
67
+ "checking": "Checking connection…",
68
+ "ok": "Connected: {{list}}. Continuing shortly…",
69
+ "fail": "Connection failed. Check the connection method you configured.",
70
+ "failEmpty": "Please enter Base URL and API Key.",
71
+ "failNeedSelect": "Please choose a connection method (API Key or local CLI).",
72
+ "failLive": "API connectivity test failed. Please check your base URL or API key.",
73
+ "failCli": "Connection failed. Is local CLI · {{cli}} installed and running? Install guide:"
74
+ },
75
+ "next": "Next",
76
+ "nextCountdown": "Next ({{n}})",
77
+ "back": "Back",
78
+ "skip": "Skip setup",
79
+ "project": {
80
+ "title": "Choose your game",
81
+ "name": "Game name",
82
+ "namePlaceholder": "Optional; leave blank for untitled-1",
83
+ "nameRequired": "Enter a project name (≥1 char, lowercase/digits/hyphens).",
84
+ "willCreate": "Will create game: {{name}}",
85
+ "busy": {
86
+ "new": "Creating your project…",
87
+ "template": "Copying the template into your project… this can take a few seconds",
88
+ "open": "Opening the directory…"
89
+ },
90
+ "newTitle": "New empty project",
91
+ "newDesc": "Create an empty game from the default template.",
92
+ "newCta": "Create",
93
+ "existingTitle": "Open an existing project",
94
+ "existingDesc": "{{count}} game(s) already exist — pick one to enter directly.",
95
+ "existingOpen": "Open",
96
+ "openTitle": "Open a directory",
97
+ "openDesc": "Use any folder as a game directory. Empty folders are auto-initialized.",
98
+ "openCta": "Choose directory",
99
+ "errNotGame": "That folder is not a game and is not empty. Pick an empty folder (auto-initialized) or one that already has forge.json / main.ts.",
100
+ "sampleTitle": "From a template",
101
+ "sampleDesc": "Copy a built-in game as a new game.",
102
+ "sampleCta": "Choose template",
103
+ "select": "Select",
104
+ "footer": "Any option creates or opens a game and enters the home screen."
105
+ },
106
+ "template": {
107
+ "title": "Pick a built-in template",
108
+ "loading": "Loading templates…",
109
+ "empty": "No built-in templates available.",
110
+ "picked": "Picked",
111
+ "cancel": "Cancel",
112
+ "confirm": "Confirm"
113
+ },
114
+ "tour": {
115
+ "footer": {
116
+ "anchor": "Status Bar · Content Browser & Info",
117
+ "body": "The status bar at the very bottom hosts collapsed tool panels: open the 'Content Browser' to manage, search, and import your files, scenes, and art assets — your resource hub; open 'Info' to view live logs from play, edit, and the engine. They stay tucked away here and expand upward whenever you need them."
118
+ },
119
+ "preview": {
120
+ "anchor": "Viewport",
121
+ "body": "The live game view. Every time the AI changes code, this hot-reloads in seconds so you can play and inspect the result right away."
122
+ },
123
+ "hierarchy": {
124
+ "anchor": "Scene Outline · Properties",
125
+ "body": "The upper 'Scene Outline' manages every object in the scene like a layer tree (visibility, lock, hierarchy); select one and the 'Properties' panel below lets you tweak its transform, components, and parameters."
126
+ },
127
+ "topbar": {
128
+ "anchor": "Top Bar & Publish",
129
+ "body": "Project-level actions — File, Edit, Window, Build, Select, Help — live in the top bar; the 'Publish' button on the right packages and ships your finished game in one click."
130
+ },
131
+ "chat": {
132
+ "anchor": "★ Start building here",
133
+ "body": "This is where you collaborate with the AI team. In the input box at the bottom, describe the game you want in one sentence (e.g. 'make a top-down survivor game'), press Enter, and Forge will lead the agents to build it for you."
134
+ },
135
+ "prev": "Prev",
136
+ "skip": "Skip",
137
+ "next": "Next",
138
+ "done": "Done"
139
+ },
140
+ "nudge": {
141
+ "title": "Send your first message",
142
+ "body": "Describe the game you want to make in the chat and watch it come alive in the preview.",
143
+ "gotIt": "Got it",
144
+ "connectTitle": "Connect a model to send",
145
+ "connectSub": "Your message is saved. Pick a source and we'll send it right after you connect.",
146
+ "connectKey": "Add an API key",
147
+ "connectCli": "Use a local CLI",
148
+ "connectCancel": "Not now"
149
+ }
150
+ },
151
+ "lang": {
152
+ "auto": "Auto",
153
+ "switcherTitle": "Agent reply language",
154
+ "followInput": "Follow my input",
155
+ "followInputDesc": "The agent replies in the language you type in."
156
+ },
157
+ "settings": {
158
+ "title": "Settings",
159
+ "subtitle": "configure forgeax · extensions · keys · account",
160
+ "providers": {
161
+ "hint": "Connect a model source: a LiteLLM proxy or a local CLI.",
162
+ "activeBanner": "Currently using: {{source}}",
163
+ "setActive": "Set as active",
164
+ "inUse": "In use",
165
+ "switched": "Switched model source: {{source}}",
166
+ "native": {
167
+ "title": "ForgeaX Kernel (native)",
168
+ "hint": "The built-in ForgeaX kernel — the default, flagship path. Runs in-process and resolves whatever model credential you configure below (a LiteLLM proxy, or a direct ANTHROPIC / OPENAI / GEMINI key).",
169
+ "badge": "Native",
170
+ "useReason": "Configure a model credential first — a LiteLLM proxy, or an ANTHROPIC / OPENAI / GEMINI key."
171
+ },
172
+ "api": {
173
+ "title": "LiteLLM Proxy",
174
+ "hint": "Point at your LiteLLM proxy: set Base URL + Key. Both the model catalog and the native ForgeaX kernel route through it (the key is mirrored to ANTHROPIC_* so forgeax-core speaks to the proxy)."
175
+ },
176
+ "cli": {
177
+ "title": "Local CLI",
178
+ "hint": "Detects installed claude-code / codex / cursor-agent / codebuddy / kimi-code / DeepSeek Harness and can run a Test.",
179
+ "healthy": "Healthy",
180
+ "unavailable": "Unavailable",
181
+ "useReason": "This CLI is unavailable and cannot be set as active"
182
+ },
183
+ "test": "Test"
184
+ },
185
+ "groups": {
186
+ "ai": "AI",
187
+ "system": "System",
188
+ "about": "About",
189
+ "other": "Other"
190
+ },
191
+ "nav": {
192
+ "providers": "Models",
193
+ "agents": "Agents",
194
+ "about": "About"
195
+ },
196
+ "navAria": "Settings section navigation",
197
+ "agents": {
198
+ "hint": "You only chat with ForgeaX. Main-agent switching is removed; all agents stay enabled by default.",
199
+ "missingFromCatalog": "Missing from catalog (/api/agents did not return this id)",
200
+ "incompleteCatalogEntry": "Catalog entry is missing naming.title / name",
201
+ "rosterGaps": "Roster layout references agents absent from the catalog: {{ids}}",
202
+ "detail": {
203
+ "back": "Back",
204
+ "tabPersona": "Persona",
205
+ "tabMemory": "Memory",
206
+ "tabSkills": "Skill",
207
+ "tabTools": "Tool",
208
+ "save": "Save",
209
+ "discard": "Discard changes",
210
+ "saved": "Saved",
211
+ "addMemory": "+ Add memory",
212
+ "addSkill": "+ Add Skill",
213
+ "addTool": "+ Add Tool",
214
+ "file": "File name",
215
+ "skillId": "Skill id",
216
+ "toolId": "Tool id",
217
+ "desc": "Description",
218
+ "body": "Body",
219
+ "emptyMemory": "No long-term memory yet.",
220
+ "emptySkills": "No skills yet.",
221
+ "emptyTools": "No tools yet.",
222
+ "remove": "Remove"
223
+ }
224
+ },
225
+ "closeEsc": "Close · Esc",
226
+ "closeAria": "close settings",
227
+ "noSections": "No sections registered.",
228
+ "noSectionsHint1": "No registered settings sections.",
229
+ "noSectionsHint2": "useSettingsSection({ id, label, node }) — mount one anywhere to add it.",
230
+ "language": {
231
+ "label": "Language",
232
+ "description": "Interface language. Controls all UI chrome, agent catalog labels, and the language agents reply in.",
233
+ "selectAria": "Select interface language"
234
+ },
235
+ "memory": {
236
+ "label": "Memory",
237
+ "toggle": "Memory",
238
+ "masterLabel": "Automatic memory extraction",
239
+ "masterHint": "Turn this off to stop memory extraction for every kernel. When enabled, each kernel follows its setting below.",
240
+ "byKernel": "By kernel",
241
+ "noKernels": "No registered kernels",
242
+ "lowestTokenUsage": "Lowest token usage",
243
+ "additionalTokenCost": "Uses a small number of additional tokens",
244
+ "additionalTokenHint": "{{kernel}} memory extraction uses a small number of additional tokens. Turn it off here if you do not need it."
245
+ },
246
+ "kernelPermissions": {
247
+ "title": "Permission gear per kernel",
248
+ "hint": "Every kernel starts in \"{{mode}}\" by default. This only sets the baseline; permissions.deny rules and hook gates still apply.",
249
+ "followDefault": "Follow default ({{mode}})",
250
+ "singleGearHint": "{{kernel}} supports only this gear — that is its real headless capability. Narrow it with deny rules or hooks instead.",
251
+ "denyStillApplies": "Even at full access, deny rules, protected paths and PreToolUse hooks still block operations.",
252
+ "mode": {
253
+ "gated": "Ask each time",
254
+ "autoEdits": "Auto edits",
255
+ "planning": "Read-only planning",
256
+ "unrestricted": "Full access (dangerous)"
257
+ },
258
+ "riskyGearHint": "Below full access, {{kernel}} may hang waiting for approval on turns carrying project MCP — a real limitation of that kernel; we no longer silently raise the gear for you."
259
+ },
260
+ "env": {
261
+ "saved": "Wrote {{count}} variable(s) to .env (takes effect after restarting the stack)"
262
+ },
263
+ "refresh": "Refresh",
264
+ "readonly": "Read-only",
265
+ "readFailed": "Failed to load: {{error}}",
266
+ "apiKeys": {
267
+ "llmHint": "forgeax/.env; takes effect after restarting the stack",
268
+ "anthropicPlaceholder": "sk-ant-... or Azure key",
269
+ "multimodalTitle": "Multimodal Keys",
270
+ "multimodalHint": "image-gen / video-gen / multimodal proxy · used by extensions like character",
271
+ "arkImageLabel": "ARK_IMAGE_KEY (Seedream illustration)",
272
+ "arkVideoLabel": "ARK_VIDEO_KEY (Seedance video)"
273
+ },
274
+ "models": {
275
+ "title": "Model",
276
+ "hint": "Change FORGEAX_MODEL (takes effect after restarting the stack)",
277
+ "current": "Current",
278
+ "helpPrefix": "All LLM credentials are read from",
279
+ "helpAdapter": "; the adapter is auto-selected by model id pattern",
280
+ "helpProxyPrefix": "When",
281
+ "helpProxySuffix": "is set, everything goes through the proxy."
282
+ },
283
+ "modelLab": {
284
+ "hint": "One-off model testing · tune temperature / top_p / max_tokens · via /api/llm/test → lib/llm-gateway → LiteLLM proxy",
285
+ "systemPromptOptional": "System prompt (optional)",
286
+ "modelsLabel": "Models — select models to test in parallel ({{count}} selected)",
287
+ "running": "Running… ({{count}} rows)",
288
+ "cancelAll": "Cancel all",
289
+ "hideUnavailable": "Hide unavailable",
290
+ "exportCsvTitle": "Export current results as CSV (also copied to clipboard)",
291
+ "streamNote": "/api/llm/test-stream (SSE · TTFT taken from first chunk)",
292
+ "emptyHint": "Select models, then click \"Run all\".",
293
+ "allFiltered": "All rows filtered out by \"Hide unavailable\"."
294
+ },
295
+ "cliProviders": {
296
+ "hint": "Multiple CLI backends — agents are routed by marketplace/manifest.json#agents[].provider",
297
+ "none": "No registered providers — check the server startup logs.",
298
+ "healthy": "Healthy ✓",
299
+ "unavailable": "Unavailable ✗",
300
+ "testing": "Testing…",
301
+ "snapshotAge": "Snapshot · {{seconds}}s ago"
302
+ },
303
+ "workspace": {
304
+ "resetSessionsTitle": "Reset sessions",
305
+ "resetSessionsHint": "Clear team/sessions/* — keeps agent config / marketplace / games",
306
+ "resetSessionsBtn": "Clear all session history",
307
+ "resetSessionsConfirm": "Clear all sessions (including sub-agent history)?",
308
+ "resetSessionsDone": "Deleted {{count}} session directories, created a new empty session",
309
+ "resetSessionsTimeout": "Resetting sessions timed out (30s)",
310
+ "resetGamesTitle": "Reset GAMES",
311
+ "resetGamesHint": "Delete all user-created games (real directories under .forgeax/games/) — keeps the official examples in packages/games",
312
+ "resetGamesBtn": "Delete all games I created",
313
+ "resetGamesHelp": "Only deletes the real directories under .forgeax/games/ (games you created); symlinked official examples (cow-survivor / fps etc.) are kept as-is. This cannot be undone.",
314
+ "resetGamesConfirm": "Delete all games you created? Official examples (cow-survivor/fps etc.) are kept.\n\nThis deletes the real directories under .forgeax/games/ (games you created); symlinked official examples are untouched. This cannot be undone.",
315
+ "resetGamesDone": "Deleted {{count}} user games",
316
+ "resetGamesDoneSwitched": "Deleted {{count}} user games, switched to {{slug}}",
317
+ "resetGamesTimeout": "Resetting GAMES timed out (30s)",
318
+ "pathsTitle": "Paths / ports"
319
+ },
320
+ "account": {
321
+ "title": "Account",
322
+ "hint": "Cloud sync / subscription / sharing settings (planned)",
323
+ "notLoggedIn": "Not logged in",
324
+ "intro": "The cloud account system is still being planned. The local forgeax-studio works fully offline; cloud features will unlock later:",
325
+ "feature1": "Multi-device sync of games/agents",
326
+ "feature2": "Cloud model gateway · shared LLM key pool",
327
+ "feature3": "Subscription · token quota"
328
+ },
329
+ "about": {
330
+ "hint": "Version · paths · links",
331
+ "productName": "ForgeaX Studio",
332
+ "connecting": "connecting…",
333
+ "repoLabel": "repo:",
334
+ "projectRoot": "project root:",
335
+ "envFile": "env file:",
336
+ "studioPorts": "studio:",
337
+ "studioPortsValue": "UI :{{ui}} · Server :{{server}} · Engine :{{engine}}",
338
+ "mainBranch": "main",
339
+ "pathsTitle": "Paths / ports",
340
+ "versionLabel": "version:",
341
+ "commitLabel": "commit:",
342
+ "versionSchemeLabel": "Versioning scheme",
343
+ "totalCommits": "total commits:",
344
+ "versionScheme": "Versioning scheme",
345
+ "versionSchemeDetail": "— 0 = pre-1.0 epoch · M.D = month.day of latest main commit · N = cumulative main commits.",
346
+ "versionSchemeSee": "See"
347
+ },
348
+ "changelog": {
349
+ "title": "Changelog",
350
+ "hint": "Version iteration log · sourced from CHANGELOG.md",
351
+ "empty": "CHANGELOG.md has no version sections yet."
352
+ },
353
+ "shortcuts": {
354
+ "title": "Keyboard shortcuts",
355
+ "hint": "Read-only · not customizable yet",
356
+ "platformAria": "Shortcut display platform",
357
+ "platformMac": "Mac",
358
+ "platformWin": "Win",
359
+ "introBlenderPrefix": "Blender-style",
360
+ "introBlenderSuffix": "combos — avoiding browser Ctrl+1/2/3 tab switching / Ctrl+J downloads / Ctrl+B bookmarks bar.",
361
+ "introImeSafe": "IME-safe",
362
+ "introImePrefix": ": composing state",
363
+ "introImeSuffix": "or keyCode 229 is auto-skipped; also doesn't fire while focused on input/textarea/editable elements (Esc / Ctrl+/ are exceptions).",
364
+ "introReadonlyPrefix": "Currently a",
365
+ "introReadonlySuffix": "display; customization will open up later.",
366
+ "groups": {
367
+ "layout": "Layout",
368
+ "mode": "Top mode",
369
+ "edit": "Edit",
370
+ "overlay": "Overlay",
371
+ "focus": "Focus",
372
+ "general": "General"
373
+ }
374
+ },
375
+ "usage": {
376
+ "title": "Usage",
377
+ "hint": "Aggregated from ledger hook:assistantMessage events · local sessions only",
378
+ "totalCalls": "total calls",
379
+ "inputTokens": "input tokens",
380
+ "outputTokens": "output tokens",
381
+ "sessions": "sessions",
382
+ "calls": "Calls",
383
+ "input": "Input",
384
+ "output": "Output",
385
+ "byModel": "By model",
386
+ "noData": "No usage data yet — the assistant hasn't returned any tokens.",
387
+ "byDay": "By day (UTC)",
388
+ "scanned": "Scanned {{events}} ledger events across {{sessions}} sessions."
389
+ },
390
+ "sections": {
391
+ "extensions": "Extensions",
392
+ "fxpackImport": ".fxpack import",
393
+ "forkRecord": "Fork & record",
394
+ "upload": "Upload",
395
+ "feedbackDelivery": "Feedback delivery"
396
+ },
397
+ "extensions": {
398
+ "colId": "ID",
399
+ "colName": "Name",
400
+ "colDesc": "Description",
401
+ "colVersion": "Version"
402
+ },
403
+ "upload": {
404
+ "title": "Upload",
405
+ "hint": "Upload this project's .forgeax creative content to a GitHub repo (same as the /upload chat command).",
406
+ "tokenPlaceholder": "Paste a GitHub token (classic or fine-grained, shared or personal)",
407
+ "tokenNotSetHint": "Built-in shared token · paste your own to override",
408
+ "resetTokenTitle": "Clear override and restore the built-in shared token",
409
+ "repoHelp": "Defaults to the shared repo; you can point it at any repo your token can write (e.g. under your own account). Branch defaults to main.",
410
+ "btnIdle": "Upload to GitHub",
411
+ "btnPlanning": "Checking…",
412
+ "btnPushing": "Uploading…",
413
+ "tokenHintPrefix": "Tip: a shared token is built in — click the button to upload. Want your own repo?",
414
+ "tokenHintLink": "Create a personal token ↗",
415
+ "tokenHintSuffix": "(repo scope is enough; the page is pre-filled), paste it into the token field above and Save to override the default.",
416
+ "planSummary": "Will compress {{count}} files ({{bytes}}) and upload as",
417
+ "planPath": "under {{namespace}}/data/<upload-time>/",
418
+ "skippedSymlinks": "Skipped {{count}} symlink dir(s) (sample games, not uploaded)",
419
+ "skippedLarge": "Skipped {{count}} oversized file(s)",
420
+ "secretBlocked": "⛔ Detected {{count}} suspected secret(s); upload blocked: {{samples}}",
421
+ "tokenMissingTitle": "⛔ Token not configured — three steps:",
422
+ "tokenMissingStep1Before": "1. Ask an admin for the shared token, or ",
423
+ "tokenMissingStep1Link": "create your own personal token ↗",
424
+ "tokenMissingStep1After": " (needs write access to the target repo)",
425
+ "tokenMissingStep2": "2. Paste into FORGEAX_UPLOAD_GITHUB_TOKEN above and click Save",
426
+ "tokenMissingStep3": "3. Come back and click \"Upload to GitHub\" again",
427
+ "empty": "Nothing to upload",
428
+ "confirm": "Confirm upload",
429
+ "cancel": "Cancel",
430
+ "skippedSame": "Content identical to the latest upload — no new version created",
431
+ "viewExisting": "View existing snapshot",
432
+ "uploaded": "Uploaded archive of {{count}} files ({{sourceBytes}} → {{archiveBytes}})",
433
+ "viewSnapshot": "View this snapshot",
434
+ "allVersions": "All versions",
435
+ "failed": "Upload failed: {{error}}",
436
+ "copyUrl": "Copy URL",
437
+ "copied": "Copied"
438
+ },
439
+ "feedbackDelivery": {
440
+ "title": "Feedback delivery",
441
+ "hint": "Configure diagnostic feedback archives and GitHub Issue delivery. Saving retries previously failed feedback automatically.",
442
+ "tokenPlaceholder": "Built-in organization token; paste a new token to override",
443
+ "resetTokenTitle": "Clear the override and restore the built-in organization token",
444
+ "modelPlaceholder": "Optional model used by forgeax-cli to organize feedback",
445
+ "help": ".forgeax diagnostics exclude credentials, caches, and oversized files, are redacted in a temporary copy, and must pass a secret scan before a tar.gz is uploaded to Forgeax-Data. The Issue is created in forgeax-issues."
446
+ },
447
+ "drawer": {
448
+ "relTimeJustNow": "just now",
449
+ "relTimeSecondsAgo": "{{seconds}}s ago",
450
+ "relTimeMinutesAgo": "{{minutes}}m ago",
451
+ "title": "System Settings",
452
+ "closeTitle": "Close (Esc)",
453
+ "apiKeysTitle": "API Keys (written to forgeax/.env)",
454
+ "apiKeysHint": "Takes effect after restarting the stack (FORGEAX_PROJECT_ROOT=forgeax bash run.sh)",
455
+ "anthropicKeyPlaceholder": "sk-ant-... or Azure Cognitive Services key",
456
+ "anthropicBaseUrlPlaceholder": "https://api.anthropic.com or Azure endpoint",
457
+ "openaiKeyLabel": "OPENAI_API_KEY (optional)",
458
+ "geminiKeyLabel": "GEMINI_API_KEY (optional)",
459
+ "modelTitle": "Model",
460
+ "modelHint": "Change FORGEAX_MODEL (takes effect after restarting the stack)",
461
+ "modelCurrent": "Current",
462
+ "modelHelpPrefix": "All LLM credentials are read from",
463
+ "modelHelpAdapter": "; the adapter is auto-selected by model id pattern.",
464
+ "modelHelpProxyPrefix": "When",
465
+ "modelHelpProxySuffix": "is set, everything goes through the proxy.",
466
+ "cliProvidersHint": "Multiple CLI backends — agents are routed by marketplace/manifest.json#agents[].provider",
467
+ "cliProvidersNone": "No registered providers — check the server startup logs.",
468
+ "providerHealthy": "Healthy ✓",
469
+ "providerUnavailable": "Unavailable ✗",
470
+ "providerTesting": "Testing…",
471
+ "snapshot": "Snapshot ·",
472
+ "resetSessionsTitle": "Reset sessions",
473
+ "resetSessionsHint": "Clear .forgeax/.../team/sessions/* — keeps agent config / marketplace / games",
474
+ "resetSessionsBtn": "Clear all session history",
475
+ "resetSessionsHelp": "For a clean restart when chat is stuck / state is confused; the next message creates a fresh main session.",
476
+ "resetSessionsConfirm": "Clear all sessions (including sub-agent history)?\n\nThis deletes the entire .forgeax/.../team/sessions/* directory.\nThe next chat will auto-create a new main agent session; agent config / marketplace / games are kept.",
477
+ "resetSessionsDone": "Deleted {{count}} session directories",
478
+ "aboutTitle": "About",
479
+ "aboutHint": "Paths + version",
480
+ "envNotSet": "Not set",
481
+ "savedMasked": "Saved {{masked}} · enter a new value to overwrite",
482
+ "hide": "Hide",
483
+ "show": "Show",
484
+ "noChanges": "No changes",
485
+ "enterNewKeyHint": "Enter a new key above, then save"
486
+ }
487
+ },
488
+ "bus": {
489
+ "title": "Bus Extension Overview",
490
+ "refresh": "Refresh",
491
+ "refreshTitle": "Re-fetch /api/extensions/list",
492
+ "mdFocusKind": "click to focus {{kind}} kind",
493
+ "healthOverview": "Health Overview",
494
+ "registered": "registered",
495
+ "mdSummaryLoading": "6 kind health loading…",
496
+ "mdClearFilter": "click to clear kind filter",
497
+ "filterByKind": "Filter by kind",
498
+ "kbdNavChips": "←→ / Home / End keyboard navigation",
499
+ "chipSolo": "Click: show only {{kind}} · {{count}}",
500
+ "chipHide": "Click: hide {{kind}}",
501
+ "chipShow": "Click: show {{kind}} again",
502
+ "chipToggleHint": "←→ toggle",
503
+ "searchPlaceholder": "Search by id / name (e.g. anim / character)…",
504
+ "reset": "Clear",
505
+ "resetTitle": "Clear kind filter + search",
506
+ "requestFailed": "Request failed: {{err}} · check whether /api/extensions/list is reachable",
507
+ "emptyNoExtensions": "Bus loaded no extensions — check the marketplace scan path",
508
+ "emptyNoMatch": "No match — check the search term or reset the filter",
509
+ "rowKbdTitle": "↑↓ / Home / End row keyboard navigation · Enter / Space to expand",
510
+ "rowKbdLabel": "Row keyboard navigation · {{n}} rows · Enter to expand",
511
+ "footnoteSource": "Source: ",
512
+ "footnoteExpanded": "expanded",
513
+ "footnoteBroken": "broken[] field not yet exposed by server (P3 work)",
514
+ "footnoteRowHint": "click row / ↑↓ switch row / Enter to expand details",
515
+ "kindTagFlashTitle": "Click: flash the {{kind}} pill in the left BUS KINDS list (P3.38 reverse-echo channel)",
516
+ "expand": "Expand",
517
+ "versionThSub": "0.0.x = manifest placeholder · 0.1+ = a real bumped version",
518
+ "rowTitleCollapse": "Click to collapse · ↑↓ switch row · Enter to collapse",
519
+ "rowTitleExpand": "Click to expand details · ↑↓ switch row · Enter to expand",
520
+ "verBumpedTitle": "manifest v{{ver}} bumped · the 0.0.x placeholder semantics have been bumped · this is a real version",
521
+ "copied": "Copied",
522
+ "manifestCopiedTitle": "✓ Path copied to clipboard",
523
+ "manifestCopyTitle": "Click to copy path to clipboard · paste into a terminal or editor to jump straight to forgeax-extension.json",
524
+ "detailKindSoloTitle": "Click to show only {{kind}} extensions · use the ✕ button in the top filter row to clear filtering",
525
+ "versionCopiedTitle": "✓ Version copied to clipboard",
526
+ "versionCopyTitle": "Click to copy version · paste into a changelog / shell / commit message",
527
+ "uiFrontendTitle": "entry.frontend · this extension's React panel source (relative to the extension dir) · dynamically imported by the Sidebar via PLUGIN_PANEL_LOADERS when the extension tab is opened",
528
+ "entryOpenPageTitle": "Open Page {{pageId}} · render {{path}}",
529
+ "backlinkAgent": "Highlight in Sidebar",
530
+ "backlinkAgentTitle": "Highlight the card matching {{id}} in the Sidebar AGENTS section",
531
+ "backlinkPage": "Open Page",
532
+ "backlinkPageTitle": "Open Page {{pageId}}",
533
+ "backlinkKind": "Flash BUS KINDS",
534
+ "backlinkKindTitle": "Flash the {{kind}} pill in the Sidebar BUS KINDS footer for 1.5s — peripheral confirmation of this extension's kind at the chrome edge",
535
+ "detailNoteBroken": "broken[] field not yet exposed by server — pending P3 work",
536
+ "tallyCliTitle": "This extension is registered as a cliProvider (1 = yes / 0 = no)",
537
+ "tallySkillTitle": "Number of skills this extension registers with the Bus (Bus.skills[])",
538
+ "tallyToolTitle": "Number of tools this extension registers with the Bus (Bus.tools[])",
539
+ "tallyEventTitle": "Number of event schemas this extension registers with the Bus (Bus.events[])",
540
+ "provTallyEmptyTitle": "This extension exposes no cliProvider/skill/tool/event to the Bus — usually a kind=extension pure-frontend extension (the panel runs on its own)",
541
+ "provTallyTitle": "This extension provides {{n}} provider entries to the Bus (cli+skill+tool+event total)",
542
+ "provTallyNote": "No provides · pure frontend / placeholder",
543
+ "provAiFlagTitle": "exposedToAI=true · directly callable by AI agents",
544
+ "kindDescExtension": "Extensions that contribute Pages or capabilities",
545
+ "kindDescAgent": "Personas summonable via sub-agent routing (cc-coder family, etc.)",
546
+ "kindDescCliProvider": "CLI runner adapters (claude-code / codex / cursor-agent / forgeax)",
547
+ "kindDescModelBinding": "text/multimodal channel vendor bindings (anthropic-text / openai, etc.)",
548
+ "kindDescSkill": "slash commands + personas (/make-game-design, etc.)",
549
+ "kindDescTool": "pure tools (balance:resim, etc.) — no UI / agent",
550
+ "kindDescUnknown": "(uncategorized kind)"
551
+ },
552
+ "composer": {
553
+ "cliButtonOverrideDown": "⚠ {{provider}} is currently unavailable — pick 'forgeax' or another healthy provider, or turns will error.",
554
+ "cliButtonForgeaxNative": "Provider — forgeax (native · sends messages directly to Session/EventBus)",
555
+ "queuedCount": "Queued {{count}}",
556
+ "queueSub": "Sent in order after the current reply finishes",
557
+ "clearQueueTitle": "Clear queue",
558
+ "clearQueue": "Clear",
559
+ "queueEditAria": "Edit this queued message",
560
+ "queueEditTitle": "Edit — pull back into the input box",
561
+ "queueSendNowAria": "Send this queued message now",
562
+ "queueSendNowStreamingTitle": "Send now — interrupt the current reply and handle this one first",
563
+ "queueSendNowTitle": "Send this now",
564
+ "queueRemoveAria": "Remove this queued message",
565
+ "queueRemoveTitle": "Remove",
566
+ "placeholderStreaming": "Reply in progress — you can keep typing; [Enter] queues it, sent in order after the current reply finishes",
567
+ "placeholderStreamingInterrupt": " · ⚡ interrupt and send now",
568
+ "placeholderOverrideDownSuffix": " ⚠ (unavailable)",
569
+ "imageUpload": "Attach any file — images and PDFs go straight to the model, other files are saved for the agent to read; paste or drag also works",
570
+ "fileTooLarge": "{{name}}: content too large — exceeds the {{limit}} limit",
571
+ "comingSoon": "Coming soon",
572
+ "mentionAgentTitle": "Choose a suggested expert ({{count}} available) — Forge may delegate when helpful",
573
+ "mentionSoon": "@ mention — coming soon",
574
+ "agentItemInBusTitle": "{{name}} · {{role}} · also on the bus host — select as an expert Forge may delegate to",
575
+ "agentItemTitle": "{{name}} · {{role}} — select as an expert Forge may delegate to",
576
+ "viewInBusAria": "View {{extension}} in Bus details",
577
+ "viewInBusTitle": "View {{extension}} in Bus details →",
578
+ "atFoot": "↑↓ choose an expert · ⏎ select · Esc close",
579
+ "summonChipClear": "Clear selected expert",
580
+ "summonChipTitle": "Suggested expert: {{name}} — Forge may delegate when helpful",
581
+ "busSkillsTitle": "Bus skills ({{count}}) — click to pick a trigger command and insert it into the input box",
582
+ "slashSoon": "Slash commands — coming soon",
583
+ "slashItemDescTitle": "{{name}} · {{extension}}\n{{desc}}\n— click to insert {{trigger}}",
584
+ "slashItemTitle": "{{name}} · {{extension}} — click to insert {{trigger}}",
585
+ "slashFoot": "↑↓ navigate · ⏎ insert trigger · → go to Bus details · Esc close",
586
+ "modelDisabledProvider": "Currently routing via the {{provider}} channel; that provider decides its own model. Switch to the forgeax or claude-code channel to edit agent.json::models.model",
587
+ "modelDisabledNoAgent": "No agent selected yet — cannot read agent.json",
588
+ "modelDisabledBooting": "forgeax session is still booting",
589
+ "modelTriggerTitle": "Current agent ({{agent}}) → agent.json::models.model",
590
+ "cliDescForgeax": "Native kernel · direct Session/EventBus (default)",
591
+ "cliDescClaudeCode": "Anthropic Claude Code CLI",
592
+ "cliDescCodex": "OpenAI Codex CLI",
593
+ "cliDescCursor": "Cursor Agent CLI",
594
+ "cliDescCodebuddy": "Tencent CodeBuddy Code CLI",
595
+ "cliDescKimiCode": "Moonshot Kimi Code CLI",
596
+ "cliDescDeepSeekHarness": "DeepSeek Harness CLI · model managed by its profile",
597
+ "cliBusPillTitle": "bus extension: {{extension}} · click to view in Bus details →",
598
+ "interruptTitle": "Interrupt the current reply and send now (steer)",
599
+ "queueSendTitle": "Queue send — runs in order after the current reply finishes ([Enter])",
600
+ "stopTitle": "Stop the current reply (does not affect queued messages)",
601
+ "sendNoSession": "Session is still loading — wait a second; if it stays stuck, check whether the server (bottom-right) is down",
602
+ "sendNoAgent": "No agent selected yet — wait for the AgentSwitcher list to load (usually <1s), or manually click an agent avatar above",
603
+ "send": "Send"
604
+ },
605
+ "reference": {
606
+ "send_to_chat": "Reference in Chat",
607
+ "file": "File",
608
+ "file_ref": "File reference",
609
+ "path": "Path",
610
+ "chip_hint": "Click chip to remove / hover for details",
611
+ "copy_file_name": "Copy file name",
612
+ "directory": "Directory",
613
+ "dir_ref": "Directory reference",
614
+ "dir_name": "Directory name",
615
+ "workshop_extension": "Workshop extension",
616
+ "workshop_extension_ref": "Workshop extension reference",
617
+ "current_game": "Current game",
618
+ "current_game_ref": "Current game reference",
619
+ "path_prefix": "Path prefix",
620
+ "console_log": "Console log",
621
+ "console_log_line": "Console log line",
622
+ "copy_log_line": "Copy log line",
623
+ "game_ref": "Game reference",
624
+ "copy_slug": "Copy slug",
625
+ "session_ref": "Session reference",
626
+ "copy_session_id": "Copy session id",
627
+ "chat_ref": "Chat reference",
628
+ "chat_message_ref": "Chat message reference",
629
+ "copy_message": "Copy message",
630
+ "user_message_ref": "User message reference",
631
+ "bus_extension": "Bus extension",
632
+ "bus_extension_ref": "Bus extension reference",
633
+ "copy_extension_id": "Copy extension id",
634
+ "scene_entity": "Scene entity",
635
+ "source": "Source",
636
+ "components": "Components",
637
+ "asset": "Asset",
638
+ "workspace": "Page",
639
+ "workspace_ref": "Page reference",
640
+ "workspace_context_hint": "Right-click to rename or delete this extension",
641
+ "component_property": "Component property"
642
+ },
643
+ "extension": {
644
+ "editorPlaceholder": "// Click a produced file under an Agents card on the left → its content shows here live.\n// e.g. Iori's card-roguelike_pillar.md / Suzu's *_design.md.",
645
+ "previewMarkdownTitle": "Preview (render markdown)",
646
+ "preview": "Preview",
647
+ "sourceEditableTitle": "Source (editable)",
648
+ "source": "Source",
649
+ "saveShortcutTitle": "Cmd/Ctrl+S to save",
650
+ "noUnsavedChanges": "No unsaved changes",
651
+ "saving": "Saving…",
652
+ "saveFailed": "Save failed",
653
+ "resizeBottomPanelTitle": "Drag to resize the bottom panel",
654
+ "openFailed": "Open failed",
655
+ "binaryNotPreviewable": "Binary file not previewable",
656
+ "downloadOriginal": "Download original file",
657
+ "model3dLoadFailed": "3D preview failed to load",
658
+ "loading3dViewer": "Loading 3D viewer…",
659
+ "clearConsole": "Clear console",
660
+ "clearNetwork": "Clear network",
661
+ "ledgerEmpty": "No activity yet — it appears here after Forge sends Iori/Suzu to set up pillars and write designs",
662
+ "lockedBy": "Being {{op}}ed by {{agent}}",
663
+ "editing": "Editing",
664
+ "consoleEmpty": "No console output yet — the game's console.log/warn/error shows here live",
665
+ "networkEmpty": "No network requests yet — the game's fetch / XHR / WebSocket shows here live",
666
+ "galleryTitle": "Page",
667
+ "loadingExtensionList": "Loading extension list…",
668
+ "gallerySub": "Pick an extension to open its Page",
669
+ "bumpedStatsSuffix": "bumped (manifest version is not a 0.0.x placeholder)",
670
+ "implementedEntryCount": "implemented entry count",
671
+ "positionDecidesOrder": "manifest extension.position decides the order",
672
+ "bumpedPastPlaceholder": "already bumped past the 0.0.x placeholder semantics",
673
+ "verTagBumped": "already bumped · in development (not a 0.0.x placeholder)",
674
+ "verTagPlaceholder": "placeholder semantic version · will bump when implemented",
675
+ "wipTagTitle": "experimental — manifest marks experimental:true · real implementation pending Phase 4+",
676
+ "toolsExposedToAi": "exposed to AI by this extension extension",
677
+ "agentsLoadFailed": "Failed to load agents",
678
+ "agentsTitle": "Agents · Team",
679
+ "agentsEmpty": "No agents yet — Forge dispatches team members automatically after you send a message",
680
+ "agentDisabledTitle": "disabled in Settings (not included in collaboration/dispatch)",
681
+ "agentDetailTitle": "click to open Agent detail (products / long-term memory / Skills)",
682
+ "disabledBadge": "Disabled",
683
+ "noProducedFiles": "No produced files yet",
684
+ "subagentsHint": "{n} sub-specialists below · talk to the lead (click to view Persona only)",
685
+ "skinGroupHint": "Affects chat tone only · click to switch skin · double-click to edit Persona",
686
+ "skinChipTitle": "click to switch · double-click to edit Persona",
687
+ "providerCodersHint": "{n} CLI drivers below · click to switch driver + open Persona editor"
688
+ },
689
+ "gameSwitcher": {
690
+ "activateFailedTitle": "Game switch not fully applied",
691
+ "activateFailedBody": "The game did not switch to {{slug}}; server authority remains {{activeSlug}} ({{message}}).",
692
+ "activatePartialBody": "The active game changed to {{slug}}, but the downstream runtime is not fully ready ({{message}}).",
693
+ "activateUnknownBody": "Could not confirm whether the game changed to {{slug}} ({{message}}). Inspect the current game before retrying.",
694
+ "deleteConfirm": "Delete games/{{slug}}/ ? This action cannot be undone.",
695
+ "deleteFailedTitle": "Delete failed",
696
+ "switchTooltip": "Switch game (each game = one game)",
697
+ "listTitle": "Open game",
698
+ "newGameTooltip": "Create a new game at .forgeax/games/<slug>/ (Iori/Suzu design + Forge writes code)",
699
+ "newGame": "New game",
700
+ "empty": "No games yet · click + above to create",
701
+ "switchToTooltip": "Switch to games/{{slug}}/",
702
+ "gameMeta": "Updated {{time}} ago",
703
+ "newSessionTooltip": "Create a session for {{slug}}",
704
+ "deleteTooltip": "Delete game",
705
+ "unpin": "Unpin — follow latest",
706
+ "slugError": "slug: 1-41 chars / lowercase ASCII / digits / hyphens",
707
+ "kickoffMessage": "Just created games/{{slug}}/, brief: {{brief}}. Please run the full pipeline: Iori → Suzu → you write the code.",
708
+ "modalTitle": "New game",
709
+ "slugLabel": "slug (game directory name)",
710
+ "nameLabel": "Display name (optional)",
711
+ "namePlaceholder": "Leave blank to use slug",
712
+ "templateLabel": "Template",
713
+ "templateLoading": "Loading templates…",
714
+ "templateEmpty": "No templates available; the default template will be used.",
715
+ "briefLabel": "brief (optional — leave one and Forge dispatches Iori immediately)",
716
+ "briefPlaceholder": "e.g. 2D card roguelike, 5-10 min per run, build a deck for satisfying blowout damage",
717
+ "creating": "Creating...",
718
+ "create": "Create"
719
+ },
720
+ "rewind": {
721
+ "confirmTitle": "Rewind to this message?",
722
+ "computingDiff": "Computing file diff…",
723
+ "noFileChanges": "No file changes after this — only the conversation will be reverted.",
724
+ "codeWillRevertPrefix": "Code will revert",
725
+ "codeWillRevertSuffix": "file(s)",
726
+ "binaryLargeNote": "(incl. {{count}} binary/large file(s))",
727
+ "revertCodeAndConversation": "Revert code and conversation",
728
+ "revertConversationOnly": "Revert conversation only",
729
+ "revertCodeOnly": "Revert code only",
730
+ "confirmHint": "You can restore with one click after rewinding; it locks in once you send a new message.",
731
+ "restoreFailed": "Restore failed",
732
+ "inlinePlaceholder": "Edit and press Enter to send · restart from here",
733
+ "resendFromHere": "Resend from here",
734
+ "redoCheckpoint": "Redo checkpoint",
735
+ "editAndSendFromHere": "Edit and send from here",
736
+ "cancelEdit": "Cancel edit",
737
+ "sendWillRevertTitle": "Sending will revert files?",
738
+ "revertAndSend": "Revert and send",
739
+ "revertedHere": "⟲ Reverted to here",
740
+ "revertedHereCodeOnly": "⟲ Reverted to here (code only)",
741
+ "redoCheckpointRestore": "Redo checkpoint · restore",
742
+ "keptDirtyFiles": "Kept {{count}} file(s) you edited manually",
743
+ "revertTheseFilesToo": "Revert these files too",
744
+ "overwroteDirtyFiles": "Overwrote {{count}} manually edited file(s)",
745
+ "undo": "Undo"
746
+ },
747
+ "sidebar": {
748
+ "expandSidebar": "Expand sidebar",
749
+ "collapseSidebar": "Collapse sidebar",
750
+ "extensionExtensionsHint": "Page extensions (bus-sourced · ←→ to switch)",
751
+ "tabTooltip": "{{label}} · {{id}} · ←→ to switch tab",
752
+ "inSeparateWindow": "In a separate window",
753
+ "redockToMainWindow": "Redock to main window",
754
+ "popOutToSeparateWindow": "Pop out to a separate window",
755
+ "inDockPanel": "In Dock panel",
756
+ "providesToolsTooltip": "{{count}} tools · callable by AI agent: {{list}}",
757
+ "providesNoTools": "This extension exposes no tools to the AI agent",
758
+ "providesEventsTooltip": "{{count}} events · emitted on the bus: {{list}}",
759
+ "providesNoEvents": "This extension emits no events on the bus",
760
+ "providesSkillsTooltip": "{{count}} skills · injected into chat composer: {{list}}",
761
+ "providesNoSkills": "This extension declares no skills",
762
+ "familyTooltip": "{{count}} extensions on the bus — click to filter Bus detail by kind=extension →",
763
+ "openInBusTooltip": "Switch to the Bus tab (⌘3) and auto-expand the {{id}} detail row",
764
+ "openInBusDetail": "View in Bus detail →",
765
+ "pluginAuthor": "Plugin Author",
766
+ "pluginStore": "Plugin Store",
767
+ "editor": "Editor",
768
+ "morePlugins": "More plugins",
769
+ "extensionsHint": "Pages and extensions",
770
+ "morePluginsHint": "Open more plugins menu",
771
+ "searchPlugins": "Search plugins…",
772
+ "noMatchingPlugins": "No matching plugins",
773
+ "pinPlugin": "Pin to sidebar",
774
+ "unpinPlugin": "Unpin from sidebar",
775
+ "categories": {
776
+ "3D": "3D",
777
+ "2D": "2D",
778
+ "general": "General"
779
+ },
780
+ "plugins": {
781
+ "skill": "Skill VFX",
782
+ "gen3d": "3D Character",
783
+ "lowpoly3d": "3D Low Poly",
784
+ "character": "Character Editor",
785
+ "items": "Items & Icons",
786
+ "animation": "Animation",
787
+ "sceneAssets2d": "2D Scene Assets",
788
+ "ui": "UI Design",
789
+ "narrative": "Narrative",
790
+ "reel": "Cinematic Studio",
791
+ "gameVideo": "Video Game",
792
+ "audio": "Music & SFX",
793
+ "sceneGenerator": "Scene Generator"
794
+ }
795
+ },
796
+ "trust": {
797
+ "import": {
798
+ "title": "Import .fxpack",
799
+ "hint": "Local absolute path — binary upload from the browser is not yet supported"
800
+ },
801
+ "inspect": {
802
+ "button": "Inspect",
803
+ "inProgress": "Inspecting…",
804
+ "help": "ADR-0014 default-deny · unsigned packs cannot install before confirmation. Inspect does not write to disk; it only reads the manifest and permissions.",
805
+ "failed": "Inspect failed"
806
+ },
807
+ "panel": {
808
+ "title": "Trust panel",
809
+ "signed": "Signed",
810
+ "unsigned": "Unsigned · please confirm the source"
811
+ },
812
+ "untitled": "(untitled)",
813
+ "permissions": {
814
+ "title": "Permission declaration",
815
+ "hint": "manifest.permissions[] · trusted by the host after install; runtime enforcement will land in a later version",
816
+ "none": "No permissions declared — this pack will not actively access fs / net.",
817
+ "empty": "(none)"
818
+ },
819
+ "conflicts": {
820
+ "title": "Conflicts",
821
+ "hint": "Same id already exists locally",
822
+ "entry": "already at {{origin}} v{{oldVersion}} → new pack v{{newVersion}}"
823
+ },
824
+ "warnings": {
825
+ "title": "Warnings",
826
+ "count": "{{count}} item(s)"
827
+ },
828
+ "install": {
829
+ "title": "Install",
830
+ "hint": "Copy to destRoot/.forgeax/extensions/<id>/ · auto reload",
831
+ "userRootPlaceholder": "Usually: ~ (writes to ~/.forgeax/extensions/)",
832
+ "projectRootPlaceholder": "Current project root",
833
+ "originUser": "User-installed · ~/.forgeax",
834
+ "originProject": "Project-specific · current project",
835
+ "unsignedAck": "I understand this pack is unsigned and I take responsibility for its source",
836
+ "button": "Install",
837
+ "inProgress": "Installing…"
838
+ },
839
+ "result": {
840
+ "title": "Install result",
841
+ "reloadTriggered": "reload triggered",
842
+ "empty": "(none)"
843
+ },
844
+ "policy": {
845
+ "skip": "skip · keep old version (default)",
846
+ "overwrite": "overwrite · replace old version",
847
+ "rename": "rename · new version renamed to <id>-<ts>"
848
+ }
849
+ },
850
+ "author": {
851
+ "fork": {
852
+ "title": "Fork extension",
853
+ "hint": "Copy an existing extension into your user or project extension directory, then chat-driven vibe-edit",
854
+ "sourceLabel": "Source",
855
+ "selectPlaceholder": "— select —",
856
+ "newIdLabel": "New id",
857
+ "destinationOriginLabel": "Destination",
858
+ "originUser": "User-installed · ~/.forgeax (recommended)",
859
+ "originProject": "Project-specific",
860
+ "copying": "Copying…",
861
+ "refresh": "Refresh list",
862
+ "refreshTitle": "Re-fetch /api/extensions/manifests",
863
+ "doneBadge": "Forked ✓",
864
+ "doneHelp": "Auto-reloaded — the new version should appear in the sidebar.",
865
+ "note": "Fork only copies the source directory (incl. prompt / handlers / config). manifest.id is rewritten, displayName gets a \"(mine)\" suffix. A user-installed copy takes precedence over the built-in copy, so the fork immediately replaces the original in the sidebar."
866
+ },
867
+ "record": {
868
+ "title": "Record as skill",
869
+ "hint": "Abstract the last N ledger events into a skill — backend is ready, UI goes through the chat flow",
870
+ "backendPre": "The backend path",
871
+ "backendMid": "is implemented (deterministic + LLM-distillation modes), but a ledger event subset must be selected",
872
+ "backendMid2": "— this step is currently driven by the",
873
+ "backendMid3": "skill in chat. Type",
874
+ "backendPost": "in the main chat box to start the recording flow.",
875
+ "draftPre": "Hand-written skill draft:",
876
+ "draftMid": ". Full record-as-skill: see",
877
+ "draftPost": "."
878
+ }
879
+ },
880
+ "boot": {
881
+ "theme": {
882
+ "title": "Theme",
883
+ "hint": "Boot animation style · applies on refresh"
884
+ },
885
+ "copy": {
886
+ "title": "Copy",
887
+ "hint": "Title / subtitle — leave empty to restore defaults",
888
+ "titleLabel": "Title",
889
+ "subtitleLabel": "Subtitle"
890
+ },
891
+ "components": {
892
+ "title": "Components",
893
+ "hint": "Toggle the progress bar / bus inventory row individually",
894
+ "showProgressBar": "Show progress bar",
895
+ "showProgressBarHint": "(React startup progress · usually finishes in ~1s)",
896
+ "showBusInventory": "Show bus extension count",
897
+ "showBusInventoryHint": "(fetches /api/extensions/list once · for debugging)"
898
+ },
899
+ "apply": {
900
+ "title": "Apply / Reset",
901
+ "reloadTooltip": "Reload the page · re-render the splash",
902
+ "reloadButton": "Apply & refresh preview",
903
+ "resetTooltip": "Restore classic-lime + default copy",
904
+ "resetButton": "Restore defaults",
905
+ "apiHintBefore": "AI can also POST",
906
+ "apiHintAfter": "to modify"
907
+ }
908
+ },
909
+ "chat": {
910
+ "systemLine": {
911
+ "collapse": "Collapse",
912
+ "expand": "Expand",
913
+ "expandAll": "Expand all"
914
+ },
915
+ "empty": {
916
+ "title": "Start a conversation",
917
+ "subtitle": "Tell FORGE what game you want to make — e.g. \"write a spinning cube in games/gta-2.5d/main.ts\"."
918
+ },
919
+ "loadEarlier": {
920
+ "tooltip": "Scroll to the top to auto-load earlier messages; or click here to load",
921
+ "label": "Scroll up to load {{count}} earlier messages"
922
+ },
923
+ "editMessage": "Click to edit this message",
924
+ "rewindHere": {
925
+ "tooltip": "Rewind to here (checkpoint rewind)",
926
+ "label": "Rewind to here"
927
+ },
928
+ "jumpLatest": {
929
+ "tooltip": "Scroll to latest message",
930
+ "unread": "{{count}} new messages"
931
+ }
932
+ },
933
+ "gameDirectory": {
934
+ "openTitle": "Open game directory"
935
+ },
936
+ "dashboard": {
937
+ "busKindRegistering": "{{kind}} · registering extensions…",
938
+ "clickToBusAdmin": "click → Bus admin →",
939
+ "clickToBusDetail": "click to switch to Bus detail →",
940
+ "brandTotalTitle": "{{count}} sessions · auto-refresh every 30s",
941
+ "closeTitle": "Close · Esc",
942
+ "navItemTitleWithCount": "{{label}} · {{count}} items · ↑↓ switch sub-page",
943
+ "navItemTitle": "{{label}} · ↑↓ switch sub-page"
944
+ },
945
+ "pulse": {
946
+ "res": {
947
+ "title": {
948
+ "loading": "Server resources — loading…",
949
+ "down": "Server resources — /api/health unreachable (server down?)",
950
+ "ok": "Server resources — mem {{mem}}MB · up {{uptime}} · {{ws}} WS client(s) · polls every 5s"
951
+ }
952
+ },
953
+ "mb": {
954
+ "title": {
955
+ "some": "Model bindings · {{count}} on bus · click to drill into Bus admin →",
956
+ "none": "Model bindings · 0 extensions · click to open Bus admin",
957
+ "down": "Model bindings · Bus list temporarily unreadable",
958
+ "loading": "Model bindings · loading…"
959
+ }
960
+ },
961
+ "skill": {
962
+ "title": {
963
+ "some": "Skills · {{count}} on bus · click to drill into Bus admin →",
964
+ "none": "Skills · 0 extensions · click to open Bus admin",
965
+ "down": "Skills · Bus list temporarily unreadable",
966
+ "loading": "Skills · loading…"
967
+ }
968
+ },
969
+ "tool": {
970
+ "title": {
971
+ "some": "Tools · {{count}} on bus · click to drill into Bus admin →",
972
+ "none": "Tools · 0 extensions · click to open Bus admin",
973
+ "down": "Tools · Bus list temporarily unreadable",
974
+ "loading": "Tools · loading…"
975
+ }
976
+ },
977
+ "agent": {
978
+ "title": {
979
+ "some": "Agents · {{count}} on bus · click to drill into Bus admin →",
980
+ "none": "Agents · 0 extensions · click to open Bus admin",
981
+ "down": "Agents · Bus list temporarily unreadable",
982
+ "loading": "Agents · loading…"
983
+ }
984
+ }
985
+ },
986
+ "sessionSwitcher": {
987
+ "justNow": "just now",
988
+ "minutesAgo": "{{min}} min ago",
989
+ "yesterdayTime": "Yesterday {{time}}",
990
+ "daysAgo": "{{dayDiff}} days ago",
991
+ "deleteConfirm": "Delete this session?\nThe session directory and ledger on the server will be removed together.",
992
+ "triggerActive": "Current session: {{label}}",
993
+ "triggerEmpty": "Session list (booting or server empty)",
994
+ "newSessionTitle": "Create a new session (POST /api/sessions · scheduler auto-starts)",
995
+ "newSession": "New session",
996
+ "projectBound": "Project {{slug}}",
997
+ "projectUnbound": "No project bound",
998
+ "empty": "No sessions · click + to create",
999
+ "lastActive": "last active {{time}}",
1000
+ "deleteTitle": "Delete session (DELETE /api/sessions/:sid · ledger cleared too)"
1001
+ },
1002
+ "sessionTabs": {
1003
+ "newSession": "New conversation",
1004
+ "untitled": "New Session",
1005
+ "history": "Conversation history",
1006
+ "historyTitle": "Conversation history",
1007
+ "closeTab": "Delete conversation {{label}}",
1008
+ "closeConfirm": "Delete conversation \"{{label}}\"?\nIts server session directory and ledger will also be removed.",
1009
+ "empty": "No conversations"
1010
+ },
1011
+ "sessionTime": {
1012
+ "justNow": "just now",
1013
+ "todayTime": "Today {{time}}",
1014
+ "yesterdayTime": "Yesterday {{time}}",
1015
+ "weekdayTime": "{{weekday}} {{time}}",
1016
+ "dateThisYear": "{{month}} {{day}}",
1017
+ "dateOtherYear": "{{month}} {{day}}, {{year}}"
1018
+ },
1019
+ "store": {
1020
+ "openFile": {
1021
+ "notInWorkspace": "Cannot open \"{path}\"\n\nThis file is outside the editable game and is usually read-only engine or dependency source.\nStudio can only open files under .forgeax/games/** and packages/**.",
1022
+ "serverDetail": "\n\nServer: {serverMsg}",
1023
+ "notFound": "File does not exist: \"{path}\"\n\nIt may have been moved / renamed / deleted, or this game's entry file is actually named differently (e.g. main.ts instead of index.ts).",
1024
+ "failed": "Cannot open \"{path}\": {status} {statusText}"
1025
+ },
1026
+ "createSession": {
1027
+ "failedTitle": "Failed to create session"
1028
+ },
1029
+ "closeSession": {
1030
+ "failedTitle": "Failed to delete conversation",
1031
+ "failedBody": "The conversation was kept. {{message}}"
1032
+ },
1033
+ "loop": {
1034
+ "started": "🔁 Long-running task `{daemonId}` started · runs every {intervalSec}s · view progress + screenshot wall in Dashboard → Agents Hub · view per-tick history in this ChatPanel",
1035
+ "createFailed": "❌ Failed to create long-running task: {error}",
1036
+ "networkError": "❌ Network error creating long-running task: {message}"
1037
+ },
1038
+ "tool": {
1039
+ "invalidJson": "❌ /tool args are not valid JSON: {message}",
1040
+ "networkError": "❌ /tool network error: {message}"
1041
+ },
1042
+ "command": {
1043
+ "networkError": "❌ /{cmdName} network error: {message}"
1044
+ },
1045
+ "noAgentSelected": "⚠ No agent selected yet — wait for the AgentSwitcher list to load (usually <1s), or manually click an agent avatar above.",
1046
+ "steer": {
1047
+ "sendFailed": "❌ Interrupt send failed: {message}"
1048
+ }
1049
+ },
1050
+ "topbar": {
1051
+ "chatToggle": {
1052
+ "expand": "Expand chat panel",
1053
+ "collapse": "Collapse chat panel"
1054
+ },
1055
+ "package": {
1056
+ "title": "Package as standalone game",
1057
+ "noGame": "Select or create a game before packaging.",
1058
+ "failed": "Packaging failed",
1059
+ "unknownError": "Unknown error",
1060
+ "done": "Packaged \"{{slug}}\" ({{platform}})",
1061
+ "exportDir": "Export directory:",
1062
+ "runLocally": "Run locally:",
1063
+ "webgpuHint": "WebGPU requires opening over localhost or HTTPS.",
1064
+ "menuTitle": "Package Game",
1065
+ "platformWeb": "Web (Static Site)",
1066
+ "platformWindows": "Windows (.exe)",
1067
+ "platformMac": "macOS (.app Launcher)",
1068
+ "platformAndroid": "Android (Project Export)",
1069
+ "platformIos": "iOS (Project Export)",
1070
+ "rebuildEngine": "Rebuild Engine Core",
1071
+ "rebuildEngineHint": "Developer mode: rebuild Rust→WASM engine core (wgpu-wasm)",
1072
+ "engineRoot": "Engine Root",
1073
+ "engineRootInvalid": "missing deps",
1074
+ "engineRootNone": "No usable engine root found",
1075
+ "history": "Package History",
1076
+ "historyEmpty": "No packaging records yet",
1077
+ "historyDelete": "Delete",
1078
+ "historyDeleteConfirm": "Delete this record?",
1079
+ "historyRetry": "Retry",
1080
+ "historyCleanArtifacts": "Also clean artifacts",
1081
+ "progressTitle": "Packaging your game",
1082
+ "progressPhase": "Phase: {{phase}}",
1083
+ "progressClose": "Close",
1084
+ "progressHint": "This can take a moment — you can keep working, we'll let you know when it's done.",
1085
+ "progressLogs": "Build log",
1086
+ "phaseLabel": {
1087
+ "queued": "Getting ready",
1088
+ "starting": "Getting ready",
1089
+ "cleanup": "Cleaning previous build",
1090
+ "shell": "Preparing launcher",
1091
+ "shell-build": "Compiling launcher",
1092
+ "toolchain": "Setting up toolchain",
1093
+ "engine-rebuild": "Rebuilding engine core",
1094
+ "web-build": "Bundling the game",
1095
+ "assemble": "Assembling package",
1096
+ "export-android-project": "Exporting Android project",
1097
+ "done": "Finishing up",
1098
+ "failed": "Failed",
1099
+ "error": "Error"
1100
+ },
1101
+ "jobSuccess": "Package succeeded",
1102
+ "jobFailed": "Package failed",
1103
+ "cachedShell": "Used cached launcher",
1104
+ "clean": "Clean Local Cache",
1105
+ "cleanTitle": "Clean local packaging environment",
1106
+ "cleanBody": "This will delete the following local packaging environment (irreversible; it is rebuilt automatically on the next packaging run):",
1107
+ "cleanItemToolchain": "Isolated Rust toolchain ~/.forgeax/toolchains (rustup + cargo + wasm-pack)",
1108
+ "cleanItemShell": "Launcher shell cache ~/.forgeax/cache/player-shell",
1109
+ "cleanItemTmp": "Leftover temp export dirs .forgeax-export",
1110
+ "cleanKeepHint": "Export products and packaging history are NOT deleted.",
1111
+ "cleanConfirm": "Delete all",
1112
+ "cleanDone": "Cleanup complete",
1113
+ "cleanPartial": "Partially cleaned (some items failed to delete)",
1114
+ "cleanFailed": "Cleanup failed",
1115
+ "cleanFreed": "Freed about {{size}}",
1116
+ "cleaning": "Cleaning local cache…",
1117
+ "cleaningHint": "Removing the isolated toolchain and caches, please wait (may take a few to a dozen seconds for large dirs).",
1118
+ "platformCloud": "One-Click Publish to Platform",
1119
+ "comingSoon": "Coming soon",
1120
+ "viewGuide": "View publish guide",
1121
+ "success": {
1122
+ "ready": "Your game is packaged — play it locally or share the folder.",
1123
+ "play": "Play now",
1124
+ "playServing": "Starting local server…",
1125
+ "playFailed": "Could not start the local server — copy the command below and run it in a terminal.",
1126
+ "open": "Open folder",
1127
+ "copyPath": "Copy path",
1128
+ "copyCmd": "Copy command",
1129
+ "copied": "Copied"
1130
+ },
1131
+ "doc": {
1132
+ "web": {
1133
+ "what": "Bundle the game into a self-contained website folder — drop it on any server (or run it locally) and share a link.",
1134
+ "when": "Lightest way to share · needs a WebGPU browser"
1135
+ },
1136
+ "windows": {
1137
+ "what": "Produce a folder with a launcher .exe — double-click to play, no browser or internet needed.",
1138
+ "when": "For a downloadable PC build"
1139
+ },
1140
+ "macos": {
1141
+ "what": "Produce a folder with a launcher + a double-clickable \"Play\".command — runs the game locally on this Mac.",
1142
+ "when": "For a downloadable / local playtest Mac build"
1143
+ },
1144
+ "android": {
1145
+ "what": "Export a standard Android Studio project (not a ready APK); open it in Android Studio to build the app.",
1146
+ "when": "Asks for app name / package id / icon first"
1147
+ },
1148
+ "cloud": {
1149
+ "what": "The easiest path — no export, no config: publish to the cloud in one click and get a shareable online link in seconds.",
1150
+ "when": "Coming soon"
1151
+ },
1152
+ "ios": {
1153
+ "what": "Export an Xcode project to build an iOS app.",
1154
+ "when": "Asks for app name / bundle id / icon first"
1155
+ },
1156
+ "engine": {
1157
+ "what": "Advanced switch — rebuild the engine core before packaging.",
1158
+ "when": "Only when the export looks different from the preview"
1159
+ },
1160
+ "engineRoot": {
1161
+ "what": "Which engine build the export bundles against.",
1162
+ "when": "Usually auto-selected — leave as is"
1163
+ },
1164
+ "history": {
1165
+ "what": "Every export is recorded here; retry or delete any of them.",
1166
+ "when": "To trace or re-run a previous build"
1167
+ },
1168
+ "clean": {
1169
+ "what": "Free the disk space used by the build cache — never touches exported products or history.",
1170
+ "when": "When disk space is tight"
1171
+ }
1172
+ }
1173
+ },
1174
+ "onboard": {
1175
+ "introTitle": "Your game is ready!",
1176
+ "introDesc": "You and Forge just built a game that runs — it's in the preview on the right. Now let's try publishing it!",
1177
+ "introHint": "Click the \"Publish\" button at the top-right to continue",
1178
+ "next": "Next",
1179
+ "prev": "Back",
1180
+ "skip": "Skip",
1181
+ "done": "Get started",
1182
+ "counter": "{{n}} / {{total}}"
1183
+ },
1184
+ "android": {
1185
+ "title": "Export Android Studio Project",
1186
+ "subtitle": "Generates an offline-openable Android Studio project (WebView shell + full game) that you open to integrate SDKs and build an APK/AAB.",
1187
+ "appIdLabel": "Application ID (applicationId)",
1188
+ "appIdHint": "e.g. com.acme.mygame — at least two segments, each starting with a letter.",
1189
+ "appIdError": "Invalid application id, e.g. com.acme.mygame",
1190
+ "appNameLabel": "App Name",
1191
+ "appNameError": "Must be 1–30 characters",
1192
+ "projectNameLabel": "Project Name (project_name)",
1193
+ "projectNameHint": "Used as the Android project folder name and Gradle rootProject.name.",
1194
+ "projectNameError": "Only letters, digits, \"-\" and \"_\"",
1195
+ "orientationLabel": "Screen Orientation",
1196
+ "orientationLandscape": "Landscape",
1197
+ "orientationPortrait": "Portrait",
1198
+ "orientationHint": "The exported app launches locked to the selected orientation.",
1199
+ "iconLabel": "App Icon (ICON)",
1200
+ "iconPick": "Choose PNG",
1201
+ "iconRemove": "Remove",
1202
+ "iconHint": "Optional PNG, 512×512 recommended, ≤2MB.",
1203
+ "iconErrType": "Icon must be a PNG image",
1204
+ "iconErrSize": "Icon too large (must be ≤2MB)",
1205
+ "cancel": "Cancel",
1206
+ "confirm": "Start Export"
1207
+ },
1208
+ "ios": {
1209
+ "title": "Export Xcode Project",
1210
+ "subtitle": "Generates an Xcode project (WKWebView shell + full game) that you open in Xcode to configure signing and archive an IPA (requires macOS + Xcode).",
1211
+ "bundleIdLabel": "Bundle Identifier (Bundle ID)",
1212
+ "bundleIdHint": "e.g. com.acme.mygame — at least two segments, each starting with a letter.",
1213
+ "bundleIdError": "Invalid bundle identifier, e.g. com.acme.mygame",
1214
+ "appNameLabel": "App Name",
1215
+ "appNameError": "Must be 1–30 characters",
1216
+ "projectNameLabel": "Project Name (project_name)",
1217
+ "projectNameHint": "Used as the Xcode project folder name (.xcodeproj).",
1218
+ "projectNameError": "Only letters, digits, \"-\" and \"_\"",
1219
+ "orientationLabel": "Screen Orientation",
1220
+ "orientationLandscape": "Landscape",
1221
+ "orientationPortrait": "Portrait",
1222
+ "orientationHint": "The exported app launches locked to the selected orientation.",
1223
+ "iconLabel": "App Icon (ICON)",
1224
+ "iconPick": "Choose PNG",
1225
+ "iconRemove": "Remove",
1226
+ "iconHint": "Optional PNG, 1024×1024 recommended, ≤2MB.",
1227
+ "iconErrType": "Icon must be a PNG image",
1228
+ "iconErrSize": "Icon too large (must be ≤2MB)",
1229
+ "cancel": "Cancel",
1230
+ "confirm": "Start Export"
1231
+ },
1232
+ "layout": {
1233
+ "tooltip": "Layout · reopen / reset / presets"
1234
+ },
1235
+ "settings": {
1236
+ "tooltip": "System settings · Extensions / Keys / Models / About"
1237
+ },
1238
+ "publish": {
1239
+ "packaging": "Packaging {{platform}}…",
1240
+ "tooltip": "Package game for target platform"
1241
+ }
1242
+ },
1243
+ "agentSwitcher": {
1244
+ "hintBusExpand": "cli not started · ⌘+click → Bus",
1245
+ "hintBusList": "cli not started · ⌘+click → Bus list",
1246
+ "titlePlaceholder": "{{id}} ({{role}}) · marketplace placeholder · cannot switch while cli daemon is not started · ⌘/Ctrl+click → Bus",
1247
+ "titlePlaceholderExpand": " · expand {{busPluginId}}",
1248
+ "titlePlaceholderAgentKind": " (agent kind)",
1249
+ "titleAgent": "{{id}} ({{role}}) · click = switch to main chat target · double-click = send next message in this thread to it",
1250
+ "hintNotInitialized": "not initialized"
1251
+ },
1252
+ "askUser": {
1253
+ "noQuestion": "(no question)",
1254
+ "questionProgress": "{{current}} / {{total}}",
1255
+ "preparing": "Preparing options…",
1256
+ "noOptions": "(ask_user has no valid options)",
1257
+ "multiSelect": "Multi-select",
1258
+ "singleSelect": "Single-select",
1259
+ "other": "Other…",
1260
+ "otherDesc": "Fill in your own answer",
1261
+ "customPlaceholder": "Enter your answer…",
1262
+ "selected": "Selected: {{values}}",
1263
+ "none": "(none)",
1264
+ "submitting": "Submitting…",
1265
+ "confirm": "Confirm",
1266
+ "submitFailed": "Could not submit. Your choices are still here; try again.",
1267
+ "expired": "This question is no longer accepting an answer.",
1268
+ "unparseableHistory": "This historical answer could not be parsed.",
1269
+ "collapse": "Collapse",
1270
+ "expand": "Expand"
1271
+ },
1272
+ "contextMenu": {
1273
+ "cut": "Cut",
1274
+ "copy": "Copy",
1275
+ "paste": "Paste",
1276
+ "selectAll": "Select All",
1277
+ "copyCode": "Copy Code",
1278
+ "copyPath": "Copy Path",
1279
+ "textReference": "Text reference",
1280
+ "selectedTextReference": "Selected text reference"
1281
+ },
1282
+ "shortcuts": {
1283
+ "gameFullscreen": "Game fullscreen · hide only Studio's own TopBar / Sidebar / ChatPanel / StatusBar (browser frame stays)",
1284
+ "browserFullscreen": "Browser fullscreen (presentation style) · native browser fullscreen API (tab bar / address bar disappear too)",
1285
+ "toggleSidebar": "Toggle left Sidebar (extension bar)",
1286
+ "toggleChatPanel": "Toggle right ChatPanel",
1287
+ "revealChat": "Toggle chat (reveal / send home / close)",
1288
+ "toggleDashboard": "Toggle Dashboard overview panel",
1289
+ "toggleSettings": "Open / close Settings overlay",
1290
+ "openChangelog": "Settings → About (changelog)",
1291
+ "hideSelected": "Hide selected entities (UE parity · editor-only, never affects the game)",
1292
+ "hideUnselected": "Hide unselected entities (isolate selection)",
1293
+ "showAllHidden": "Show all hidden entities",
1294
+ "closeOverlay": "Close current overlay · browser fullscreen → game fullscreen → Settings → Dashboard in order",
1295
+ "modePreview": "Switch to Preview mode",
1296
+ "modePage": "Switch to Page mode",
1297
+ "switchPageN": "Switch to extension {{n}} (Blender parity — indexed into extension list)",
1298
+ "openExtensions": "Settings → Extensions (was the Bus mode tab)",
1299
+ "focusComposer": "Focus the right ChatPanel composer",
1300
+ "duplicateSelection": "Duplicate selection",
1301
+ "toggleViewportGameView": "Toggle viewport Game View",
1302
+ "undo": "Undo",
1303
+ "redo": "Redo",
1304
+ "save": "Save",
1305
+ "viewportNavigation": "Viewport navigation and gizmo mode",
1306
+ "shieldGameInput": "Shield game input while editor-owned",
1307
+ "toggleCommandPalette": "Toggle command palette"
1308
+ },
1309
+ "analytics": {
1310
+ "clickToBusDetail": "click to switch to Bus detail →",
1311
+ "clickToBusAdminFilter": "click → Bus admin (filter={{label}}) →"
1312
+ },
1313
+ "centerExtension": {
1314
+ "backToTileGridTitle": "Back to the 12-tile extension grid",
1315
+ "backToPage": "Back to extension",
1316
+ "pluginMainWindow": "Plugin · Main window",
1317
+ "close": "Close",
1318
+ "redockTitle": "Redock the standalone window into the main window",
1319
+ "redock": "Redock",
1320
+ "detachTitle": "Pop out as a standalone window",
1321
+ "detach": "Pop out",
1322
+ "openedInWindowPrefix": "Extension ",
1323
+ "openedInWindowSuffix": " is now open in a standalone window.",
1324
+ "loadingExtensionPrefix": "Loading extension ",
1325
+ "loadingExtensionSuffix": "…",
1326
+ "missingStandalonePrefix": "Extension ",
1327
+ "missingStandaloneMid": " is missing a ",
1328
+ "missingStandaloneSuffix": " entry.",
1329
+ "extensionUnavailablePrefix": "Could not load extension ",
1330
+ "extensionUnavailableSuffix": ". Make sure forgeax-server is running (run bun fx start in forgeax-studio), then refresh."
1331
+ },
1332
+ "errorBoundary": {
1333
+ "retry": "Retry",
1334
+ "reloadRegion": "Reload this region",
1335
+ "reloadStudio": "Reload Studio",
1336
+ "panelRenderError": "This panel failed to render",
1337
+ "panelHint": "You can retry / reload this region without restarting the whole Studio.",
1338
+ "fullscreenTitle": "UI render crashed",
1339
+ "fullscreenHint": "The React UI threw while rendering. Try \"Retry\" first; if that fails, \"Reload this region\"; if it still errors, \"Reload Studio\". The desktop app has no address bar, so you must recover with the buttons below."
1340
+ },
1341
+ "footerPanel": {
1342
+ "info": "Info",
1343
+ "checkpoints": "Checkpoints",
1344
+ "events": "Events"
1345
+ },
1346
+ "infoPanel": {
1347
+ "clickToCopy": "Click to copy",
1348
+ "repeatedTimes": "Repeated {{count}} times",
1349
+ "filterLevel": "Filter {{level}}",
1350
+ "filterSource": "Filter source {{source}}",
1351
+ "copyAll": "Copy all",
1352
+ "clear": "Clear",
1353
+ "emptyNoMessages": "No messages yet. Errors from Play / Edit / extensions / shell will appear here.",
1354
+ "emptyNoMatch": "No entries match the current filter."
1355
+ },
1356
+ "permission": {
1357
+ "askAriaLabel": "AI question",
1358
+ "commandAriaLabel": "Command permission approval",
1359
+ "askTitle": "AI wants to ask you",
1360
+ "commandTitle": "A command needs your authorization",
1361
+ "multiSelectHint": " (multiple choice)",
1362
+ "selectBeforeSubmit": "↑ Pick an option before submitting",
1363
+ "submit": "Submit",
1364
+ "deny": "Deny",
1365
+ "allow": "Allow",
1366
+ "capabilityLabel": "Capability: {{capability}}",
1367
+ "rememberSession": "Remember for this session",
1368
+ "expand": "▼ Expand ({{count}} chars)",
1369
+ "collapse": "▲ Collapse"
1370
+ },
1371
+ "dockShell": {
1372
+ "popoutToWindow": "Pop out to a separate OS window",
1373
+ "resetLayout": "Reset Layout",
1374
+ "emptySurface": "Open a project resource or extension to begin.",
1375
+ "reset": "Reset",
1376
+ "resetPositions": "Reset panel positions",
1377
+ "editorPanels": "Editor Panels",
1378
+ "mainPanels": "Main Panels",
1379
+ "morePanels": "More Panels",
1380
+ "extensionPanels": "Extension Panels",
1381
+ "hidePanelTitle": "Hide Panel Title Bar",
1382
+ "showPanelTitle": "Show Panel Title Bar",
1383
+ "moveToSide": "Move to Side",
1384
+ "moveOffSide": "Move off Side",
1385
+ "moveToPrimaryDock": "Move to Primary Dock",
1386
+ "chatToDefault": "Show in Default Position",
1387
+ "detachedWindowPlaceholder": "Opened in a separate window",
1388
+ "tabContext": {
1389
+ "openInNewWindow": "Open in New Window",
1390
+ "close": "Close",
1391
+ "closeOthers": "Close Others"
1392
+ },
1393
+ "panelTitles": {
1394
+ "tools": "Tools",
1395
+ "main": "Studio",
1396
+ "viewport": "Viewport",
1397
+ "chat": "ForgeaX CLI",
1398
+ "agents": "Agents",
1399
+ "files": "Files",
1400
+ "console": "Console",
1401
+ "telemetry": "Telemetry",
1402
+ "hierarchy": "Hierarchy",
1403
+ "assets": "Content Browser",
1404
+ "inspector": "Inspector",
1405
+ "history": "History",
1406
+ "capabilities": "Capabilities",
1407
+ "launcher": "Launcher",
1408
+ "asset-properties": "Asset Properties",
1409
+ "mesh-slots": "Mesh Slots",
1410
+ "info": "Info",
1411
+ "checkpoints": "Checkpoints",
1412
+ "events": "Events"
1413
+ }
1414
+ },
1415
+ "pageTabs": {
1416
+ "openPages": "Open pages",
1417
+ "newPage": "New page",
1418
+ "allPages": "All pages",
1419
+ "noOpenableTypes": "No openable page types",
1420
+ "searchPageTypes": "Search page types…",
1421
+ "noMatchingTypes": "No matching page types",
1422
+ "availableTypes": "Available Pages",
1423
+ "closeTab": "Close {{title}}",
1424
+ "context": {
1425
+ "close": "Close",
1426
+ "closeOthers": "Close Others",
1427
+ "closeToRight": "Close to the Right"
1428
+ }
1429
+ },
1430
+ "firstRun": {
1431
+ "errMissingKey": "Please enter your OpenRouter API Key",
1432
+ "errSaveFailed": "Save failed",
1433
+ "title": "👋 Welcome to ForgeaX Studio",
1434
+ "lead": "Just tell Forge \"make a game about XX\" and it will plan, write code, and run it live on the right. To start, pick how Forge reaches a model:",
1435
+ "opt1Title": "① Use an OpenRouter Key",
1436
+ "opt1Badge": "Recommended · self-serve",
1437
+ "opt1DescBefore": "Create a key at ",
1438
+ "opt1DescAfter": " (sk-or-…) and paste it here. It is only written to the local ~/ForgeaxProjects/.env and never uploaded anywhere.",
1439
+ "opt2Title": "② Use a locally-installed CLI",
1440
+ "opt2Desc": "claude-code / codex / cursor — once you `login` in that CLI, just switch provider at the bottom-left of the chat box. No key needed here.",
1441
+ "skip": "Skip for now",
1442
+ "useLocalCli": "I'll use a local CLI",
1443
+ "fillKey": "Enter Key ▶",
1444
+ "step2Title": "🔑 Enter your OpenRouter API Key",
1445
+ "step2LeadBefore": "Create one at ",
1446
+ "step2LeadAfter": " (format sk-or-…). OpenRouter bills against your account balance.",
1447
+ "keyPlaceholder": "sk-or-...",
1448
+ "advanced": "Advanced (proxy URL, usually no need to change)",
1449
+ "baseUrlPlaceholder": "https://openrouter.ai/api",
1450
+ "back": "◀ Back",
1451
+ "saving": "Saving…",
1452
+ "saveAndStart": "Save and Start"
1453
+ },
1454
+ "fsBrowser": {
1455
+ "parentDir": "Parent directory",
1456
+ "browse": "Browse… (open the system folder picker)",
1457
+ "addrHint": "Type a path and press Enter to jump",
1458
+ "emptyDir": "Empty directory",
1459
+ "initWorkspaceWhenNoGame": "Initialize a default game when no game exists",
1460
+ "selectDir": "Select {{dir}}",
1461
+ "processing": "Processing…",
1462
+ "selectThisDir": "Select this directory"
1463
+ },
1464
+ "subAgent": {
1465
+ "status": {
1466
+ "running": "Running…",
1467
+ "error": "Failed",
1468
+ "done": "Done"
1469
+ },
1470
+ "role": {
1471
+ "iori": "Core Gameplay Designer",
1472
+ "suzu": "Experience Designer",
1473
+ "kotone": "Narrative Designer",
1474
+ "iro": "Artist",
1475
+ "tsumugi": "Engineer",
1476
+ "ccCoder": "Claude Code Engineer",
1477
+ "fallback": "sub-agent"
1478
+ }
1479
+ },
1480
+ "surfaces": {
1481
+ "chip": {
1482
+ "close": "Close surface overlay",
1483
+ "open": "Open surface overlay (dev)"
1484
+ },
1485
+ "overlay": {
1486
+ "empty": "No extension has called surface.expose"
1487
+ },
1488
+ "action": {
1489
+ "formClose": "Close form",
1490
+ "formOpen": "Open form to run",
1491
+ "collapse": "Collapse",
1492
+ "run": "Run",
1493
+ "runConfirm": "Run (confirm required)"
1494
+ }
1495
+ },
1496
+ "filesPanel": {
1497
+ "fileCount": "{{count}} files",
1498
+ "jumpToFile": "Jump to {{name}}",
1499
+ "splitByFamily": "Split by 6 families",
1500
+ "clickToCollapse": "Click to collapse",
1501
+ "clickToExpand": "Click to expand"
1502
+ },
1503
+ "schemaForm": {
1504
+ "addItem": "+ Add",
1505
+ "missingRequired": "Missing required fields: {{fields}}",
1506
+ "run": "Run"
1507
+ },
1508
+ "extensionAgentPicker": {
1509
+ "unbound": "Unbound",
1510
+ "target": "Current conversation target",
1511
+ "targetWithRecommend": "Current conversation target · Recommended {{display}}",
1512
+ "noAgents": "No available agent",
1513
+ "recommendedPrefix": "Recommended",
1514
+ "recommendedSuffix": "is not in the current session"
1515
+ },
1516
+ "extensionDock": {
1517
+ "loadingExtension": "Loading {{extensionId}}…",
1518
+ "loadingExtensionGeneric": "Loading extension…",
1519
+ "loadingPageHost": "Connecting to the Page host…",
1520
+ "extensionHostFailed": "Page host failed to load: {{error}}",
1521
+ "extensionExtensionMissing": "The Page host did not register {{extensionId}}.",
1522
+ "extensionGameRequired": "Open a game before loading this Page extension.",
1523
+ "retry": "Retry"
1524
+ },
1525
+ "chatAgentCapsule": {
1526
+ "prevPage": "Previous page",
1527
+ "nextPage": "Next page",
1528
+ "unreadMessage": "Unread message"
1529
+ },
1530
+ "confirmDialog": {
1531
+ "wantsToRunTool": "{{caller}} wants to run a tool that needs confirmation",
1532
+ "deny": "Deny",
1533
+ "allow": "Allow"
1534
+ },
1535
+ "detachedSurface": {
1536
+ "unknownPanel": "Unknown panel surface \"{{id}}\".",
1537
+ "loadingExtension": "Loading extension {{id}}…",
1538
+ "extensionNotFound": "Extension {{id}} not found."
1539
+ },
1540
+ "forgeCard": {
1541
+ "thinking": "{{displayName}} is thinking",
1542
+ "emptyResponse": "(Empty response — the upstream cli produced nothing this time; try sending again)"
1543
+ },
1544
+ "agentStatus": {
1545
+ "expectant": [
1546
+ "On standby",
1547
+ "Slacking off",
1548
+ "Rubbing hands, ready to go",
1549
+ "Geared up and ready"
1550
+ ],
1551
+ "focused": [
1552
+ "Brain on fire",
1553
+ "Holding a mental meeting",
1554
+ "Gears spinning like crazy",
1555
+ "Deep in thought"
1556
+ ],
1557
+ "cheerful": [
1558
+ "Yapping away",
1559
+ "Keyboard's on fire",
1560
+ "Muttering along",
1561
+ "Typing at warp speed"
1562
+ ],
1563
+ "diligent": [
1564
+ "Firing up the grill",
1565
+ "Clang-clang, under construction",
1566
+ "Firing up the furnace",
1567
+ "Heads down, grinding"
1568
+ ],
1569
+ "delegating": [
1570
+ "Handing out tasks",
1571
+ "Calling in backup",
1572
+ "Commanding the squad",
1573
+ "Playing hands-off boss"
1574
+ ],
1575
+ "proud": [
1576
+ "Fresh out of the oven",
1577
+ "Dish is served",
1578
+ "Ding~ all done",
1579
+ "Delivered with pride"
1580
+ ],
1581
+ "weary": [
1582
+ "Recovering HP",
1583
+ "Grabbing a water break",
1584
+ "Battery running low",
1585
+ "Flopping for a bit"
1586
+ ],
1587
+ "sad": [
1588
+ "Oops, crashed",
1589
+ "Hitting a wall",
1590
+ "Having an emo moment",
1591
+ "Wiping away tears"
1592
+ ],
1593
+ "curious": [
1594
+ "Gathering to watch",
1595
+ "Peeking curiously",
1596
+ "Looking around",
1597
+ "Poking around"
1598
+ ]
1599
+ },
1600
+ "markdownView": {
1601
+ "taskDoneReadonly": "Done (read-only)",
1602
+ "taskTodoReadonly": "Not done (read-only)",
1603
+ "taskStatusReadonly": "Task status is read-only — this is part of the message content and cannot be toggled by clicking"
1604
+ },
1605
+ "agentsPanel": {
1606
+ "noActiveSession": "No active session",
1607
+ "empty": "No agents yet — send a message and Forge will dispatch the team",
1608
+ "mainAgent": "Main agent"
1609
+ },
1610
+ "dialog": {
1611
+ "confirmActionTitle": "Confirm action",
1612
+ "alertTitle": "Notice",
1613
+ "unsavedTitle": "Unsaved changes",
1614
+ "unsavedBody": "{{title}} has unsaved changes. Save before closing?",
1615
+ "discardChanges": "Don't Save"
1616
+ },
1617
+ "eventFormatter": {
1618
+ "filePart": "[File: {{path}}]",
1619
+ "imagePart": "[Image: {{path}}]",
1620
+ "imageGeneric": "[Image]"
1621
+ },
1622
+ "extensionSwitcher": {
1623
+ "addPage": "New extension",
1624
+ "rename": "Rename",
1625
+ "duplicate": "Duplicate",
1626
+ "deletePage": "Delete extension"
1627
+ },
1628
+ "consolePanel": {
1629
+ "clearTitle": "Clear console",
1630
+ "empty": "No console output yet — console.log·warn·error from the game/editor will appear here in real time"
1631
+ },
1632
+ "sessionStream": {
1633
+ "imageRef": "[image: {{path}}]",
1634
+ "fileRef": "[file: {{path}}]",
1635
+ "narrativeWorkshop": "Narrative Workshop"
1636
+ },
1637
+ "standaloneExtension": {
1638
+ "noEntryPrefix": "Extension",
1639
+ "noEntryMiddle": "has no",
1640
+ "noEntrySuffix": "entry.",
1641
+ "iframeLoadFailed": "iframe failed to load: {{error}}"
1642
+ },
1643
+ "themes": {
1644
+ "classicLime": {
1645
+ "label": "Classic Lime",
1646
+ "desc": "Current style · lime accent + horizontal progress bar"
1647
+ },
1648
+ "neonPulse": {
1649
+ "label": "Neon Pulse",
1650
+ "desc": "Radial pulse animation + full-screen logo + arc progress bar"
1651
+ }
1652
+ },
1653
+ "toolChip": {
1654
+ "collapse": "▲ Collapse ({{chars}} chars · {{lines}} lines · {{bytes}})",
1655
+ "viewAll": "▼ View all ({{chars}} more chars · {{lines}} lines total · {{bytes}})"
1656
+ },
1657
+ "healthIndicator": {
1658
+ "tooltipWithMsg": "{{source}}: {{message}}\n\nClick to open the Info panel",
1659
+ "tooltipEmpty": "No messages · click to open the Info panel"
1660
+ },
1661
+ "forgeText": {
1662
+ "collapse": "▲ Collapse",
1663
+ "expand": "▼ Expand ({{count}} chars)"
1664
+ },
1665
+ "kcCopyBtn": {
1666
+ "copyMessage": "Copy entire message"
1667
+ },
1668
+ "pillChip": {
1669
+ "expandedFormTip": "Expanded form sent to the AI"
1670
+ },
1671
+ "modelPicker": {
1672
+ "showInComposer": "Show this model in the Composer picker",
1673
+ "hideFromComposer": "Hide this model from the Composer picker (still visible in Settings/ModelLab)"
1674
+ },
1675
+ "busHealthLamp": {
1676
+ "linkTitle": "{{base}} — click to view in Bus details →"
1677
+ },
1678
+ "extensionModuleStrip": {
1679
+ "ariaLabel": "Page modules",
1680
+ "empty": "No extension extensions available"
1681
+ },
1682
+ "providerBadge": {
1683
+ "clickToBusDetail": "{{title}} · click to view in Bus details →"
1684
+ },
1685
+ "menubar": {
1686
+ "brand": "ForgeaX Studio",
1687
+ "file": "File",
1688
+ "edit": "Edit",
1689
+ "window": "Window",
1690
+ "build": "Build",
1691
+ "select": "Select",
1692
+ "help": "Help"
1693
+ },
1694
+ "menu": {
1695
+ "brand": {
1696
+ "settings": "Settings…",
1697
+ "about": "About ForgeaX",
1698
+ "checkUpdate": "Check for Updates"
1699
+ },
1700
+ "file": {
1701
+ "newGame": "New Game…",
1702
+ "openGameDirectory": "Open Game Directory…",
1703
+ "openRecent": "Open Recent",
1704
+ "openRecentEmpty": "No recent items",
1705
+ "closeGame": "Close Game",
1706
+ "save": "Save",
1707
+ "saveAll": "Save All",
1708
+ "reveal": "Show in System",
1709
+ "import": "Import Asset…",
1710
+ "export": "Export as Standalone Site…",
1711
+ "package": "Package and Preview"
1712
+ },
1713
+ "edit": {
1714
+ "undo": "Undo",
1715
+ "redo": "Redo",
1716
+ "cut": "Cut",
1717
+ "copy": "Copy",
1718
+ "paste": "Paste",
1719
+ "delete": "Delete",
1720
+ "copyPath": "Copy Path",
1721
+ "copyGuid": "Copy GUID",
1722
+ "find": "Find…",
1723
+ "rollback": "Rollback to Checkpoint…"
1724
+ },
1725
+ "window": {
1726
+ "outline": "Outline",
1727
+ "inspector": "Inspector",
1728
+ "files": "Files",
1729
+ "timeline": "Timeline",
1730
+ "runtime": "Runtime",
1731
+ "viewport": "Viewport",
1732
+ "chat": "Chat",
1733
+ "resetLayout": "Reset Layout",
1734
+ "fullscreen": "Enter Fullscreen"
1735
+ },
1736
+ "build": {
1737
+ "play": "▶ Play",
1738
+ "stop": "■ Stop",
1739
+ "editScene": "✎ Edit Scene",
1740
+ "reload": "Reload Preview",
1741
+ "export": "Export as Standalone Site…",
1742
+ "settings": "Build Settings…"
1743
+ },
1744
+ "select": {
1745
+ "all": "Select All",
1746
+ "none": "Deselect",
1747
+ "invert": "Invert Selection",
1748
+ "byType": "Select by Type",
1749
+ "byType.mesh": "Meshes",
1750
+ "byType.light": "Lights",
1751
+ "byType.camera": "Cameras",
1752
+ "byType.collider": "Colliders",
1753
+ "marquee": "Marquee Mode",
1754
+ "frame": "Frame Selected"
1755
+ },
1756
+ "help": {
1757
+ "docs": "Documentation",
1758
+ "tutorials": "Tutorials",
1759
+ "examples": "Examples",
1760
+ "blog": "Blog",
1761
+ "games": "Game Demos",
1762
+ "marketplace": "Marketplace",
1763
+ "changelog": "Changelog",
1764
+ "shortcuts": "Keyboard Shortcuts",
1765
+ "askAi": "Ask AI",
1766
+ "github": "GitHub Repository",
1767
+ "report": "Report an Issue",
1768
+ "about": "About ForgeaX",
1769
+ "license": "License"
1770
+ }
1771
+ },
1772
+ "taskFlow": {
1773
+ "process": "Execution process",
1774
+ "processInterrupted": "Execution process (interrupted)",
1775
+ "processMeta": "{{steps}} steps · {{duration}}",
1776
+ "workedFor": "Worked for {{duration}}",
1777
+ "processRunning": "Working…",
1778
+ "processWaiting": "Waiting for your answer…",
1779
+ "processError": "failed",
1780
+ "processAborted": "interrupted",
1781
+ "collapseProcess": "Collapse work process",
1782
+ "expandProcess": "Expand work process",
1783
+ "planLabel": "Requirements plan",
1784
+ "planTitle": "Starting {{count}} tasks",
1785
+ "statusRunning": "Running",
1786
+ "statusDone": "Done",
1787
+ "statusPending": "Pending",
1788
+ "statusError": "Failed",
1789
+ "stepsEmpty": "Waiting for steps…",
1790
+ "thinking": "Thinking",
1791
+ "openAgentThread": "View {{name}}'s work",
1792
+ "backToMain": "Back to main chat",
1793
+ "backToSub": "Back to {{name}}",
1794
+ "subAgentReadOnly": "Sub-agent work (read-only) · to add requests, go back to the main chat and let Forge relay them",
1795
+ "role": {
1796
+ "orchestrator": "Orchestrator",
1797
+ "pillar": "Core gameplay",
1798
+ "design": "Design",
1799
+ "narrative": "Narrative",
1800
+ "art": "Art",
1801
+ "coding": "Coding"
1802
+ },
1803
+ "totalLabel": "Total changes",
1804
+ "chipEdit": "edited",
1805
+ "chipNew": "added",
1806
+ "chipDel": "deleted",
1807
+ "groupEdit": "Edited",
1808
+ "groupNew": "Added",
1809
+ "groupDel": "Deleted",
1810
+ "groupEmpty": "None",
1811
+ "artifactPartial": "partial",
1812
+ "artifactUnavailable": "stats unavailable",
1813
+ "artifactStatsUnavailable": "File statistics are unavailable",
1814
+ "artifactReason": "Reason: {{reason}}",
1815
+ "artifactUnattributed": "{{count}} file changes could not be attributed",
1816
+ "artifactCandidates": "Reliable candidate paths",
1817
+ "artifactNoCandidates": "No reliable candidate paths",
1818
+ "artifactOutcomeComplete": "The requested work has been delivered. Review the summary, test evidence, and recommendations below.",
1819
+ "artifactOutcomePartial": "The work is partially complete. Review the unresolved items and confirm how to continue.",
1820
+ "deliveredAt": "Delivered",
1821
+ "outcome": "Outcome",
1822
+ "deliveryCardTitle": "Task delivery card",
1823
+ "featureUnderConstruction": "Feature under construction...",
1824
+ "copyArtifact": "Copy delivery result",
1825
+ "copied": "Copied",
1826
+ "files": "Files",
1827
+ "filesCount": "{{count}}",
1828
+ "tests": "Tests",
1829
+ "testsCount": "✓ {{pass}}/{{total}} passed",
1830
+ "testsNotReported": "No test results were reported for this delivery.",
1831
+ "nextSteps": "Suggested next steps",
1832
+ "confirmDeliveryRecommendation": "Review this delivery and confirm whether to continue.",
1833
+ "buildPrepare": "Prepare build {{version}}",
1834
+ "buildNote": "Saves the current changes and generates a new playable build.",
1835
+ "buildAction": "Build",
1836
+ "buildBuilding": "Building…",
1837
+ "buildRetry": "Retry build",
1838
+ "buildReady": "Build {{version}}",
1839
+ "buildFailed": "Build {{version}} failed",
1840
+ "play": "PLAY",
1841
+ "playing": "PLAYING",
1842
+ "badgeDone": "Done",
1843
+ "badgeError": "Error",
1844
+ "badgeAssets": "{{count}} assets",
1845
+ "unplanned": "Unplanned step",
1846
+ "tool": {
1847
+ "readFile": "Read file",
1848
+ "writeFile": "Write file",
1849
+ "editFile": "Edit file",
1850
+ "multiEdit": "Update files",
1851
+ "bash": "Run command",
1852
+ "applyPatch": "Apply patch",
1853
+ "grep": "Search code",
1854
+ "glob": "Find files",
1855
+ "subagent": "Delegate task",
1856
+ "askUser": "Ask for clarification",
1857
+ "listDir": "List directory"
1858
+ }
1859
+ },
1860
+ "feedback": {
1861
+ "button": "Feedback",
1862
+ "tooltip": "Send feedback / report a problem",
1863
+ "panel": {
1864
+ "title": "Feedback",
1865
+ "write": "Write feedback",
1866
+ "mine": "My feedback"
1867
+ },
1868
+ "form": {
1869
+ "type": "Problem type",
1870
+ "description": "Description",
1871
+ "descriptionPh": "For example: clicking Play causes the screen to freeze…",
1872
+ "screenshots": "Screenshots",
1873
+ "screenshotLimit": "Up to 5",
1874
+ "previewScreenshot": "Enlarge screenshot preview",
1875
+ "zoomIn": "Zoom in",
1876
+ "zoomOut": "Zoom out",
1877
+ "resetZoom": "Reset zoom",
1878
+ "removeScreenshot": "Remove screenshot",
1879
+ "email": "Email",
1880
+ "emailPh": "Company email recommended",
1881
+ "cancel": "Cancel",
1882
+ "submit": "Submit",
1883
+ "snapshot": "Current snapshot",
1884
+ "upload": "Upload"
1885
+ },
1886
+ "types": {
1887
+ "stuck": "Crash or not responding",
1888
+ "wrong": "Feature malfunction",
1889
+ "slow": "Performance issue",
1890
+ "ui": "UI defect",
1891
+ "idea": "Feature suggestion",
1892
+ "other": "Other"
1893
+ },
1894
+ "success": {
1895
+ "title": "Feedback received",
1896
+ "body": "We will look into it as soon as possible.",
1897
+ "id": "Feedback ID",
1898
+ "copy": "Copy",
1899
+ "guide": "Track progress in “My feedback”.",
1900
+ "viewMine": "View my feedback",
1901
+ "ok": "Done"
1902
+ },
1903
+ "mine": {
1904
+ "empty": "No feedback yet.",
1905
+ "id": "ID",
1906
+ "updated": "Updated",
1907
+ "autoTitle": "Auto error report"
1908
+ },
1909
+ "status": {
1910
+ "processing": "Processing",
1911
+ "pending-confirm": "Pending confirmation",
1912
+ "resolved": "Resolved"
1913
+ },
1914
+ "statusHint": {
1915
+ "processing": "Received — the team is working on it.",
1916
+ "pending-confirm": "A fix is out — update and confirm.",
1917
+ "resolved": "Thanks for confirming — closed."
1918
+ },
1919
+ "delivery": {
1920
+ "local": "Saved locally only",
1921
+ "queued": "Waiting to upload",
1922
+ "working": "Uploading diagnostics",
1923
+ "published": "Published to issue tracker",
1924
+ "failed": "Waiting for automatic retry",
1925
+ "openIssue": "View feedback on GitHub"
1926
+ },
1927
+ "actions": {
1928
+ "resolved": "Resolved",
1929
+ "stillBroken": "Still broken"
1930
+ },
1931
+ "passive": {
1932
+ "fullStack": "Full stack trace",
1933
+ "ignore": "Ignore",
1934
+ "dismiss": "Close error feedback",
1935
+ "incidents": {
1936
+ "mainThread": "Editor main thread unresponsive",
1937
+ "renderer": "Renderer process terminated",
1938
+ "gpu": "GPU device lost",
1939
+ "uncaught": "Repeated uncaught errors detected",
1940
+ "build": "Build repeatedly failed",
1941
+ "play": "Play could not start",
1942
+ "save": "Scene save failed",
1943
+ "runtime": "Viewport runtime disconnected",
1944
+ "agent": "Agent unresponsive"
1945
+ },
1946
+ "actions": {
1947
+ "feedbackContinue": "Send feedback and continue",
1948
+ "restartRenderer": "Restart renderer and send feedback",
1949
+ "reloadPreview": "Reload preview and send feedback",
1950
+ "reloadStudio": "Reload Studio and send feedback",
1951
+ "retryBuild": "Send feedback and retry build",
1952
+ "retryPlay": "Retry Play and send feedback",
1953
+ "retrySave": "Retry save and send feedback",
1954
+ "reconnectRuntime": "Reconnect runtime and send feedback",
1955
+ "reconnectAgent": "Reconnect session and send feedback"
1956
+ }
1957
+ }
1958
+ }
1959
+ }