@schlenkr/ragents 0.1.10 → 0.1.11

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 (743) hide show
  1. package/apps/server/package.json +1 -1
  2. package/apps/server/src/access-projection.ts +4 -4
  3. package/apps/server/src/access-service.ts +3 -3
  4. package/apps/server/src/access-session.ts +19 -19
  5. package/apps/server/src/api/contracts.ts +29 -29
  6. package/apps/server/src/api/core-methods.ts +17 -17
  7. package/apps/server/src/api/delivery.ts +2 -2
  8. package/apps/server/src/api/reference.ts +27 -27
  9. package/apps/server/src/api/rights.ts +18 -18
  10. package/apps/server/src/chat-handler.ts +5 -5
  11. package/apps/server/src/config-definition.ts +37 -10
  12. package/apps/server/src/config-file.ts +49 -49
  13. package/apps/server/src/config.ts +2 -0
  14. package/apps/server/src/data-directory.ts +2 -2
  15. package/apps/server/src/external-access.ts +1 -1
  16. package/apps/server/src/folder-install.ts +1 -1
  17. package/apps/server/src/help-files.ts +1 -1
  18. package/apps/server/src/host-api.json +6 -1
  19. package/apps/server/src/host-api.ts +3 -2
  20. package/apps/server/src/host-record.ts +3 -3
  21. package/apps/server/src/host-resolution-hooks.mjs +4 -4
  22. package/apps/server/src/host-version.ts +17 -17
  23. package/apps/server/src/host-web.ts +5 -5
  24. package/apps/server/src/main.ts +6 -6
  25. package/apps/server/src/missing-environment.ts +6 -6
  26. package/apps/server/src/parent-watch.ts +4 -4
  27. package/apps/server/src/plugin-build/build.ts +31 -31
  28. package/apps/server/src/plugin-build/host-api-names.ts +7 -7
  29. package/apps/server/src/plugin-build/plugin-description.ts +15 -15
  30. package/apps/server/src/plugin-build/typecheck.ts +1 -1
  31. package/apps/server/src/plugin-support/actor-programs/app-project.ts +19 -19
  32. package/apps/server/src/plugin-support/actor-programs/client-compiler.ts +4 -4
  33. package/apps/server/src/plugin-support/actor-programs/client-contracts.ts +11 -11
  34. package/apps/server/src/plugin-support/actor-programs/contract.ts +17 -17
  35. package/apps/server/src/plugin-support/actor-programs/runtime-libraries.ts +1 -1
  36. package/apps/server/src/plugin-support/actor-programs/workflow/index.ts +5 -5
  37. package/apps/server/src/plugin-support/actor-programs/workflow/prompt-reader.ts +2 -2
  38. package/apps/server/src/plugin-support/chat-display-policy.ts +2 -2
  39. package/apps/server/src/plugin-support/front-matter.ts +6 -6
  40. package/apps/server/src/plugin-support/http.ts +2 -2
  41. package/apps/server/src/plugin-support/language-server/contract.ts +8 -8
  42. package/apps/server/src/plugin-support/language-server/plugin.ts +2 -2
  43. package/apps/server/src/plugin-support/language-server/snapshot-method.ts +1 -1
  44. package/apps/server/src/plugin-support/language-server/tools.ts +11 -11
  45. package/apps/server/src/plugin-support/model-aliases.ts +30 -20
  46. package/apps/server/src/plugin-support/model-choice.ts +15 -15
  47. package/apps/server/src/plugin-support/model-completion.ts +44 -23
  48. package/apps/server/src/plugin-support/model-providers.ts +170 -0
  49. package/apps/server/src/plugin-support/model-upstreams.ts +1 -1
  50. package/apps/server/src/plugin-support/native-typescript-child.ts +4 -4
  51. package/apps/server/src/plugin-support/native-typescript-executor.ts +12 -12
  52. package/apps/server/src/plugin-support/plugin-config.ts +3 -3
  53. package/apps/server/src/plugin-support/plugin-folder.ts +2 -2
  54. package/apps/server/src/plugin-support/plugins-root.ts +2 -2
  55. package/apps/server/src/plugin-support/process-sandbox.ts +39 -39
  56. package/apps/server/src/plugin-support/product-model-settings-contract.ts +3 -3
  57. package/apps/server/src/plugin-support/product-model-settings.ts +10 -10
  58. package/apps/server/src/plugin-support/product-relay.ts +9 -9
  59. package/apps/server/src/plugin-support/product-start-options.ts +4 -4
  60. package/apps/server/src/plugin-support/prompt.ts +1 -1
  61. package/apps/server/src/plugin-support/provision.ts +8 -8
  62. package/apps/server/src/plugin-support/run-scripts.ts +17 -17
  63. package/apps/server/src/plugin-support/skills.ts +18 -18
  64. package/apps/server/src/plugin-support/start-entries-contract.ts +17 -17
  65. package/apps/server/src/plugin-support/start-options-contract.ts +5 -5
  66. package/apps/server/src/plugin-support/system-prompts.ts +11 -11
  67. package/apps/server/src/plugin-support/thinking-level.ts +2 -2
  68. package/apps/server/src/plugin-support/tool-availability.ts +2 -2
  69. package/apps/server/src/plugin-support/workspace-ownership.ts +5 -5
  70. package/apps/server/src/plugin-support/workspace-sandbox-host.ts +37 -37
  71. package/apps/server/src/plugin-support/zip.ts +7 -7
  72. package/apps/server/src/profile/bundle-manifest.ts +17 -17
  73. package/apps/server/src/profile/compose.ts +12 -7
  74. package/apps/server/src/profile/plugin-discovery.ts +12 -12
  75. package/apps/server/src/profile/provisioning.ts +5 -5
  76. package/apps/server/src/profile-target.ts +10 -10
  77. package/apps/server/src/protocol.ts +2 -2
  78. package/apps/server/src/provider.ts +61 -56
  79. package/apps/server/src/ragents/actor-chat-history.ts +8 -8
  80. package/apps/server/src/ragents/chat-text-positions.ts +2 -2
  81. package/apps/server/src/ragents/coordinator.ts +2 -2
  82. package/apps/server/src/ragents/engine.ts +23 -23
  83. package/apps/server/src/ragents/global-chat.ts +8 -8
  84. package/apps/server/src/ragents/host-services.ts +6 -3
  85. package/apps/server/src/ragents/journal-chat-events.ts +1 -1
  86. package/apps/server/src/ragents/run-owner.ts +2 -2
  87. package/apps/server/src/ragents/session.ts +49 -49
  88. package/apps/server/src/ragents/typescript-tools.ts +12 -12
  89. package/apps/server/src/ragents/workspace-runtime.ts +28 -28
  90. package/apps/server/src/rpc/dispatcher.ts +19 -19
  91. package/apps/server/src/rpc/http-transport.ts +11 -11
  92. package/apps/server/src/rpc/stdio-transport.ts +3 -3
  93. package/apps/server/src/run-preparation-input.ts +5 -5
  94. package/apps/server/src/run-preparation.ts +24 -24
  95. package/apps/server/src/run-transfer.ts +39 -39
  96. package/apps/server/src/server.ts +48 -48
  97. package/apps/server/src/settings.ts +1 -1
  98. package/apps/server/src/startup.ts +3 -3
  99. package/apps/server/src/title-compactor.ts +9 -9
  100. package/apps/server/src/title-settings.ts +3 -3
  101. package/apps/server/src/web-bundles.ts +2 -2
  102. package/apps/server/src/web-stylesheet.ts +2 -2
  103. package/apps/web/dist/assets/{highlighted-body-KPVGNVTW-BO4wLQtE.js → highlighted-body-KPVGNVTW-BfNSGxjB.js} +1 -1
  104. package/apps/web/dist/assets/main-D6bsKcIK.js +11 -0
  105. package/apps/web/dist/assets/mermaid-HWGCJPDP-DROEqEeg.js +608 -0
  106. package/apps/web/dist/assets/runPanel-Dumuuqry.js +21 -0
  107. package/apps/web/dist/help/guide-access.html +5 -5
  108. package/apps/web/dist/help/guide-access.md +2 -2
  109. package/apps/web/dist/help/guide-clients.html +53 -54
  110. package/apps/web/dist/help/guide-clients.md +50 -51
  111. package/apps/web/dist/help/guide-distributed.html +12 -7
  112. package/apps/web/dist/help/guide-distributed.md +9 -4
  113. package/apps/web/dist/help/guide-functions.html +3 -3
  114. package/apps/web/dist/help/guide-getting-started.html +24 -15
  115. package/apps/web/dist/help/guide-getting-started.md +22 -12
  116. package/apps/web/dist/help/guide-ideas.html +3 -3
  117. package/apps/web/dist/help/guide-plugins.html +5 -4
  118. package/apps/web/dist/help/guide-plugins.md +2 -1
  119. package/apps/web/dist/help/guide-programs.html +3 -3
  120. package/apps/web/dist/help/guide-runtime.html +6 -6
  121. package/apps/web/dist/help/guide-runtime.md +3 -3
  122. package/apps/web/dist/help/guide.html +3 -3
  123. package/apps/web/dist/help/index.html +196 -144
  124. package/apps/web/dist/help/mini-app.css +6 -0
  125. package/apps/web/dist/help/mini-app.js +14 -14
  126. package/apps/web/dist/host-web.json +90 -90
  127. package/apps/web/dist/index.html +3 -3
  128. package/apps/web/dist/run-panel.html +3 -3
  129. package/apps/web/package.json +1 -1
  130. package/apps/web/src/AccessContext.tsx +15 -15
  131. package/apps/web/src/App.tsx +13 -13
  132. package/apps/web/src/DiffCode.tsx +2 -2
  133. package/apps/web/src/HelpDialog.tsx +3 -3
  134. package/apps/web/src/Overview.tsx +13 -13
  135. package/apps/web/src/PluginActivation.ts +1 -1
  136. package/apps/web/src/PluginChat.tsx +15 -15
  137. package/apps/web/src/PluginFailureNotice.tsx +1 -1
  138. package/apps/web/src/PluginRegistry.tsx +44 -44
  139. package/apps/web/src/RunPreparationChat.tsx +11 -11
  140. package/apps/web/src/RunStore.ts +1 -1
  141. package/apps/web/src/SessionList.tsx +14 -14
  142. package/apps/web/src/SettingsModal.tsx +112 -112
  143. package/apps/web/src/StartOptions.tsx +11 -11
  144. package/apps/web/src/StartSelection.tsx +11 -11
  145. package/apps/web/src/StartTiles.tsx +8 -8
  146. package/apps/web/src/SurfaceShortcuts.tsx +3 -3
  147. package/apps/web/src/ThemeSettings.tsx +8 -8
  148. package/apps/web/src/TitleModelSettings.tsx +13 -13
  149. package/apps/web/src/WorkspacePanel.tsx +9 -9
  150. package/apps/web/src/access-session.ts +4 -4
  151. package/apps/web/src/access-token.ts +5 -5
  152. package/apps/web/src/actor-conversation.ts +3 -3
  153. package/apps/web/src/actor-programs/client-ui/DataTable.tsx +8 -8
  154. package/apps/web/src/actor-programs/client-ui/FilePicker.tsx +4 -4
  155. package/apps/web/src/actor-programs/client-ui/FlowDiagram.tsx +13 -13
  156. package/apps/web/src/actor-programs/client-ui/Viewers.tsx +4 -4
  157. package/apps/web/src/actor-programs/client-ui/WorkflowDiagram.tsx +1 -1
  158. package/apps/web/src/actor-programs/client-ui/file-contracts.d.ts +4 -4
  159. package/apps/web/src/actor-programs/client-ui/file-selection.ts +1 -1
  160. package/apps/web/src/actor-programs/client-ui/viewer-contracts.d.ts +3 -3
  161. package/apps/web/src/api.ts +7 -7
  162. package/apps/web/src/chat/StoppedActorNotice.tsx +5 -5
  163. package/apps/web/src/chat/chat-target.ts +3 -3
  164. package/apps/web/src/chat/requests.ts +2 -2
  165. package/apps/web/src/chat/useAttachmentCapabilities.ts +2 -2
  166. package/apps/web/src/chat-view-settings.tsx +5 -6
  167. package/apps/web/src/diff-view.css +1 -1
  168. package/apps/web/src/highlighting.css +1 -1
  169. package/apps/web/src/language-server/language-server-plugin.tsx +30 -30
  170. package/apps/web/src/lib/labels.ts +6 -6
  171. package/apps/web/src/main.tsx +4 -4
  172. package/apps/web/src/offered-machines.ts +2 -2
  173. package/apps/web/src/page-opener.tsx +1 -1
  174. package/apps/web/src/panel/ConnectionsPage.tsx +23 -23
  175. package/apps/web/src/panel/LoginForm.tsx +6 -6
  176. package/apps/web/src/panel/PanelDialogs.tsx +22 -22
  177. package/apps/web/src/panel/PanelHeader.tsx +2 -2
  178. package/apps/web/src/panel/PanelPage.tsx +1 -1
  179. package/apps/web/src/panel/RunLine.tsx +4 -4
  180. package/apps/web/src/panel/RunsPage.tsx +15 -15
  181. package/apps/web/src/panel/StartPage.tsx +26 -26
  182. package/apps/web/src/panel/connection-state.ts +9 -9
  183. package/apps/web/src/panel/contract.ts +28 -28
  184. package/apps/web/src/panel.tsx +1 -1
  185. package/apps/web/src/plugin-bootstrap.ts +5 -5
  186. package/apps/web/src/product/ModelControl.tsx +3 -3
  187. package/apps/web/src/product/ProductModelSettings.tsx +16 -16
  188. package/apps/web/src/product/SystemPromptControl.tsx +11 -11
  189. package/apps/web/src/product/model-settings.ts +2 -2
  190. package/apps/web/src/rpc/client.ts +16 -16
  191. package/apps/web/src/rpc.ts +1 -1
  192. package/apps/web/src/run-overview.ts +1 -1
  193. package/apps/web/src/run-panel/RunPanelApp.tsx +39 -39
  194. package/apps/web/src/run-panel/RunPanelHeader.tsx +6 -6
  195. package/apps/web/src/run-panel/RunPanelMenu.tsx +6 -6
  196. package/apps/web/src/run-panel/RunPanelRail.tsx +4 -4
  197. package/apps/web/src/run-panel/RunPanelWorkspace.tsx +3 -3
  198. package/apps/web/src/run-panel/clipboard.ts +3 -3
  199. package/apps/web/src/run-panel/host-contract.ts +5 -5
  200. package/apps/web/src/run-panel/host.ts +15 -15
  201. package/apps/web/src/run-panel/input-bridge.ts +1 -1
  202. package/apps/web/src/run-panel/run-panel-location.ts +5 -5
  203. package/apps/web/src/run-panel/use-session-list.ts +1 -1
  204. package/apps/web/src/run-panel/workspace-state.ts +3 -3
  205. package/apps/web/src/run-panel.tsx +4 -4
  206. package/apps/web/src/run-preparation.ts +2 -2
  207. package/apps/web/src/run-view.ts +3 -3
  208. package/apps/web/src/settings-contributions.ts +32 -32
  209. package/apps/web/src/theme.ts +9 -9
  210. package/apps/web/src/title-model-settings.ts +6 -6
  211. package/apps/web/src/ui/ListDetail.tsx +9 -9
  212. package/apps/web/src/ui/dialog.tsx +2 -2
  213. package/apps/web/src/ui/modal-controller.ts +3 -3
  214. package/apps/web/src/ui/modal.tsx +2 -2
  215. package/apps/web/src/ui/popover.tsx +1 -1
  216. package/apps/web/src/ui/relative-time.ts +8 -8
  217. package/apps/web/src/ui/startup-notice.tsx +2 -2
  218. package/apps/web/src/ui/state-icon.tsx +1 -1
  219. package/apps/web/src/ui/state-vocabulary.ts +16 -16
  220. package/apps/web/src/ui/stop-button.tsx +2 -2
  221. package/bundles/ragents.activity/ragents-bundle.json +2 -2
  222. package/bundles/ragents.activity/web/classes.json +1 -1
  223. package/bundles/ragents.activity/web/index.js +1 -1
  224. package/bundles/ragents.activity/web/index.js.map +2 -2
  225. package/bundles/ragents.actor-programs/ragents-bundle.json +2 -2
  226. package/bundles/ragents.actor-programs/server/index.js +225 -225
  227. package/bundles/ragents.actor-programs/server/index.js.map +2 -2
  228. package/bundles/ragents.actor-programs/web/classes.json +1 -1
  229. package/bundles/ragents.actor-programs/web/index.js +1 -1
  230. package/bundles/ragents.actor-programs/web/index.js.map +3 -3
  231. package/bundles/ragents.ask/ragents-bundle.json +2 -2
  232. package/bundles/ragents.ask/server/chunks/{chunk-PDJO75SQ.js → chunk-YOV27MAR.js} +2 -2
  233. package/bundles/ragents.ask/server/chunks/chunk-YOV27MAR.js.map +7 -0
  234. package/bundles/ragents.ask/server/exports/server/contract.js +1 -1
  235. package/bundles/ragents.ask/server/index.js +23 -23
  236. package/bundles/ragents.ask/server/index.js.map +2 -2
  237. package/bundles/ragents.ask/web/chunks/{chunk-WFN4374U.js → chunk-D6NNB5DS.js} +1 -1
  238. package/bundles/ragents.ask/web/chunks/chunk-D6NNB5DS.js.map +7 -0
  239. package/bundles/ragents.ask/web/chunks/{chunk-MBRPS477.js → chunk-IQBHK7MV.js} +2 -2
  240. package/bundles/ragents.ask/web/chunks/{chunk-MBRPS477.js.map → chunk-IQBHK7MV.js.map} +3 -3
  241. package/bundles/ragents.ask/web/chunks/chunk-PWFIAMX4.js +2 -0
  242. package/bundles/ragents.ask/web/chunks/chunk-PWFIAMX4.js.map +7 -0
  243. package/bundles/ragents.ask/web/chunks/chunk-QHGKEESD.js +2 -0
  244. package/bundles/ragents.ask/web/chunks/chunk-QHGKEESD.js.map +7 -0
  245. package/bundles/ragents.ask/web/classes.json +1 -1
  246. package/bundles/ragents.ask/web/exports/ask-payload.js +1 -1
  247. package/bundles/ragents.ask/web/exports/web/QuestionCard.js +1 -1
  248. package/bundles/ragents.ask/web/exports/web/api.js +1 -1
  249. package/bundles/ragents.ask/web/index.js +1 -1
  250. package/bundles/ragents.ask/web/index.js.map +2 -2
  251. package/bundles/ragents.browser/executor/index.mjs +35 -35
  252. package/bundles/ragents.browser/executor/index.mjs.map +2 -2
  253. package/bundles/ragents.browser/ragents-bundle.json +2 -2
  254. package/bundles/ragents.browser/server/chunks/{chunk-CWLX4VA5.js → chunk-PYEISBNE.js} +1 -1
  255. package/bundles/ragents.browser/server/chunks/{chunk-CWLX4VA5.js.map → chunk-PYEISBNE.js.map} +1 -1
  256. package/bundles/ragents.browser/server/exports/server/contract.js +1 -1
  257. package/bundles/ragents.browser/server/index.js +31 -31
  258. package/bundles/ragents.browser/server/index.js.map +2 -2
  259. package/bundles/ragents.browser/skills/browser-testing/SKILL.md +30 -30
  260. package/bundles/ragents.documents/prompt.hbs +1 -1
  261. package/bundles/ragents.documents/ragents-bundle.json +2 -2
  262. package/bundles/ragents.documents/server/chunks/{chunk-QIECRZ7C.js → chunk-KMZWOVTI.js} +3 -3
  263. package/bundles/ragents.documents/server/chunks/{chunk-QIECRZ7C.js.map → chunk-KMZWOVTI.js.map} +2 -2
  264. package/bundles/ragents.documents/server/exports/contract.js +1 -1
  265. package/bundles/ragents.documents/server/index.js +26 -26
  266. package/bundles/ragents.documents/server/index.js.map +2 -2
  267. package/bundles/ragents.documents/web/classes.json +1 -1
  268. package/bundles/ragents.documents/web/index.js +1 -1
  269. package/bundles/ragents.documents/web/index.js.map +3 -3
  270. package/bundles/ragents.lsp-fsharp/executor/index.mjs +4 -4
  271. package/bundles/ragents.lsp-fsharp/executor/index.mjs.map +2 -2
  272. package/bundles/ragents.lsp-fsharp/ragents-bundle.json +2 -2
  273. package/bundles/ragents.lsp-fsharp/server/index.js +5 -5
  274. package/bundles/ragents.lsp-fsharp/server/index.js.map +2 -2
  275. package/bundles/ragents.lsp-fsharp/web/index.js +1 -1
  276. package/bundles/ragents.lsp-fsharp/web/index.js.map +2 -2
  277. package/bundles/ragents.lsp-roslyn/executor/index.mjs +3 -3
  278. package/bundles/ragents.lsp-roslyn/executor/index.mjs.map +2 -2
  279. package/bundles/ragents.lsp-roslyn/ragents-bundle.json +2 -2
  280. package/bundles/ragents.lsp-roslyn/server/index.js +17 -17
  281. package/bundles/ragents.lsp-roslyn/server/index.js.map +2 -2
  282. package/bundles/ragents.lsp-roslyn/web/index.js +1 -1
  283. package/bundles/ragents.lsp-roslyn/web/index.js.map +2 -2
  284. package/bundles/ragents.lsp-typescript/executor/index.mjs +2 -2
  285. package/bundles/ragents.lsp-typescript/executor/index.mjs.map +2 -2
  286. package/bundles/ragents.lsp-typescript/ragents-bundle.json +2 -2
  287. package/bundles/ragents.lsp-typescript/server/index.js.map +1 -1
  288. package/bundles/ragents.lsp-typescript/web/index.js +1 -1
  289. package/bundles/ragents.lsp-typescript/web/index.js.map +2 -2
  290. package/bundles/ragents.model-relay/ragents-bundle.json +7 -3
  291. package/bundles/ragents.model-relay/server/index.js +25 -21
  292. package/bundles/ragents.model-relay/server/index.js.map +2 -2
  293. package/bundles/ragents.orchestration/ragents-bundle.json +2 -2
  294. package/bundles/ragents.orchestration/server/index.js +28 -28
  295. package/bundles/ragents.orchestration/server/index.js.map +2 -2
  296. package/bundles/ragents.orchestration/web/chunks/{chunk-OSKPH6SZ.js → chunk-CFMJD5ZI.js} +2 -2
  297. package/bundles/ragents.orchestration/web/chunks/chunk-HOBLI364.js +2 -0
  298. package/bundles/ragents.orchestration/web/chunks/{chunk-OQYCNYXN.js.map → chunk-HOBLI364.js.map} +2 -2
  299. package/bundles/ragents.orchestration/web/chunks/{chunk-ODMMQGX2.js → chunk-UCIMT2R4.js} +2 -2
  300. package/bundles/ragents.orchestration/web/classes.json +1 -1
  301. package/bundles/ragents.orchestration/web/exports/web/program-slot.js +1 -1
  302. package/bundles/ragents.orchestration/web/exports/web/surface-entities.js +1 -1
  303. package/bundles/ragents.orchestration/web/index.js +8 -8
  304. package/bundles/ragents.orchestration/web/index.js.map +2 -2
  305. package/bundles/ragents.overseer/ragents-bundle.json +2 -2
  306. package/bundles/ragents.overseer/server/index.js +98 -98
  307. package/bundles/ragents.overseer/server/index.js.map +2 -2
  308. package/bundles/ragents.overseer/web/classes.json +1 -1
  309. package/bundles/ragents.overseer/web/index.js +1 -1
  310. package/bundles/ragents.overseer/web/index.js.map +2 -2
  311. package/bundles/ragents.processes/ragents-bundle.json +2 -2
  312. package/bundles/ragents.processes/server/index.js +11 -11
  313. package/bundles/ragents.processes/server/index.js.map +2 -2
  314. package/bundles/ragents.processes/web/classes.json +1 -1
  315. package/bundles/ragents.processes/web/index.js +3 -3
  316. package/bundles/ragents.processes/web/index.js.map +2 -2
  317. package/bundles/ragents.product/ragents-bundle.json +2 -2
  318. package/bundles/ragents.product/server/index.js +12 -13
  319. package/bundles/ragents.product/server/index.js.map +2 -2
  320. package/bundles/ragents.product/web/classes.json +1 -1
  321. package/bundles/ragents.product/web/index.js +1 -1
  322. package/bundles/ragents.product/web/index.js.map +2 -2
  323. package/bundles/ragents.profile-distribution/ragents-bundle.json +2 -2
  324. package/bundles/ragents.profile-distribution/server/index.js +31 -31
  325. package/bundles/ragents.profile-distribution/server/index.js.map +2 -2
  326. package/bundles/ragents.reference/ragents-bundle.json +2 -2
  327. package/bundles/ragents.reference/run-scripts/balcony-wizard/RUN.md +19 -19
  328. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/package.json +2 -2
  329. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +14 -14
  330. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/conversation.ts +2 -2
  331. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/tests/conversation.test.ts +49 -49
  332. package/bundles/ragents.reference/run-scripts/balcony-wizard/package.json +1 -1
  333. package/bundles/ragents.reference/run-scripts/balcony-wizard/src/server.ts +9 -9
  334. package/bundles/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +9 -9
  335. package/bundles/ragents.reference/run-scripts/conversation-circle/RUN.md +7 -7
  336. package/bundles/ragents.reference/run-scripts/conversation-circle/package.json +1 -1
  337. package/bundles/ragents.reference/run-scripts/conversation-circle/src/server.ts +13 -13
  338. package/bundles/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +1 -1
  339. package/bundles/ragents.reference/run-scripts/conversation-circle/tests/program.test.ts +8 -8
  340. package/bundles/ragents.reference/run-scripts/learning-afternoon/RUN.md +16 -16
  341. package/bundles/ragents.reference/run-scripts/learning-afternoon/package.json +1 -1
  342. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/experiment.md +1 -1
  343. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/helper.md +3 -3
  344. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/quiz.md +1 -1
  345. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/server.ts +9 -9
  346. package/bundles/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +39 -39
  347. package/bundles/ragents.reference/run-scripts/moderated-round/RUN.md +7 -7
  348. package/bundles/ragents.reference/run-scripts/moderated-round/package.json +1 -1
  349. package/bundles/ragents.reference/run-scripts/moderated-round/src/server.ts +9 -9
  350. package/bundles/ragents.reference/run-scripts/moderated-round/tests/helpers.ts +1 -1
  351. package/bundles/ragents.reference/run-scripts/moderated-round/tests/program.test.ts +6 -6
  352. package/bundles/ragents.reference/run-scripts/shared-actor-list/RUN.md +12 -12
  353. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/package.json +2 -2
  354. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/contract.ts +3 -3
  355. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/tests/program.test.ts +4 -4
  356. package/bundles/ragents.reference/run-scripts/shared-actor-list/package.json +1 -1
  357. package/bundles/ragents.reference/run-scripts/shared-actor-list/src/server.ts +11 -11
  358. package/bundles/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +1 -1
  359. package/bundles/ragents.reference/run-scripts/shared-actor-list/tests/program.test.ts +13 -13
  360. package/bundles/ragents.reference/run-scripts/word-game/RUN.md +18 -18
  361. package/bundles/ragents.reference/run-scripts/word-game/package.json +2 -2
  362. package/bundles/ragents.reference/run-scripts/word-game/src/client.tsx +1 -1
  363. package/bundles/ragents.reference/run-scripts/word-game/src/contract.ts +2 -2
  364. package/bundles/ragents.reference/run-scripts/word-game/src/server.ts +16 -16
  365. package/bundles/ragents.reference/run-scripts/word-game/tests/program.test.ts +39 -39
  366. package/bundles/ragents.reference/skills/100-shared-actor-list/SKILL.md +5 -5
  367. package/bundles/ragents.reference/skills/110-all-card-slots/SKILL.md +5 -5
  368. package/bundles/ragents.reference/skills/150-editorial-workbench/SKILL.md +5 -5
  369. package/bundles/ragents.reference/skills/160-learning-companion/SKILL.md +5 -5
  370. package/bundles/ragents.reference/skills/170-photo-collection/SKILL.md +5 -5
  371. package/bundles/ragents.reference/skills/180-decision-workbench/SKILL.md +5 -5
  372. package/bundles/ragents.reference/skills/190-review-queue/SKILL.md +5 -5
  373. package/bundles/ragents.reference/skills/20-circle-of-four/SKILL.md +5 -5
  374. package/bundles/ragents.reference/skills/200-typescript-diagnostics/SKILL.md +5 -5
  375. package/bundles/ragents.reference/skills/210-moderator-handover/SKILL.md +5 -5
  376. package/bundles/ragents.reference/skills/220-actor-approval-list/SKILL.md +5 -5
  377. package/bundles/ragents.reference/skills/230-shared-state-views/SKILL.md +5 -5
  378. package/bundles/ragents.reference/skills/240-live-result-list/SKILL.md +5 -5
  379. package/bundles/ragents.reference/skills/250-balcony-wizard/SKILL.md +5 -5
  380. package/bundles/ragents.reference/skills/30-llm-without-runtime-knowledge/SKILL.md +5 -5
  381. package/bundles/ragents.reference/skills/35-actor-input-fifo/SKILL.md +5 -5
  382. package/bundles/ragents.reference/skills/40-subscription-matrix/SKILL.md +5 -5
  383. package/bundles/ragents.reference/skills/50-subscription-removal/SKILL.md +5 -5
  384. package/bundles/ragents.reference/skills/60-stop-in-the-circle/SKILL.md +5 -5
  385. package/bundles/ragents.reference/skills/65-artifact-least-privilege/SKILL.md +5 -5
  386. package/bundles/ragents.reference/skills/70-headless-counter/SKILL.md +5 -5
  387. package/bundles/ragents.reference/skills/75-lsp-demo/SKILL.md +5 -5
  388. package/bundles/ragents.reference/skills/80-actor-text-analysis/SKILL.md +5 -5
  389. package/bundles/ragents.reference/skills/90-actor-notes/SKILL.md +5 -5
  390. package/bundles/ragents.reference/skills/95-hello-world/SKILL.md +5 -5
  391. package/bundles/ragents.reference/skills/decision-brief/SKILL.md +24 -24
  392. package/bundles/ragents.reference/skills/learning-sprint/SKILL.md +24 -24
  393. package/bundles/ragents.reference/web/classes.json +1 -1
  394. package/bundles/ragents.reference/web/index.js +1 -1
  395. package/bundles/ragents.reference/web/index.js.map +2 -2
  396. package/bundles/ragents.todo/ragents-bundle.json +2 -2
  397. package/bundles/ragents.todo/server/index.js +5 -5
  398. package/bundles/ragents.todo/server/index.js.map +2 -2
  399. package/bundles/ragents.todo/web/classes.json +1 -1
  400. package/bundles/ragents.todo/web/index.js +1 -1
  401. package/bundles/ragents.todo/web/index.js.map +2 -2
  402. package/bundles/ragents.transcript/ragents-bundle.json +2 -2
  403. package/bundles/ragents.transcript/server/index.js +11 -11
  404. package/bundles/ragents.transcript/server/index.js.map +2 -2
  405. package/bundles/ragents.watch/ragents-bundle.json +2 -2
  406. package/bundles/ragents.watch/server/index.js +48 -48
  407. package/bundles/ragents.watch/server/index.js.map +2 -2
  408. package/bundles/ragents.workspace/ragents-bundle.json +2 -2
  409. package/bundles/ragents.workspace/server/index.js +81 -81
  410. package/bundles/ragents.workspace/server/index.js.map +2 -2
  411. package/bundles/ragents.workspace/web/classes.json +1 -1
  412. package/bundles/ragents.workspace/web/index.js +1 -1
  413. package/bundles/ragents.workspace/web/index.js.map +2 -2
  414. package/package.json +4 -4
  415. package/packages/agent/dist/core/model-runtime.d.ts +7 -2
  416. package/packages/agent/dist/index.d.ts +1 -1
  417. package/packages/agent/dist/loop/agent-loop.d.ts +2 -2
  418. package/packages/agent/src/core/compaction/utils.ts +1 -1
  419. package/packages/agent/src/core/model-runtime.ts +45 -5
  420. package/packages/agent/src/index.ts +1 -1
  421. package/packages/agent/src/loop/agent-loop.ts +2 -2
  422. package/packages/ai/dist/models.d.ts +1 -0
  423. package/packages/ai/dist/models.generated.d.ts +4544 -983
  424. package/packages/ai/dist/providers/openrouter.models.d.ts +4544 -983
  425. package/packages/ai/src/api/ai-sdk.ts +33 -7
  426. package/packages/ai/src/api-registry.ts +1 -1
  427. package/packages/ai/src/index.ts +2 -2
  428. package/packages/ai/src/models.generated.ts +1 -1
  429. package/packages/ai/src/models.ts +1 -1
  430. package/packages/ai/src/providers/openrouter.models.ts +3723 -550
  431. package/packages/ragents/src/access.ts +12 -12
  432. package/packages/ragents/src/agents/actor-input.ts +33 -33
  433. package/packages/ragents/src/agents/catalog.ts +1 -1
  434. package/packages/ragents/src/agents/delivery.ts +17 -17
  435. package/packages/ragents/src/agents/plugins.ts +1 -1
  436. package/packages/ragents/src/agents/scheduler.ts +7 -7
  437. package/packages/ragents/src/agents/schemas.ts +1 -1
  438. package/packages/ragents/src/agents/tool-orientation.ts +4 -4
  439. package/packages/ragents/src/agents/tools.ts +20 -20
  440. package/packages/ragents/src/agents/toolset.ts +5 -5
  441. package/packages/ragents/src/agents/workspaces.ts +1 -1
  442. package/packages/ragents/src/domain/events.ts +1 -1
  443. package/packages/ragents/src/domain/model.ts +5 -5
  444. package/packages/ragents/src/drivers/agent-runtime.ts +1 -1
  445. package/packages/ragents/src/drivers/agent-turn.ts +4 -4
  446. package/packages/ragents/src/drivers/agent.ts +2 -2
  447. package/packages/ragents/src/drivers/attachments.ts +4 -4
  448. package/packages/ragents/src/http/contracts.ts +14 -14
  449. package/packages/ragents/src/http/methods.ts +6 -6
  450. package/packages/ragents/src/plugin-host.ts +119 -119
  451. package/packages/ragents/src/plugin-types.ts +16 -16
  452. package/packages/ragents/src/rpc/contract.ts +5 -5
  453. package/packages/ragents/src/rpc/contribution.ts +2 -2
  454. package/packages/ragents/src/rpc/peer.ts +11 -11
  455. package/packages/ragents/src/rpc/protocol.ts +2 -2
  456. package/packages/ragents/src/runtime/decisions/turns.ts +1 -1
  457. package/packages/ragents/src/runtime/journal.ts +10 -10
  458. package/packages/ragents/src/runtime/orchestration.ts +8 -8
  459. package/packages/ragents/src/runtime/stop.ts +2 -2
  460. package/packages/ragents/src/script/mediators.ts +35 -35
  461. package/packages/ragents/src/typescript/async-compiler.ts +14 -14
  462. package/packages/ragents/src/typescript/compiler-worker.ts +2 -2
  463. package/packages/ragents/src/typescript/compiler.ts +7 -7
  464. package/packages/ragents/src/typescript/snippet.ts +5 -5
  465. package/packages/workspace-executor/src/bash-launch.ts +13 -13
  466. package/packages/workspace-executor/src/commands.ts +18 -18
  467. package/packages/workspace-executor/src/context.ts +15 -15
  468. package/packages/workspace-executor/src/contributions.ts +35 -35
  469. package/packages/workspace-executor/src/errors.ts +1 -1
  470. package/packages/workspace-executor/src/executor.ts +15 -15
  471. package/packages/workspace-executor/src/files.ts +30 -30
  472. package/packages/workspace-executor/src/language-server/contract.ts +2 -2
  473. package/packages/workspace-executor/src/language-server/diagnostics.ts +4 -4
  474. package/packages/workspace-executor/src/language-server/host.ts +35 -35
  475. package/packages/workspace-executor/src/language-server/json-rpc.ts +4 -4
  476. package/packages/workspace-executor/src/language-server/module.ts +11 -11
  477. package/packages/workspace-executor/src/language-server/roots.ts +3 -3
  478. package/packages/workspace-executor/src/language-server/session.ts +15 -15
  479. package/packages/workspace-executor/src/language-server/workspace-solutions.ts +2 -2
  480. package/packages/workspace-executor/src/managed-process.ts +12 -12
  481. package/packages/workspace-executor/src/module.ts +8 -8
  482. package/packages/workspace-executor/src/modules.ts +3 -3
  483. package/packages/workspace-executor/src/paths.ts +11 -11
  484. package/packages/workspace-executor/src/process-sandbox.ts +3 -3
  485. package/packages/workspace-executor/src/processes/module.ts +3 -3
  486. package/packages/workspace-executor/src/processes/process-table.ts +20 -20
  487. package/packages/workspace-executor/src/processes/scanner.ts +3 -3
  488. package/packages/workspace-executor/src/processes/snapshot.ts +2 -2
  489. package/packages/workspace-executor/src/processes/terminator.ts +13 -13
  490. package/packages/workspace-executor/src/run-folders.ts +3 -3
  491. package/packages/workspace-executor/src/safe-environment.ts +4 -4
  492. package/packages/workspace-executor/src/sandbox-tools.ts +28 -28
  493. package/packages/workspace-executor/src/session-ident.ts +2 -2
  494. package/packages/workspace-executor/src/shell-platform.ts +2 -2
  495. package/packages/workspace-executor/src/tools.ts +5 -5
  496. package/plugins/ragents.activity/web/ActivityHeader.tsx +3 -3
  497. package/plugins/ragents.activity/web/activity.ts +2 -2
  498. package/plugins/ragents.actor-programs/server/access-projections.ts +1 -1
  499. package/plugins/ragents.actor-programs/server/agent-tools.ts +2 -2
  500. package/plugins/ragents.actor-programs/server/capability-resolver.ts +3 -3
  501. package/plugins/ragents.actor-programs/server/controls-template.ts +46 -46
  502. package/plugins/ragents.actor-programs/server/controls-tool.ts +4 -4
  503. package/plugins/ragents.actor-programs/server/limits.ts +3 -3
  504. package/plugins/ragents.actor-programs/server/methods.ts +1 -1
  505. package/plugins/ragents.actor-programs/server/project-diagnostics.ts +8 -8
  506. package/plugins/ragents.actor-programs/server/routes.ts +8 -8
  507. package/plugins/ragents.actor-programs/server/runtime.ts +90 -90
  508. package/plugins/ragents.actor-programs/server/templates.ts +59 -59
  509. package/plugins/ragents.actor-programs/server/test-report.ts +5 -5
  510. package/plugins/ragents.actor-programs/server/tool-contributor.ts +1 -1
  511. package/plugins/ragents.actor-programs/web/ActorViewFrame.tsx +17 -17
  512. package/plugins/ragents.actor-programs/web/AppsPanel.tsx +26 -26
  513. package/plugins/ragents.actor-programs/web/EmbeddedApps.tsx +3 -3
  514. package/plugins/ragents.actor-programs/web/FullscreenHost.tsx +2 -2
  515. package/plugins/ragents.actor-programs/web/FunctionForm.tsx +16 -16
  516. package/plugins/ragents.actor-programs/web/ProgramSource.tsx +5 -5
  517. package/plugins/ragents.actor-programs/web/api.ts +36 -36
  518. package/plugins/ragents.actor-programs/web/bridge.ts +8 -8
  519. package/plugins/ragents.actor-programs/web/chat-state.ts +4 -4
  520. package/plugins/ragents.actor-programs/web/context.ts +1 -1
  521. package/plugins/ragents.actor-programs/web/function-input.ts +6 -6
  522. package/plugins/ragents.actor-programs/web/index.tsx +1 -1
  523. package/plugins/ragents.actor-programs/web/program-state.ts +4 -4
  524. package/plugins/ragents.ask/ask-payload.ts +1 -1
  525. package/plugins/ragents.ask/contract.ts +5 -5
  526. package/plugins/ragents.ask/server/answer-method.ts +1 -1
  527. package/plugins/ragents.ask/server/ask-service.ts +9 -9
  528. package/plugins/ragents.ask/server/ask-tool.ts +10 -10
  529. package/plugins/ragents.ask/server/contract.ts +5 -5
  530. package/plugins/ragents.ask/web/AskActionView.tsx +1 -1
  531. package/plugins/ragents.ask/web/QuestionCard.tsx +22 -22
  532. package/plugins/ragents.ask/web/index.tsx +2 -2
  533. package/plugins/ragents.browser/executor/contract.ts +6 -6
  534. package/plugins/ragents.browser/executor/index.ts +1 -1
  535. package/plugins/ragents.browser/executor/module.ts +6 -6
  536. package/plugins/ragents.browser/executor/pages.ts +32 -32
  537. package/plugins/ragents.browser/executor/playwright.ts +8 -8
  538. package/plugins/ragents.browser/provision.ts +7 -7
  539. package/plugins/ragents.browser/server/browser.ts +14 -14
  540. package/plugins/ragents.browser/server/contract.ts +1 -1
  541. package/plugins/ragents.browser/server/index.ts +1 -1
  542. package/plugins/ragents.browser/server/tools.ts +14 -14
  543. package/plugins/ragents.browser/skills/browser-testing/SKILL.md +30 -30
  544. package/plugins/ragents.documents/contract.ts +2 -2
  545. package/plugins/ragents.documents/prompt.hbs +1 -1
  546. package/plugins/ragents.documents/server/document-write-tool.ts +12 -12
  547. package/plugins/ragents.documents/server/files-route.ts +6 -6
  548. package/plugins/ragents.documents/server/show-document-tool.ts +26 -26
  549. package/plugins/ragents.documents/server/store.ts +1 -1
  550. package/plugins/ragents.documents/web/DocumentViewer.tsx +37 -37
  551. package/plugins/ragents.documents/web/index.tsx +11 -11
  552. package/plugins/ragents.lsp-fsharp/executor.ts +7 -7
  553. package/plugins/ragents.lsp-fsharp/provision.ts +7 -7
  554. package/plugins/ragents.lsp-roslyn/executor.ts +5 -5
  555. package/plugins/ragents.lsp-roslyn/provision.ts +4 -4
  556. package/plugins/ragents.lsp-roslyn/server/index.ts +5 -5
  557. package/plugins/ragents.lsp-roslyn/server/solution-on-start.ts +13 -13
  558. package/plugins/ragents.lsp-typescript/executor.ts +3 -3
  559. package/plugins/ragents.model-relay/server/config.ts +6 -2
  560. package/plugins/ragents.model-relay/server/index.ts +2 -2
  561. package/plugins/ragents.model-relay/server/relay.ts +23 -22
  562. package/plugins/ragents.orchestration/contract.ts +8 -8
  563. package/plugins/ragents.orchestration/server/index.ts +4 -4
  564. package/plugins/ragents.orchestration/server/run-stop-tool.ts +3 -3
  565. package/plugins/ragents.orchestration/server/surface-tool.ts +5 -5
  566. package/plugins/ragents.orchestration/tiled-layout.ts +11 -11
  567. package/plugins/ragents.orchestration/web/ActorChat.tsx +2 -2
  568. package/plugins/ragents.orchestration/web/ActorChatControls.tsx +4 -4
  569. package/plugins/ragents.orchestration/web/ActorChatPreview.tsx +1 -1
  570. package/plugins/ragents.orchestration/web/ActorPopout.tsx +1 -1
  571. package/plugins/ragents.orchestration/web/ActorShortcut.tsx +6 -6
  572. package/plugins/ragents.orchestration/web/ActorSurfaceControls.tsx +15 -15
  573. package/plugins/ragents.orchestration/web/Center.tsx +5 -5
  574. package/plugins/ragents.orchestration/web/DocumentsSection.tsx +2 -2
  575. package/plugins/ragents.orchestration/web/ExecutionsPanel.tsx +15 -15
  576. package/plugins/ragents.orchestration/web/FlowInspector.tsx +103 -103
  577. package/plugins/ragents.orchestration/web/JournalStatus.tsx +11 -11
  578. package/plugins/ragents.orchestration/web/MaterialBody.tsx +2 -2
  579. package/plugins/ragents.orchestration/web/StopRunButton.tsx +6 -6
  580. package/plugins/ragents.orchestration/web/TiledSurface.tsx +9 -9
  581. package/plugins/ragents.orchestration/web/actor-header-settings.ts +5 -5
  582. package/plugins/ragents.orchestration/web/constants.ts +2 -2
  583. package/plugins/ragents.orchestration/web/executions.ts +6 -6
  584. package/plugins/ragents.orchestration/web/format.ts +1 -1
  585. package/plugins/ragents.orchestration/web/index.tsx +2 -2
  586. package/plugins/ragents.orchestration/web/run-panel/AddresseeControl.tsx +7 -7
  587. package/plugins/ragents.orchestration/web/run-panel/AddresseeTree.tsx +8 -8
  588. package/plugins/ragents.orchestration/web/run-panel/RunPanel.tsx +22 -22
  589. package/plugins/ragents.orchestration/web/run-panel/RunPanelSettings.tsx +7 -7
  590. package/plugins/ragents.orchestration/web/run-panel/addressee-tree.ts +13 -13
  591. package/plugins/ragents.orchestration/web/run-panel/run-panel-actors.ts +3 -3
  592. package/plugins/ragents.orchestration/web/run-panel/run-panel-settings.ts +2 -2
  593. package/plugins/ragents.orchestration/web/run-panel/run-panel-startup.ts +3 -3
  594. package/plugins/ragents.orchestration/web/run-panel/run-panel-state.ts +7 -7
  595. package/plugins/ragents.orchestration/web/run-panel/sheet-status.ts +9 -9
  596. package/plugins/ragents.orchestration/web/surface-startup.ts +8 -8
  597. package/plugins/ragents.orchestration/web/surface-view-settings.ts +1 -1
  598. package/plugins/ragents.orchestration/web/tiled-view-settings.ts +1 -1
  599. package/plugins/ragents.overseer/contract.ts +20 -20
  600. package/plugins/ragents.overseer/server/api.ts +6 -6
  601. package/plugins/ragents.overseer/server/coordinator-prompt.ts +10 -10
  602. package/plugins/ragents.overseer/server/coordinator.ts +4 -4
  603. package/plugins/ragents.overseer/server/index.ts +24 -24
  604. package/plugins/ragents.overseer/server/orientation.ts +8 -8
  605. package/plugins/ragents.overseer/server/quick-answer.ts +9 -9
  606. package/plugins/ragents.overseer/server/run-directory.ts +5 -5
  607. package/plugins/ragents.overseer/server/settings.ts +6 -6
  608. package/plugins/ragents.overseer/server/user-location.ts +16 -16
  609. package/plugins/ragents.overseer/web/ModelSettings.tsx +9 -9
  610. package/plugins/ragents.overseer/web/index.tsx +20 -20
  611. package/plugins/ragents.overseer/web/model-settings.ts +1 -1
  612. package/plugins/ragents.overseer/web/quick-answers.ts +2 -2
  613. package/plugins/ragents.processes/contract.ts +5 -5
  614. package/plugins/ragents.processes/server/methods.ts +4 -4
  615. package/plugins/ragents.processes/server/observer.ts +8 -8
  616. package/plugins/ragents.processes/server/run-processes.ts +2 -2
  617. package/plugins/ragents.processes/web/ProcessHeader.tsx +10 -10
  618. package/plugins/ragents.processes/web/processes.ts +10 -10
  619. package/plugins/ragents.product/server/config.ts +1 -1
  620. package/plugins/ragents.product/server/index.ts +4 -4
  621. package/plugins/ragents.product/server/runtime.ts +9 -10
  622. package/plugins/ragents.product/web/index.tsx +1 -1
  623. package/plugins/ragents.profile-distribution/contract.ts +10 -10
  624. package/plugins/ragents.profile-distribution/server/archive.ts +20 -20
  625. package/plugins/ragents.profile-distribution/server/config.ts +2 -2
  626. package/plugins/ragents.profile-distribution/server/index.ts +4 -4
  627. package/plugins/ragents.reference/examples.ts +27 -27
  628. package/plugins/ragents.reference/run-scripts/balcony-wizard/RUN.md +19 -19
  629. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/package.json +2 -2
  630. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +14 -14
  631. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/conversation.ts +2 -2
  632. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/tests/conversation.test.ts +49 -49
  633. package/plugins/ragents.reference/run-scripts/balcony-wizard/package.json +1 -1
  634. package/plugins/ragents.reference/run-scripts/balcony-wizard/src/server.ts +9 -9
  635. package/plugins/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +9 -9
  636. package/plugins/ragents.reference/run-scripts/conversation-circle/RUN.md +7 -7
  637. package/plugins/ragents.reference/run-scripts/conversation-circle/package.json +1 -1
  638. package/plugins/ragents.reference/run-scripts/conversation-circle/src/server.ts +13 -13
  639. package/plugins/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +1 -1
  640. package/plugins/ragents.reference/run-scripts/conversation-circle/tests/program.test.ts +8 -8
  641. package/plugins/ragents.reference/run-scripts/learning-afternoon/RUN.md +16 -16
  642. package/plugins/ragents.reference/run-scripts/learning-afternoon/package.json +1 -1
  643. package/plugins/ragents.reference/run-scripts/learning-afternoon/prompts/experiment.md +1 -1
  644. package/plugins/ragents.reference/run-scripts/learning-afternoon/prompts/helper.md +3 -3
  645. package/plugins/ragents.reference/run-scripts/learning-afternoon/prompts/quiz.md +1 -1
  646. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/server.ts +9 -9
  647. package/plugins/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +39 -39
  648. package/plugins/ragents.reference/run-scripts/moderated-round/RUN.md +7 -7
  649. package/plugins/ragents.reference/run-scripts/moderated-round/package.json +1 -1
  650. package/plugins/ragents.reference/run-scripts/moderated-round/src/server.ts +9 -9
  651. package/plugins/ragents.reference/run-scripts/moderated-round/tests/helpers.ts +1 -1
  652. package/plugins/ragents.reference/run-scripts/moderated-round/tests/program.test.ts +6 -6
  653. package/plugins/ragents.reference/run-scripts/shared-actor-list/RUN.md +12 -12
  654. package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/package.json +2 -2
  655. package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/contract.ts +3 -3
  656. package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/tests/program.test.ts +4 -4
  657. package/plugins/ragents.reference/run-scripts/shared-actor-list/package.json +1 -1
  658. package/plugins/ragents.reference/run-scripts/shared-actor-list/src/server.ts +11 -11
  659. package/plugins/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +1 -1
  660. package/plugins/ragents.reference/run-scripts/shared-actor-list/tests/program.test.ts +13 -13
  661. package/plugins/ragents.reference/run-scripts/word-game/RUN.md +18 -18
  662. package/plugins/ragents.reference/run-scripts/word-game/package.json +2 -2
  663. package/plugins/ragents.reference/run-scripts/word-game/src/client.tsx +1 -1
  664. package/plugins/ragents.reference/run-scripts/word-game/src/contract.ts +2 -2
  665. package/plugins/ragents.reference/run-scripts/word-game/src/server.ts +16 -16
  666. package/plugins/ragents.reference/run-scripts/word-game/tests/program.test.ts +39 -39
  667. package/plugins/ragents.reference/skills/100-shared-actor-list/SKILL.md +5 -5
  668. package/plugins/ragents.reference/skills/110-all-card-slots/SKILL.md +5 -5
  669. package/plugins/ragents.reference/skills/150-editorial-workbench/SKILL.md +5 -5
  670. package/plugins/ragents.reference/skills/160-learning-companion/SKILL.md +5 -5
  671. package/plugins/ragents.reference/skills/170-photo-collection/SKILL.md +5 -5
  672. package/plugins/ragents.reference/skills/180-decision-workbench/SKILL.md +5 -5
  673. package/plugins/ragents.reference/skills/190-review-queue/SKILL.md +5 -5
  674. package/plugins/ragents.reference/skills/20-circle-of-four/SKILL.md +5 -5
  675. package/plugins/ragents.reference/skills/200-typescript-diagnostics/SKILL.md +5 -5
  676. package/plugins/ragents.reference/skills/210-moderator-handover/SKILL.md +5 -5
  677. package/plugins/ragents.reference/skills/220-actor-approval-list/SKILL.md +5 -5
  678. package/plugins/ragents.reference/skills/230-shared-state-views/SKILL.md +5 -5
  679. package/plugins/ragents.reference/skills/240-live-result-list/SKILL.md +5 -5
  680. package/plugins/ragents.reference/skills/250-balcony-wizard/SKILL.md +5 -5
  681. package/plugins/ragents.reference/skills/30-llm-without-runtime-knowledge/SKILL.md +5 -5
  682. package/plugins/ragents.reference/skills/35-actor-input-fifo/SKILL.md +5 -5
  683. package/plugins/ragents.reference/skills/40-subscription-matrix/SKILL.md +5 -5
  684. package/plugins/ragents.reference/skills/50-subscription-removal/SKILL.md +5 -5
  685. package/plugins/ragents.reference/skills/60-stop-in-the-circle/SKILL.md +5 -5
  686. package/plugins/ragents.reference/skills/65-artifact-least-privilege/SKILL.md +5 -5
  687. package/plugins/ragents.reference/skills/70-headless-counter/SKILL.md +5 -5
  688. package/plugins/ragents.reference/skills/75-lsp-demo/SKILL.md +5 -5
  689. package/plugins/ragents.reference/skills/80-actor-text-analysis/SKILL.md +5 -5
  690. package/plugins/ragents.reference/skills/90-actor-notes/SKILL.md +5 -5
  691. package/plugins/ragents.reference/skills/95-hello-world/SKILL.md +5 -5
  692. package/plugins/ragents.reference/skills/decision-brief/SKILL.md +24 -24
  693. package/plugins/ragents.reference/skills/learning-sprint/SKILL.md +24 -24
  694. package/plugins/ragents.reference/walkthroughs.ts +128 -128
  695. package/plugins/ragents.reference/web/StartGuides.tsx +23 -23
  696. package/plugins/ragents.todo/server/todo-tool.ts +6 -6
  697. package/plugins/ragents.todo/web/TodoSection.tsx +1 -1
  698. package/plugins/ragents.transcript/server/transcript.ts +11 -11
  699. package/plugins/ragents.watch/server/condition.ts +4 -4
  700. package/plugins/ragents.watch/server/functions.ts +27 -27
  701. package/plugins/ragents.watch/server/observation.ts +2 -2
  702. package/plugins/ragents.watch/server/service.ts +14 -14
  703. package/plugins/ragents.workspace/client/transport.ts +1 -1
  704. package/plugins/ragents.workspace/client/workspace-client.ts +54 -54
  705. package/plugins/ragents.workspace/contract.ts +46 -46
  706. package/plugins/ragents.workspace/server/binding.ts +20 -20
  707. package/plugins/ragents.workspace/server/browse-route.ts +8 -8
  708. package/plugins/ragents.workspace/server/clients.ts +42 -42
  709. package/plugins/ragents.workspace/server/config.ts +7 -7
  710. package/plugins/ragents.workspace/server/index.ts +3 -3
  711. package/plugins/ragents.workspace/server/runtime.ts +26 -26
  712. package/plugins/ragents.workspace/server/shell-platform.ts +1 -1
  713. package/plugins/ragents.workspace/web/FileBrowser.tsx +10 -10
  714. package/plugins/ragents.workspace/web/WorkspaceBinding.tsx +24 -24
  715. package/plugins/ragents.workspace/web/index.tsx +1 -1
  716. package/ragents.config.core.ts +1 -1
  717. package/ragents.config.developer.ts +3 -3
  718. package/ragents.config.showcase.ts +2 -2
  719. package/scripts/agent/agent-cli.ts +96 -96
  720. package/scripts/agent/journal.ts +5 -5
  721. package/scripts/agent/turn-control.ts +4 -4
  722. package/scripts/package/build-package.ts +29 -29
  723. package/scripts/package/host-links.mjs +3 -3
  724. package/scripts/package/publish-package.ts +29 -29
  725. package/scripts/package/ragents.mjs +19 -19
  726. package/scripts/plugin/build-builtin-plugins.ts +5 -5
  727. package/scripts/plugin/plugin-cli.ts +14 -14
  728. package/scripts/provision/run-provision.ts +14 -15
  729. package/scripts/remote/connect.ts +46 -46
  730. package/scripts/remote/start.ts +18 -18
  731. package/scripts/workspace-client/run-workspace-client.ts +23 -23
  732. package/apps/web/dist/assets/main-DnnqWHkH.js +0 -11
  733. package/apps/web/dist/assets/mermaid-HWGCJPDP-BLLeth5_.js +0 -568
  734. package/apps/web/dist/assets/runPanel-DPm7s3KM.js +0 -21
  735. package/bundles/ragents.ask/server/chunks/chunk-PDJO75SQ.js.map +0 -7
  736. package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js +0 -2
  737. package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js.map +0 -7
  738. package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js +0 -2
  739. package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js.map +0 -7
  740. package/bundles/ragents.ask/web/chunks/chunk-WFN4374U.js.map +0 -7
  741. package/bundles/ragents.orchestration/web/chunks/chunk-OQYCNYXN.js +0 -2
  742. /package/bundles/ragents.orchestration/web/chunks/{chunk-OSKPH6SZ.js.map → chunk-CFMJD5ZI.js.map} +0 -0
  743. /package/bundles/ragents.orchestration/web/chunks/{chunk-ODMMQGX2.js.map → chunk-UCIMT2R4.js.map} +0 -0
@@ -31,16 +31,16 @@ const checkFailure = (title: string, lines: readonly string[], fallback: string)
31
31
  const shown = all.slice(0, maxShownComplaints).map((line) => line.length > maxComplaintLength ? `${line.slice(0, maxComplaintLength - 3)}...` : line);
32
32
  const omitted = all.length - shown.length;
33
33
  return Object.assign(new Error([
34
- `${title}: ${all.length} Fehler.`,
34
+ `${title}: ${all.length} errors.`,
35
35
  ...shown,
36
- ...(omitted > 0 ? [`... und ${omitted} weitere; alle mit actor_program_diagnostics.`] : []),
36
+ ...(omitted > 0 ? [`... and ${omitted} more; all with actor_program_diagnostics.`] : []),
37
37
  ].join("\n")), { lines: all });
38
38
  };
39
39
  const actorDescriptionOf = (text: string | undefined): string | undefined => {
40
40
  const line = (text ?? "").replace(/\s+/g, " ").trim();
41
41
  return line.length <= actorDescriptionMaxLength ? line || undefined : `${line.slice(0, actorDescriptionMaxLength - 3).trimEnd()}...`;
42
42
  };
43
- const exposed = defineToolAvailability({ availability: "conditional", availabilityDetail: "Veröffentlichte Funktion eines aktiven Actors im Run." }, () => true);
43
+ const exposed = defineToolAvailability({ availability: "conditional", availabilityDetail: "Published function of an active actor in the run." }, () => true);
44
44
  const objectSchema = { type: "object", additionalProperties: true };
45
45
  const checked = (schema: object, value: unknown, label: string): JsonValue => {
46
46
  const result = jsonValue(value, label);
@@ -50,17 +50,17 @@ const checked = (schema: object, value: unknown, label: string): JsonValue => {
50
50
  };
51
51
  const safePath = (name: string): string => {
52
52
  if (!name || path.isAbsolute(name) || name.includes("\\") || name.includes("\0") || name.split("/").some((part) => !part || part === "." || part === ".."))
53
- throw new Error(`Ungültiger Paketpfad ${name}.`);
53
+ throw new Error(`Invalid package path ${name}.`);
54
54
  return name;
55
55
  };
56
56
  const inside = async (directory: string, relative: string): Promise<string> => {
57
57
  const root = await realpath(directory);
58
58
  const file = await realpath(path.join(root, safePath(relative)));
59
59
  if (!file.startsWith(`${root}${path.sep}`))
60
- throw new Error(`Paketpfad ${relative} liegt außerhalb des Pakets.`);
60
+ throw new Error(`Package path ${relative} is outside the package.`);
61
61
  const stat = await lstat(file);
62
62
  if (!stat.isFile() || stat.size > 2000000)
63
- throw new Error(`Ungültige oder zu große Paketdatei ${relative}.`);
63
+ throw new Error(`Invalid or too large package file ${relative}.`);
64
64
  return readFile(file, "utf8");
65
65
  };
66
66
  const occupied = (file: string): boolean => {
@@ -74,8 +74,8 @@ const occupied = (file: string): boolean => {
74
74
  throw error;
75
75
  }
76
76
  };
77
- const packageExists = (name: string): Error => new Error(`Das Paket ${name} existiert bereits.`);
78
- // Prüfung und rename synchron hintereinander, weil rename einen leeren Zielordner still ersetzt.
77
+ const packageExists = (name: string): Error => new Error(`The package ${name} already exists.`);
78
+ // Check and rename synchronously one after the other, because rename silently replaces an empty target folder.
79
79
  const commitPackage = (staged: string, directory: string, name: string): void => {
80
80
  if (occupied(directory))
81
81
  throw packageExists(name);
@@ -126,7 +126,7 @@ export interface ActorProgramRuntimeOptions {
126
126
  agentToolsFor: (runId: string, actorId: string, provisional?: ExecutableActor) => Promise<readonly RunFunction[]>;
127
127
  askService: () => AskService;
128
128
  reservedToolNames: () => readonly string[];
129
- /** Programme, Tests und Builds laufen auf dem Server, auch bei einem Arbeitsbereich auf einem Arbeitsplatz. */
129
+ /** Programs, tests, and builds run on the server, even with a workspace on a workstation. */
130
130
  serverProcessContextFor: (runId: string) => Promise<WorkspaceProcessContext>;
131
131
  operations: ActorOperationPort;
132
132
  directoryFor: (runId: string) => string;
@@ -168,16 +168,16 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
168
168
  actor(runId: string, actorId: string): ExecutableActor {
169
169
  const actor = this.view(runId).actors.find((candidate) => candidate.id === actorId);
170
170
  if (!actor || actor.kind === "human" || actor.lifecycle.kind === "stopped")
171
- throw new Error("Der Actor ist nicht aktiv.");
171
+ throw new Error("The actor is not active.");
172
172
  if (this.#removing.has(`${runId}\0${actorId}`))
173
- throw new Error("Das Actor-Paket wird entfernt.");
173
+ throw new Error("The actor package is being removed.");
174
174
  return actor;
175
175
  }
176
176
  resolveActor(runId: string, callerId: string, reference: string): ExecutableActor {
177
177
  const actors = this.view(runId).actors;
178
178
  const found = reference === "self" ? actors.find((candidate) => candidate.id === callerId) : actorByHandle(actors, reference);
179
179
  if (!found)
180
- throw new Error(`Actor ${reference} ist unbekannt.`);
180
+ throw new Error(`Actor ${reference} is unknown.`);
181
181
  return this.actor(runId, found.id);
182
182
  }
183
183
  data(runId: string, actorId: string): ActorDataState {
@@ -187,7 +187,7 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
187
187
  return { version: 1, revision, values: (entry?.state ?? {}) as Record<string, unknown> };
188
188
  }
189
189
  #writeProgram(context: CommandContext, runId: string, actorId: string, program: ActorProgramDefinition | null): void {
190
- this.runtime().replacePluginState(this.operatorContext(runId), runId, { pluginId: ACTOR_PROGRAMS_STATE_ID, scope: { kind: "actor", actorId }, state: jsonValue({ version: 1, program }, "Actor-Programm") });
190
+ this.runtime().replacePluginState(this.operatorContext(runId), runId, { pluginId: ACTOR_PROGRAMS_STATE_ID, scope: { kind: "actor", actorId }, state: jsonValue({ version: 1, program }, "Actor program") });
191
191
  }
192
192
  #script(runId: string): ActorScriptState | undefined {
193
193
  return this.view(runId).pluginStates.find((entry) => entry.pluginId === ACTOR_SCRIPT_STATE_ID && entry.scope.kind === "run")?.state as unknown as ActorScriptState | undefined;
@@ -196,7 +196,7 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
196
196
  for (const source of files) {
197
197
  const file = path.join(directory, safePath(source.path));
198
198
  if (source.path.split("/").includes("node_modules"))
199
- throw new Error("Paketquellen dürfen keine Abhängigkeiten überschreiben.");
199
+ throw new Error("Package sources must not overwrite dependencies.");
200
200
  await mkdir(path.dirname(file), { recursive: true });
201
201
  await writeFile(file, source.content, { flag: "wx" });
202
202
  }
@@ -215,14 +215,14 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
215
215
  await this.#activate(this.operatorContext(runId, "refresh"), runId, program.name, false, signal);
216
216
  }
217
217
  catch (error) {
218
- throw new Error(`Der Capability-Vertrag von ${program.name} hat sich geändert und die Neuaktivierung scheiterte: ${errorText(error)}`);
218
+ throw new Error(`The capability contract of ${program.name} has changed and the reactivation failed: ${errorText(error)}`);
219
219
  }
220
220
  }
221
221
  async #bound<T extends CapabilityContract>(runId: string, actorId: string, revision: string | undefined, signal: AbortSignal, contractOf: (program: ActorProgramDefinition) => T, descriptorsFor: BackendBinding["descriptorsFor"]): Promise<{ program: ActorProgramDefinition; contract: T; descriptors: readonly RunCapabilityDescriptor[] }> {
222
222
  const current = () => {
223
223
  const program = this.programs(runId).find((entry) => entry.actorId === actorId);
224
224
  if (!program)
225
- throw new Error("Der Actor besitzt kein aktives Programm.");
225
+ throw new Error("The actor has no active program.");
226
226
  return program;
227
227
  };
228
228
  const bind = (program: ActorProgramDefinition) => {
@@ -232,14 +232,14 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
232
232
  };
233
233
  const program = current();
234
234
  if (revision !== undefined && program.revision !== revision)
235
- throw new Error("Das Actor-Paket wurde ersetzt.");
235
+ throw new Error("The actor package was replaced.");
236
236
  const bound = bind(program);
237
237
  if (!bound.drifted)
238
238
  return bound;
239
239
  await this.#refresh(runId, program, signal);
240
240
  const refreshed = bind(current());
241
241
  if (refreshed.drifted)
242
- throw new Error(`Der Capability-Vertrag von ${program.name} weicht auch nach der Neuaktivierung ab.`);
242
+ throw new Error(`The capability contract of ${program.name} still differs after the reactivation.`);
243
243
  return refreshed;
244
244
  }
245
245
  async workspaceDirectory(runId: string): Promise<string> { this.#knownRuns.add(runId); return prepareAppWorkspace(path.join(this.#options.directoryFor(runId), "actor-workspace")); }
@@ -250,7 +250,7 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
250
250
  const directory = path.join(actors, name);
251
251
  const key = `${runId}\0${name}`;
252
252
  if (this.#creating.has(key))
253
- throw new Error(`Das Paket ${name} wird gerade angelegt.`);
253
+ throw new Error(`The package ${name} is being created.`);
254
254
  if (occupied(directory))
255
255
  throw packageExists(name);
256
256
  this.#creating.add(key);
@@ -303,16 +303,16 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
303
303
  this.#assertName(name);
304
304
  const directory = path.join(await this.workspaceDirectory(runId), name);
305
305
  if ((await lstat(directory)).isSymbolicLink())
306
- throw new Error("Actor-Pakete dürfen keine Symlinks sein.");
306
+ throw new Error("Actor packages must not be symlinks.");
307
307
  await prepareAppProject(directory);
308
308
  const pkg = await readAppPackage(directory);
309
309
  const previous = this.programs(runId).find((program) => program.name === name);
310
310
  const owner = reference ? this.resolveActor(runId, callerId, reference) : previous ? this.actor(runId, previous.actorId) : !pkg.backend ? this.actor(runId, callerId) : undefined;
311
311
  if (previous && owner?.id !== previous.actorId)
312
- throw new Error("Ein aktiviertes Paket kann nicht zu einem anderen Actor wechseln.");
312
+ throw new Error("An activated package cannot move to another actor.");
313
313
  const caller = this.view(runId).actors.find((candidate) => candidate.id === callerId);
314
314
  if (!caller)
315
- throw new Error("Aufrufender Actor fehlt.");
315
+ throw new Error("Calling actor is missing.");
316
316
  const provisional: ExecutableActor = owner ?? {
317
317
  id: "pending", handle: name, displayName: pkg.title, kind: "script", grants: caller.grants.filter((grant) => grant.delegable),
318
318
  createdAt: new Date().toISOString(), createdBy: callerId, description: actorDescriptionOf(pkg.description) ?? null, execution: { driver: { kind: "script", config: {} }, workspacePath: null, turnTimeoutMs: null }, lifecycle: { kind: "idle", since: new Date().toISOString() }, usage: emptyUsage(), toolNames: null, openedToolNames: [],
@@ -325,23 +325,23 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
325
325
  const backend = pkg.backend ? await compileAppBackend({ directory, backend: pkg.backend, runId, executor: this.runtime().nativeTypeScriptExecutor, signal }) : undefined;
326
326
  const contract: AppContract = backend?.contract ?? { state: objectSchema, functions: {} };
327
327
  if (contract.input && owner?.kind === "agent")
328
- throw new Error("Ein LLM-Actor verarbeitet Eingaben mit seinem Agententreiber; onInput ist nur für TypeScript-Actors erlaubt.");
328
+ throw new Error("An LLM actor processes inputs with its agent driver; onInput is only allowed for TypeScript actors.");
329
329
  if (contract.state.type !== "object")
330
- throw new Error("Actor-Zustand muss ein Object-Schema sein.");
330
+ throw new Error("Actor state must be an object schema.");
331
331
  const state = owner ? this.data(runId, owner.id).values : {};
332
- checked(contract.state, state, "Actor-Zustand");
332
+ checked(contract.state, state, "Actor state");
333
333
  const actorId = owner?.id ?? "pending";
334
334
  const actorHandle = owner?.handle ?? name;
335
335
  const functions: ActorFunctionDefinition[] = Object.entries(contract.functions).map(([id, fn]) => {
336
336
  if (!/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(id))
337
- throw new Error(`Ungültiger Funktionsname ${id}.`);
337
+ throw new Error(`Invalid function name ${id}.`);
338
338
  if (fn.tool && !/^[a-z][a-z0-9_]{0,63}$/.test(fn.tool.name))
339
- throw new Error(`Ungültiger Werkzeugname ${fn.tool.name}.`);
339
+ throw new Error(`Invalid tool name ${fn.tool.name}.`);
340
340
  const capabilities = fn.capabilities ?? [];
341
341
  const selected = capabilities.map((name) => {
342
342
  const entry = available.find((item) => item.id === name);
343
343
  if (!entry)
344
- throw new Error(`Capability ${name} ist nicht verfügbar.`);
344
+ throw new Error(`Capability ${name} is not available.`);
345
345
  return entry;
346
346
  });
347
347
  return { id, label: fn.label, description: fn.description ?? fn.label, inputSchema: fn.input, resultSchema: fn.output, capabilityIds: capabilities, capabilityContractHash: runCapabilityContractHash(selected), confirmation: fn.confirmation ?? null,
@@ -351,26 +351,26 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
351
351
  const inputDescriptors = inputCapabilities.map((id) => {
352
352
  const found = available.find((entry) => entry.id === id);
353
353
  if (!found)
354
- throw new Error(`Eingabe-Capability ${id} ist nicht verfügbar.`);
354
+ throw new Error(`Input capability ${id} is not available.`);
355
355
  return found;
356
356
  });
357
357
  await installClientSdk(directory, { stateSchema: contract.state, actions: functions.map((fn) => ({ id: fn.id, inputSchema: fn.inputSchema, resultSchema: fn.resultSchema })) });
358
358
  const hasServerFiles = pkg.backend || (await projectSourceFiles(directory)).some((file) => /^tests\/.*\.tsx?$/.test(file.path));
359
359
  const serverErrors = hasServerFiles ? typecheckServerProject(directory, pkg.backend) : [];
360
360
  if (serverErrors.length)
361
- throw checkFailure(`Typprüfung von ${name}`, serverErrors, `Die Typprüfung von ${name} schlug ohne Meldung fehl.`);
361
+ throw checkFailure(`Typecheck of ${name}`, serverErrors, `The typecheck of ${name} failed without a message.`);
362
362
  const clients: CompiledProgram["clients"] = [];
363
363
  const views: ActorProgramDefinition["views"] = [];
364
364
  for (const view of pkg.views ?? []) {
365
365
  const client = await compileClientProject({ directory, entryPoint: view.client, stateSchema: contract.state, actions: functions.map((fn) => ({ id: fn.id, inputSchema: fn.inputSchema, resultSchema: fn.resultSchema })) });
366
366
  if (!client.valid)
367
- throw checkFailure(`Client-Build von ${view.client}`,
367
+ throw checkFailure(`Client build of ${view.client}`,
368
368
  client.diagnostics.filter((item) => item.category === "error").map((item) =>
369
369
  `${item.fileName ?? view.client}${item.start ? `:${item.start.line}:${item.start.column}` : ""} ${item.message.replace(/\s*\n\s*/g, " ")}`),
370
- `Der Client-Build von ${view.client} schlug ohne Meldung fehl.`);
370
+ `The client build of ${view.client} failed without a message.`);
371
371
  const styles = view.styles ? await inside(directory, view.styles) : "";
372
372
  if (/@import\b|url\s*\(\s*["']?\s*(?:https?:|\/\/)/i.test(styles))
373
- throw new Error("Ansichts-CSS darf keine externen Ressourcen laden.");
373
+ throw new Error("View CSS must not load external resources.");
374
374
  const clientFile = `view-${view.id}.mjs`;
375
375
  clients.push({ file: clientFile, javaScript: client.javaScript });
376
376
  views.push({ id: `${name}--${view.id}`, key: view.id, title: view.title ?? pkg.title, visible: previous?.views.find((item) => item.key === view.id)?.visible ?? true,
@@ -392,7 +392,7 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
392
392
  async #activate(context: CommandContext, runId: string, name: string, idle: boolean, signal?: AbortSignal, reference?: string) {
393
393
  const key = `${runId}\0${name}`;
394
394
  if (this.#installing.has(key))
395
- throw new Error(`Paket ${name} wird bereits aktiviert.`);
395
+ throw new Error(`Package ${name} is already being activated.`);
396
396
  const epoch = this.invocationPermit(runId);
397
397
  this.#installing.add(key);
398
398
  const original = this.programs(runId).find((item) => item.name === name);
@@ -414,23 +414,23 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
414
414
  throw new Error(report.report(name, { code: result.code, timedOut: result.timedOut, stderr }));
415
415
  }
416
416
  if (canonicalHash(compiled.files) !== canonicalHash(await projectSourceFiles(compiled.directory)))
417
- throw new Error("Paketdateien wurden während der Prüfung geändert; erneut aktivieren.");
417
+ throw new Error("Package files were changed during the check; activate again.");
418
418
  if (epoch !== this.invocationPermit(runId))
419
- throw new Error("Der Run wurde während der Aktivierung gestoppt.");
419
+ throw new Error("The run was stopped during the activation.");
420
420
  if (this.programs(runId).find((item) => item.name === name)?.revision !== original?.revision)
421
- throw new Error("Das Paket wurde zwischenzeitlich geändert.");
421
+ throw new Error("The package was changed in the meantime.");
422
422
  if (idle)
423
423
  this.#assertIdle(runId, definition.actorId);
424
424
  const names = new Set([...agentTools.map((tool) => tool.name), ...this.#options.reservedToolNames(), ...this.programs(runId).filter((program) => program.name !== name).flatMap((program) => program.functions.flatMap((fn) => fn.tool ? [fn.tool.name] : []))]);
425
425
  for (const fn of definition.functions)
426
426
  if (fn.tool) {
427
427
  if (names.has(fn.tool.name))
428
- throw new Error(`Werkzeugname ${fn.tool.name} ist bereits vergeben.`);
428
+ throw new Error(`Tool name ${fn.tool.name} is already taken.`);
429
429
  names.add(fn.tool.name);
430
430
  }
431
431
  const occupied = this.programs(runId).find((program) => program.actorId === definition.actorId && program.name !== name);
432
432
  if (occupied)
433
- throw new Error(`Actor @${definition.actorHandle} besitzt bereits das Paket ${occupied.name}. Ergänze darin Funktionen oder Ansichten.`);
433
+ throw new Error(`Actor @${definition.actorHandle} already owns the package ${occupied.name}. Add functions or views there.`);
434
434
  await mkdir(definition.directory, { recursive: true });
435
435
  for (const source of compiled.files) {
436
436
  const file = path.join(definition.directory, safePath(source.path));
@@ -447,35 +447,35 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
447
447
  await syncWorkspaceOwnership(definition.directory, await this.#options.serverProcessContextFor(runId));
448
448
  signal?.throwIfAborted();
449
449
  if (epoch !== this.invocationPermit(runId))
450
- throw new Error("Der Run wurde während der Aktivierung gestoppt.");
450
+ throw new Error("The run was stopped during the activation.");
451
451
  if (this.programs(runId).find((item) => item.name === name)?.revision !== original?.revision)
452
- throw new Error("Das Paket wurde zwischenzeitlich geändert.");
452
+ throw new Error("The package was changed in the meantime.");
453
453
  if (!compiled.createActor) {
454
454
  this.actor(runId, definition.actorId);
455
455
  if (idle)
456
456
  this.#assertIdle(runId, definition.actorId);
457
- checked(definition.stateSchema, this.data(runId, definition.actorId).values, "Actor-Zustand");
457
+ checked(definition.stateSchema, this.data(runId, definition.actorId).values, "Actor state");
458
458
  if (this.programs(runId).some((item) => item.actorId === definition.actorId && item.name !== name))
459
- throw new Error("Der Actor besitzt inzwischen ein anderes Paket.");
459
+ throw new Error("The actor now owns another package.");
460
460
  }
461
461
  const currentNames = new Set([...agentTools.map((tool) => tool.name), ...this.#options.reservedToolNames(), ...this.programs(runId).filter((program) => program.name !== name).flatMap((program) => program.functions.flatMap((fn) => fn.tool ? [fn.tool.name] : []))]);
462
462
  for (const fn of definition.functions)
463
463
  if (fn.tool) {
464
464
  if (currentNames.has(fn.tool.name))
465
- throw new Error(`Werkzeugname ${fn.tool.name} ist inzwischen vergeben.`);
465
+ throw new Error(`Tool name ${fn.tool.name} has been taken in the meantime.`);
466
466
  currentNames.add(fn.tool.name);
467
467
  }
468
- jsonValue({ version: 1, program: definition }, "Actor-Programm");
468
+ jsonValue({ version: 1, program: definition }, "Actor program");
469
469
  if (compiled.createActor) {
470
470
  const actors = this.view(runId).actors;
471
471
  const caller = actors.find((actor) => actor.id === context.actorId)!;
472
472
  const holder = actors.find((actor) => actor.handle === name);
473
473
  if (holder?.kind === "script" && holder.lifecycle.kind === "stopped") {
474
- checked(definition.stateSchema, this.data(runId, holder.id).values, "Actor-Zustand");
475
- this.runtime().restartActor(context, runId, holder.id, "Actor-Paket erneut aktiviert");
474
+ checked(definition.stateSchema, this.data(runId, holder.id).values, "Actor state");
475
+ this.runtime().restartActor(context, runId, holder.id, "Actor package activated again");
476
476
  }
477
477
  else if (holder)
478
- throw new Error(`Handle @${name} gehört bereits dem ${holder.kind !== "human" && holder.lifecycle.kind === "stopped" ? "gestoppten" : "aktiven"} Actor ${holder.displayName}; nur ein gestoppter TypeScript-Actor wird beim Aktivieren neu gestartet. Wähle einen anderen Paketnamen.`);
478
+ throw new Error(`Handle @${name} already belongs to the ${holder.kind !== "human" && holder.lifecycle.kind === "stopped" ? "stopped" : "active"} actor ${holder.displayName}; only a stopped TypeScript actor is restarted on activation. Choose another package name.`);
479
479
  else
480
480
  this.runtime().createScriptActor(context, runId, { handle: name, displayName: definition.title, description: actorDescriptionOf(definition.description), grants: caller.grants.filter((grant) => grant.delegable), toolNames: null });
481
481
  const actor = this.resolveActor(runId, context.actorId, `@${name}`);
@@ -506,7 +506,7 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
506
506
  const program = this.#program(runId, name);
507
507
  this.#assertIdle(runId, program.actorId);
508
508
  if (this.#installing.has(`${runId}\0${name}`))
509
- throw new Error("Das Paket wird gerade aktiviert.");
509
+ throw new Error("The package is being activated.");
510
510
  const actor = this.actor(runId, program.actorId);
511
511
  const key = `${runId}\0${program.actorId}`;
512
512
  this.#removing.add(key);
@@ -514,7 +514,7 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
514
514
  await this.stopActor(runId, program.actorId);
515
515
  this.#writeProgram(context, runId, program.actorId, null);
516
516
  if (actor.kind === "script")
517
- this.runtime().stopActor(context, runId, program.actorId, "Actor-Paket entfernt");
517
+ this.runtime().stopActor(context, runId, program.actorId, "Actor package removed");
518
518
  await rm(program.directory, { recursive: true, force: true });
519
519
  }
520
520
  finally {
@@ -551,9 +551,9 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
551
551
  const program = this.#program(runId, viewId);
552
552
  const view = program.views.find((item) => item.id === viewId);
553
553
  if (!view || program.revision !== revision)
554
- throw new Error("Die Ansicht wurde ersetzt oder entfernt.");
554
+ throw new Error("The view was replaced or removed.");
555
555
  if (!program.stylesFile)
556
- throw new Error("Das Programm stammt aus einer älteren Aktivierung ohne Stylesheet-Datei. Bitte erneut aktivieren.");
556
+ throw new Error("The program comes from an older activation without a stylesheet file. Please activate again.");
557
557
  const frameStyles = readFileSync(path.join(program.directory, program.stylesFile), "utf8");
558
558
  return { ...view, styles: `${frameStyles}\n${view.styles}`, platformVersion: 2 as const, clientJavaScript: readFileSync(path.join(program.directory, view.clientFile), "utf8") };
559
559
  }
@@ -571,7 +571,7 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
571
571
  const key = `${runId}\0${actorId}`;
572
572
  const previous = this.#queues.get(key) ?? Promise.resolve();
573
573
  const operation = previous.then(() => { signal.throwIfAborted(); if (permit !== this.invocationPermit(runId))
574
- throw new Error("Der Run wurde vor dem Funktionsstart gestoppt."); this.actor(runId, actorId); return execute(); });
574
+ throw new Error("The run was stopped before the function started."); this.actor(runId, actorId); return execute(); });
575
575
  const queued = operation.then(() => undefined, () => undefined);
576
576
  this.#queues.set(key, queued);
577
577
  try {
@@ -589,10 +589,10 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
589
589
  initial: ActorDataState;
590
590
  }> {
591
591
  if (!program.backendFile)
592
- throw new Error("Der Actor besitzt kein TypeScript-Backend.");
592
+ throw new Error("The actor has no TypeScript backend.");
593
593
  const current = this.#program(runId, program.name);
594
594
  if (current.revision !== program.revision)
595
- throw new Error("Das Actor-Paket wurde ersetzt.");
595
+ throw new Error("The actor package was replaced.");
596
596
  const logs: string[] = [];
597
597
  let calls = 0;
598
598
  const initial = this.data(runId, program.actorId);
@@ -604,39 +604,39 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
604
604
  logs.push((typeof value === "string" ? value : JSON.stringify(value)).slice(0, 2000)); }, call: async (name, value) => {
605
605
  const capability = descriptors.find((entry) => entry.id === name);
606
606
  if (!capability)
607
- throw new Error(`Capability ${name} ist nicht deklariert.`);
607
+ throw new Error(`Capability ${name} is not declared.`);
608
608
  if (++calls > 64)
609
- throw new Error("Ein Aufruf darf höchstens 64 Capabilities ausführen.");
609
+ throw new Error("A call may run at most 64 capabilities.");
610
610
  if (program.functions.some((fn) => fn.tool?.name === name))
611
- throw new Error("Eine Actor-Funktion darf sich nicht über ein Werkzeug selbst aufrufen; verwende eine gemeinsame TypeScript-Funktion.");
612
- checked(capability.schema, value, `Eingabe ${name}`);
611
+ throw new Error("An actor function must not call itself through a tool; use a shared TypeScript function.");
612
+ checked(capability.schema, value, `Input ${name}`);
613
613
  const output = await binding.call(name, value, calls);
614
- return checked(capability.resultSchema, output, `Ergebnis ${name}`);
614
+ return checked(capability.resultSchema, output, `Result ${name}`);
615
615
  } });
616
616
  signal.throwIfAborted();
617
617
  this.actor(runId, program.actorId);
618
- const state = checked(program.stateSchema, result.state, "Actor-Zustand");
618
+ const state = checked(program.stateSchema, result.state, "Actor state");
619
619
  return { result: result.result, logs, state, initial };
620
620
  }
621
621
  #commitState(runId: string, actorId: string, state: JsonValue, initial: ActorDataState): void {
622
622
  if (canonicalHash(state) === canonicalHash(initial.values))
623
623
  return;
624
624
  if (this.data(runId, actorId).revision !== initial.revision)
625
- throw new Error("Der Actor-Zustand wurde während des Aufrufs geändert. Erneut aufrufen.");
625
+ throw new Error("The actor state was changed during the call. Call again.");
626
626
  this.runtime().replaceActorState(this.operatorContext(runId), runId, actorId, state);
627
627
  }
628
628
  #executeFunction(runId: string, bound: ActorProgramDefinition, declared: ActorFunctionDefinition, input: unknown, binding: BackendBinding, signal: AbortSignal): Promise<JsonValue> {
629
629
  const functionOf = (program: ActorProgramDefinition): ActorFunctionDefinition => {
630
630
  const fn = program.functions.find((entry) => entry.id === declared.id);
631
631
  if (!fn)
632
- throw new Error("Die Funktion ist nicht deklariert.");
632
+ throw new Error("The function is not declared.");
633
633
  return fn;
634
634
  };
635
635
  return this.#serial(runId, bound.actorId, signal, async () => {
636
636
  const { program, contract: fn, descriptors } = await this.#bound(runId, bound.actorId, bound.revision, signal, functionOf, binding.descriptorsFor);
637
- const value = checked(fn.inputSchema, input, `Eingabe ${fn.id}`);
637
+ const value = checked(fn.inputSchema, input, `Input ${fn.id}`);
638
638
  const result = await this.#backend(runId, program, { kind: "function", functionId: fn.id, input: value }, binding, descriptors, signal);
639
- const output = checked(fn.resultSchema, result.result, `Ergebnis ${fn.id}`);
639
+ const output = checked(fn.resultSchema, result.result, `Result ${fn.id}`);
640
640
  this.#commitState(runId, program.actorId, result.state, result.initial);
641
641
  binding.output?.push(...result.logs);
642
642
  return output;
@@ -647,7 +647,7 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
647
647
  try {
648
648
  const inputOf = (program: ActorProgramDefinition) => {
649
649
  if (!program.input)
650
- throw new Error("Dieser TypeScript-Actor besitzt keinen onInput-Handler.");
650
+ throw new Error("This TypeScript actor has no onInput handler.");
651
651
  return program.input;
652
652
  };
653
653
  const descriptorsFor = (capabilityIds: readonly string[]) => agentCapabilityBinding(this.actor(request.runId, request.agentId), request.tools, capabilityIds, new Set()).descriptors;
@@ -666,42 +666,42 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
666
666
  }
667
667
  }
668
668
  invocationPermit(runId: string): number { if (this.#shuttingDown || this.#stopping.has(runId))
669
- throw new Error("Der Run wird gestoppt."); return this.#epochs.get(runId) ?? 0; }
669
+ throw new Error("The run is being stopped."); return this.#epochs.get(runId) ?? 0; }
670
670
  startInvocation(runId: string, viewId: string, revision: string, functionId: string, requestId: string, input: unknown, permit = this.invocationPermit(runId)) {
671
671
  const program = this.#program(runId, viewId);
672
672
  if (!program.views.some((view) => view.id === viewId))
673
- throw new Error("Die Ansicht ist unbekannt.");
673
+ throw new Error("The view is unknown.");
674
674
  return this.#start(runId, program, viewId, revision, functionId, requestId, input, permit);
675
675
  }
676
676
  startFunctionInvocation(runId: string, actorHandle: string, revision: string, functionId: string, requestId: string, input: unknown, permit = this.invocationPermit(runId)) {
677
677
  const program = this.programs(runId).find((entry) => entry.actorHandle === handleKey(actorHandle));
678
678
  if (!program)
679
- throw new Error("Der Actor veröffentlicht kein Programm.");
679
+ throw new Error("The actor publishes no program.");
680
680
  return this.#start(runId, program, program.name, revision, functionId, requestId, input, permit);
681
681
  }
682
682
  #start(runId: string, program: ActorProgramDefinition, viewId: string, revision: string, functionId: string, requestId: string, input: unknown, permit: number): ActorFunctionInvocation {
683
683
  this.#knownRuns.add(runId);
684
684
  if (permit !== this.invocationPermit(runId))
685
- throw new Error("Der Run wurde inzwischen gestoppt.");
685
+ throw new Error("The run has been stopped in the meantime.");
686
686
  if (program.revision !== revision)
687
- throw new Error("Das Actor-Paket wurde ersetzt. Ansicht aktualisieren.");
687
+ throw new Error("The actor package was replaced. Refresh the view.");
688
688
  const fn = program.functions.find((entry) => entry.id === functionId);
689
689
  if (!fn)
690
- throw new Error("Die Funktion ist nicht deklariert.");
690
+ throw new Error("The function is not declared.");
691
691
  const state = this.#invocations(runId);
692
692
  const prior = state.invocations.find((entry) => entry.requestId === requestId);
693
693
  if (prior) {
694
694
  if (prior.actorId !== program.actorId || prior.actionId !== functionId || prior.revision !== revision || canonicalHash(prior.input) !== canonicalHash(input))
695
- throw new Error("Die Request-ID wurde bereits für einen anderen Aufruf verwendet.");
695
+ throw new Error("The request ID was already used for another call.");
696
696
  return prior;
697
697
  }
698
698
  if (!requestId || requestId.length > 200 || state.requestIds.includes(requestId))
699
- throw new Error("Ungültige oder bereits verarbeitete Request-ID.");
699
+ throw new Error("Invalid or already processed request ID.");
700
700
  if (state.requestIds.length >= 10000)
701
- throw new Error("Der Run hat seine Aufrufgrenze erreicht.");
701
+ throw new Error("The run has reached its call limit.");
702
702
  if ([...this.#active.values()].filter((entry) => entry.runId === runId).length >= 8)
703
- throw new Error("Es laufen bereits acht Actor-Funktionen.");
704
- checked(fn.inputSchema, input, "Funktionseingabe");
703
+ throw new Error("Eight actor functions are already running.");
704
+ checked(fn.inputSchema, input, "Function input");
705
705
  const invocation: ActorFunctionInvocation = { id: randomUUID(), requestId, actorId: program.actorId, actorHandle: program.actorHandle, appId: viewId, revision, actionId: functionId, input, output: [], createdAt: new Date().toISOString(), status: "queued" };
706
706
  this.#replaceInvocation(runId, invocation, true);
707
707
  const controller = new AbortController();
@@ -710,15 +710,15 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
710
710
  this.#replaceInvocation(runId, started);
711
711
  try {
712
712
  if (fn.confirmation && !await this.#confirm(runId, invocation, fn.confirmation, controller.signal))
713
- throw new Error("Die Funktion wurde nicht bestätigt.");
713
+ throw new Error("The function was not confirmed.");
714
714
  const descriptorsFor = (capabilityIds: readonly string[]) => operatorCapabilityBinding(this.ownerId(runId), this.#options.operations.list(), capabilityIds).descriptors;
715
715
  const output: string[] = [];
716
716
  const result = await this.#executeFunction(runId, program, fn, input, { output, id: invocation.id, kind: "app-action", principal: { id: this.ownerId(runId), kind: "operator" }, descriptorsFor, call: async (name, value, index) => {
717
717
  const operation = this.#options.operations.operation(name)!;
718
718
  const id = `${invocation.id}:capability:${index}`;
719
- const confirmation = operation.operator === "confirm" ? await this.#confirm(runId, invocation, `${operation.label} ausführen?`, controller.signal, value) : true;
719
+ const confirmation = operation.operator === "confirm" ? await this.#confirm(runId, invocation, `Run ${operation.label}?`, controller.signal, value) : true;
720
720
  if (!confirmation)
721
- throw new Error("Die Aktion wurde nicht bestätigt.");
721
+ throw new Error("The action was not confirmed.");
722
722
  return this.#options.operations.invoke(name, { runId, invocationId: id, principal: { kind: "operator", actorId: this.ownerId(runId) }, signal: controller.signal, ...(operation.operator === "confirm" ? { operatorConfirmation: { operationId: name, invocationId: id, inputHash: canonicalHash(value) } } : {}) }, value);
723
723
  } }, controller.signal);
724
724
  this.#replaceInvocation(runId, { ...started, status: "succeeded", result, output, finishedAt: new Date().toISOString() });
@@ -733,7 +733,7 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
733
733
  invocation(runId: string, reference: string, id: string): ActorFunctionInvocation {
734
734
  const invocation = this.#invocations(runId).invocations.find((entry) => entry.id === id && (entry.appId === reference || entry.actorHandle === reference));
735
735
  if (!invocation)
736
- throw new Error("Der Funktionsaufruf ist unbekannt.");
736
+ throw new Error("The function call is unknown.");
737
737
  return invocation;
738
738
  }
739
739
  #invocations(runId: string): InvocationState { return (this.view(runId).pluginStates.find((entry) => entry.pluginId === ACTOR_INVOCATIONS_STATE_ID && entry.scope.kind === "run")?.state as unknown as InvocationState) ?? { version: 1, invocations: [], requestIds: [] }; }
@@ -747,27 +747,27 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
747
747
  finished.shift();
748
748
  state.invocations = [...active, ...finished];
749
749
  }
750
- assertJsonValue(state, "Actor-Aufrufe");
750
+ assertJsonValue(state, "Actor calls");
751
751
  this.runtime().replacePluginState(this.operatorContext(runId), runId, { pluginId: ACTOR_INVOCATIONS_STATE_ID, scope: { kind: "run" }, state });
752
752
  }
753
753
  async #confirm(runId: string, invocation: ActorFunctionInvocation, question: string, signal: AbortSignal, input = invocation.input): Promise<boolean> {
754
- const answer = await this.#options.askService().ask({ runId, agentId: this.ownerId(runId), turnId: null, commandId: `actor-confirm:${randomUUID()}` }, { question: `${question}\nEingabe: ${JSON.stringify(input).slice(0, 500)}`, options: ["Ausführen", "Abbrechen"], multi: false, description: `Funktion ${invocation.actionId} von @${invocation.actorHandle}`, parameters: { source: ACTOR_PROGRAMS_STATE_ID, invocationId: invocation.id } }, signal);
755
- return answer === "Ausführen";
754
+ const answer = await this.#options.askService().ask({ runId, agentId: this.ownerId(runId), turnId: null, commandId: `actor-confirm:${randomUUID()}` }, { question: `${question}\nInput: ${JSON.stringify(input).slice(0, 500)}`, options: ["Run", "Cancel"], multi: false, description: `Function ${invocation.actionId} of @${invocation.actorHandle}`, parameters: { source: ACTOR_PROGRAMS_STATE_ID, invocationId: invocation.id } }, signal);
755
+ return answer === "Run";
756
756
  }
757
757
  #program(runId: string, reference: string): ActorProgramDefinition {
758
758
  const program = this.programs(runId).find((entry) => entry.name === reference || entry.views.some((view) => view.id === reference));
759
759
  if (!program)
760
- throw new Error(`Actor-Paket ${reference} ist nicht aktiv.`);
760
+ throw new Error(`Actor package ${reference} is not active.`);
761
761
  return program;
762
762
  }
763
763
  #instance(program: ActorProgramDefinition): string { return `actor:${program.actorId}:${program.revision}`; }
764
764
  #assertName(name: string): void { if (!NAME.test(name))
765
- throw new Error("Paketnamen beginnen mit einem Kleinbuchstaben und enthalten höchstens 64 Kleinbuchstaben, Ziffern oder Bindestriche."); }
765
+ throw new Error("Package names begin with a lowercase letter and contain at most 64 lowercase letters, digits, or hyphens."); }
766
766
  #assertIdle(runId: string, actorId: string): void { if (this.#queues.has(`${runId}\0${actorId}`) || [...this.#active.values()].some((entry) => entry.runId === runId && entry.actorId === actorId))
767
- throw new Error("Der Actor hat noch laufende Funktionen oder Eingaben."); }
767
+ throw new Error("The actor still has running functions or inputs."); }
768
768
  async stopActor(runId: string, actorId: string): Promise<void> {
769
769
  const active = [...this.#active.values()].filter((entry) => entry.runId === runId && entry.actorId === actorId);
770
- active.forEach((entry) => entry.controller.abort(new Error("Actor gestoppt.")));
770
+ active.forEach((entry) => entry.controller.abort(new Error("Actor stopped.")));
771
771
  const state = this.view(runId).pluginStates.find((entry) => entry.pluginId === ACTOR_PROGRAMS_STATE_ID && entry.scope.kind === "actor" && entry.scope.actorId === actorId)?.state as unknown as ActorProgramState | undefined;
772
772
  if (state?.program)
773
773
  await this.runtime().nativeTypeScriptExecutor.stopInstance(runId, this.#instance(state.program));
@@ -778,7 +778,7 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
778
778
  this.#stopping.add(runId);
779
779
  try {
780
780
  const active = [...this.#active.values()].filter((entry) => entry.runId === runId);
781
- active.forEach((entry) => entry.controller.abort(new Error("Run gestoppt.")));
781
+ active.forEach((entry) => entry.controller.abort(new Error("Run stopped.")));
782
782
  await this.runtime().nativeTypeScriptExecutor.stopRun(runId);
783
783
  await Promise.allSettled([...active.map((entry) => entry.completed), ...[...this.#queues].filter(([key]) => key.startsWith(`${runId}\0`)).map(([, queue]) => queue)]);
784
784
  }
@@ -790,7 +790,7 @@ export class ActorProgramRuntime implements ActorProgramsService, ActorProgramEx
790
790
  async prepareSession(runId: string): Promise<void> { this.#knownRuns.add(runId); if (!this.runtime().listRuns().some(run => run.id === runId))
791
791
  return; for (const invocation of this.#invocations(runId).invocations)
792
792
  if (invocation.status === "queued" || invocation.status === "running")
793
- this.#replaceInvocation(runId, { ...invocation, status: "cancelled", error: "Der Server wurde während des Aufrufs beendet.", finishedAt: new Date().toISOString() }); }
793
+ this.#replaceInvocation(runId, { ...invocation, status: "cancelled", error: "The server was stopped during the call.", finishedAt: new Date().toISOString() }); }
794
794
  async stopSession(runId: string, _signal?: AbortSignal): Promise<void> { await this.stopRun(runId); }
795
795
  async disposeRun(runId: string): Promise<void> { await this.stopRun(runId); }
796
796
  async deleteSession(runId: string): Promise<void> { await this.stopRun(runId); await rm(this.#options.directoryFor(runId), { recursive: true, force: true }); }