@schlenkr/ragents 0.1.10 → 0.1.12

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 (748) hide show
  1. package/README.md +1 -1
  2. package/apps/server/package.json +1 -1
  3. package/apps/server/src/access-projection.ts +6 -6
  4. package/apps/server/src/access-service.ts +3 -3
  5. package/apps/server/src/access-session.ts +19 -19
  6. package/apps/server/src/api/contracts.ts +29 -29
  7. package/apps/server/src/api/core-methods.ts +17 -17
  8. package/apps/server/src/api/delivery.ts +2 -2
  9. package/apps/server/src/api/reference.ts +27 -27
  10. package/apps/server/src/api/rights.ts +18 -18
  11. package/apps/server/src/chat-handler.ts +5 -5
  12. package/apps/server/src/config-definition.ts +37 -10
  13. package/apps/server/src/config-file.ts +49 -49
  14. package/apps/server/src/config.ts +2 -0
  15. package/apps/server/src/data-directory.ts +2 -2
  16. package/apps/server/src/external-access.ts +1 -1
  17. package/apps/server/src/folder-install.ts +1 -1
  18. package/apps/server/src/help-files.ts +1 -1
  19. package/apps/server/src/host-api.json +6 -1
  20. package/apps/server/src/host-api.ts +3 -2
  21. package/apps/server/src/host-record.ts +3 -3
  22. package/apps/server/src/host-resolution-hooks.mjs +4 -4
  23. package/apps/server/src/host-version.ts +17 -17
  24. package/apps/server/src/host-web.ts +5 -5
  25. package/apps/server/src/main.ts +6 -6
  26. package/apps/server/src/missing-environment.ts +6 -6
  27. package/apps/server/src/parent-watch.ts +4 -4
  28. package/apps/server/src/plugin-build/build.ts +38 -38
  29. package/apps/server/src/plugin-build/host-api-names.ts +7 -7
  30. package/apps/server/src/plugin-build/plugin-description.ts +15 -15
  31. package/apps/server/src/plugin-build/typecheck.ts +1 -1
  32. package/apps/server/src/plugin-support/actor-programs/app-project.ts +19 -19
  33. package/apps/server/src/plugin-support/actor-programs/client-compiler.ts +4 -4
  34. package/apps/server/src/plugin-support/actor-programs/client-contracts.ts +11 -11
  35. package/apps/server/src/plugin-support/actor-programs/contract.ts +17 -17
  36. package/apps/server/src/plugin-support/actor-programs/runtime-libraries.ts +1 -1
  37. package/apps/server/src/plugin-support/actor-programs/workflow/index.ts +5 -5
  38. package/apps/server/src/plugin-support/actor-programs/workflow/prompt-reader.ts +2 -2
  39. package/apps/server/src/plugin-support/chat-display-policy.ts +2 -2
  40. package/apps/server/src/plugin-support/front-matter.ts +6 -6
  41. package/apps/server/src/plugin-support/http.ts +2 -2
  42. package/apps/server/src/plugin-support/language-server/contract.ts +8 -8
  43. package/apps/server/src/plugin-support/language-server/plugin.ts +2 -2
  44. package/apps/server/src/plugin-support/language-server/snapshot-method.ts +1 -1
  45. package/apps/server/src/plugin-support/language-server/tools.ts +11 -11
  46. package/apps/server/src/plugin-support/model-aliases.ts +30 -20
  47. package/apps/server/src/plugin-support/model-choice.ts +15 -15
  48. package/apps/server/src/plugin-support/model-completion.ts +44 -23
  49. package/apps/server/src/plugin-support/model-providers.ts +170 -0
  50. package/apps/server/src/plugin-support/model-upstreams.ts +1 -1
  51. package/apps/server/src/plugin-support/native-typescript-child.ts +4 -4
  52. package/apps/server/src/plugin-support/native-typescript-executor.ts +12 -12
  53. package/apps/server/src/plugin-support/plugin-config.ts +3 -3
  54. package/apps/server/src/plugin-support/plugin-folder.ts +2 -2
  55. package/apps/server/src/plugin-support/plugins-root.ts +2 -2
  56. package/apps/server/src/plugin-support/process-sandbox.ts +39 -39
  57. package/apps/server/src/plugin-support/product-model-settings-contract.ts +3 -3
  58. package/apps/server/src/plugin-support/product-model-settings.ts +10 -10
  59. package/apps/server/src/plugin-support/product-relay.ts +9 -9
  60. package/apps/server/src/plugin-support/product-start-options.ts +4 -4
  61. package/apps/server/src/plugin-support/prompt.ts +1 -1
  62. package/apps/server/src/plugin-support/provision.ts +8 -8
  63. package/apps/server/src/plugin-support/run-scripts.ts +17 -17
  64. package/apps/server/src/plugin-support/skills.ts +18 -18
  65. package/apps/server/src/plugin-support/start-entries-contract.ts +17 -17
  66. package/apps/server/src/plugin-support/start-options-contract.ts +5 -5
  67. package/apps/server/src/plugin-support/system-prompts.ts +11 -11
  68. package/apps/server/src/plugin-support/thinking-level.ts +2 -2
  69. package/apps/server/src/plugin-support/tool-availability.ts +2 -2
  70. package/apps/server/src/plugin-support/workspace-ownership.ts +5 -5
  71. package/apps/server/src/plugin-support/workspace-sandbox-host.ts +37 -37
  72. package/apps/server/src/plugin-support/zip.ts +7 -7
  73. package/apps/server/src/profile/bundle-manifest.ts +27 -27
  74. package/apps/server/src/profile/compose.ts +12 -7
  75. package/apps/server/src/profile/plugin-discovery.ts +14 -14
  76. package/apps/server/src/profile/provisioning.ts +5 -5
  77. package/apps/server/src/profile-target.ts +10 -10
  78. package/apps/server/src/protocol.ts +2 -2
  79. package/apps/server/src/provider.ts +62 -57
  80. package/apps/server/src/ragents/actor-chat-history.ts +8 -8
  81. package/apps/server/src/ragents/chat-text-positions.ts +2 -2
  82. package/apps/server/src/ragents/coordinator.ts +2 -2
  83. package/apps/server/src/ragents/engine.ts +23 -23
  84. package/apps/server/src/ragents/global-chat.ts +8 -8
  85. package/apps/server/src/ragents/host-services.ts +6 -3
  86. package/apps/server/src/ragents/journal-chat-events.ts +1 -1
  87. package/apps/server/src/ragents/run-owner.ts +2 -2
  88. package/apps/server/src/ragents/session.ts +49 -49
  89. package/apps/server/src/ragents/typescript-tools.ts +12 -12
  90. package/apps/server/src/ragents/workspace-runtime.ts +28 -28
  91. package/apps/server/src/rpc/dispatcher.ts +19 -19
  92. package/apps/server/src/rpc/http-transport.ts +11 -11
  93. package/apps/server/src/rpc/stdio-transport.ts +3 -3
  94. package/apps/server/src/run-preparation-input.ts +5 -5
  95. package/apps/server/src/run-preparation.ts +24 -24
  96. package/apps/server/src/run-transfer.ts +39 -39
  97. package/apps/server/src/server.ts +48 -48
  98. package/apps/server/src/settings.ts +1 -1
  99. package/apps/server/src/startup.ts +3 -3
  100. package/apps/server/src/title-compactor.ts +9 -9
  101. package/apps/server/src/title-settings.ts +3 -3
  102. package/apps/server/src/web-bundles.ts +2 -2
  103. package/apps/server/src/web-stylesheet.ts +2 -2
  104. package/apps/web/dist/assets/{highlighted-body-KPVGNVTW-BO4wLQtE.js → highlighted-body-KPVGNVTW-CpPi6QLr.js} +1 -1
  105. package/apps/web/dist/assets/main-DJmCHGzM.js +11 -0
  106. package/apps/web/dist/assets/mermaid-HWGCJPDP-q-mf1kLN.js +608 -0
  107. package/apps/web/dist/assets/runPanel-nk_aMxSn.js +21 -0
  108. package/apps/web/dist/help/guide-access.html +5 -5
  109. package/apps/web/dist/help/guide-access.md +2 -2
  110. package/apps/web/dist/help/guide-clients.html +53 -54
  111. package/apps/web/dist/help/guide-clients.md +50 -51
  112. package/apps/web/dist/help/guide-distributed.html +12 -7
  113. package/apps/web/dist/help/guide-distributed.md +9 -4
  114. package/apps/web/dist/help/guide-functions.html +3 -3
  115. package/apps/web/dist/help/guide-getting-started.html +24 -15
  116. package/apps/web/dist/help/guide-getting-started.md +22 -12
  117. package/apps/web/dist/help/guide-ideas.html +3 -3
  118. package/apps/web/dist/help/guide-plugins.html +5 -4
  119. package/apps/web/dist/help/guide-plugins.md +2 -1
  120. package/apps/web/dist/help/guide-programs.html +3 -3
  121. package/apps/web/dist/help/guide-runtime.html +6 -6
  122. package/apps/web/dist/help/guide-runtime.md +3 -3
  123. package/apps/web/dist/help/guide.html +3 -3
  124. package/apps/web/dist/help/index.html +196 -144
  125. package/apps/web/dist/help/mini-app.css +6 -0
  126. package/apps/web/dist/help/mini-app.js +14 -14
  127. package/apps/web/dist/host-web.json +91 -91
  128. package/apps/web/dist/index.html +3 -3
  129. package/apps/web/dist/run-panel.html +3 -3
  130. package/apps/web/package.json +1 -1
  131. package/apps/web/src/AccessContext.tsx +15 -15
  132. package/apps/web/src/App.tsx +13 -13
  133. package/apps/web/src/DiffCode.tsx +2 -2
  134. package/apps/web/src/HelpDialog.tsx +3 -3
  135. package/apps/web/src/Overview.tsx +13 -13
  136. package/apps/web/src/PluginActivation.ts +1 -1
  137. package/apps/web/src/PluginChat.tsx +15 -15
  138. package/apps/web/src/PluginFailureNotice.tsx +1 -1
  139. package/apps/web/src/PluginRegistry.tsx +44 -44
  140. package/apps/web/src/RunPreparationChat.tsx +11 -11
  141. package/apps/web/src/RunStore.ts +1 -1
  142. package/apps/web/src/SessionList.tsx +14 -14
  143. package/apps/web/src/SettingsModal.tsx +112 -112
  144. package/apps/web/src/StartOptions.tsx +11 -11
  145. package/apps/web/src/StartSelection.tsx +11 -11
  146. package/apps/web/src/StartTiles.tsx +8 -8
  147. package/apps/web/src/SurfaceShortcuts.tsx +3 -3
  148. package/apps/web/src/ThemeSettings.tsx +8 -8
  149. package/apps/web/src/TitleModelSettings.tsx +13 -13
  150. package/apps/web/src/WorkspacePanel.tsx +9 -9
  151. package/apps/web/src/access-session.ts +4 -4
  152. package/apps/web/src/access-token.ts +5 -5
  153. package/apps/web/src/actor-conversation.ts +3 -3
  154. package/apps/web/src/actor-programs/client-ui/DataTable.tsx +8 -8
  155. package/apps/web/src/actor-programs/client-ui/FilePicker.tsx +4 -4
  156. package/apps/web/src/actor-programs/client-ui/FlowDiagram.tsx +13 -13
  157. package/apps/web/src/actor-programs/client-ui/Viewers.tsx +4 -4
  158. package/apps/web/src/actor-programs/client-ui/WorkflowDiagram.tsx +1 -1
  159. package/apps/web/src/actor-programs/client-ui/file-contracts.d.ts +4 -4
  160. package/apps/web/src/actor-programs/client-ui/file-selection.ts +1 -1
  161. package/apps/web/src/actor-programs/client-ui/viewer-contracts.d.ts +3 -3
  162. package/apps/web/src/api.ts +7 -7
  163. package/apps/web/src/chat/QuasselHost.tsx +1 -1
  164. package/apps/web/src/chat/StoppedActorNotice.tsx +5 -5
  165. package/apps/web/src/chat/chat-target.ts +3 -3
  166. package/apps/web/src/chat/requests.ts +2 -2
  167. package/apps/web/src/chat/useAttachmentCapabilities.ts +2 -2
  168. package/apps/web/src/chat-view-settings.tsx +5 -6
  169. package/apps/web/src/diff-view.css +1 -1
  170. package/apps/web/src/highlighting.css +1 -1
  171. package/apps/web/src/language-server/language-server-plugin.tsx +30 -30
  172. package/apps/web/src/lib/labels.ts +6 -6
  173. package/apps/web/src/main.tsx +4 -4
  174. package/apps/web/src/offered-machines.ts +2 -2
  175. package/apps/web/src/page-opener.tsx +1 -1
  176. package/apps/web/src/panel/ConnectionsPage.tsx +23 -23
  177. package/apps/web/src/panel/LoginForm.tsx +6 -6
  178. package/apps/web/src/panel/PanelDialogs.tsx +22 -22
  179. package/apps/web/src/panel/PanelHeader.tsx +2 -2
  180. package/apps/web/src/panel/PanelPage.tsx +1 -1
  181. package/apps/web/src/panel/RunLine.tsx +4 -4
  182. package/apps/web/src/panel/RunsPage.tsx +15 -15
  183. package/apps/web/src/panel/StartPage.tsx +26 -26
  184. package/apps/web/src/panel/connection-state.ts +9 -9
  185. package/apps/web/src/panel/contract.ts +28 -28
  186. package/apps/web/src/panel.tsx +1 -1
  187. package/apps/web/src/plugin-bootstrap.ts +5 -5
  188. package/apps/web/src/product/ModelControl.tsx +3 -3
  189. package/apps/web/src/product/ProductModelSettings.tsx +16 -16
  190. package/apps/web/src/product/SystemPromptControl.tsx +11 -11
  191. package/apps/web/src/product/model-settings.ts +2 -2
  192. package/apps/web/src/rpc/client.ts +16 -16
  193. package/apps/web/src/rpc.ts +1 -1
  194. package/apps/web/src/run-overview.ts +1 -1
  195. package/apps/web/src/run-panel/RunPanelApp.tsx +39 -39
  196. package/apps/web/src/run-panel/RunPanelHeader.tsx +6 -6
  197. package/apps/web/src/run-panel/RunPanelMenu.tsx +6 -6
  198. package/apps/web/src/run-panel/RunPanelRail.tsx +4 -4
  199. package/apps/web/src/run-panel/RunPanelWorkspace.tsx +3 -3
  200. package/apps/web/src/run-panel/clipboard.ts +3 -3
  201. package/apps/web/src/run-panel/host-contract.ts +5 -5
  202. package/apps/web/src/run-panel/host.ts +15 -15
  203. package/apps/web/src/run-panel/input-bridge.ts +1 -1
  204. package/apps/web/src/run-panel/run-panel-location.ts +5 -5
  205. package/apps/web/src/run-panel/use-session-list.ts +1 -1
  206. package/apps/web/src/run-panel/workspace-state.ts +3 -3
  207. package/apps/web/src/run-panel.tsx +4 -4
  208. package/apps/web/src/run-preparation.ts +2 -2
  209. package/apps/web/src/run-view.ts +3 -3
  210. package/apps/web/src/settings-contributions.ts +32 -32
  211. package/apps/web/src/theme.ts +9 -9
  212. package/apps/web/src/title-model-settings.ts +6 -6
  213. package/apps/web/src/ui/ListDetail.tsx +9 -9
  214. package/apps/web/src/ui/dialog.tsx +2 -2
  215. package/apps/web/src/ui/modal-controller.ts +3 -3
  216. package/apps/web/src/ui/modal.tsx +2 -2
  217. package/apps/web/src/ui/popover.tsx +1 -1
  218. package/apps/web/src/ui/relative-time.ts +8 -8
  219. package/apps/web/src/ui/startup-notice.tsx +2 -2
  220. package/apps/web/src/ui/state-icon.tsx +1 -1
  221. package/apps/web/src/ui/state-vocabulary.ts +16 -16
  222. package/apps/web/src/ui/stop-button.tsx +2 -2
  223. package/bundles/ragents.activity/ragents-bundle.json +3 -3
  224. package/bundles/ragents.activity/web/classes.json +1 -1
  225. package/bundles/ragents.activity/web/index.js +1 -1
  226. package/bundles/ragents.activity/web/index.js.map +2 -2
  227. package/bundles/ragents.actor-programs/ragents-bundle.json +3 -3
  228. package/bundles/ragents.actor-programs/server/index.js +225 -225
  229. package/bundles/ragents.actor-programs/server/index.js.map +2 -2
  230. package/bundles/ragents.actor-programs/web/classes.json +1 -1
  231. package/bundles/ragents.actor-programs/web/index.js +1 -1
  232. package/bundles/ragents.actor-programs/web/index.js.map +3 -3
  233. package/bundles/ragents.ask/ragents-bundle.json +3 -3
  234. package/bundles/ragents.ask/server/chunks/{chunk-PDJO75SQ.js → chunk-YOV27MAR.js} +2 -2
  235. package/bundles/ragents.ask/server/chunks/chunk-YOV27MAR.js.map +7 -0
  236. package/bundles/ragents.ask/server/exports/server/contract.js +1 -1
  237. package/bundles/ragents.ask/server/index.js +23 -23
  238. package/bundles/ragents.ask/server/index.js.map +2 -2
  239. package/bundles/ragents.ask/web/chunks/{chunk-WFN4374U.js → chunk-D6NNB5DS.js} +1 -1
  240. package/bundles/ragents.ask/web/chunks/chunk-D6NNB5DS.js.map +7 -0
  241. package/bundles/ragents.ask/web/chunks/{chunk-MBRPS477.js → chunk-IQBHK7MV.js} +2 -2
  242. package/bundles/ragents.ask/web/chunks/{chunk-MBRPS477.js.map → chunk-IQBHK7MV.js.map} +3 -3
  243. package/bundles/ragents.ask/web/chunks/chunk-PWFIAMX4.js +2 -0
  244. package/bundles/ragents.ask/web/chunks/chunk-PWFIAMX4.js.map +7 -0
  245. package/bundles/ragents.ask/web/chunks/chunk-QHGKEESD.js +2 -0
  246. package/bundles/ragents.ask/web/chunks/chunk-QHGKEESD.js.map +7 -0
  247. package/bundles/ragents.ask/web/classes.json +1 -1
  248. package/bundles/ragents.ask/web/exports/ask-payload.js +1 -1
  249. package/bundles/ragents.ask/web/exports/web/QuestionCard.js +1 -1
  250. package/bundles/ragents.ask/web/exports/web/api.js +1 -1
  251. package/bundles/ragents.ask/web/index.js +1 -1
  252. package/bundles/ragents.ask/web/index.js.map +2 -2
  253. package/bundles/ragents.browser/executor/index.mjs +35 -35
  254. package/bundles/ragents.browser/executor/index.mjs.map +2 -2
  255. package/bundles/ragents.browser/ragents-bundle.json +3 -3
  256. package/bundles/ragents.browser/server/chunks/{chunk-CWLX4VA5.js → chunk-PYEISBNE.js} +1 -1
  257. package/bundles/ragents.browser/server/chunks/{chunk-CWLX4VA5.js.map → chunk-PYEISBNE.js.map} +1 -1
  258. package/bundles/ragents.browser/server/exports/server/contract.js +1 -1
  259. package/bundles/ragents.browser/server/index.js +31 -31
  260. package/bundles/ragents.browser/server/index.js.map +2 -2
  261. package/bundles/ragents.browser/skills/browser-testing/SKILL.md +30 -30
  262. package/bundles/ragents.documents/prompt.hbs +1 -1
  263. package/bundles/ragents.documents/ragents-bundle.json +3 -3
  264. package/bundles/ragents.documents/server/chunks/{chunk-QIECRZ7C.js → chunk-KMZWOVTI.js} +3 -3
  265. package/bundles/ragents.documents/server/chunks/{chunk-QIECRZ7C.js.map → chunk-KMZWOVTI.js.map} +2 -2
  266. package/bundles/ragents.documents/server/exports/contract.js +1 -1
  267. package/bundles/ragents.documents/server/index.js +26 -26
  268. package/bundles/ragents.documents/server/index.js.map +2 -2
  269. package/bundles/ragents.documents/web/classes.json +1 -1
  270. package/bundles/ragents.documents/web/index.js +1 -1
  271. package/bundles/ragents.documents/web/index.js.map +3 -3
  272. package/bundles/ragents.lsp-fsharp/executor/index.mjs +4 -4
  273. package/bundles/ragents.lsp-fsharp/executor/index.mjs.map +2 -2
  274. package/bundles/ragents.lsp-fsharp/ragents-bundle.json +3 -3
  275. package/bundles/ragents.lsp-fsharp/server/index.js +5 -5
  276. package/bundles/ragents.lsp-fsharp/server/index.js.map +2 -2
  277. package/bundles/ragents.lsp-fsharp/web/index.js +1 -1
  278. package/bundles/ragents.lsp-fsharp/web/index.js.map +2 -2
  279. package/bundles/ragents.lsp-roslyn/executor/index.mjs +3 -3
  280. package/bundles/ragents.lsp-roslyn/executor/index.mjs.map +2 -2
  281. package/bundles/ragents.lsp-roslyn/ragents-bundle.json +3 -3
  282. package/bundles/ragents.lsp-roslyn/server/index.js +17 -17
  283. package/bundles/ragents.lsp-roslyn/server/index.js.map +2 -2
  284. package/bundles/ragents.lsp-roslyn/web/index.js +1 -1
  285. package/bundles/ragents.lsp-roslyn/web/index.js.map +2 -2
  286. package/bundles/ragents.lsp-typescript/executor/index.mjs +2 -2
  287. package/bundles/ragents.lsp-typescript/executor/index.mjs.map +2 -2
  288. package/bundles/ragents.lsp-typescript/ragents-bundle.json +3 -3
  289. package/bundles/ragents.lsp-typescript/server/index.js.map +1 -1
  290. package/bundles/ragents.lsp-typescript/web/index.js +1 -1
  291. package/bundles/ragents.lsp-typescript/web/index.js.map +2 -2
  292. package/bundles/ragents.model-relay/ragents-bundle.json +8 -4
  293. package/bundles/ragents.model-relay/server/index.js +25 -21
  294. package/bundles/ragents.model-relay/server/index.js.map +2 -2
  295. package/bundles/ragents.orchestration/ragents-bundle.json +3 -3
  296. package/bundles/ragents.orchestration/server/index.js +28 -28
  297. package/bundles/ragents.orchestration/server/index.js.map +2 -2
  298. package/bundles/ragents.orchestration/web/chunks/{chunk-OSKPH6SZ.js → chunk-CFMJD5ZI.js} +2 -2
  299. package/bundles/ragents.orchestration/web/chunks/chunk-HOBLI364.js +2 -0
  300. package/bundles/ragents.orchestration/web/chunks/{chunk-OQYCNYXN.js.map → chunk-HOBLI364.js.map} +2 -2
  301. package/bundles/ragents.orchestration/web/chunks/{chunk-ODMMQGX2.js → chunk-UCIMT2R4.js} +2 -2
  302. package/bundles/ragents.orchestration/web/classes.json +1 -1
  303. package/bundles/ragents.orchestration/web/exports/web/program-slot.js +1 -1
  304. package/bundles/ragents.orchestration/web/exports/web/surface-entities.js +1 -1
  305. package/bundles/ragents.orchestration/web/index.js +8 -8
  306. package/bundles/ragents.orchestration/web/index.js.map +2 -2
  307. package/bundles/ragents.overseer/ragents-bundle.json +3 -3
  308. package/bundles/ragents.overseer/server/index.js +98 -98
  309. package/bundles/ragents.overseer/server/index.js.map +2 -2
  310. package/bundles/ragents.overseer/web/classes.json +1 -1
  311. package/bundles/ragents.overseer/web/index.js +1 -1
  312. package/bundles/ragents.overseer/web/index.js.map +2 -2
  313. package/bundles/ragents.processes/ragents-bundle.json +3 -3
  314. package/bundles/ragents.processes/server/index.js +11 -11
  315. package/bundles/ragents.processes/server/index.js.map +2 -2
  316. package/bundles/ragents.processes/web/classes.json +1 -1
  317. package/bundles/ragents.processes/web/index.js +3 -3
  318. package/bundles/ragents.processes/web/index.js.map +2 -2
  319. package/bundles/ragents.product/ragents-bundle.json +3 -3
  320. package/bundles/ragents.product/server/index.js +12 -13
  321. package/bundles/ragents.product/server/index.js.map +2 -2
  322. package/bundles/ragents.product/web/classes.json +1 -1
  323. package/bundles/ragents.product/web/index.js +1 -1
  324. package/bundles/ragents.product/web/index.js.map +2 -2
  325. package/bundles/ragents.profile-distribution/ragents-bundle.json +3 -3
  326. package/bundles/ragents.profile-distribution/server/index.js +31 -31
  327. package/bundles/ragents.profile-distribution/server/index.js.map +2 -2
  328. package/bundles/ragents.reference/ragents-bundle.json +3 -3
  329. package/bundles/ragents.reference/run-scripts/balcony-wizard/RUN.md +19 -19
  330. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/package.json +2 -2
  331. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +14 -14
  332. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/conversation.ts +2 -2
  333. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/tests/conversation.test.ts +49 -49
  334. package/bundles/ragents.reference/run-scripts/balcony-wizard/package.json +1 -1
  335. package/bundles/ragents.reference/run-scripts/balcony-wizard/src/server.ts +9 -9
  336. package/bundles/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +9 -9
  337. package/bundles/ragents.reference/run-scripts/conversation-circle/RUN.md +7 -7
  338. package/bundles/ragents.reference/run-scripts/conversation-circle/package.json +1 -1
  339. package/bundles/ragents.reference/run-scripts/conversation-circle/src/server.ts +13 -13
  340. package/bundles/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +1 -1
  341. package/bundles/ragents.reference/run-scripts/conversation-circle/tests/program.test.ts +8 -8
  342. package/bundles/ragents.reference/run-scripts/learning-afternoon/RUN.md +16 -16
  343. package/bundles/ragents.reference/run-scripts/learning-afternoon/package.json +1 -1
  344. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/experiment.md +1 -1
  345. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/helper.md +3 -3
  346. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/quiz.md +1 -1
  347. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/server.ts +9 -9
  348. package/bundles/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +39 -39
  349. package/bundles/ragents.reference/run-scripts/moderated-round/RUN.md +7 -7
  350. package/bundles/ragents.reference/run-scripts/moderated-round/package.json +1 -1
  351. package/bundles/ragents.reference/run-scripts/moderated-round/src/server.ts +9 -9
  352. package/bundles/ragents.reference/run-scripts/moderated-round/tests/helpers.ts +1 -1
  353. package/bundles/ragents.reference/run-scripts/moderated-round/tests/program.test.ts +6 -6
  354. package/bundles/ragents.reference/run-scripts/shared-actor-list/RUN.md +12 -12
  355. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/package.json +2 -2
  356. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/contract.ts +3 -3
  357. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/tests/program.test.ts +4 -4
  358. package/bundles/ragents.reference/run-scripts/shared-actor-list/package.json +1 -1
  359. package/bundles/ragents.reference/run-scripts/shared-actor-list/src/server.ts +11 -11
  360. package/bundles/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +1 -1
  361. package/bundles/ragents.reference/run-scripts/shared-actor-list/tests/program.test.ts +13 -13
  362. package/bundles/ragents.reference/run-scripts/word-game/RUN.md +18 -18
  363. package/bundles/ragents.reference/run-scripts/word-game/package.json +2 -2
  364. package/bundles/ragents.reference/run-scripts/word-game/src/client.tsx +1 -1
  365. package/bundles/ragents.reference/run-scripts/word-game/src/contract.ts +2 -2
  366. package/bundles/ragents.reference/run-scripts/word-game/src/server.ts +16 -16
  367. package/bundles/ragents.reference/run-scripts/word-game/tests/program.test.ts +39 -39
  368. package/bundles/ragents.reference/skills/100-shared-actor-list/SKILL.md +5 -5
  369. package/bundles/ragents.reference/skills/110-all-card-slots/SKILL.md +5 -5
  370. package/bundles/ragents.reference/skills/150-editorial-workbench/SKILL.md +5 -5
  371. package/bundles/ragents.reference/skills/160-learning-companion/SKILL.md +5 -5
  372. package/bundles/ragents.reference/skills/170-photo-collection/SKILL.md +5 -5
  373. package/bundles/ragents.reference/skills/180-decision-workbench/SKILL.md +5 -5
  374. package/bundles/ragents.reference/skills/190-review-queue/SKILL.md +5 -5
  375. package/bundles/ragents.reference/skills/20-circle-of-four/SKILL.md +5 -5
  376. package/bundles/ragents.reference/skills/200-typescript-diagnostics/SKILL.md +5 -5
  377. package/bundles/ragents.reference/skills/210-moderator-handover/SKILL.md +5 -5
  378. package/bundles/ragents.reference/skills/220-actor-approval-list/SKILL.md +5 -5
  379. package/bundles/ragents.reference/skills/230-shared-state-views/SKILL.md +5 -5
  380. package/bundles/ragents.reference/skills/240-live-result-list/SKILL.md +5 -5
  381. package/bundles/ragents.reference/skills/250-balcony-wizard/SKILL.md +5 -5
  382. package/bundles/ragents.reference/skills/30-llm-without-runtime-knowledge/SKILL.md +5 -5
  383. package/bundles/ragents.reference/skills/35-actor-input-fifo/SKILL.md +5 -5
  384. package/bundles/ragents.reference/skills/40-subscription-matrix/SKILL.md +5 -5
  385. package/bundles/ragents.reference/skills/50-subscription-removal/SKILL.md +5 -5
  386. package/bundles/ragents.reference/skills/60-stop-in-the-circle/SKILL.md +5 -5
  387. package/bundles/ragents.reference/skills/65-artifact-least-privilege/SKILL.md +5 -5
  388. package/bundles/ragents.reference/skills/70-headless-counter/SKILL.md +5 -5
  389. package/bundles/ragents.reference/skills/75-lsp-demo/SKILL.md +5 -5
  390. package/bundles/ragents.reference/skills/80-actor-text-analysis/SKILL.md +5 -5
  391. package/bundles/ragents.reference/skills/90-actor-notes/SKILL.md +5 -5
  392. package/bundles/ragents.reference/skills/95-hello-world/SKILL.md +5 -5
  393. package/bundles/ragents.reference/skills/decision-brief/SKILL.md +24 -24
  394. package/bundles/ragents.reference/skills/learning-sprint/SKILL.md +24 -24
  395. package/bundles/ragents.reference/web/classes.json +1 -1
  396. package/bundles/ragents.reference/web/index.js +1 -1
  397. package/bundles/ragents.reference/web/index.js.map +2 -2
  398. package/bundles/ragents.todo/ragents-bundle.json +3 -3
  399. package/bundles/ragents.todo/server/index.js +5 -8
  400. package/bundles/ragents.todo/server/index.js.map +2 -2
  401. package/bundles/ragents.todo/web/classes.json +1 -1
  402. package/bundles/ragents.todo/web/index.js +1 -1
  403. package/bundles/ragents.todo/web/index.js.map +2 -2
  404. package/bundles/ragents.transcript/ragents-bundle.json +3 -3
  405. package/bundles/ragents.transcript/server/index.js +11 -11
  406. package/bundles/ragents.transcript/server/index.js.map +2 -2
  407. package/bundles/ragents.watch/ragents-bundle.json +3 -3
  408. package/bundles/ragents.watch/server/index.js +48 -48
  409. package/bundles/ragents.watch/server/index.js.map +2 -2
  410. package/bundles/ragents.workspace/ragents-bundle.json +3 -3
  411. package/bundles/ragents.workspace/server/index.js +83 -83
  412. package/bundles/ragents.workspace/server/index.js.map +2 -2
  413. package/bundles/ragents.workspace/web/classes.json +1 -1
  414. package/bundles/ragents.workspace/web/index.js +1 -1
  415. package/bundles/ragents.workspace/web/index.js.map +2 -2
  416. package/package.json +4 -4
  417. package/packages/agent/dist/core/model-runtime.d.ts +7 -2
  418. package/packages/agent/dist/index.d.ts +1 -1
  419. package/packages/agent/dist/loop/agent-loop.d.ts +2 -2
  420. package/packages/agent/src/core/compaction/utils.ts +1 -1
  421. package/packages/agent/src/core/model-runtime.ts +45 -5
  422. package/packages/agent/src/index.ts +1 -1
  423. package/packages/agent/src/loop/agent-loop.ts +2 -2
  424. package/packages/ai/dist/models.d.ts +1 -0
  425. package/packages/ai/dist/models.generated.d.ts +4544 -983
  426. package/packages/ai/dist/providers/openrouter.models.d.ts +4544 -983
  427. package/packages/ai/src/api/ai-sdk.ts +33 -7
  428. package/packages/ai/src/api-registry.ts +1 -1
  429. package/packages/ai/src/index.ts +2 -2
  430. package/packages/ai/src/models.generated.ts +1 -1
  431. package/packages/ai/src/models.ts +1 -1
  432. package/packages/ai/src/providers/openrouter.models.ts +3725 -552
  433. package/packages/ragents/src/access.ts +12 -12
  434. package/packages/ragents/src/agents/actor-input.ts +33 -33
  435. package/packages/ragents/src/agents/catalog.ts +1 -1
  436. package/packages/ragents/src/agents/delivery.ts +17 -17
  437. package/packages/ragents/src/agents/plugins.ts +1 -1
  438. package/packages/ragents/src/agents/scheduler.ts +7 -7
  439. package/packages/ragents/src/agents/schemas.ts +1 -1
  440. package/packages/ragents/src/agents/tool-orientation.ts +4 -4
  441. package/packages/ragents/src/agents/tools.ts +20 -20
  442. package/packages/ragents/src/agents/toolset.ts +5 -5
  443. package/packages/ragents/src/agents/workspaces.ts +1 -1
  444. package/packages/ragents/src/domain/events.ts +1 -1
  445. package/packages/ragents/src/domain/model.ts +5 -5
  446. package/packages/ragents/src/drivers/agent-runtime.ts +1 -1
  447. package/packages/ragents/src/drivers/agent-turn.ts +4 -4
  448. package/packages/ragents/src/drivers/agent.ts +2 -2
  449. package/packages/ragents/src/drivers/attachments.ts +4 -4
  450. package/packages/ragents/src/http/contracts.ts +14 -14
  451. package/packages/ragents/src/http/methods.ts +6 -6
  452. package/packages/ragents/src/plugin-host.ts +119 -119
  453. package/packages/ragents/src/plugin-types.ts +16 -16
  454. package/packages/ragents/src/rpc/contract.ts +5 -5
  455. package/packages/ragents/src/rpc/contribution.ts +2 -2
  456. package/packages/ragents/src/rpc/peer.ts +11 -11
  457. package/packages/ragents/src/rpc/protocol.ts +2 -2
  458. package/packages/ragents/src/runtime/decisions/turns.ts +1 -1
  459. package/packages/ragents/src/runtime/journal-storage.ts +1 -1
  460. package/packages/ragents/src/runtime/journal.ts +10 -10
  461. package/packages/ragents/src/runtime/orchestration.ts +8 -8
  462. package/packages/ragents/src/runtime/stop.ts +2 -2
  463. package/packages/ragents/src/script/mediators.ts +35 -35
  464. package/packages/ragents/src/typescript/async-compiler.ts +14 -14
  465. package/packages/ragents/src/typescript/compiler-worker.ts +2 -2
  466. package/packages/ragents/src/typescript/compiler.ts +7 -7
  467. package/packages/ragents/src/typescript/snippet.ts +5 -5
  468. package/packages/workspace-executor/src/bash-launch.ts +13 -13
  469. package/packages/workspace-executor/src/commands.ts +18 -18
  470. package/packages/workspace-executor/src/context.ts +15 -15
  471. package/packages/workspace-executor/src/contributions.ts +44 -44
  472. package/packages/workspace-executor/src/errors.ts +1 -1
  473. package/packages/workspace-executor/src/executor.ts +16 -16
  474. package/packages/workspace-executor/src/files.ts +31 -31
  475. package/packages/workspace-executor/src/index.ts +1 -1
  476. package/packages/workspace-executor/src/language-server/contract.ts +2 -2
  477. package/packages/workspace-executor/src/language-server/diagnostics.ts +4 -4
  478. package/packages/workspace-executor/src/language-server/host.ts +36 -36
  479. package/packages/workspace-executor/src/language-server/json-rpc.ts +4 -4
  480. package/packages/workspace-executor/src/language-server/module.ts +11 -11
  481. package/packages/workspace-executor/src/language-server/roots.ts +3 -3
  482. package/packages/workspace-executor/src/language-server/session.ts +15 -15
  483. package/packages/workspace-executor/src/language-server/workspace-solutions.ts +3 -3
  484. package/packages/workspace-executor/src/managed-process.ts +12 -12
  485. package/packages/workspace-executor/src/module.ts +8 -8
  486. package/packages/workspace-executor/src/modules.ts +3 -3
  487. package/packages/workspace-executor/src/paths.ts +11 -11
  488. package/packages/workspace-executor/src/process-sandbox.ts +3 -3
  489. package/packages/workspace-executor/src/processes/module.ts +3 -3
  490. package/packages/workspace-executor/src/processes/process-table.ts +20 -20
  491. package/packages/workspace-executor/src/processes/scanner.ts +3 -3
  492. package/packages/workspace-executor/src/processes/snapshot.ts +2 -2
  493. package/packages/workspace-executor/src/processes/terminator.ts +13 -13
  494. package/packages/workspace-executor/src/run-folders.ts +3 -3
  495. package/packages/workspace-executor/src/safe-environment.ts +4 -4
  496. package/packages/workspace-executor/src/sandbox-tools.ts +28 -28
  497. package/packages/workspace-executor/src/session-ident.ts +2 -2
  498. package/packages/workspace-executor/src/shell-platform.ts +2 -2
  499. package/packages/workspace-executor/src/tools.ts +5 -5
  500. package/plugins/ragents.activity/web/ActivityHeader.tsx +3 -3
  501. package/plugins/ragents.activity/web/activity.ts +2 -2
  502. package/plugins/ragents.actor-programs/server/access-projections.ts +1 -1
  503. package/plugins/ragents.actor-programs/server/agent-tools.ts +2 -2
  504. package/plugins/ragents.actor-programs/server/capability-resolver.ts +3 -3
  505. package/plugins/ragents.actor-programs/server/controls-template.ts +46 -46
  506. package/plugins/ragents.actor-programs/server/controls-tool.ts +4 -4
  507. package/plugins/ragents.actor-programs/server/limits.ts +3 -3
  508. package/plugins/ragents.actor-programs/server/methods.ts +1 -1
  509. package/plugins/ragents.actor-programs/server/project-diagnostics.ts +8 -8
  510. package/plugins/ragents.actor-programs/server/routes.ts +8 -8
  511. package/plugins/ragents.actor-programs/server/runtime.ts +90 -90
  512. package/plugins/ragents.actor-programs/server/templates.ts +59 -59
  513. package/plugins/ragents.actor-programs/server/test-report.ts +5 -5
  514. package/plugins/ragents.actor-programs/server/tool-contributor.ts +1 -1
  515. package/plugins/ragents.actor-programs/web/ActorViewFrame.tsx +17 -17
  516. package/plugins/ragents.actor-programs/web/AppsPanel.tsx +26 -26
  517. package/plugins/ragents.actor-programs/web/EmbeddedApps.tsx +3 -3
  518. package/plugins/ragents.actor-programs/web/FullscreenHost.tsx +2 -2
  519. package/plugins/ragents.actor-programs/web/FunctionForm.tsx +16 -16
  520. package/plugins/ragents.actor-programs/web/ProgramSource.tsx +5 -5
  521. package/plugins/ragents.actor-programs/web/api.ts +36 -36
  522. package/plugins/ragents.actor-programs/web/bridge.ts +8 -8
  523. package/plugins/ragents.actor-programs/web/chat-state.ts +4 -4
  524. package/plugins/ragents.actor-programs/web/context.ts +1 -1
  525. package/plugins/ragents.actor-programs/web/function-input.ts +6 -6
  526. package/plugins/ragents.actor-programs/web/index.tsx +1 -1
  527. package/plugins/ragents.actor-programs/web/program-state.ts +4 -4
  528. package/plugins/ragents.ask/ask-payload.ts +1 -1
  529. package/plugins/ragents.ask/contract.ts +5 -5
  530. package/plugins/ragents.ask/server/answer-method.ts +1 -1
  531. package/plugins/ragents.ask/server/ask-service.ts +9 -9
  532. package/plugins/ragents.ask/server/ask-tool.ts +10 -10
  533. package/plugins/ragents.ask/server/contract.ts +5 -5
  534. package/plugins/ragents.ask/web/AskActionView.tsx +1 -1
  535. package/plugins/ragents.ask/web/QuestionCard.tsx +22 -22
  536. package/plugins/ragents.ask/web/index.tsx +2 -2
  537. package/plugins/ragents.browser/executor/contract.ts +6 -6
  538. package/plugins/ragents.browser/executor/index.ts +1 -1
  539. package/plugins/ragents.browser/executor/module.ts +6 -6
  540. package/plugins/ragents.browser/executor/pages.ts +32 -32
  541. package/plugins/ragents.browser/executor/playwright.ts +8 -8
  542. package/plugins/ragents.browser/provision.ts +7 -7
  543. package/plugins/ragents.browser/server/browser.ts +14 -14
  544. package/plugins/ragents.browser/server/contract.ts +1 -1
  545. package/plugins/ragents.browser/server/index.ts +1 -1
  546. package/plugins/ragents.browser/server/tools.ts +14 -14
  547. package/plugins/ragents.browser/skills/browser-testing/SKILL.md +30 -30
  548. package/plugins/ragents.documents/contract.ts +2 -2
  549. package/plugins/ragents.documents/prompt.hbs +1 -1
  550. package/plugins/ragents.documents/server/document-write-tool.ts +12 -12
  551. package/plugins/ragents.documents/server/files-route.ts +6 -6
  552. package/plugins/ragents.documents/server/show-document-tool.ts +26 -26
  553. package/plugins/ragents.documents/server/store.ts +1 -1
  554. package/plugins/ragents.documents/web/DocumentViewer.tsx +37 -37
  555. package/plugins/ragents.documents/web/index.tsx +11 -11
  556. package/plugins/ragents.lsp-fsharp/executor.ts +7 -7
  557. package/plugins/ragents.lsp-fsharp/provision.ts +7 -7
  558. package/plugins/ragents.lsp-roslyn/executor.ts +5 -5
  559. package/plugins/ragents.lsp-roslyn/provision.ts +4 -4
  560. package/plugins/ragents.lsp-roslyn/server/index.ts +5 -5
  561. package/plugins/ragents.lsp-roslyn/server/solution-on-start.ts +13 -13
  562. package/plugins/ragents.lsp-typescript/executor.ts +3 -3
  563. package/plugins/ragents.model-relay/server/config.ts +6 -2
  564. package/plugins/ragents.model-relay/server/index.ts +2 -2
  565. package/plugins/ragents.model-relay/server/relay.ts +23 -22
  566. package/plugins/ragents.orchestration/contract.ts +8 -8
  567. package/plugins/ragents.orchestration/server/index.ts +4 -4
  568. package/plugins/ragents.orchestration/server/run-stop-tool.ts +3 -3
  569. package/plugins/ragents.orchestration/server/surface-tool.ts +5 -5
  570. package/plugins/ragents.orchestration/tiled-layout.ts +11 -11
  571. package/plugins/ragents.orchestration/web/ActorChat.tsx +3 -3
  572. package/plugins/ragents.orchestration/web/ActorChatControls.tsx +4 -5
  573. package/plugins/ragents.orchestration/web/ActorChatPreview.tsx +1 -1
  574. package/plugins/ragents.orchestration/web/ActorPopout.tsx +1 -1
  575. package/plugins/ragents.orchestration/web/ActorShortcut.tsx +6 -6
  576. package/plugins/ragents.orchestration/web/ActorSurfaceControls.tsx +15 -15
  577. package/plugins/ragents.orchestration/web/Center.tsx +5 -5
  578. package/plugins/ragents.orchestration/web/DocumentsSection.tsx +2 -2
  579. package/plugins/ragents.orchestration/web/ExecutionsPanel.tsx +15 -15
  580. package/plugins/ragents.orchestration/web/FlowInspector.tsx +103 -103
  581. package/plugins/ragents.orchestration/web/JournalStatus.tsx +11 -11
  582. package/plugins/ragents.orchestration/web/MaterialBody.tsx +2 -2
  583. package/plugins/ragents.orchestration/web/StopRunButton.tsx +6 -6
  584. package/plugins/ragents.orchestration/web/TiledSurface.tsx +9 -9
  585. package/plugins/ragents.orchestration/web/actor-header-settings.ts +5 -5
  586. package/plugins/ragents.orchestration/web/constants.ts +2 -2
  587. package/plugins/ragents.orchestration/web/executions.ts +6 -6
  588. package/plugins/ragents.orchestration/web/format.ts +1 -1
  589. package/plugins/ragents.orchestration/web/index.tsx +2 -2
  590. package/plugins/ragents.orchestration/web/run-panel/AddresseeControl.tsx +7 -7
  591. package/plugins/ragents.orchestration/web/run-panel/AddresseeTree.tsx +8 -8
  592. package/plugins/ragents.orchestration/web/run-panel/RunPanel.tsx +22 -22
  593. package/plugins/ragents.orchestration/web/run-panel/RunPanelSettings.tsx +7 -7
  594. package/plugins/ragents.orchestration/web/run-panel/addressee-tree.ts +13 -13
  595. package/plugins/ragents.orchestration/web/run-panel/run-panel-actors.ts +3 -3
  596. package/plugins/ragents.orchestration/web/run-panel/run-panel-settings.ts +2 -2
  597. package/plugins/ragents.orchestration/web/run-panel/run-panel-startup.ts +3 -3
  598. package/plugins/ragents.orchestration/web/run-panel/run-panel-state.ts +7 -7
  599. package/plugins/ragents.orchestration/web/run-panel/sheet-status.ts +9 -9
  600. package/plugins/ragents.orchestration/web/surface-startup.ts +8 -8
  601. package/plugins/ragents.orchestration/web/surface-view-settings.ts +1 -1
  602. package/plugins/ragents.orchestration/web/tiled-view-settings.ts +1 -1
  603. package/plugins/ragents.overseer/contract.ts +20 -20
  604. package/plugins/ragents.overseer/server/api.ts +6 -6
  605. package/plugins/ragents.overseer/server/coordinator-prompt.ts +10 -10
  606. package/plugins/ragents.overseer/server/coordinator.ts +4 -4
  607. package/plugins/ragents.overseer/server/index.ts +24 -24
  608. package/plugins/ragents.overseer/server/orientation.ts +8 -8
  609. package/plugins/ragents.overseer/server/quick-answer.ts +9 -9
  610. package/plugins/ragents.overseer/server/run-directory.ts +5 -5
  611. package/plugins/ragents.overseer/server/settings.ts +6 -6
  612. package/plugins/ragents.overseer/server/user-location.ts +16 -16
  613. package/plugins/ragents.overseer/web/ModelSettings.tsx +9 -9
  614. package/plugins/ragents.overseer/web/index.tsx +20 -20
  615. package/plugins/ragents.overseer/web/model-settings.ts +1 -1
  616. package/plugins/ragents.overseer/web/quick-answers.ts +2 -2
  617. package/plugins/ragents.processes/contract.ts +5 -5
  618. package/plugins/ragents.processes/server/methods.ts +4 -4
  619. package/plugins/ragents.processes/server/observer.ts +8 -8
  620. package/plugins/ragents.processes/server/run-processes.ts +2 -2
  621. package/plugins/ragents.processes/web/ProcessHeader.tsx +10 -10
  622. package/plugins/ragents.processes/web/processes.ts +10 -10
  623. package/plugins/ragents.product/server/config.ts +1 -1
  624. package/plugins/ragents.product/server/index.ts +4 -4
  625. package/plugins/ragents.product/server/runtime.ts +9 -10
  626. package/plugins/ragents.product/web/index.tsx +1 -1
  627. package/plugins/ragents.profile-distribution/contract.ts +10 -10
  628. package/plugins/ragents.profile-distribution/server/archive.ts +20 -20
  629. package/plugins/ragents.profile-distribution/server/config.ts +2 -2
  630. package/plugins/ragents.profile-distribution/server/index.ts +4 -4
  631. package/plugins/ragents.reference/examples.ts +27 -27
  632. package/plugins/ragents.reference/run-scripts/balcony-wizard/RUN.md +19 -19
  633. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/package.json +2 -2
  634. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +14 -14
  635. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/conversation.ts +2 -2
  636. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/tests/conversation.test.ts +49 -49
  637. package/plugins/ragents.reference/run-scripts/balcony-wizard/package.json +1 -1
  638. package/plugins/ragents.reference/run-scripts/balcony-wizard/src/server.ts +9 -9
  639. package/plugins/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +9 -9
  640. package/plugins/ragents.reference/run-scripts/conversation-circle/RUN.md +7 -7
  641. package/plugins/ragents.reference/run-scripts/conversation-circle/package.json +1 -1
  642. package/plugins/ragents.reference/run-scripts/conversation-circle/src/server.ts +13 -13
  643. package/plugins/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +1 -1
  644. package/plugins/ragents.reference/run-scripts/conversation-circle/tests/program.test.ts +8 -8
  645. package/plugins/ragents.reference/run-scripts/learning-afternoon/RUN.md +16 -16
  646. package/plugins/ragents.reference/run-scripts/learning-afternoon/package.json +1 -1
  647. package/plugins/ragents.reference/run-scripts/learning-afternoon/prompts/experiment.md +1 -1
  648. package/plugins/ragents.reference/run-scripts/learning-afternoon/prompts/helper.md +3 -3
  649. package/plugins/ragents.reference/run-scripts/learning-afternoon/prompts/quiz.md +1 -1
  650. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/server.ts +9 -9
  651. package/plugins/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +39 -39
  652. package/plugins/ragents.reference/run-scripts/moderated-round/RUN.md +7 -7
  653. package/plugins/ragents.reference/run-scripts/moderated-round/package.json +1 -1
  654. package/plugins/ragents.reference/run-scripts/moderated-round/src/server.ts +9 -9
  655. package/plugins/ragents.reference/run-scripts/moderated-round/tests/helpers.ts +1 -1
  656. package/plugins/ragents.reference/run-scripts/moderated-round/tests/program.test.ts +6 -6
  657. package/plugins/ragents.reference/run-scripts/shared-actor-list/RUN.md +12 -12
  658. package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/package.json +2 -2
  659. package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/contract.ts +3 -3
  660. package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/tests/program.test.ts +4 -4
  661. package/plugins/ragents.reference/run-scripts/shared-actor-list/package.json +1 -1
  662. package/plugins/ragents.reference/run-scripts/shared-actor-list/src/server.ts +11 -11
  663. package/plugins/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +1 -1
  664. package/plugins/ragents.reference/run-scripts/shared-actor-list/tests/program.test.ts +13 -13
  665. package/plugins/ragents.reference/run-scripts/word-game/RUN.md +18 -18
  666. package/plugins/ragents.reference/run-scripts/word-game/package.json +2 -2
  667. package/plugins/ragents.reference/run-scripts/word-game/src/client.tsx +1 -1
  668. package/plugins/ragents.reference/run-scripts/word-game/src/contract.ts +2 -2
  669. package/plugins/ragents.reference/run-scripts/word-game/src/server.ts +16 -16
  670. package/plugins/ragents.reference/run-scripts/word-game/tests/program.test.ts +39 -39
  671. package/plugins/ragents.reference/skills/100-shared-actor-list/SKILL.md +5 -5
  672. package/plugins/ragents.reference/skills/110-all-card-slots/SKILL.md +5 -5
  673. package/plugins/ragents.reference/skills/150-editorial-workbench/SKILL.md +5 -5
  674. package/plugins/ragents.reference/skills/160-learning-companion/SKILL.md +5 -5
  675. package/plugins/ragents.reference/skills/170-photo-collection/SKILL.md +5 -5
  676. package/plugins/ragents.reference/skills/180-decision-workbench/SKILL.md +5 -5
  677. package/plugins/ragents.reference/skills/190-review-queue/SKILL.md +5 -5
  678. package/plugins/ragents.reference/skills/20-circle-of-four/SKILL.md +5 -5
  679. package/plugins/ragents.reference/skills/200-typescript-diagnostics/SKILL.md +5 -5
  680. package/plugins/ragents.reference/skills/210-moderator-handover/SKILL.md +5 -5
  681. package/plugins/ragents.reference/skills/220-actor-approval-list/SKILL.md +5 -5
  682. package/plugins/ragents.reference/skills/230-shared-state-views/SKILL.md +5 -5
  683. package/plugins/ragents.reference/skills/240-live-result-list/SKILL.md +5 -5
  684. package/plugins/ragents.reference/skills/250-balcony-wizard/SKILL.md +5 -5
  685. package/plugins/ragents.reference/skills/30-llm-without-runtime-knowledge/SKILL.md +5 -5
  686. package/plugins/ragents.reference/skills/35-actor-input-fifo/SKILL.md +5 -5
  687. package/plugins/ragents.reference/skills/40-subscription-matrix/SKILL.md +5 -5
  688. package/plugins/ragents.reference/skills/50-subscription-removal/SKILL.md +5 -5
  689. package/plugins/ragents.reference/skills/60-stop-in-the-circle/SKILL.md +5 -5
  690. package/plugins/ragents.reference/skills/65-artifact-least-privilege/SKILL.md +5 -5
  691. package/plugins/ragents.reference/skills/70-headless-counter/SKILL.md +5 -5
  692. package/plugins/ragents.reference/skills/75-lsp-demo/SKILL.md +5 -5
  693. package/plugins/ragents.reference/skills/80-actor-text-analysis/SKILL.md +5 -5
  694. package/plugins/ragents.reference/skills/90-actor-notes/SKILL.md +5 -5
  695. package/plugins/ragents.reference/skills/95-hello-world/SKILL.md +5 -5
  696. package/plugins/ragents.reference/skills/decision-brief/SKILL.md +24 -24
  697. package/plugins/ragents.reference/skills/learning-sprint/SKILL.md +24 -24
  698. package/plugins/ragents.reference/walkthroughs.ts +128 -128
  699. package/plugins/ragents.reference/web/StartGuides.tsx +23 -23
  700. package/plugins/ragents.todo/contract.ts +0 -3
  701. package/plugins/ragents.todo/server/todo-tool.ts +6 -6
  702. package/plugins/ragents.todo/web/TodoSection.tsx +1 -1
  703. package/plugins/ragents.transcript/server/transcript.ts +11 -11
  704. package/plugins/ragents.watch/server/condition.ts +4 -4
  705. package/plugins/ragents.watch/server/functions.ts +27 -27
  706. package/plugins/ragents.watch/server/observation.ts +2 -2
  707. package/plugins/ragents.watch/server/service.ts +14 -14
  708. package/plugins/ragents.workspace/client/transport.ts +1 -1
  709. package/plugins/ragents.workspace/client/workspace-client.ts +63 -63
  710. package/plugins/ragents.workspace/contract.ts +46 -46
  711. package/plugins/ragents.workspace/server/binding.ts +20 -20
  712. package/plugins/ragents.workspace/server/browse-route.ts +8 -8
  713. package/plugins/ragents.workspace/server/clients.ts +50 -50
  714. package/plugins/ragents.workspace/server/config.ts +7 -7
  715. package/plugins/ragents.workspace/server/index.ts +3 -3
  716. package/plugins/ragents.workspace/server/runtime.ts +26 -26
  717. package/plugins/ragents.workspace/server/shell-platform.ts +1 -1
  718. package/plugins/ragents.workspace/web/FileBrowser.tsx +10 -10
  719. package/plugins/ragents.workspace/web/WorkspaceBinding.tsx +24 -24
  720. package/plugins/ragents.workspace/web/index.tsx +1 -1
  721. package/ragents.config.core.ts +1 -1
  722. package/ragents.config.developer.ts +3 -3
  723. package/ragents.config.showcase.ts +2 -2
  724. package/scripts/agent/agent-cli.ts +96 -96
  725. package/scripts/agent/journal.ts +5 -5
  726. package/scripts/agent/turn-control.ts +4 -4
  727. package/scripts/package/build-package.ts +31 -31
  728. package/scripts/package/host-links.mjs +3 -3
  729. package/scripts/package/publish-package.ts +29 -29
  730. package/scripts/package/ragents.mjs +19 -19
  731. package/scripts/plugin/build-builtin-plugins.ts +5 -5
  732. package/scripts/plugin/plugin-cli.ts +14 -14
  733. package/scripts/provision/run-provision.ts +14 -15
  734. package/scripts/remote/connect.ts +49 -49
  735. package/scripts/remote/start.ts +18 -18
  736. package/scripts/workspace-client/run-workspace-client.ts +23 -23
  737. package/apps/web/dist/assets/main-DnnqWHkH.js +0 -11
  738. package/apps/web/dist/assets/mermaid-HWGCJPDP-BLLeth5_.js +0 -568
  739. package/apps/web/dist/assets/runPanel-DPm7s3KM.js +0 -21
  740. package/bundles/ragents.ask/server/chunks/chunk-PDJO75SQ.js.map +0 -7
  741. package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js +0 -2
  742. package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js.map +0 -7
  743. package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js +0 -2
  744. package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js.map +0 -7
  745. package/bundles/ragents.ask/web/chunks/chunk-WFN4374U.js.map +0 -7
  746. package/bundles/ragents.orchestration/web/chunks/chunk-OQYCNYXN.js +0 -2
  747. /package/bundles/ragents.orchestration/web/chunks/{chunk-OSKPH6SZ.js.map → chunk-CFMJD5ZI.js.map} +0 -0
  748. /package/bundles/ragents.orchestration/web/chunks/{chunk-ODMMQGX2.js.map → chunk-UCIMT2R4.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- // Fremde Klassen von highlight.js und react-diff-view; hier statt in den Komponenten, die auch Mini-Apps bündeln.
1
+ // Foreign classes of highlight.js and react-diff-view; here instead of in the components that mini-apps also bundle.
2
2
  import "./highlighting.css";
3
3
  import "./diff-view.css";
4
4
  import { StrictMode } from "react";
@@ -17,7 +17,7 @@ import { installHostModules } from "./host-modules";
17
17
 
18
18
  installHostModules();
19
19
  const root = document.getElementById("root");
20
- if (!root) throw new Error("Root-Element fehlt");
20
+ if (!root) throw new Error("Root element is missing");
21
21
 
22
22
  const reactRoot = createRoot(root);
23
23
  try {
@@ -45,8 +45,8 @@ try {
45
45
  );
46
46
  } catch (cause) {
47
47
  reactRoot.render(<AccessScreen>
48
- <h1 className="my-3 text-[1.5rem]">Das RAgents-Panel konnte nicht geladen werden</h1>
48
+ <h1 className="my-3 text-[1.5rem]">The RAgents panel could not be loaded</h1>
49
49
  <p className="mb-6 leading-normal" role="alert">{cause instanceof Error ? cause.message : String(cause)}</p>
50
- <Button onClick={() => window.location.reload()} variant="outline">Erneut laden</Button>
50
+ <Button onClick={() => window.location.reload()} variant="outline">Reload</Button>
51
51
  </AccessScreen>);
52
52
  }
@@ -6,10 +6,10 @@ import type { RpcClient } from "./rpc/client";
6
6
  export async function discussRun(sessionId: string, messages: RunPreparationMessage[], signal: AbortSignal, skillName?: string, client: RpcClient = rpc): Promise<RunPreparationResponse> {
7
7
  const result = await client.call(coreContracts.prepare, { runId: sessionId, messages, ...(skillName ? { skillName } : {}) }, { signal });
8
8
  if (result.kind === "start") {
9
- if (!result.input || typeof result.input.text !== "string" || !result.input.text.trim()) throw new Error("Der vorbereitete Startauftrag fehlt.");
9
+ if (!result.input || typeof result.input.text !== "string" || !result.input.text.trim()) throw new Error("The prepared start task is missing.");
10
10
  return result;
11
11
  }
12
- if (result.kind !== "reply" || typeof result.text !== "string" || !result.text.trim()) throw new Error("Die Vorbereitung hat keine Antwort geliefert.");
12
+ if (result.kind !== "reply" || typeof result.text !== "string" || !result.text.trim()) throw new Error("The preparation did not return an answer.");
13
13
  return result;
14
14
  }
15
15
 
@@ -103,7 +103,7 @@ const isRunTurnOutput = (value: unknown): value is RunTurnOutput => {
103
103
  && typeof output.occurredAt === "string";
104
104
  };
105
105
 
106
- /** Die Modellantworten eines Turns in Journal-Reihenfolge; eine Ansicht ohne das Feld liefert nichts. */
106
+ /** The model responses of a turn in journal order; a view without the field yields nothing. */
107
107
  export const runTurnOutputs = (turn: RunTurn): RunTurnOutput[] =>
108
108
  (Array.isArray(turn.outputs) ? turn.outputs.filter(isRunTurnOutput) : [])
109
109
  .sort((left, right) => left.sequence - right.sequence);
@@ -176,7 +176,7 @@ export interface RunView {
176
176
  artifacts: RunArtifact[];
177
177
  }
178
178
 
179
- /** Der Gesprächspartner des Run-Chats: der Primary-Actor oder, solange keiner gewählt ist, der als Primary gestoppte Actor. */
179
+ /** The conversation partner of the run chat: the primary actor or, while none is chosen, the actor stopped as primary. */
180
180
  export const chatPrimaryId = (view: RunView): string | null => view.primaryActorId ?? view.stoppedPrimaryActorId ?? null;
181
181
 
182
182
  export type ActorTone = "agent" | "primary" | "script";
@@ -206,7 +206,7 @@ export const runArtifactContentUrl = (runId: string, artifactId: string) => arti
206
206
  export const runActorFrom = (value: unknown): RunActor => {
207
207
  const actor = value as RunActor | undefined;
208
208
  if (typeof actor?.id !== "string" || typeof actor.handle !== "string") {
209
- throw new Error("Der Karten-Kontext enthält keinen Actor der Run-Ansicht");
209
+ throw new Error("The card context contains no actor of the run view");
210
210
  }
211
211
  return actor;
212
212
  };
@@ -31,13 +31,13 @@ export interface ContributionFilterOption {
31
31
  }
32
32
 
33
33
  export const contributionFilters: readonly ContributionFilterOption[] = [
34
- { id: "all", label: "Alle" },
35
- { id: "tools", label: "Funktionen" },
34
+ { id: "all", label: "All" },
35
+ { id: "tools", label: "Functions" },
36
36
  { id: "prompts", label: "Prompts" },
37
- { id: "startEntries", label: "Vorlagen" },
37
+ { id: "startEntries", label: "Templates" },
38
38
  { id: "skills", label: "Skills" },
39
39
  { id: "hooks", label: "Hooks" },
40
- { id: "configuration", label: "Konfiguration" },
40
+ { id: "configuration", label: "Configuration" },
41
41
  { id: "web", label: "Web" },
42
42
  ];
43
43
 
@@ -82,19 +82,19 @@ export const toolKindLabel = (kind: SettingsTool["kind"]): string => {
82
82
  };
83
83
 
84
84
  export const toolScopeLabel = (scope: SettingsTool["scope"]): string => {
85
- if (scope === "global") return "Laufzeitweit";
86
- if (scope === "per-agent") return "Je Agent";
87
- return "Je Turn";
85
+ if (scope === "global") return "Runtime-wide";
86
+ if (scope === "per-agent") return "Per agent";
87
+ return "Per turn";
88
88
  };
89
89
 
90
90
  export const toolAvailabilityLabel = (availability: SettingsTool["availability"]): string =>
91
- availability === "always" ? "Grundsätzlich verfügbar" : "Bedingt verfügbar";
91
+ availability === "always" ? "Always available" : "Conditionally available";
92
92
 
93
93
  export const functionSurfaceLabel = (nativeTool: SettingsTool["nativeTool"]): string =>
94
- nativeTool === true ? "LLM-Werkzeug" : "TypeScript-Funktion";
94
+ nativeTool === true ? "LLM tool" : "TypeScript function";
95
95
 
96
96
  export const skillAudienceLabel = (audience: SettingsSkill["audiences"][number]): string =>
97
- audience === "coordinator" ? "Koordinator" : "Agenten";
97
+ audience === "coordinator" ? "Coordinator" : "Agents";
98
98
 
99
99
  export const groupContributions = (
100
100
  settings: SettingsResponse,
@@ -141,17 +141,17 @@ export const filterGroup = (
141
141
  filter: ContributionFilter,
142
142
  searchText: string,
143
143
  ): PluginGroup => {
144
- const needle = searchText.trim().toLocaleLowerCase("de-DE");
144
+ const needle = searchText.trim().toLocaleLowerCase("en-US");
145
145
  const kept = (kind: ContributionKind) => filter === "all" || filter === kind;
146
146
  const matches = (haystack: readonly (string | undefined)[]) =>
147
147
  needle === "" || haystack.filter((part): part is string => part !== undefined)
148
- .join(" ").toLocaleLowerCase("de-DE").includes(needle);
148
+ .join(" ").toLocaleLowerCase("en-US").includes(needle);
149
149
  const configuration = kept("configuration")
150
150
  ? group.configuration.filter((entry) => matches([entry.key, entry.source]))
151
151
  : [];
152
152
  const clientConfig = kept("configuration")
153
153
  && group.clientConfig !== undefined
154
- && matches([group.id, "Client-Konfiguration", JSON.stringify(group.clientConfig)])
154
+ && matches([group.id, "Client configuration", JSON.stringify(group.clientConfig)])
155
155
  ? group.clientConfig
156
156
  : undefined;
157
157
  return {
@@ -203,14 +203,14 @@ const webCount = (web: PluginWebModule): number =>
203
203
  const filterWebModule = (web: PluginWebModule, needle: string): PluginWebModule => {
204
204
  if (web.state !== "contributions") return needle === "" ? web : { state: "hidden" };
205
205
  const contributions = web.contributions.filter((contribution) =>
206
- [contribution.kind, ...contribution.details].join(" ").toLocaleLowerCase("de-DE").includes(needle));
206
+ [contribution.kind, ...contribution.details].join(" ").toLocaleLowerCase("en-US").includes(needle));
207
207
  return contributions.length === 0 && needle !== "" ? { state: "hidden" } : { state: "contributions", contributions };
208
208
  };
209
209
 
210
210
  const ownersOf = (items: readonly { owner: string }[]): readonly string[] => items.map((item) => item.owner);
211
211
 
212
212
  export const entryActionLabel = (entry: StartEntry): string =>
213
- entry.action === "skill" ? "Skill" : "Run-Script";
213
+ entry.action === "skill" ? "Skill" : "Run script";
214
214
 
215
215
  const entrySearchParts = (entry: StartEntry): readonly (string | undefined)[] => [
216
216
  entry.id,
@@ -229,24 +229,24 @@ const webModuleOf = (plugin: WebPlugin | undefined): PluginWebModule => {
229
229
  };
230
230
 
231
231
  const webContributionsOf = (plugin: WebPlugin): readonly WebContribution[] => [
232
- listed("Reiter der Leiste", (plugin.workspaceTabs ?? []).map((tab) => `${tab.id} (${tab.label})`)),
233
- flagged("Dynamische Reiter der Leiste", plugin.workspaceTabsFor !== undefined),
234
- listed("Leitfäden", (plugin.guides ?? []).map((guide) => guide.id)),
232
+ listed("Sidebar tabs", (plugin.workspaceTabs ?? []).map((tab) => `${tab.id} (${tab.label})`)),
233
+ flagged("Dynamic sidebar tabs", plugin.workspaceTabsFor !== undefined),
234
+ listed("Guides", (plugin.guides ?? []).map((guide) => guide.id)),
235
235
  flagged("Branding", plugin.brand !== undefined),
236
- flagged("Fläche", plugin.surface !== undefined),
237
- counted("Flächenelemente", (plugin.surfaceElements ?? []).length),
238
- counted("Karten-Abschnitte", (plugin.cardSections ?? []).length),
239
- counted("Werkzeug-Darstellungen", (plugin.toolPresenters ?? []).length),
240
- counted("Entitäts-Darstellungen", (plugin.entityPresenters ?? []).length),
241
- counted("Session-Kopfbeiträge", (plugin.sessionHeaders ?? []).length),
242
- listed("Übersichtsbeiträge", (plugin.overviewPanels ?? []).map((panel) => panel.id)),
243
- listed("Einstellungen", (plugin.settings ?? []).map((setting) => `${setting.id} (${setting.label})`)),
244
- counted("Session-Metadaten", (plugin.sessionMetadata ?? []).length),
245
- counted("Attention-Beiträge", (plugin.attention ?? []).length),
246
- listed("Startoptionen", (plugin.startOptions ?? []).map((option) => option.id)),
247
- flagged("Chat-Darstellung", plugin.chatDisplayPolicy !== undefined),
248
- listed("Aktionsdarstellungen", (plugin.actionViews ?? []).map((view) => view.owner)),
249
- flagged("Session-Provider", plugin.SessionProvider !== undefined),
236
+ flagged("Surface", plugin.surface !== undefined),
237
+ counted("Surface elements", (plugin.surfaceElements ?? []).length),
238
+ counted("Card sections", (plugin.cardSections ?? []).length),
239
+ counted("Tool presenters", (plugin.toolPresenters ?? []).length),
240
+ counted("Entity presenters", (plugin.entityPresenters ?? []).length),
241
+ counted("Session header contributions", (plugin.sessionHeaders ?? []).length),
242
+ listed("Overview contributions", (plugin.overviewPanels ?? []).map((panel) => panel.id)),
243
+ listed("Settings", (plugin.settings ?? []).map((setting) => `${setting.id} (${setting.label})`)),
244
+ counted("Session metadata", (plugin.sessionMetadata ?? []).length),
245
+ counted("Attention contributions", (plugin.attention ?? []).length),
246
+ listed("Start options", (plugin.startOptions ?? []).map((option) => option.id)),
247
+ flagged("Chat display", plugin.chatDisplayPolicy !== undefined),
248
+ listed("Action views", (plugin.actionViews ?? []).map((view) => view.owner)),
249
+ flagged("Session provider", plugin.SessionProvider !== undefined),
250
250
  ].filter((contribution): contribution is WebContribution => contribution !== undefined);
251
251
 
252
252
  const listed = (kind: string, details: readonly string[]): WebContribution | undefined =>
@@ -6,8 +6,8 @@ export type ThemePreference = "light" | "dark" | "system";
6
6
  export type ResolvedTheme = Exclude<ThemePreference, "system">;
7
7
 
8
8
  export const themeOptions = [
9
- { value: "light", label: "Hell" },
10
- { value: "dark", label: "Dunkel" },
9
+ { value: "light", label: "Light" },
10
+ { value: "dark", label: "Dark" },
11
11
  { value: "system", label: "System" },
12
12
  ] as const;
13
13
 
@@ -20,7 +20,7 @@ interface ThemeSnapshot {
20
20
  export function parseThemePreference(value: string | null): ThemePreference {
21
21
  if (value === null) return "dark";
22
22
  if (value === "light" || value === "dark" || value === "system") return value;
23
- throw new Error(`Ungültige Darstellung in ${THEME_STORAGE_KEY}: ${JSON.stringify(value)}. Erlaubt sind light, dark und system.`);
23
+ throw new Error(`Invalid theme in ${THEME_STORAGE_KEY}: ${JSON.stringify(value)}. Allowed are light, dark, and system.`);
24
24
  }
25
25
 
26
26
  const errorMessage = (cause: unknown) => cause instanceof Error ? cause.message : String(cause);
@@ -32,7 +32,7 @@ export function createThemeStore(browser: Window) {
32
32
  storage = browser.localStorage;
33
33
  preference = parseThemePreference(storage.getItem(THEME_STORAGE_KEY));
34
34
  } catch (cause) {
35
- throw new Error(`Die gespeicherte Darstellung konnte nicht geladen werden. ${errorMessage(cause)}`);
35
+ throw new Error(`The saved theme could not be loaded. ${errorMessage(cause)}`);
36
36
  }
37
37
  const media = browser.matchMedia("(prefers-color-scheme: dark)");
38
38
  const appearanceOf = (value: ThemePreference): ResolvedTheme => value === "system" ? media.matches ? "dark" : "light" : value;
@@ -78,7 +78,7 @@ export function createThemeStore(browser: Window) {
78
78
  try {
79
79
  apply(parseThemePreference(storage.getItem(THEME_STORAGE_KEY)));
80
80
  } catch (cause) {
81
- reportError(`Die Darstellung aus einem anderen Browser-Tab konnte nicht übernommen werden. ${errorMessage(cause)}`);
81
+ reportError(`The theme from another browser tab could not be applied. ${errorMessage(cause)}`);
82
82
  }
83
83
  }
84
84
 
@@ -88,18 +88,18 @@ export function createThemeStore(browser: Window) {
88
88
  return {
89
89
  getSnapshot: () => snapshot,
90
90
  subscribe(listener: () => void) {
91
- if (disposed) throw new Error("Die Darstellung wurde bereits beendet.");
91
+ if (disposed) throw new Error("The theme has already been disposed.");
92
92
  listeners.add(listener);
93
93
  return () => { listeners.delete(listener); };
94
94
  },
95
95
  setPreference(next: ThemePreference) {
96
- if (disposed) throw new Error("Die Darstellung wurde bereits beendet.");
96
+ if (disposed) throw new Error("The theme has already been disposed.");
97
97
  try {
98
98
  parseThemePreference(next);
99
99
  storage.setItem(THEME_STORAGE_KEY, next);
100
100
  apply(next);
101
101
  } catch (cause) {
102
- reportError(`Die Darstellung konnte nicht gespeichert werden. ${errorMessage(cause)}`);
102
+ reportError(`The theme could not be saved. ${errorMessage(cause)}`);
103
103
  }
104
104
  },
105
105
  dispose() {
@@ -122,7 +122,7 @@ export function initializeTheme(browser: Window) {
122
122
  }
123
123
 
124
124
  export function getThemeStore() {
125
- if (!activeTheme) throw new Error("Die Darstellung wurde noch nicht initialisiert.");
125
+ if (!activeTheme) throw new Error("The theme has not been initialized yet.");
126
126
  return activeTheme;
127
127
  }
128
128
 
@@ -13,12 +13,12 @@ export function titleModelSettingsFrom(value: unknown): TitleModelSettings {
13
13
  if (!isRecord(value) || !Array.isArray(value.models)
14
14
  || !value.models.every((model) => isRecord(model) && text(model.provider) && text(model.id) && text(model.label))
15
15
  || (value.selection !== null && (!isRecord(value.selection) || !text(value.selection.provider) || !text(value.selection.model)))) {
16
- throw new Error("Der Server hat ungültige Einstellungen für Überschriften geliefert.");
16
+ throw new Error("The server returned invalid title settings.");
17
17
  }
18
18
  const settings = value as unknown as TitleModelSettings;
19
19
  const keys = settings.models.map((model) => titleSelectionKey({ provider: model.provider, model: model.id }));
20
20
  if (new Set(keys).size !== keys.length || (settings.selection !== null && !keys.includes(titleSelectionKey(settings.selection)))) {
21
- throw new Error("Die Einstellungen für Überschriften passen nicht zum verfügbaren Modellkatalog.");
21
+ throw new Error("The title settings do not match the available model catalog.");
22
22
  }
23
23
  return settings;
24
24
  }
@@ -26,16 +26,16 @@ export function titleModelSettingsFrom(value: unknown): TitleModelSettings {
26
26
  export function titleSelectionFromKey(key: string, models: TitleModelSettings["models"]): TitleModelSelection | null {
27
27
  if (key === "null") return null;
28
28
  const model = models.find((entry) => titleSelectionKey({ provider: entry.provider, model: entry.id }) === key);
29
- if (!model) throw new Error("Das ausgewählte Modell für Überschriften ist nicht verfügbar.");
29
+ if (!model) throw new Error("The selected model for titles is not available.");
30
30
  return { provider: model.provider, model: model.id };
31
31
  }
32
32
 
33
33
  export function titleModelOptions(models: TitleModelSettings["models"], selection: TitleModelSelection | null, query: string) {
34
- const search = query.trim().toLocaleLowerCase("de-DE");
34
+ const search = query.trim().toLocaleLowerCase("en-US");
35
35
  return [
36
- { value: "null", label: "Keine automatischen Überschriften" },
36
+ { value: "null", label: "No automatic titles" },
37
37
  ...models.filter((model) => (model.provider === selection?.provider && model.id === selection.model)
38
- || `${model.label} ${model.id}`.toLocaleLowerCase("de-DE").includes(search))
38
+ || `${model.label} ${model.id}`.toLocaleLowerCase("en-US").includes(search))
39
39
  .map((model) => ({ value: titleSelectionKey({ provider: model.provider, model: model.id }), label: model.label })),
40
40
  ];
41
41
  }
@@ -28,7 +28,7 @@ export interface ListDetailProps {
28
28
  className?: string;
29
29
  }
30
30
 
31
- // Tone und Tonfläche kommen aus data-tone und färben Symbol, Titel und Detailkopf.
31
+ // Tone and tone surface come from data-tone and color the icon, title and detail header.
32
32
  const toneVariables = "[--tone:var(--muted-foreground)] [--tone-soft:var(--secondary)] "
33
33
  + "data-[tone=accent]:[--tone:var(--primary)] data-[tone=accent]:[--tone-soft:var(--accent)] "
34
34
  + "data-[tone=success]:[--tone:var(--success)] data-[tone=success]:[--tone-soft:var(--success-soft)] "
@@ -43,7 +43,7 @@ const itemClasses = cn(toneVariables, focusRing,
43
43
 
44
44
  const paneClasses = "min-h-0 min-w-0 flex-auto overflow-auto overscroll-contain [scrollbar-gutter:stable]";
45
45
 
46
- // Maßgeblich ist die Breite des Bausteins, nicht die des Fensters; CSS und Messung nutzen dieselbe Schwelle.
46
+ // What counts is the width of the component, not that of the window; CSS and measurement use the same threshold.
47
47
  const narrowWidth = 900;
48
48
 
49
49
  /** Controlled grouped selection with a detail page and a return path on narrow screens. */
@@ -60,7 +60,7 @@ export function ListDetail({ label, items, selectedId, onSelect, disabled = fals
60
60
  const groups = new Map<string, ListDetailItem[]>();
61
61
  const ids = new Set<string>();
62
62
  for (const item of items) {
63
- if (!item.id.trim() || ids.has(item.id)) throw new Error("ListDetail-Einträge benötigen eindeutige, nicht leere IDs.");
63
+ if (!item.id.trim() || ids.has(item.id)) throw new Error("ListDetail entries require unique, non-empty IDs.");
64
64
  ids.add(item.id);
65
65
  const key = item.group ?? "";
66
66
  const group = groups.get(key) ?? [];
@@ -72,7 +72,7 @@ export function ListDetail({ label, items, selectedId, onSelect, disabled = fals
72
72
 
73
73
  useEffect(() => {
74
74
  const root = rootRef.current;
75
- if (!root) throw new Error("ListDetail benötigt sein Wurzelelement für die Breitenmessung.");
75
+ if (!root) throw new Error("ListDetail requires its root element for the width measurement.");
76
76
  const observer = new ResizeObserver(([entry]) => {
77
77
  const next = entry.contentRect.width < narrowWidth;
78
78
  setNarrow(next);
@@ -111,10 +111,10 @@ export function ListDetail({ label, items, selectedId, onSelect, disabled = fals
111
111
  <div className="grid min-h-0 min-w-0 flex-auto grid-cols-[minmax(0,0.9fr)_minmax(0,1.1fr)] grid-rows-[minmax(0,1fr)] gap-6 @max-[900px]/list-detail:grid-cols-[minmax(0,1fr)] @max-[900px]/list-detail:gap-0">
112
112
  <div aria-label={label} className={cn(paneClasses, focusRing, "pt-0.5 pr-1.5 pb-3 @max-[900px]/list-detail:group-data-[detail=true]/list-detail:hidden")}
113
113
  ref={listRef} role="region" tabIndex={-1}>
114
- {items.length === 0 ? <div className="p-6 text-[0.8rem] leading-relaxed text-muted-foreground">{emptyState ?? <p>Keine Einträge vorhanden.</p>}</div>
114
+ {items.length === 0 ? <div className="p-6 text-[0.8rem] leading-relaxed text-muted-foreground">{emptyState ?? <p>No entries available.</p>}</div>
115
115
  : [...groups].map(([group, entries], groupIndex) => <section aria-labelledby={group ? `${prefix}-group-${groupIndex}` : undefined} className="not-first:mt-4.5" key={group}>
116
116
  {group && <h3 className="mx-2 mb-2 flex items-center gap-2.5 text-[0.67rem] font-bold tracking-[0.04em] text-muted-foreground" id={`${prefix}-group-${groupIndex}`}>
117
- {group}<span className="font-mono text-[0.63rem] opacity-80" aria-label={`${entries.length} Einträge`}>{entries.length}</span>
117
+ {group}<span className="font-mono text-[0.63rem] opacity-80" aria-label={`${entries.length} entries`}>{entries.length}</span>
118
118
  </h3>}
119
119
  <ul className="grid grid-cols-[minmax(0,1fr)] gap-1 *:min-w-0">
120
120
  {entries.map((item) => <li key={item.id}>
@@ -138,11 +138,11 @@ export function ListDetail({ label, items, selectedId, onSelect, disabled = fals
138
138
  data-tone={selected?.tone ?? "neutral"}
139
139
  id={`${prefix}-detail`} ref={detailRef} tabIndex={-1}>
140
140
  {selected ? <>
141
- <div className="hidden flex-none border-b border-border-soft px-3.5 py-2.5 @max-[900px]/list-detail:flex"><Button aria-label="Zur Auswahl" className="rounded-full" onClick={returnToList} size="icon" variant="outline"><ArrowLeftIcon /></Button></div>
141
+ <div className="hidden flex-none border-b border-border-soft px-3.5 py-2.5 @max-[900px]/list-detail:flex"><Button aria-label="Back to selection" className="rounded-full" onClick={returnToList} size="icon" variant="outline"><ArrowLeftIcon /></Button></div>
142
142
  {detailHeader !== undefined && <header className="flex-none border-b border-border-soft bg-(--tone-soft) px-6 py-6 [&>*:first-child]:mt-0 [&>*:last-child]:mb-0 @max-[900px]/list-detail:p-4.5">{detailHeader}</header>}
143
- <div aria-label={`${detailLabel}: Inhalt`} className={cn(paneClasses, focusRing, "flex-1 px-6 py-6 text-[0.8rem] leading-[1.7] [overflow-wrap:anywhere] [&>*:first-child]:mt-0 [&>*:last-child]:mb-0 @max-[900px]/list-detail:p-4.5")} role="region" tabIndex={0}>{children}</div>
143
+ <div aria-label={`${detailLabel}: content`} className={cn(paneClasses, focusRing, "flex-1 px-6 py-6 text-[0.8rem] leading-[1.7] [overflow-wrap:anywhere] [&>*:first-child]:mt-0 [&>*:last-child]:mb-0 @max-[900px]/list-detail:p-4.5")} role="region" tabIndex={0}>{children}</div>
144
144
  {detailFooter !== undefined && <footer className="flex flex-none flex-wrap items-center gap-2.5 border-t border-border-soft px-6 py-4 @max-[900px]/list-detail:px-4.5 @max-[900px]/list-detail:py-3.5">{detailFooter}</footer>}
145
- </> : <div className="p-6 text-[0.8rem] leading-relaxed text-muted-foreground"><p>{items.length ? "Wähle einen Eintrag, um die Details zu sehen." : "Keine Auswahl verfügbar."}</p></div>}
145
+ </> : <div className="p-6 text-[0.8rem] leading-relaxed text-muted-foreground"><p>{items.length ? "Choose an entry to see the details." : "No selection available."}</p></div>}
146
146
  </section>
147
147
  </div>
148
148
  </section>;
@@ -151,7 +151,7 @@ function DialogContent({
151
151
  }
152
152
  >
153
153
  <XIcon />
154
- <span className="sr-only">Schließen</span>
154
+ <span className="sr-only">Close</span>
155
155
  </DialogPrimitive.Close>
156
156
  )}
157
157
  </DialogPrimitive.Popup>
@@ -199,7 +199,7 @@ function DialogFooter({
199
199
  {children}
200
200
  {showCloseButton && (
201
201
  <DialogPrimitive.Close render={<Button variant="outline" />}>
202
- Schließen
202
+ Close
203
203
  </DialogPrimitive.Close>
204
204
  )}
205
205
  </div>
@@ -37,12 +37,12 @@ export function createModalController({ nextBehavior, onClose, onNavigate }: {
37
37
  return {
38
38
  get canGoBack() { return history.length > 1; },
39
39
  open(page: ModalPage) {
40
- if (!page.title.trim()) throw new Error("Ein Dialogschritt benötigt einen Titel.");
40
+ if (!page.title.trim()) throw new Error("A dialog step requires a title.");
41
41
  const previous = nextBehavior() === "push" ? history : history.slice(0, -1);
42
42
  update([...previous, { key: nextKey++, page }]);
43
43
  },
44
44
  back() {
45
- if (history.length < 2) throw new Error("Es gibt keinen vorherigen Dialogschritt.");
45
+ if (history.length < 2) throw new Error("There is no previous dialog step.");
46
46
  update(history.slice(0, -1));
47
47
  },
48
48
  close() { onClose(); },
@@ -65,6 +65,6 @@ export const ModalControllerContext = createContext<ModalController | null>(null
65
65
 
66
66
  export function useModalController(): ModalController {
67
67
  const controller = useContext(ModalControllerContext);
68
- if (!controller) throw new Error("Die Dialogsteuerung benötigt einen Modal-Host.");
68
+ if (!controller) throw new Error("The dialog controller requires a modal host.");
69
69
  return controller;
70
70
  }
@@ -18,7 +18,7 @@ export interface ModalProps extends PropsWithChildren {
18
18
  keepMounted?: boolean;
19
19
  }
20
20
 
21
- /** A dialog frame whose contents can push further steps; Zurück, Escape and the backdrop return to the previous step first. */
21
+ /** A dialog frame whose contents can push further steps; Back, Escape and the backdrop return to the previous step first. */
22
22
  export function Modal({ children, className, initialFocus, keepMounted, nextBehavior = "push", onClose, open = true, overlayClassName, scope = "run", showCloseButton = false, size = "medium" }: ModalProps) {
23
23
  const onCloseRef = useRef(onClose);
24
24
  onCloseRef.current = onClose;
@@ -45,7 +45,7 @@ export function Modal({ children, className, initialFocus, keepMounted, nextBeha
45
45
  <div className={cn("contents", entry.key !== current.key && "hidden")} hidden={entry.key !== current.key} inert={entry.key !== current.key} key={entry.key}>
46
46
  {entry.page ? <>
47
47
  <DialogHeader className="flex-row items-start gap-3 px-4 pt-4 pb-3">
48
- <Button aria-label="Zurück" onClick={controller.back} size="icon-sm" variant="ghost"><ArrowLeftIcon /></Button>
48
+ <Button aria-label="Back" onClick={controller.back} size="icon-sm" variant="ghost"><ArrowLeftIcon /></Button>
49
49
  <div className="flex min-w-0 flex-1 flex-col gap-1">
50
50
  <DialogTitle>{entry.page.title}</DialogTitle>
51
51
  {entry.page.subtitle && <DialogDescription>{entry.page.subtitle}</DialogDescription>}
@@ -26,7 +26,7 @@ function PopoverContent({
26
26
  PopoverPrimitive.Positioner.Props,
27
27
  "align" | "alignOffset" | "side" | "sideOffset" | "anchor" | "collisionPadding"
28
28
  > & Pick<PopoverPrimitive.Portal.Props, "keepMounted"> & {
29
- /** Dunkelt den Rest der Seite ab, damit sich das Pop-out absetzt; Klick daneben schließt es. */
29
+ /** Dims the rest of the page so the pop-out stands out; a click outside closes it. */
30
30
  dim?: boolean
31
31
  }) {
32
32
  return (
@@ -4,33 +4,33 @@ const DAY = 24 * HOUR;
4
4
  const WEEK = 7 * DAY;
5
5
 
6
6
  const date = (at: number, year: boolean): string =>
7
- new Date(at).toLocaleDateString("de-DE", year ? { day: "2-digit", month: "2-digit", year: "numeric" } : { day: "2-digit", month: "2-digit" });
7
+ new Date(at).toLocaleDateString("en-US", year ? { day: "2-digit", month: "2-digit", year: "numeric" } : { day: "2-digit", month: "2-digit" });
8
8
 
9
- /** Die Zeit in der Liste: jetzt, 5 min, 3 h, 2 d, ab sieben Tagen das Datum. Ohne "vor", ohne Sonderfall für gestern. */
9
+ /** The time in the list: now, 5 min, 3 h, 2 d, from seven days on the date. Without "ago", without a special case for yesterday. */
10
10
  export const shortTime = (at: number, now: number = Date.now()): string => {
11
11
  const passed = now - at;
12
- if (passed < MINUTE) return "jetzt";
12
+ if (passed < MINUTE) return "now";
13
13
  if (passed < HOUR) return `${Math.floor(passed / MINUTE)} min`;
14
14
  if (passed < DAY) return `${Math.floor(passed / HOUR)} h`;
15
15
  if (passed < WEEK) return `${Math.floor(passed / DAY)} d`;
16
16
  return date(at, false);
17
17
  };
18
18
 
19
- /** Dieselbe Zeit ausgeschrieben; sie steht nur im title der kompakten Zeit. */
19
+ /** The same time written out; it appears only in the title of the compact time. */
20
20
  export const longTime = (at: number, now: number = Date.now()): string => {
21
21
  const passed = now - at;
22
- if (passed < MINUTE) return "gerade eben";
22
+ if (passed < MINUTE) return "just now";
23
23
  if (passed < HOUR) {
24
24
  const minutes = Math.floor(passed / MINUTE);
25
- return minutes === 1 ? "vor 1 Minute" : `vor ${minutes} Minuten`;
25
+ return minutes === 1 ? "1 minute ago" : `${minutes} minutes ago`;
26
26
  }
27
27
  if (passed < DAY) {
28
28
  const hours = Math.floor(passed / HOUR);
29
- return hours === 1 ? "vor 1 Stunde" : `vor ${hours} Stunden`;
29
+ return hours === 1 ? "1 hour ago" : `${hours} hours ago`;
30
30
  }
31
31
  if (passed < WEEK) {
32
32
  const days = Math.floor(passed / DAY);
33
- return days === 1 ? "vor 1 Tag" : `vor ${days} Tagen`;
33
+ return days === 1 ? "1 day ago" : `${days} days ago`;
34
34
  }
35
35
  return date(at, true);
36
36
  };
@@ -1,14 +1,14 @@
1
1
  import type { ReactNode } from "react";
2
2
  import { cn } from "cn";
3
3
 
4
- /** Was eine Fläche zeigt, solange sie noch keinen Inhalt hat: laufende Arbeit, einen Fehler oder einen ruhigen Hinweis. */
4
+ /** What a surface shows while it has no content yet: ongoing work, an error or a calm notice. */
5
5
  export interface StartupNoticeState {
6
6
  kind: "working" | "error" | "waiting" | "stopped";
7
7
  title: string;
8
8
  detail: string;
9
9
  }
10
10
 
11
- /** Der eine Ladezustand für Fläche, Run-Panel und dessen Start: Titel, bei laufender Arbeit ein Fortschrittsbalken, darunter was gerade geschieht. */
11
+ /** The one loading state for surface, run panel and its start: title, a progress bar while work is running, below it what is happening right now. */
12
12
  export function StartupNotice({ children, className, state }: { children?: ReactNode; className?: string; state: StartupNoticeState }) {
13
13
  return <div aria-live="polite" className={cn("w-[min(360px,100%)] text-center text-foreground", className)} data-startup={state.kind}
14
14
  role={state.kind === "error" ? "alert" : "status"}>
@@ -11,7 +11,7 @@ interface Mark {
11
11
  readonly filled?: boolean;
12
12
  }
13
13
 
14
- /** Grün läuft, blau bewegt sich, gelb wartet auf dich, rot ist kaputt, grau ruht, gedämpft ist vorbei; kein Zustand trägt je die Stopp-Glyphe (Quadrat). */
14
+ /** Green is running, blue is moving, yellow is waiting for you, red is broken, gray is idle, muted is over; no state ever carries the stop glyph (square). */
15
15
  const RUN_MARKS: Record<RunStateName, Mark> = {
16
16
  running: { Icon: CirclePlayIcon, tone: "text-success" },
17
17
  waiting: { Icon: CircleEllipsisIcon, tone: "text-warning" },
@@ -1,30 +1,30 @@
1
- /** Das Vokabular aller Seiten: je Zustand genau ein Wort, das im Panel nur als title erscheint. */
1
+ /** The vocabulary of all pages: exactly one word per state, which appears in the panel only as a title. */
2
2
  export type RunStateName = "running" | "waiting" | "idle" | "ended" | "failed" | "cancelled";
3
3
 
4
4
  export type ConnectionStateName =
5
5
  | "connected" | "ready" | "starting" | "login-required" | "unreachable" | "stopped" | "failed" | "forbidden";
6
6
 
7
7
  const RUN_WORDS: Record<RunStateName, string> = {
8
- running: "läuft",
9
- waiting: "wartet auf Eingabe",
10
- idle: "ruht",
11
- ended: "beendet",
12
- failed: "fehlgeschlagen",
13
- cancelled: "abgebrochen",
8
+ running: "running",
9
+ waiting: "waiting for input",
10
+ idle: "idle",
11
+ ended: "ended",
12
+ failed: "failed",
13
+ cancelled: "cancelled",
14
14
  };
15
15
 
16
16
  const CONNECTION_WORDS: Record<ConnectionStateName, string> = {
17
- connected: "verbunden",
18
- ready: "bereit",
19
- starting: "startet",
20
- "login-required": "Anmeldung nötig",
21
- unreachable: "nicht erreichbar",
22
- stopped: "gestoppt",
23
- failed: "gescheitert",
24
- forbidden: "kein Zugriff",
17
+ connected: "connected",
18
+ ready: "ready",
19
+ starting: "starting",
20
+ "login-required": "sign-in required",
21
+ unreachable: "unreachable",
22
+ stopped: "stopped",
23
+ failed: "failed",
24
+ forbidden: "no access",
25
25
  };
26
26
 
27
- /** Wartet ein Run, nennt das Wort die Zahl offener Eingaben; ein Werkzeugname steht nie im Zustand. */
27
+ /** When a run is waiting, the word names the number of open inputs; a tool name never appears in the state. */
28
28
  export const runStateWord = (state: RunStateName, open = 0): string =>
29
29
  state === "waiting" && open > 0 ? `${RUN_WORDS.waiting} (${open})` : RUN_WORDS[state];
30
30
 
@@ -4,14 +4,14 @@ import { cn } from "cn";
4
4
  import { Button } from "./button";
5
5
  import { Spinner } from "./spinner";
6
6
 
7
- /** Die eine Stopp-Glyphe: ein gefülltes rotes Quadrat; ein Zustandssymbol trägt sie nie. */
7
+ /** The one stop glyph: a filled red square; a state icon never carries it. */
8
8
  export function StopGlyph({ className, ...props }: Omit<ComponentProps<typeof SquareIcon>, "fill">) {
9
9
  return <SquareIcon aria-hidden className={cn("text-destructive", className)} fill="currentColor" {...props} />;
10
10
  }
11
11
 
12
12
  const stopButtonClass = "text-destructive hover:bg-destructive/10 hover:text-destructive dark:hover:bg-destructive/20";
13
13
 
14
- /** Jeder Stopp-Knopf sieht gleich aus: die Glyphe als Symbol, das Wort im Tooltip, rot in Ruhe und beim Hover. */
14
+ /** Every stop button looks the same: the glyph as the icon, the word in the tooltip, red at rest and on hover. */
15
15
  export function StopButton({ label, busy = false, className, title, ...props }: Omit<ComponentProps<typeof Button>, "children" | "variant"> & {
16
16
  label: string;
17
17
  busy?: boolean;
@@ -1,5 +1,5 @@
1
1
  {
2
- "format": 4,
2
+ "format": 5,
3
3
  "id": "ragents.activity",
4
4
  "api": 7,
5
5
  "hostNames": {
@@ -22,8 +22,8 @@
22
22
  ]
23
23
  }
24
24
  },
25
- "stand": "76950227a2595ee5aa386c266cfe5a251b86943efffeda64a971b986ae33faec",
26
- "sourceStand": "9f88ec345adcc08f5f6e58e26fbff420969a87fc466c926300b88416fff25856",
25
+ "revision": "b7b04d050f5f4bcb0980880167b8e2cdd3ad533ba07f589dd0de471b9e55c0fd",
26
+ "sourceRevision": "d0f96d5406c652a4ed17f8642adfc889bb3be49fc7948f84e0f889ecb910f26e",
27
27
  "server": "server/index.js",
28
28
  "web": {
29
29
  "entry": "web/index.js",
@@ -1 +1 @@
1
- ["active","activeActivity","activity","activitySourceFrom","actor","actorFrom","actorId","actors","animate-fade-pulse","aria-hidden","aria-label","as","aus","bg-muted-foreground","byStart","className","const","dann","das","data-kind","der","displayName","eine","elapsed","elapsedLabel","emptySource","entries","entry","ergibt","export","finishedAt","flex","flex-1","flex-none","fremde","from","function","gap-2","geladene","gerade","h","handle","hidden","id","if","import","in-data-[kind=tool]:bg-primary","inspect","interface","is","isRecord","items-baseline","items-stretch","jeweils","key","kind","kindLabels","label","labelOf","laufende","left","length","live","m","min-w-0","minutes","ml-auto","motion-reduce:animate-none","name","needsRunView","nicht","noch","now","null","number","object","oder","offene","optionalText","order","parsed","primaryActorId","react","readRight","readonly","return","right","role","rounded-full","runView","running","runningToolCalls","runningTools","runningTurns","s","seconds","self-stretch","session","sessionHeaders","setNow","shrink-0","size-1.5","source","started","startedAt","startedMillis","state","status","string","tabular-nums","text-[inherit]","text-muted-foreground","timer","title","titleOf","tool","toolCalls","toolFrom","turn","turnFrom","turns","type","typeof","uft","und","undefined","useState","value","w-45","webPlugin","weitere","whitespace-nowrap"]
1
+ ["a","active","activeActivity","activity","activitySourceFrom","actor","actorFrom","actorId","actors","and","animate-fade-pulse","aria-hidden","aria-label","as","bg-muted-foreground","byStart","calls","className","const","current","data-kind","displayName","each","elapsed","elapsedLabel","emptySource","entries","entry","export","finishedAt","first","flex","flex-1","flex-none","from","function","gap-2","h","handle","hidden","id","if","import","in","in-data-[kind=tool]:bg-primary","inspect","interface","is","isRecord","items-baseline","items-stretch","key","kind","kindLabels","label","labelOf","left","length","live","loaded","m","min-w-0","minutes","ml-auto","more","motion-reduce:animate-none","name","needsRunView","not","now","null","number","object","oldest","open","optionalText","or","order","parsed","primaryActorId","react","readRight","readonly","return","right","role","rounded-full","run","runView","running","runningToolCalls","runningTools","runningTurns","s","seconds","self-stretch","session","sessionHeaders","setNow","shrink-0","size-1.5","source","started","startedAt","startedMillis","state","status","string","structure","tabular-nums","text-[inherit]","text-muted-foreground","that","the","then","timer","title","titleOf","tool","toolCalls","toolFrom","turn","turnFrom","turns","type","typeof","undefined","unknown","useState","value","w-45","webPlugin","whitespace-nowrap","yet","yields"]