@schlenkr/ragents 0.1.9 → 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 (749) hide show
  1. package/apps/server/package.json +1 -1
  2. package/apps/server/src/access-projection.ts +9 -39
  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 +32 -29
  6. package/apps/server/src/api/core-methods.ts +21 -19
  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 +8 -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 +48 -47
  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 +63 -58
  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 +25 -24
  83. package/apps/server/src/ragents/global-chat.ts +14 -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 +51 -49
  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-xXXhTDbh.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 +64 -55
  110. package/apps/web/dist/help/guide-clients.md +62 -52
  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 +1997 -942
  124. package/apps/web/dist/help/mini-app.css +30 -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 +26 -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 +29 -26
  182. package/apps/web/src/panel/connection-state.ts +9 -9
  183. package/apps/web/src/panel/contract.ts +34 -27
  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 +256 -228
  227. package/bundles/ragents.actor-programs/server/index.js.map +4 -4
  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 -4
  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-V7W3QDVS.js → chunk-IQBHK7MV.js} +2 -2
  240. package/bundles/ragents.ask/web/chunks/{chunk-V7W3QDVS.js.map → chunk-IQBHK7MV.js.map} +4 -4
  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 +4 -4
  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 +3 -3
  305. package/bundles/ragents.overseer/ragents-bundle.json +2 -2
  306. package/bundles/ragents.overseer/server/index.js +99 -99
  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 +83 -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/core/tools/bash.d.ts +1 -1
  417. package/packages/agent/dist/index.d.ts +1 -1
  418. package/packages/agent/dist/loop/agent-loop.d.ts +2 -2
  419. package/packages/agent/src/core/compaction/utils.ts +1 -1
  420. package/packages/agent/src/core/model-runtime.ts +45 -5
  421. package/packages/agent/src/core/tools/bash.ts +1 -1
  422. package/packages/agent/src/index.ts +1 -1
  423. package/packages/agent/src/loop/agent-loop.ts +2 -2
  424. package/packages/ai/dist/models.d.ts +1 -0
  425. package/packages/ai/dist/models.generated.d.ts +4544 -983
  426. package/packages/ai/dist/providers/openrouter.models.d.ts +4544 -983
  427. package/packages/ai/src/api/ai-sdk.ts +33 -7
  428. package/packages/ai/src/api-registry.ts +1 -1
  429. package/packages/ai/src/index.ts +2 -2
  430. package/packages/ai/src/models.generated.ts +1 -1
  431. package/packages/ai/src/models.ts +1 -1
  432. package/packages/ai/src/providers/openrouter.models.ts +3723 -550
  433. package/packages/ragents/src/access.ts +12 -12
  434. package/packages/ragents/src/agents/actor-input.ts +33 -33
  435. package/packages/ragents/src/agents/catalog.ts +1 -1
  436. package/packages/ragents/src/agents/delivery.ts +17 -17
  437. package/packages/ragents/src/agents/plugins.ts +1 -1
  438. package/packages/ragents/src/agents/scheduler.ts +7 -7
  439. package/packages/ragents/src/agents/schemas.ts +1 -1
  440. package/packages/ragents/src/agents/tool-orientation.ts +4 -4
  441. package/packages/ragents/src/agents/tools.ts +20 -20
  442. package/packages/ragents/src/agents/toolset.ts +5 -5
  443. package/packages/ragents/src/agents/workspaces.ts +1 -1
  444. package/packages/ragents/src/domain/events.ts +1 -1
  445. package/packages/ragents/src/domain/model.ts +5 -5
  446. package/packages/ragents/src/drivers/agent-runtime.ts +1 -1
  447. package/packages/ragents/src/drivers/agent-turn.ts +4 -4
  448. package/packages/ragents/src/drivers/agent.ts +2 -2
  449. package/packages/ragents/src/drivers/attachments.ts +4 -4
  450. package/packages/ragents/src/http/contracts.ts +14 -14
  451. package/packages/ragents/src/http/methods.ts +6 -6
  452. package/packages/ragents/src/index.ts +1 -0
  453. package/packages/ragents/src/plugin-host.ts +162 -116
  454. package/packages/ragents/src/plugin-types.ts +29 -10
  455. package/packages/ragents/src/rpc/contract.ts +5 -5
  456. package/packages/ragents/src/rpc/contribution.ts +2 -2
  457. package/packages/ragents/src/rpc/peer.ts +11 -11
  458. package/packages/ragents/src/rpc/protocol.ts +2 -2
  459. package/packages/ragents/src/runtime/decisions/turns.ts +1 -1
  460. package/packages/ragents/src/runtime/journal.ts +10 -10
  461. package/packages/ragents/src/runtime/orchestration.ts +8 -8
  462. package/packages/ragents/src/runtime/stop.ts +2 -2
  463. package/packages/ragents/src/script/mediators.ts +35 -35
  464. package/packages/ragents/src/typescript/async-compiler.ts +14 -14
  465. package/packages/ragents/src/typescript/compiler-worker.ts +2 -2
  466. package/packages/ragents/src/typescript/compiler.ts +7 -7
  467. package/packages/ragents/src/typescript/snippet.ts +5 -5
  468. package/packages/workspace-executor/src/bash-launch.ts +13 -13
  469. package/packages/workspace-executor/src/commands.ts +18 -18
  470. package/packages/workspace-executor/src/context.ts +15 -15
  471. package/packages/workspace-executor/src/contributions.ts +35 -35
  472. package/packages/workspace-executor/src/errors.ts +1 -1
  473. package/packages/workspace-executor/src/executor.ts +15 -15
  474. package/packages/workspace-executor/src/files.ts +30 -30
  475. package/packages/workspace-executor/src/language-server/contract.ts +2 -2
  476. package/packages/workspace-executor/src/language-server/diagnostics.ts +4 -4
  477. package/packages/workspace-executor/src/language-server/host.ts +35 -35
  478. package/packages/workspace-executor/src/language-server/json-rpc.ts +4 -4
  479. package/packages/workspace-executor/src/language-server/module.ts +11 -11
  480. package/packages/workspace-executor/src/language-server/roots.ts +3 -3
  481. package/packages/workspace-executor/src/language-server/session.ts +15 -15
  482. package/packages/workspace-executor/src/language-server/workspace-solutions.ts +2 -2
  483. package/packages/workspace-executor/src/managed-process.ts +35 -7
  484. package/packages/workspace-executor/src/module.ts +8 -8
  485. package/packages/workspace-executor/src/modules.ts +3 -3
  486. package/packages/workspace-executor/src/paths.ts +11 -11
  487. package/packages/workspace-executor/src/process-sandbox.ts +3 -3
  488. package/packages/workspace-executor/src/processes/module.ts +3 -3
  489. package/packages/workspace-executor/src/processes/process-table.ts +20 -20
  490. package/packages/workspace-executor/src/processes/scanner.ts +3 -3
  491. package/packages/workspace-executor/src/processes/snapshot.ts +2 -2
  492. package/packages/workspace-executor/src/processes/terminator.ts +13 -13
  493. package/packages/workspace-executor/src/run-folders.ts +3 -3
  494. package/packages/workspace-executor/src/safe-environment.ts +4 -4
  495. package/packages/workspace-executor/src/sandbox-tools.ts +37 -31
  496. package/packages/workspace-executor/src/session-ident.ts +2 -2
  497. package/packages/workspace-executor/src/shell-platform.ts +2 -2
  498. package/packages/workspace-executor/src/tools.ts +5 -5
  499. package/plugins/ragents.activity/web/ActivityHeader.tsx +3 -3
  500. package/plugins/ragents.activity/web/activity.ts +2 -2
  501. package/plugins/ragents.actor-programs/server/access-projections.ts +31 -0
  502. package/plugins/ragents.actor-programs/server/agent-tools.ts +2 -2
  503. package/plugins/ragents.actor-programs/server/capability-resolver.ts +3 -3
  504. package/plugins/ragents.actor-programs/server/controls-template.ts +46 -46
  505. package/plugins/ragents.actor-programs/server/controls-tool.ts +4 -4
  506. package/plugins/ragents.actor-programs/server/index.ts +2 -0
  507. package/plugins/ragents.actor-programs/server/limits.ts +3 -3
  508. package/plugins/ragents.actor-programs/server/methods.ts +1 -1
  509. package/plugins/ragents.actor-programs/server/project-diagnostics.ts +8 -8
  510. package/plugins/ragents.actor-programs/server/routes.ts +8 -8
  511. package/plugins/ragents.actor-programs/server/runtime.ts +90 -90
  512. package/plugins/ragents.actor-programs/server/templates.ts +59 -59
  513. package/plugins/ragents.actor-programs/server/test-report.ts +5 -5
  514. package/plugins/ragents.actor-programs/server/tool-contributor.ts +1 -1
  515. package/plugins/ragents.actor-programs/web/ActorViewFrame.tsx +17 -17
  516. package/plugins/ragents.actor-programs/web/AppsPanel.tsx +26 -26
  517. package/plugins/ragents.actor-programs/web/EmbeddedApps.tsx +3 -3
  518. package/plugins/ragents.actor-programs/web/FullscreenHost.tsx +2 -2
  519. package/plugins/ragents.actor-programs/web/FunctionForm.tsx +16 -16
  520. package/plugins/ragents.actor-programs/web/ProgramSource.tsx +5 -5
  521. package/plugins/ragents.actor-programs/web/api.ts +36 -36
  522. package/plugins/ragents.actor-programs/web/bridge.ts +8 -8
  523. package/plugins/ragents.actor-programs/web/chat-state.ts +4 -4
  524. package/plugins/ragents.actor-programs/web/context.ts +1 -1
  525. package/plugins/ragents.actor-programs/web/function-input.ts +6 -6
  526. package/plugins/ragents.actor-programs/web/index.tsx +1 -1
  527. package/plugins/ragents.actor-programs/web/program-state.ts +4 -4
  528. package/plugins/ragents.ask/ask-payload.ts +1 -1
  529. package/plugins/ragents.ask/contract.ts +5 -5
  530. package/plugins/ragents.ask/server/answer-method.ts +1 -1
  531. package/plugins/ragents.ask/server/ask-service.ts +9 -9
  532. package/plugins/ragents.ask/server/ask-tool.ts +10 -10
  533. package/plugins/ragents.ask/server/contract.ts +5 -5
  534. package/plugins/ragents.ask/web/AskActionView.tsx +1 -1
  535. package/plugins/ragents.ask/web/QuestionCard.tsx +22 -22
  536. package/plugins/ragents.ask/web/index.tsx +2 -8
  537. package/plugins/ragents.browser/executor/contract.ts +6 -6
  538. package/plugins/ragents.browser/executor/index.ts +1 -1
  539. package/plugins/ragents.browser/executor/module.ts +6 -6
  540. package/plugins/ragents.browser/executor/pages.ts +32 -32
  541. package/plugins/ragents.browser/executor/playwright.ts +8 -8
  542. package/plugins/ragents.browser/provision.ts +7 -7
  543. package/plugins/ragents.browser/server/browser.ts +14 -14
  544. package/plugins/ragents.browser/server/contract.ts +1 -1
  545. package/plugins/ragents.browser/server/index.ts +1 -1
  546. package/plugins/ragents.browser/server/tools.ts +14 -14
  547. package/plugins/ragents.browser/skills/browser-testing/SKILL.md +30 -30
  548. package/plugins/ragents.documents/contract.ts +2 -2
  549. package/plugins/ragents.documents/prompt.hbs +1 -1
  550. package/plugins/ragents.documents/server/document-write-tool.ts +12 -12
  551. package/plugins/ragents.documents/server/files-route.ts +6 -6
  552. package/plugins/ragents.documents/server/show-document-tool.ts +26 -26
  553. package/plugins/ragents.documents/server/store.ts +1 -1
  554. package/plugins/ragents.documents/web/DocumentViewer.tsx +37 -37
  555. package/plugins/ragents.documents/web/index.tsx +11 -11
  556. package/plugins/ragents.lsp-fsharp/executor.ts +7 -7
  557. package/plugins/ragents.lsp-fsharp/provision.ts +7 -7
  558. package/plugins/ragents.lsp-roslyn/executor.ts +5 -5
  559. package/plugins/ragents.lsp-roslyn/provision.ts +4 -4
  560. package/plugins/ragents.lsp-roslyn/server/index.ts +5 -5
  561. package/plugins/ragents.lsp-roslyn/server/solution-on-start.ts +13 -13
  562. package/plugins/ragents.lsp-typescript/executor.ts +3 -3
  563. package/plugins/ragents.model-relay/server/config.ts +6 -2
  564. package/plugins/ragents.model-relay/server/index.ts +2 -2
  565. package/plugins/ragents.model-relay/server/relay.ts +23 -22
  566. package/plugins/ragents.orchestration/contract.ts +8 -8
  567. package/plugins/ragents.orchestration/server/index.ts +4 -4
  568. package/plugins/ragents.orchestration/server/run-stop-tool.ts +3 -3
  569. package/plugins/ragents.orchestration/server/surface-tool.ts +5 -5
  570. package/plugins/ragents.orchestration/tiled-layout.ts +11 -11
  571. package/plugins/ragents.orchestration/web/ActorChat.tsx +2 -2
  572. package/plugins/ragents.orchestration/web/ActorChatControls.tsx +4 -4
  573. package/plugins/ragents.orchestration/web/ActorChatPreview.tsx +1 -1
  574. package/plugins/ragents.orchestration/web/ActorPopout.tsx +1 -1
  575. package/plugins/ragents.orchestration/web/ActorShortcut.tsx +6 -6
  576. package/plugins/ragents.orchestration/web/ActorSurfaceControls.tsx +15 -15
  577. package/plugins/ragents.orchestration/web/ActorTile.tsx +1 -1
  578. package/plugins/ragents.orchestration/web/Center.tsx +5 -5
  579. package/plugins/ragents.orchestration/web/DocumentsSection.tsx +2 -2
  580. package/plugins/ragents.orchestration/web/ExecutionsPanel.tsx +15 -15
  581. package/plugins/ragents.orchestration/web/FlowInspector.tsx +103 -103
  582. package/plugins/ragents.orchestration/web/JournalStatus.tsx +11 -11
  583. package/plugins/ragents.orchestration/web/MaterialBody.tsx +2 -2
  584. package/plugins/ragents.orchestration/web/StopRunButton.tsx +6 -6
  585. package/plugins/ragents.orchestration/web/TiledSurface.tsx +9 -9
  586. package/plugins/ragents.orchestration/web/actor-header-settings.ts +5 -5
  587. package/plugins/ragents.orchestration/web/constants.ts +2 -2
  588. package/plugins/ragents.orchestration/web/executions.ts +6 -6
  589. package/plugins/ragents.orchestration/web/format.ts +1 -1
  590. package/plugins/ragents.orchestration/web/index.tsx +2 -2
  591. package/plugins/ragents.orchestration/web/run-panel/AddresseeControl.tsx +7 -7
  592. package/plugins/ragents.orchestration/web/run-panel/AddresseeTree.tsx +8 -8
  593. package/plugins/ragents.orchestration/web/run-panel/RunPanel.tsx +29 -28
  594. package/plugins/ragents.orchestration/web/run-panel/RunPanelSettings.tsx +7 -7
  595. package/plugins/ragents.orchestration/web/run-panel/addressee-tree.ts +13 -13
  596. package/plugins/ragents.orchestration/web/run-panel/run-panel-actors.ts +3 -3
  597. package/plugins/ragents.orchestration/web/run-panel/run-panel-settings.ts +2 -2
  598. package/plugins/ragents.orchestration/web/run-panel/run-panel-startup.ts +3 -3
  599. package/plugins/ragents.orchestration/web/run-panel/run-panel-state.ts +7 -7
  600. package/plugins/ragents.orchestration/web/run-panel/sheet-status.ts +10 -10
  601. package/plugins/ragents.orchestration/web/surface-startup.ts +8 -8
  602. package/plugins/ragents.orchestration/web/surface-view-settings.ts +1 -1
  603. package/plugins/ragents.orchestration/web/tiled-view-settings.ts +1 -1
  604. package/plugins/ragents.overseer/contract.ts +20 -20
  605. package/plugins/ragents.overseer/server/api.ts +8 -8
  606. package/plugins/ragents.overseer/server/coordinator-prompt.ts +10 -10
  607. package/plugins/ragents.overseer/server/coordinator.ts +4 -4
  608. package/plugins/ragents.overseer/server/index.ts +24 -24
  609. package/plugins/ragents.overseer/server/orientation.ts +8 -8
  610. package/plugins/ragents.overseer/server/quick-answer.ts +9 -9
  611. package/plugins/ragents.overseer/server/run-directory.ts +5 -5
  612. package/plugins/ragents.overseer/server/settings.ts +6 -6
  613. package/plugins/ragents.overseer/server/user-location.ts +16 -16
  614. package/plugins/ragents.overseer/web/ModelSettings.tsx +9 -9
  615. package/plugins/ragents.overseer/web/index.tsx +20 -20
  616. package/plugins/ragents.overseer/web/model-settings.ts +1 -1
  617. package/plugins/ragents.overseer/web/quick-answers.ts +2 -2
  618. package/plugins/ragents.processes/contract.ts +5 -5
  619. package/plugins/ragents.processes/server/methods.ts +4 -4
  620. package/plugins/ragents.processes/server/observer.ts +8 -8
  621. package/plugins/ragents.processes/server/run-processes.ts +2 -2
  622. package/plugins/ragents.processes/web/ProcessHeader.tsx +10 -10
  623. package/plugins/ragents.processes/web/processes.ts +10 -10
  624. package/plugins/ragents.product/server/config.ts +1 -1
  625. package/plugins/ragents.product/server/index.ts +4 -4
  626. package/plugins/ragents.product/server/runtime.ts +9 -10
  627. package/plugins/ragents.product/web/index.tsx +1 -1
  628. package/plugins/ragents.profile-distribution/contract.ts +10 -10
  629. package/plugins/ragents.profile-distribution/server/archive.ts +20 -20
  630. package/plugins/ragents.profile-distribution/server/config.ts +2 -2
  631. package/plugins/ragents.profile-distribution/server/index.ts +4 -4
  632. package/plugins/ragents.reference/examples.ts +27 -27
  633. package/plugins/ragents.reference/run-scripts/balcony-wizard/RUN.md +19 -19
  634. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/package.json +2 -2
  635. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +14 -14
  636. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/conversation.ts +2 -2
  637. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/tests/conversation.test.ts +49 -49
  638. package/plugins/ragents.reference/run-scripts/balcony-wizard/package.json +1 -1
  639. package/plugins/ragents.reference/run-scripts/balcony-wizard/src/server.ts +9 -9
  640. package/plugins/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +9 -9
  641. package/plugins/ragents.reference/run-scripts/conversation-circle/RUN.md +7 -7
  642. package/plugins/ragents.reference/run-scripts/conversation-circle/package.json +1 -1
  643. package/plugins/ragents.reference/run-scripts/conversation-circle/src/server.ts +13 -13
  644. package/plugins/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +1 -1
  645. package/plugins/ragents.reference/run-scripts/conversation-circle/tests/program.test.ts +8 -8
  646. package/plugins/ragents.reference/run-scripts/learning-afternoon/RUN.md +16 -16
  647. package/plugins/ragents.reference/run-scripts/learning-afternoon/package.json +1 -1
  648. package/plugins/ragents.reference/run-scripts/learning-afternoon/prompts/experiment.md +1 -1
  649. package/plugins/ragents.reference/run-scripts/learning-afternoon/prompts/helper.md +3 -3
  650. package/plugins/ragents.reference/run-scripts/learning-afternoon/prompts/quiz.md +1 -1
  651. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/server.ts +9 -9
  652. package/plugins/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +39 -39
  653. package/plugins/ragents.reference/run-scripts/moderated-round/RUN.md +7 -7
  654. package/plugins/ragents.reference/run-scripts/moderated-round/package.json +1 -1
  655. package/plugins/ragents.reference/run-scripts/moderated-round/src/server.ts +9 -9
  656. package/plugins/ragents.reference/run-scripts/moderated-round/tests/helpers.ts +1 -1
  657. package/plugins/ragents.reference/run-scripts/moderated-round/tests/program.test.ts +6 -6
  658. package/plugins/ragents.reference/run-scripts/shared-actor-list/RUN.md +12 -12
  659. package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/package.json +2 -2
  660. package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/contract.ts +3 -3
  661. package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/tests/program.test.ts +4 -4
  662. package/plugins/ragents.reference/run-scripts/shared-actor-list/package.json +1 -1
  663. package/plugins/ragents.reference/run-scripts/shared-actor-list/src/server.ts +11 -11
  664. package/plugins/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +1 -1
  665. package/plugins/ragents.reference/run-scripts/shared-actor-list/tests/program.test.ts +13 -13
  666. package/plugins/ragents.reference/run-scripts/word-game/RUN.md +18 -18
  667. package/plugins/ragents.reference/run-scripts/word-game/package.json +2 -2
  668. package/plugins/ragents.reference/run-scripts/word-game/src/client.tsx +1 -1
  669. package/plugins/ragents.reference/run-scripts/word-game/src/contract.ts +2 -2
  670. package/plugins/ragents.reference/run-scripts/word-game/src/server.ts +16 -16
  671. package/plugins/ragents.reference/run-scripts/word-game/tests/program.test.ts +39 -39
  672. package/plugins/ragents.reference/skills/100-shared-actor-list/SKILL.md +5 -5
  673. package/plugins/ragents.reference/skills/110-all-card-slots/SKILL.md +5 -5
  674. package/plugins/ragents.reference/skills/150-editorial-workbench/SKILL.md +5 -5
  675. package/plugins/ragents.reference/skills/160-learning-companion/SKILL.md +5 -5
  676. package/plugins/ragents.reference/skills/170-photo-collection/SKILL.md +5 -5
  677. package/plugins/ragents.reference/skills/180-decision-workbench/SKILL.md +5 -5
  678. package/plugins/ragents.reference/skills/190-review-queue/SKILL.md +5 -5
  679. package/plugins/ragents.reference/skills/20-circle-of-four/SKILL.md +5 -5
  680. package/plugins/ragents.reference/skills/200-typescript-diagnostics/SKILL.md +5 -5
  681. package/plugins/ragents.reference/skills/210-moderator-handover/SKILL.md +5 -5
  682. package/plugins/ragents.reference/skills/220-actor-approval-list/SKILL.md +5 -5
  683. package/plugins/ragents.reference/skills/230-shared-state-views/SKILL.md +5 -5
  684. package/plugins/ragents.reference/skills/240-live-result-list/SKILL.md +5 -5
  685. package/plugins/ragents.reference/skills/250-balcony-wizard/SKILL.md +5 -5
  686. package/plugins/ragents.reference/skills/30-llm-without-runtime-knowledge/SKILL.md +5 -5
  687. package/plugins/ragents.reference/skills/35-actor-input-fifo/SKILL.md +5 -5
  688. package/plugins/ragents.reference/skills/40-subscription-matrix/SKILL.md +5 -5
  689. package/plugins/ragents.reference/skills/50-subscription-removal/SKILL.md +5 -5
  690. package/plugins/ragents.reference/skills/60-stop-in-the-circle/SKILL.md +5 -5
  691. package/plugins/ragents.reference/skills/65-artifact-least-privilege/SKILL.md +5 -5
  692. package/plugins/ragents.reference/skills/70-headless-counter/SKILL.md +5 -5
  693. package/plugins/ragents.reference/skills/75-lsp-demo/SKILL.md +5 -5
  694. package/plugins/ragents.reference/skills/80-actor-text-analysis/SKILL.md +5 -5
  695. package/plugins/ragents.reference/skills/90-actor-notes/SKILL.md +5 -5
  696. package/plugins/ragents.reference/skills/95-hello-world/SKILL.md +5 -5
  697. package/plugins/ragents.reference/skills/decision-brief/SKILL.md +24 -24
  698. package/plugins/ragents.reference/skills/learning-sprint/SKILL.md +24 -24
  699. package/plugins/ragents.reference/walkthroughs.ts +128 -128
  700. package/plugins/ragents.reference/web/StartGuides.tsx +23 -23
  701. package/plugins/ragents.todo/server/todo-tool.ts +6 -6
  702. package/plugins/ragents.todo/web/TodoSection.tsx +1 -1
  703. package/plugins/ragents.transcript/server/transcript.ts +11 -11
  704. package/plugins/ragents.watch/server/condition.ts +4 -4
  705. package/plugins/ragents.watch/server/functions.ts +27 -27
  706. package/plugins/ragents.watch/server/observation.ts +2 -2
  707. package/plugins/ragents.watch/server/service.ts +14 -14
  708. package/plugins/ragents.workspace/client/transport.ts +1 -1
  709. package/plugins/ragents.workspace/client/workspace-client.ts +62 -49
  710. package/plugins/ragents.workspace/contract.ts +46 -46
  711. package/plugins/ragents.workspace/server/binding.ts +20 -20
  712. package/plugins/ragents.workspace/server/browse-route.ts +8 -8
  713. package/plugins/ragents.workspace/server/clients.ts +42 -42
  714. package/plugins/ragents.workspace/server/config.ts +8 -5
  715. package/plugins/ragents.workspace/server/index.ts +5 -4
  716. package/plugins/ragents.workspace/server/runtime.ts +26 -26
  717. package/plugins/ragents.workspace/server/shell-platform.ts +1 -1
  718. package/plugins/ragents.workspace/web/FileBrowser.tsx +10 -10
  719. package/plugins/ragents.workspace/web/WorkspaceBinding.tsx +24 -24
  720. package/plugins/ragents.workspace/web/index.tsx +1 -1
  721. package/ragents.config.core.ts +1 -1
  722. package/ragents.config.developer.ts +3 -3
  723. package/ragents.config.showcase.ts +2 -2
  724. package/scripts/agent/agent-cli.ts +96 -96
  725. package/scripts/agent/journal.ts +5 -5
  726. package/scripts/agent/turn-control.ts +4 -4
  727. package/scripts/package/build-package.ts +29 -29
  728. package/scripts/package/host-links.mjs +3 -3
  729. package/scripts/package/publish-package.ts +29 -29
  730. package/scripts/package/ragents.mjs +19 -19
  731. package/scripts/plugin/build-builtin-plugins.ts +5 -5
  732. package/scripts/plugin/plugin-cli.ts +14 -14
  733. package/scripts/provision/run-provision.ts +14 -15
  734. package/scripts/remote/connect.ts +46 -46
  735. package/scripts/remote/start.ts +18 -18
  736. package/scripts/workspace-client/run-workspace-client.ts +23 -23
  737. package/apps/web/dist/assets/main-C7JeZFjs.js +0 -6
  738. package/apps/web/dist/assets/mermaid-HWGCJPDP-DfsU5ofC.js +0 -478
  739. package/apps/web/dist/assets/runPanel-ZT6TPDLM.js +0 -21
  740. package/bundles/ragents.ask/server/chunks/chunk-PDJO75SQ.js.map +0 -7
  741. package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js +0 -2
  742. package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js.map +0 -7
  743. package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js +0 -2
  744. package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js.map +0 -7
  745. package/bundles/ragents.ask/web/chunks/chunk-WFN4374U.js.map +0 -7
  746. package/bundles/ragents.orchestration/web/chunks/chunk-OQYCNYXN.js +0 -2
  747. package/plugins/ragents.ask/web/QuestionSection.tsx +0 -48
  748. /package/bundles/ragents.orchestration/web/chunks/{chunk-OSKPH6SZ.js.map → chunk-CFMJD5ZI.js.map} +0 -0
  749. /package/bundles/ragents.orchestration/web/chunks/{chunk-ODMMQGX2.js.map → chunk-UCIMT2R4.js.map} +0 -0
@@ -46,7 +46,7 @@ const strippedOf = (value: string) => value.trim().replace(/^@/, "");
46
46
 
47
47
  const referenceOf = (what: string, value: unknown): string => {
48
48
  if (typeof value !== "string" || !strippedOf(value))
49
- throw new ScriptError(`${where}: ${what} muss eine Actor-ID oder ein Handle als nicht leerer Text sein.`);
49
+ throw new ScriptError(`${where}: ${what} must be an actor ID or a handle as non-empty text.`);
50
50
 
51
51
  return strippedOf(value);
52
52
  };
@@ -55,7 +55,7 @@ const keysOf = (references: readonly string[]): MediatorKeys => {
55
55
  const folded = new Map(references.map((reference) => [handleKey(reference), reference] as const));
56
56
 
57
57
  if (folded.size !== references.length)
58
- throw new ScriptError(`${where}: table nennt denselben Beteiligten doppelt.`);
58
+ throw new ScriptError(`${where}: table names the same participant twice.`);
59
59
 
60
60
  return { all: references, exact: new Set(references), folded };
61
61
  };
@@ -70,9 +70,9 @@ const senderKeyOf = (keys: MediatorKeys, event: MediatorEvent): string | null =>
70
70
 
71
71
  const unknownTarget = (what: string, reference: string, keys: MediatorKeys): never => {
72
72
  throw new ScriptError(
73
- `${where}: ${what} steht nicht als Schlüssel in der Tabelle. `
74
- + `Die Tabelle kennt: ${keys.all.join(", ")}. `
75
- + `Ein reiner Empfänger gehört als "${reference}": null in die Tabelle.`,
73
+ `${where}: ${what} is not a key in the table. `
74
+ + `The table knows: ${keys.all.join(", ")}. `
75
+ + `A pure recipient belongs in the table as "${reference}": null.`,
76
76
  );
77
77
  };
78
78
 
@@ -81,17 +81,17 @@ const targetsOf = (sender: string, value: unknown, keys: MediatorKeys): Mediator
81
81
 
82
82
  if (!Array.isArray(value))
83
83
  throw new ScriptError(
84
- `${where}: die Ziele von ${sender} müssen eine Liste von Actor-IDs oder Handles, eine Funktion oder null sein.`,
84
+ `${where}: the targets of ${sender} must be a list of actor IDs or handles, a function or null.`,
85
85
  );
86
86
 
87
87
  const ids = value.map((entry) => {
88
- const reference = referenceOf(`ein Ziel von ${sender}`, entry);
88
+ const reference = referenceOf(`a target of ${sender}`, entry);
89
89
 
90
- return keyOf(keys, reference) ?? unknownTarget(`das Ziel ${reference} von ${sender}`, reference, keys);
90
+ return keyOf(keys, reference) ?? unknownTarget(`the target ${reference} of ${sender}`, reference, keys);
91
91
  });
92
92
 
93
93
  if (new Set(ids).size !== ids.length)
94
- throw new ScriptError(`${where}: die Ziele von ${sender} nennen denselben Empfänger doppelt.`);
94
+ throw new ScriptError(`${where}: the targets of ${sender} name the same recipient twice.`);
95
95
 
96
96
  return { kind: "list", ids };
97
97
  };
@@ -100,10 +100,10 @@ const tableOf = (value: unknown): { readonly table: ReadonlyMap<string, Mediator
100
100
  const record = recordOf(value);
101
101
 
102
102
  if (!record)
103
- throw new ScriptError(`${where}: table muss eine Routing-Tabelle von Absender auf Ziele sein.`);
103
+ throw new ScriptError(`${where}: table must be a routing table from sender to targets.`);
104
104
 
105
105
  const entries = Object.entries(record)
106
- .map(([reference, targets]) => [referenceOf("jeder Schlüssel von table", reference), targets] as const);
106
+ .map(([reference, targets]) => [referenceOf("every key of table", reference), targets] as const);
107
107
  const keys = keysOf(entries.map(([key]) => key));
108
108
  const table = new Map<string, MediatorTargets>();
109
109
 
@@ -114,7 +114,7 @@ const tableOf = (value: unknown): { readonly table: ReadonlyMap<string, Mediator
114
114
  }
115
115
 
116
116
  if (table.size === 0)
117
- throw new ScriptError(`${where}: table muss mindestens einen Absender enthalten.`);
117
+ throw new ScriptError(`${where}: table must contain at least one sender.`);
118
118
 
119
119
  return { table, keys };
120
120
  };
@@ -123,7 +123,7 @@ const startOf = (value: unknown, keys: MediatorKeys): MediatorStart => {
123
123
  const start = recordOf(value);
124
124
 
125
125
  if (!start || typeof start.text !== "string" || !start.text.trim())
126
- throw new ScriptError(`${where}: start braucht text als erste Zeile des Protokolls und to als Empfänger.`);
126
+ throw new ScriptError(`${where}: start needs text as the first line of the protocol and to as the recipient.`);
127
127
 
128
128
  const to = referenceOf("start.to", start.to);
129
129
 
@@ -132,13 +132,13 @@ const startOf = (value: unknown, keys: MediatorKeys): MediatorStart => {
132
132
 
133
133
  const hookOf = (name: string, value: unknown, required: boolean): MediatorHook | null => {
134
134
  if (value === undefined || value === null) {
135
- if (required) throw new ScriptError(`${where}: ${name} muss eine Funktion sein.`);
135
+ if (required) throw new ScriptError(`${where}: ${name} must be a function.`);
136
136
 
137
137
  return null;
138
138
  }
139
139
 
140
140
  if (typeof value !== "function")
141
- throw new ScriptError(`${where}: ${name} muss eine Funktion sein.`);
141
+ throw new ScriptError(`${where}: ${name} must be a function.`);
142
142
 
143
143
  return value as MediatorHook;
144
144
  };
@@ -147,17 +147,17 @@ const configOf = (value: unknown): MediatorConfig => {
147
147
  const config = recordOf(value);
148
148
 
149
149
  if (!config)
150
- throw new ScriptError(`${where} erwartet ein Konfigurationsobjekt.`);
150
+ throw new ScriptError(`${where} expects a configuration object.`);
151
151
 
152
152
  const label = config.label;
153
153
 
154
154
  if (label !== "handle" && label !== "none")
155
- throw new ScriptError(`${where}: label muss "handle" oder "none" sein.`);
155
+ throw new ScriptError(`${where}: label must be "handle" or "none".`);
156
156
 
157
157
  const maxEntries = config.maxEntries;
158
158
 
159
159
  if (typeof maxEntries !== "number" || !Number.isSafeInteger(maxEntries) || maxEntries < 1)
160
- throw new ScriptError(`${where}: maxEntries muss eine ganze Zahl ab 1 sein.`);
160
+ throw new ScriptError(`${where}: maxEntries must be an integer of at least 1.`);
161
161
 
162
162
  const { table, keys } = tableOf(config.table);
163
163
 
@@ -177,7 +177,7 @@ const entryOf = (value: unknown): MediatorEntry => {
177
177
  const entry = recordOf(value);
178
178
 
179
179
  if (!entry || (entry.from !== null && typeof entry.from !== "string") || typeof entry.text !== "string")
180
- throw new ScriptError("Der Zustand des Vermittlers enthält einen Eintrag ohne from und text.");
180
+ throw new ScriptError("The state of the mediator contains an entry without from and text.");
181
181
 
182
182
  return { from: entry.from as string | null, text: entry.text };
183
183
  };
@@ -188,7 +188,7 @@ const stateOf = (value: unknown): MediatorState | null => {
188
188
  const state = recordOf(value);
189
189
 
190
190
  if (!state || !Array.isArray(state.entries) || typeof state.done !== "boolean")
191
- throw new ScriptError("Der Zustand des Vermittlers gehört nicht zu dieser Bibliothek.");
191
+ throw new ScriptError("The state of the mediator does not belong to this library.");
192
192
 
193
193
  return { entries: state.entries.map(entryOf), done: state.done };
194
194
  };
@@ -200,7 +200,7 @@ const eventOf = (value: unknown): MediatorEvent | null => {
200
200
 
201
201
  if (!event || typeof event.type !== "string" || typeof event.sourceActorId !== "string"
202
202
  || typeof event.sourceActorHandle !== "string")
203
- throw new ScriptError("Das zugestellte Event trägt keinen Typ und keinen Absender.");
203
+ throw new ScriptError("The delivered event carries no type and no sender.");
204
204
 
205
205
  return { type: event.type, sourceActorId: event.sourceActorId, sourceActorHandle: event.sourceActorHandle };
206
206
  };
@@ -209,7 +209,7 @@ const inputOf = (value: unknown): MediatorInput => {
209
209
  const input = recordOf(value);
210
210
 
211
211
  if (!input || typeof input.content !== "string")
212
- throw new ScriptError("Der Vermittler hat keinen ActorInput mit Textfeld content bekommen.");
212
+ throw new ScriptError("The mediator did not receive an ActorInput with the text field content.");
213
213
 
214
214
  return { content: input.content, event: eventOf(input.event) };
215
215
  };
@@ -219,7 +219,7 @@ const lastLineOf = (content: string, from: string): string => {
219
219
  const last = lines[lines.length - 1];
220
220
 
221
221
  if (last === undefined)
222
- throw new ScriptError(`Die Antwort von @${from} enthält keine nicht-leere Zeile.`);
222
+ throw new ScriptError(`The answer from @${from} contains no non-empty line.`);
223
223
 
224
224
  return last;
225
225
  };
@@ -237,7 +237,7 @@ const mediatorHandler = (binding: MediatorBinding, value: unknown) => {
237
237
  try {
238
238
  await run(...args);
239
239
  } catch (error) {
240
- throw new ScriptError(`Der Hook ${name} des Vermittlers ist gescheitert: ${messageOf(error)}`);
240
+ throw new ScriptError(`The hook ${name} of the mediator failed: ${messageOf(error)}`);
241
241
  }
242
242
  };
243
243
 
@@ -248,7 +248,7 @@ const mediatorHandler = (binding: MediatorBinding, value: unknown) => {
248
248
 
249
249
  if (!Array.isArray(values))
250
250
  throw new ScriptError(
251
- `Die Zielfunktion für ${sender} muss eine Actor-ID, ein Handle, eine Liste davon oder null liefern.`,
251
+ `The target function for ${sender} must return an actor ID, a handle, a list of them or null.`,
252
252
  );
253
253
 
254
254
  return values.map((id) => {
@@ -256,8 +256,8 @@ const mediatorHandler = (binding: MediatorBinding, value: unknown) => {
256
256
 
257
257
  if (key === null)
258
258
  throw new ScriptError(
259
- `Die Zielfunktion für ${sender} nennt das unbekannte Ziel ${String(id)}. `
260
- + `Die Tabelle kennt: ${config.keys.all.join(", ")}.`,
259
+ `The target function for ${sender} names the unknown target ${String(id)}. `
260
+ + `The table knows: ${config.keys.all.join(", ")}.`,
261
261
  );
262
262
 
263
263
  return key;
@@ -268,7 +268,7 @@ const mediatorHandler = (binding: MediatorBinding, value: unknown) => {
268
268
  try {
269
269
  return await run(entry);
270
270
  } catch (error) {
271
- throw new ScriptError(`Die Zielfunktion für ${sender} ist gescheitert: ${messageOf(error)}`);
271
+ throw new ScriptError(`The target function for ${sender} failed: ${messageOf(error)}`);
272
272
  }
273
273
  };
274
274
 
@@ -305,7 +305,7 @@ const mediatorHandler = (binding: MediatorBinding, value: unknown) => {
305
305
 
306
306
  if (input.event === null) {
307
307
  if (current)
308
- throw new ScriptError("Der Vermittler ist bereits eingerichtet; ein zweiter direkter ActorInput ist nicht vorgesehen.");
308
+ throw new ScriptError("The mediator is already set up; a second direct ActorInput is not intended.");
309
309
 
310
310
  await binding.capabilities.call("event_subscribe", {
311
311
  sourceActorIds: [...config.table.keys()],
@@ -317,24 +317,24 @@ const mediatorHandler = (binding: MediatorBinding, value: unknown) => {
317
317
  }
318
318
 
319
319
  if (!current)
320
- throw new ScriptError("Der Vermittler ist noch nicht eingerichtet; der erste ActorInput muss ohne Event kommen.");
320
+ throw new ScriptError("The mediator is not set up yet; the first ActorInput must come without an event.");
321
321
 
322
322
  if (current.done) return;
323
323
 
324
324
  const event = input.event;
325
325
 
326
326
  if (event.type !== mediatorEventType)
327
- throw new ScriptError(`Der Vermittler nimmt nur ${mediatorEventType} an, hier kam ${event.type}.`);
327
+ throw new ScriptError(`The mediator only accepts ${mediatorEventType}, here ${event.type} arrived.`);
328
328
 
329
329
  const senderKey = senderKeyOf(config.keys, event);
330
330
  const targets = senderKey === null ? undefined : config.table.get(senderKey);
331
331
 
332
332
  if (senderKey === null || !targets)
333
333
  throw new ScriptError(
334
- `Der Absender ${event.sourceActorId} mit dem Handle ${event.sourceActorHandle} `
335
- + `kommt in der Tabelle nicht als Absender vor. `
336
- + `Absender sind: ${[...config.table.keys()].join(", ")}. `
337
- + `Ein Schlüssel darf die Actor-ID, der Handle oder @handle sein.`,
334
+ `The sender ${event.sourceActorId} with the handle ${event.sourceActorHandle} `
335
+ + `does not appear in the table as a sender. `
336
+ + `Senders are: ${[...config.table.keys()].join(", ")}. `
337
+ + `A key may be the actor ID, the handle or @handle.`,
338
338
  );
339
339
 
340
340
  const entry: MediatorEntry = {
@@ -136,12 +136,12 @@ const acquireWorker = (
136
136
  };
137
137
  const onAbort = (): void => fail(new VirtualTypeScriptWorkerError(
138
138
  "ABORTED",
139
- "Die TypeScript-Kompilierung wurde abgebrochen.",
139
+ "The TypeScript compilation was cancelled.",
140
140
  { cause: signal?.reason },
141
141
  ));
142
142
  const timer = setTimeout(() => fail(new VirtualTypeScriptWorkerError(
143
143
  "TIMEOUT",
144
- `Der TypeScript-Compiler hat die Zeitgrenze von ${timeoutMs} ms überschritten.`,
144
+ `The TypeScript compiler exceeded the timeout of ${timeoutMs} ms.`,
145
145
  )), Math.max(0, deadline - performance.now()));
146
146
 
147
147
  signal?.addEventListener("abort", onAbort, { once: true });
@@ -151,7 +151,7 @@ const acquireWorker = (
151
151
  catch (error) {
152
152
  fail(new VirtualTypeScriptWorkerError(
153
153
  "WORKER_FAILURE",
154
- "Der TypeScript-Compiler-Worker konnte nicht gestartet werden.",
154
+ "The TypeScript compiler worker could not be started.",
155
155
  { cause: error },
156
156
  ));
157
157
  }
@@ -192,7 +192,7 @@ const isWorkerMessage = (value: unknown): value is CompilerWorkerMessage => {
192
192
  const timeoutOf = (options: CompileVirtualTypeScriptAsyncOptions | undefined): number => {
193
193
  const timeoutMs = options?.timeoutMs ?? DEFAULT_TIMEOUT_MS;
194
194
  if (!Number.isSafeInteger(timeoutMs) || timeoutMs < 1 || timeoutMs > MAX_TIMEOUT_MS) {
195
- throw new RangeError(`TypeScript-Compiler-Timeout muss zwischen 1 und ${MAX_TIMEOUT_MS} ms liegen.`);
195
+ throw new RangeError(`TypeScript compiler timeout must be between 1 and ${MAX_TIMEOUT_MS} ms.`);
196
196
  }
197
197
  return timeoutMs;
198
198
  };
@@ -200,12 +200,12 @@ const timeoutOf = (options: CompileVirtualTypeScriptAsyncOptions | undefined): n
200
200
  const validateRequestSize = (request: CompileVirtualTypeScriptRequest): void => {
201
201
  const files = [...request.sources, ...(request.declarations ?? [])];
202
202
  if (files.length > MAX_COMPILER_FILES)
203
- throw new RangeError(`Eine TypeScript-Kompilierung darf höchstens ${MAX_COMPILER_FILES} Dateien enthalten.`);
203
+ throw new RangeError(`A TypeScript compilation may contain at most ${MAX_COMPILER_FILES} files.`);
204
204
  const bytes = files.reduce((size, file) =>
205
205
  size + Buffer.byteLength(file.fileName, "utf8") + Buffer.byteLength(file.text, "utf8"),
206
206
  Buffer.byteLength(request.contract ?? "", "utf8"));
207
207
  if (bytes > MAX_COMPILER_INPUT_BYTES)
208
- throw new RangeError(`Die TypeScript-Compiler-Eingabe darf höchstens ${MAX_COMPILER_INPUT_BYTES} Byte groß sein.`);
208
+ throw new RangeError(`The TypeScript compiler input may be at most ${MAX_COMPILER_INPUT_BYTES} bytes.`);
209
209
  };
210
210
 
211
211
  const remoteError = (error: SerializedWorkerError): Error => {
@@ -253,7 +253,7 @@ export const compileVirtualTypeScriptAsync = async (
253
253
  () => reject(result.error),
254
254
  (terminationError: unknown) => reject(new VirtualTypeScriptWorkerError(
255
255
  "WORKER_FAILURE",
256
- "Der TypeScript-Compiler-Worker konnte nicht sauber beendet werden.",
256
+ "The TypeScript compiler worker could not be terminated cleanly.",
257
257
  { cause: terminationError },
258
258
  )),
259
259
  );
@@ -262,7 +262,7 @@ export const compileVirtualTypeScriptAsync = async (
262
262
  if (!isWorkerMessage(message)) {
263
263
  finish({ error: new VirtualTypeScriptWorkerError(
264
264
  "WORKER_FAILURE",
265
- "Der TypeScript-Compiler-Worker hat eine ungültige Antwort geliefert.",
265
+ "The TypeScript compiler worker returned an invalid response.",
266
266
  ) });
267
267
  return;
268
268
  }
@@ -273,41 +273,41 @@ export const compileVirtualTypeScriptAsync = async (
273
273
  }
274
274
  finish({ error: new VirtualTypeScriptWorkerError(
275
275
  "COMPILER_EXCEPTION",
276
- `Der TypeScript-Compiler ist fehlgeschlagen: ${message.error.message}`,
276
+ `The TypeScript compiler failed: ${message.error.message}`,
277
277
  { cause: remoteError(message.error) },
278
278
  ), keepWorker: true });
279
279
  };
280
280
  const onMessageError = (error: Error): void => finish({
281
281
  error: new VirtualTypeScriptWorkerError(
282
282
  "WORKER_FAILURE",
283
- "Die Antwort des TypeScript-Compiler-Workers konnte nicht gelesen werden.",
283
+ "The response of the TypeScript compiler worker could not be read.",
284
284
  { cause: error },
285
285
  ),
286
286
  });
287
287
  const onError = (error: Error): void => finish({
288
288
  error: new VirtualTypeScriptWorkerError(
289
289
  "WORKER_FAILURE",
290
- `Der TypeScript-Compiler-Worker ist fehlgeschlagen: ${error.message}`,
290
+ `The TypeScript compiler worker failed: ${error.message}`,
291
291
  { cause: error },
292
292
  ),
293
293
  });
294
294
  const onExit = (code: number): void => finish({
295
295
  error: new VirtualTypeScriptWorkerError(
296
296
  "WORKER_FAILURE",
297
- `Der TypeScript-Compiler-Worker wurde ohne Ergebnis beendet (Exit-Code ${code}).`,
297
+ `The TypeScript compiler worker exited without a result (exit code ${code}).`,
298
298
  ),
299
299
  });
300
300
  const onAbort = (): void => finish({
301
301
  error: new VirtualTypeScriptWorkerError(
302
302
  "ABORTED",
303
- "Die TypeScript-Kompilierung wurde abgebrochen.",
303
+ "The TypeScript compilation was cancelled.",
304
304
  { cause: options?.signal?.reason },
305
305
  ),
306
306
  });
307
307
  const timer = setTimeout(() => finish({
308
308
  error: new VirtualTypeScriptWorkerError(
309
309
  "TIMEOUT",
310
- `Der TypeScript-Compiler hat die Zeitgrenze von ${timeoutMs} ms überschritten.`,
310
+ `The TypeScript compiler exceeded the timeout of ${timeoutMs} ms.`,
311
311
  ),
312
312
  }), Math.max(0, deadline - performance.now()));
313
313
 
@@ -37,12 +37,12 @@ const serializedError = (error: unknown): SerializedWorkerError => {
37
37
  };
38
38
 
39
39
  if (parentPort === null) {
40
- throw new Error("Der TypeScript-Compiler-Worker benötigt einen übergeordneten Thread.");
40
+ throw new Error("The TypeScript compiler worker needs a parent thread.");
41
41
  }
42
42
 
43
43
  const port = parentPort;
44
44
  port.on("message", (message: CompilerWorkerRequest) => {
45
- if (message?.kind !== "compile") throw new Error("Der TypeScript-Compiler-Worker hat eine unbekannte Anfrage erhalten.");
45
+ if (message?.kind !== "compile") throw new Error("The TypeScript compiler worker received an unknown request.");
46
46
  try {
47
47
  const compilation = compileVirtualTypeScript(message.request);
48
48
  port.postMessage({ kind: "result", requestId: message.requestId, compilation } satisfies CompilerWorkerMessage);
@@ -107,19 +107,19 @@ const libraryContent = (source: string): { readonly text: string; readonly hash:
107
107
 
108
108
  const normalizeFileName = (fileName: string, kind: VirtualFileKind): string => {
109
109
  if (!fileName.trim() || fileName.includes("\0") || fileName.includes("\\")) {
110
- throw new TypeError(`Ungültiger virtueller TypeScript-Pfad: ${fileName}`);
110
+ throw new TypeError(`Invalid virtual TypeScript path: ${fileName}`);
111
111
  }
112
112
 
113
113
  const normalized = path.posix.normalize(`/${fileName}`).replace(/^\/+(?=.)/, "/");
114
114
  if (normalized === VIRTUAL_ROOT || normalized.startsWith("/__ragents__/")) {
115
- throw new TypeError(`Reservierter virtueller TypeScript-Pfad: ${fileName}`);
115
+ throw new TypeError(`Reserved virtual TypeScript path: ${fileName}`);
116
116
  }
117
117
 
118
118
  if (kind === "source" && ((!normalized.endsWith(".ts") && !normalized.endsWith(".tsx")) || normalized.endsWith(".d.ts"))) {
119
- throw new TypeError(`Virtuelle TypeScript-Quelle muss auf .ts oder .tsx enden: ${fileName}`);
119
+ throw new TypeError(`Virtual TypeScript source must end in .ts or .tsx: ${fileName}`);
120
120
  }
121
121
  if (kind === "declaration" && !normalized.endsWith(".d.ts")) {
122
- throw new TypeError(`Virtuelle TypeScript-Deklaration muss auf .d.ts enden: ${fileName}`);
122
+ throw new TypeError(`Virtual TypeScript declaration must end in .d.ts: ${fileName}`);
123
123
  }
124
124
 
125
125
  return normalized;
@@ -137,7 +137,7 @@ const normalizedFiles = (
137
137
  const assertUniqueFiles = (files: readonly NormalizedFile[]): void => {
138
138
  const names = new Set<string>();
139
139
  for (const file of files) {
140
- if (names.has(file.fileName)) throw new TypeError(`Virtuelle Datei doppelt deklariert: ${file.fileName}`);
140
+ if (names.has(file.fileName)) throw new TypeError(`Virtual file declared twice: ${file.fileName}`);
141
141
  names.add(file.fileName);
142
142
  }
143
143
  };
@@ -239,9 +239,9 @@ const diagnosticsOf = (diagnostics: readonly ts.Diagnostic[]): VirtualTypeScript
239
239
  export const compileVirtualTypeScript = (
240
240
  request: CompileVirtualTypeScriptRequest,
241
241
  ): VirtualTypeScriptCompilation => {
242
- if (request.sources.length === 0) throw new TypeError("Mindestens eine TypeScript-Quelle ist erforderlich.");
242
+ if (request.sources.length === 0) throw new TypeError("At least one TypeScript source is required.");
243
243
  const emit = request.emit ?? "none";
244
- if (!["none", "browser", "node"].includes(emit)) throw new TypeError(`Unbekannter TypeScript-Emitmodus: ${String(emit)}`);
244
+ if (!["none", "browser", "node"].includes(emit)) throw new TypeError(`Unknown TypeScript emit mode: ${String(emit)}`);
245
245
  const sources = normalizedFiles(request.sources, "source");
246
246
  const declarations = normalizedFiles(request.declarations ?? [], "declaration");
247
247
  const libraries: LoadedLibrary[] = (request.libraries ?? []).map((library) => ({
@@ -37,7 +37,7 @@ export class TypeScriptSnippetCompilationError extends Error {
37
37
  ...(diagnostic.end ? { end: { ...diagnostic.end, line: Math.max(1, diagnostic.end.line - 1) } } : {}),
38
38
  } : {}),
39
39
  }));
40
- super(`TypeScript-Snippet wurde nicht ausgeführt:\n${original.map((diagnostic) =>
40
+ super(`TypeScript snippet was not executed:\n${original.map((diagnostic) =>
41
41
  `${diagnostic.fileName ?? "TypeScript"}${diagnostic.start ? `:${diagnostic.start.line}:${diagnostic.start.column}` : ""} TS${diagnostic.code}: ${diagnostic.message}`,
42
42
  ).join("\n")}`);
43
43
  this.name = "TypeScriptSnippetCompilationError";
@@ -47,7 +47,7 @@ export class TypeScriptSnippetCompilationError extends Error {
47
47
 
48
48
  export const compileTypeScriptSnippet = async (source: TypeScriptSnippetSource): Promise<NativeTypeScriptProgram> => {
49
49
  source.signal?.throwIfAborted();
50
- if (!source.code.trim()) throw new Error("Das TypeScript-Snippet darf nicht leer sein.");
50
+ if (!source.code.trim()) throw new Error("The TypeScript snippet must not be empty.");
51
51
  const compiled = await compileVirtualTypeScriptAsync({
52
52
  sources: [{ fileName: snippetFile, text: `export async function handle(_input: unknown, context: RunContext) {\n${source.code}\n}\n` }],
53
53
  declarations: [{ fileName: "snippet-context.d.ts", text: typeScriptSnippetDeclarations(source.capabilities) }],
@@ -77,7 +77,7 @@ export class TypeScriptSnippetExecutionError extends Error {
77
77
  readonly logs: readonly string[];
78
78
 
79
79
  constructor(cause: unknown, logs: readonly string[]) {
80
- super(`TypeScript-Snippet fehlgeschlagen: ${cause instanceof Error ? cause.message : String(cause)}${logs.length > 0 ? `\nLogs vor dem Fehler:\n${logs.join("\n")}` : ""}`, { cause });
80
+ super(`TypeScript snippet failed: ${cause instanceof Error ? cause.message : String(cause)}${logs.length > 0 ? `\nLogs before the error:\n${logs.join("\n")}` : ""}`, { cause });
81
81
  this.name = "TypeScriptSnippetExecutionError";
82
82
  this.logs = [...logs];
83
83
  }
@@ -105,7 +105,7 @@ export const executeTypeScriptSnippet = async (execution: TypeScriptSnippetExecu
105
105
  });
106
106
  execution.signal?.throwIfAborted();
107
107
  const returned = output.result === undefined ? null : output.result;
108
- assertJsonValue(returned, "TypeScript-Snippet result");
108
+ assertJsonValue(returned, "TypeScript snippet result");
109
109
  const result: JsonValue = JSON.parse(JSON.stringify(returned));
110
110
  return { result, logs };
111
111
  } catch (error) {
@@ -115,7 +115,7 @@ export const executeTypeScriptSnippet = async (execution: TypeScriptSnippetExecu
115
115
  try {
116
116
  await execution.executor.stopInstance(execution.context.runId, instanceId);
117
117
  } catch (error) {
118
- if (failure) throw new AggregateError([failure, error], `${failure.message}\nDie Snippet-Instanz konnte nicht vollständig beendet werden: ${error instanceof Error ? error.message : String(error)}`);
118
+ if (failure) throw new AggregateError([failure, error], `${failure.message}\nThe snippet instance could not be terminated completely: ${error instanceof Error ? error.message : String(error)}`);
119
119
  throw new TypeScriptSnippetExecutionError(error, logs);
120
120
  }
121
121
  }
@@ -2,39 +2,39 @@ import { accessSync, constants, existsSync, statSync } from "node:fs";
2
2
  import path from "node:path";
3
3
  import { getShellConfig } from "@ragents/agent";
4
4
 
5
- /** Ein Befehl des Werkzeugs bash, so wie er startet: Programm, Argumente und Umgebung. */
5
+ /** A command of the bash tool as it starts: program, arguments and environment. */
6
6
  export interface BashLaunch {
7
7
  readonly command: string;
8
8
  readonly args: readonly string[];
9
9
  readonly env: NodeJS.ProcessEnv;
10
10
  }
11
11
 
12
- /** Was der Executor dem Werkzeug bash mitgibt: die Bash selbst und rg; ohne Angabe gilt jeweils das des Systems. */
12
+ /** What the executor passes to the bash tool: bash itself and rg; without a value the system's one applies. */
13
13
  export interface BashPrograms {
14
14
  readonly bash: string | undefined;
15
15
  readonly rg: string | undefined;
16
16
  }
17
17
 
18
- /** Unter Windows sucht RAgents keine Bash; der Executor nennt die mitgebrachte. */
18
+ /** On Windows RAgents does not search for a bash; the executor names the bundled one. */
19
19
  const missingWindowsBash = (): Error => new Error(
20
- "Unter Windows arbeitet das Werkzeug bash nur mit der Bash, die RAgents mitbringt, und für diesen Executor ist keine genannt. "
21
- + "Die VS-Code-Erweiterung bringt sie in ihrer Windows-Fassung (win32-x64, win32-arm64) unter dist/bash/<plattform>/usr/bin/bash.exe mit "
22
- + "und reicht sie an Arbeitsplatz und lokalen Host weiter; ein Host oder Arbeitsplatz ohne Erweiterung braucht RAGENTS_BASH mit dem Pfad dieser bash.exe.",
20
+ "On Windows the bash tool only works with the bash that RAgents bundles, and none is named for this executor. "
21
+ + "The VS Code extension bundles it in its Windows build (win32-x64, win32-arm64) under dist/bash/<platform>/usr/bin/bash.exe "
22
+ + "and passes it on to the workspace and the local host; a host or workspace without the extension needs RAGENTS_BASH with the path of this bash.exe.",
23
23
  );
24
24
 
25
25
  const missingRipgrep = (rg: string): Error =>
26
- new Error(`Das rg dieses Executors fehlt: ${rg}. Es gehört zur Erweiterung (dist/rg/<plattform>) oder steht in RAGENTS_RG.`);
26
+ new Error(`The rg of this executor is missing: ${rg}. It belongs to the extension (dist/rg/<platform>) or is set in RAGENTS_RG.`);
27
27
 
28
28
  const pathModule = (platform: NodeJS.Platform): path.PlatformPath => platform === "win32" ? path.win32 : path.posix;
29
29
 
30
- /** Die Namen der PATH-Variablen; unter Windows zählt jede Schreibweise (`Path`). */
30
+ /** The names of the PATH variables; on Windows every spelling counts (`Path`). */
31
31
  const pathNames = (env: NodeJS.ProcessEnv, platform: NodeJS.Platform): readonly string[] =>
32
32
  platform === "win32" ? Object.keys(env).filter((name) => name.toUpperCase() === "PATH") : ["PATH"];
33
33
 
34
34
  const currentPath = (env: NodeJS.ProcessEnv, platform: NodeJS.Platform): string | undefined =>
35
35
  pathNames(env, platform).map((name) => env[name]).find((value) => value !== undefined && value !== "");
36
36
 
37
- /** Die Ordner vorn im PATH, als eine Variable PATH; MSYSTEM gehört unter Windows einer Git-Bash-Anmeldung und fällt weg. */
37
+ /** The folders at the front of PATH, as one PATH variable; on Windows MSYSTEM belongs to a Git Bash login and is dropped. */
38
38
  const withPathFront = (env: NodeJS.ProcessEnv, directories: readonly string[], platform: NodeJS.Platform): NodeJS.ProcessEnv => {
39
39
  if (directories.length === 0) return env;
40
40
  const names = pathNames(env, platform);
@@ -53,7 +53,7 @@ const isExecutableFile = (file: string, platform: NodeJS.Platform): boolean => {
53
53
  }
54
54
  };
55
55
 
56
- /** Ob die Bash dieses Executors rg findet: das genannte, sonst eines im PATH; ein genanntes, das fehlt, ist ein Fehler. */
56
+ /** Whether the bash of this executor finds rg: the named one, otherwise one in PATH; a named one that is missing is an error. */
57
57
  export const ripgrepAvailable = (rg: string | undefined, env: NodeJS.ProcessEnv, platform: NodeJS.Platform = process.platform): boolean => {
58
58
  if (rg !== undefined) {
59
59
  if (!existsSync(rg)) throw missingRipgrep(rg);
@@ -64,7 +64,7 @@ export const ripgrepAvailable = (rg: string | undefined, env: NodeJS.ProcessEnv,
64
64
  .some((directory) => isExecutableFile(path.join(directory, file), platform));
65
65
  };
66
66
 
67
- /** Wie ein Befehl in der Bash dieses Executors startet: das Verzeichnis von rg vorn im PATH, unter Windows dahinter das usr/bin der Bash, damit find.exe und sort.exe aus System32 nicht gewinnen. */
67
+ /** How a command starts in the bash of this executor: the directory of rg at the front of PATH, on Windows followed by the usr/bin of the bash so that find.exe and sort.exe from System32 do not win. */
68
68
  export const bashLaunch = (
69
69
  { bash, rg }: BashPrograms,
70
70
  command: string,
@@ -73,11 +73,11 @@ export const bashLaunch = (
73
73
  ): BashLaunch => {
74
74
  if (platform === "win32" && bash === undefined) throw missingWindowsBash();
75
75
  if (bash !== undefined && !existsSync(bash)) {
76
- throw new Error(`Die Bash dieses Executors fehlt: ${bash}. Unter Windows gehört sie zur Erweiterung (dist/bash/<plattform>) oder steht in RAGENTS_BASH.`);
76
+ throw new Error(`The bash of this executor is missing: ${bash}. On Windows it belongs to the extension (dist/bash/<platform>) or is set in RAGENTS_BASH.`);
77
77
  }
78
78
  if (rg !== undefined && !existsSync(rg)) throw missingRipgrep(rg);
79
79
  const shell = getShellConfig(bash, platform);
80
- if (!/bash(\.exe)?$/i.test(shell.shell)) throw new Error(`${shell.shell} ist keine Bash; das Werkzeug heißt bash und der Prompt beschreibt bash`);
80
+ if (!/bash(\.exe)?$/i.test(shell.shell)) throw new Error(`${shell.shell} is not a bash; the tool is called bash and the prompt describes bash`);
81
81
  const paths = pathModule(platform);
82
82
  const front = [
83
83
  ...(rg === undefined ? [] : [paths.dirname(rg)]),