@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
@@ -22,7 +22,7 @@ interface SavedCapture {
22
22
  path: string;
23
23
  }
24
24
 
25
- /** Was der Server von der Seite eines Runs weiß: den zuletzt gemeldeten Stand und die Zeit der letzten bestandenen Prüfung. */
25
+ /** What the server knows about a run's page: the last reported state and the time of the last passed check. */
26
26
  interface ObservedPage {
27
27
  url: string;
28
28
  checkedAt?: string;
@@ -37,7 +37,7 @@ export interface BrowserOptions {
37
37
 
38
38
  const capturePath = (id: string): string => `browser/${id}.png`;
39
39
 
40
- /** Die Browserprüfung eines Runs: die Seite lebt beim Executor des Runs, Evidenz, Aufnahmen und Viewport hält der Server. */
40
+ /** A run's browser testing: the page lives in the run's executor, the server holds evidence, screenshots and viewport. */
41
41
  export class RunBrowser implements BrowserRuntime {
42
42
  readonly #options: BrowserOptions;
43
43
  readonly #pages = new Map<string, ObservedPage>();
@@ -67,7 +67,7 @@ export class RunBrowser implements BrowserRuntime {
67
67
  await this.restore(runId);
68
68
  options.signal?.throwIfAborted();
69
69
  this.#assertRunning();
70
- if (generation !== this.#generation(runId)) throw new Error("Der Browser wurde beendet.");
70
+ if (generation !== this.#generation(runId)) throw new Error("The browser was closed.");
71
71
  return this.#run(runId, BROWSER_OPERATIONS.open, { url, viewport: this.#viewports.get(runId) ?? DEFAULT_VIEWPORT }, options);
72
72
  }
73
73
 
@@ -75,7 +75,7 @@ export class RunBrowser implements BrowserRuntime {
75
75
  return this.#run(runId, BROWSER_OPERATIONS.snapshot, null, options);
76
76
  }
77
77
 
78
- /** Der gewählte Viewport gilt für den Run, auch für einen später neu gestarteten Browser. */
78
+ /** The chosen viewport applies to the run, including a browser restarted later. */
79
79
  async viewport(runId: string, viewport: BrowserViewport, options: BrowserCallOptions = {}): Promise<BrowserSnapshot> {
80
80
  const snapshot = await this.#run<BrowserSnapshot>(runId, BROWSER_OPERATIONS.viewport, viewport, options);
81
81
  this.#viewports.set(runId, viewport);
@@ -98,7 +98,7 @@ export class RunBrowser implements BrowserRuntime {
98
98
  return this.#run(runId, BROWSER_OPERATIONS.press, { target, key }, options);
99
99
  }
100
100
 
101
- /** Die Zeit einer bestandenen Prüfung ist die des Servers, damit sie sich mit seinen übrigen Zeiten vergleichen lässt. */
101
+ /** The time of a passed check is the server's, so it compares with its other times. */
102
102
  async check(runId: string, input: BrowserCheck, options: BrowserCallOptions = {}): Promise<{ checkedAt: string; url: string; assertions: string[] }> {
103
103
  const generation = this.#generation(runId);
104
104
  const { result, page } = await this.#execute<BrowserCheckResult>(runId, generation, BROWSER_OPERATIONS.check, input, options);
@@ -117,7 +117,7 @@ export class RunBrowser implements BrowserRuntime {
117
117
  await this.restore(runId);
118
118
  const id = randomUUID();
119
119
  const image = await this.#run<string>(runId, BROWSER_OPERATIONS.screenshot, { id, fullPage: input.fullPage ?? false }, options);
120
- const capture = { name: input.label?.trim() || "Browseraufnahme", path: capturePath(id) };
120
+ const capture = { name: input.label?.trim() || "Browser screenshot", path: capturePath(id) };
121
121
  await this.#store(runId, capture, Buffer.from(image, "base64"));
122
122
  const url = this.#captureUrl(runId, capture.path);
123
123
  return {
@@ -130,7 +130,7 @@ export class RunBrowser implements BrowserRuntime {
130
130
 
131
131
  async image(runId: string): Promise<Buffer> {
132
132
  const latest = this.#captures.get(runId)?.at(-1);
133
- if (!latest) throw new Error("Für diesen Run gibt es noch keinen Browser-Screenshot. Zuerst browser_screenshot aufrufen.");
133
+ if (!latest) throw new Error("There is no browser screenshot for this run yet. Call browser_screenshot first.");
134
134
  return readFile(path.join(await this.#options.filesFor(runId), latest.path));
135
135
  }
136
136
 
@@ -152,7 +152,7 @@ export class RunBrowser implements BrowserRuntime {
152
152
  };
153
153
  }
154
154
 
155
- /** Schließt den Browser beim Executor des Runs; ein nicht verbundener Arbeitsplatz hält nichts, was sich jetzt schließen ließe. */
155
+ /** Closes the browser in the run's executor; a disconnected workspace holds nothing that could be closed now. */
156
156
  async close(runId: string): Promise<void> {
157
157
  this.#forget(runId);
158
158
  await this.#options.sandbox.execute(runId, BROWSER_OPERATIONS.close, null, { whenReachable: true });
@@ -178,14 +178,14 @@ export class RunBrowser implements BrowserRuntime {
178
178
  }
179
179
 
180
180
  #assertRunning(): void {
181
- if (this.#shutdown) throw new Error("Der Browserdienst ist beendet.");
181
+ if (this.#shutdown) throw new Error("The browser service has ended.");
182
182
  }
183
183
 
184
184
  #generation(runId: string): number {
185
185
  return this.#generations.get(runId) ?? 0;
186
186
  }
187
187
 
188
- /** Ein geschlossener Browser hat keine Seite mehr; Ergebnisse, die vorher begonnen haben, zählen danach nicht. */
188
+ /** A closed browser has no page anymore; results that started before no longer count afterwards. */
189
189
  #forget(runId: string): void {
190
190
  this.#generations.set(runId, this.#generation(runId) + 1);
191
191
  this.#pages.delete(runId);
@@ -207,14 +207,14 @@ export class RunBrowser implements BrowserRuntime {
207
207
  }
208
208
  }
209
209
 
210
- /** Nach einem gescheiterten Aufruf fragt der Server den Stand der Seite nach; wer ihn nicht nennen kann, hat keine Seite. */
210
+ /** After a failed call the server asks for the page state; whoever cannot report it has no page. */
211
211
  async #resync(runId: string, generation: number): Promise<void> {
212
212
  const page = await this.#options.sandbox.execute(runId, BROWSER_OPERATIONS.state, null, { whenReachable: true })
213
213
  .then((value) => value as BrowserPageState | null, () => null);
214
214
  this.#observe(runId, generation, page);
215
215
  }
216
216
 
217
- /** Nur eine bestandene Prüfung setzt die Zeit; jeder andere Stand behält sie, solange die Seite geprüft bleibt. */
217
+ /** Only a passed check sets the time; every other state keeps it as long as the page stays checked. */
218
218
  #observe(runId: string, generation: number, page: BrowserPageState | null, checkedAt?: string): void {
219
219
  if (generation !== this.#generation(runId)) return;
220
220
  if (!page) {
@@ -230,7 +230,7 @@ export class RunBrowser implements BrowserRuntime {
230
230
  });
231
231
  }
232
232
 
233
- /** Legt eine Aufnahme in die Dateiablage des Runs und schreibt die Aufnahmeliste atomar; die Aufnahmen eines Runs der Reihe nach. */
233
+ /** Puts a screenshot into the run's file storage and writes the screenshot list atomically; a run's screenshots one after another. */
234
234
  #store(runId: string, capture: SavedCapture, image: Buffer): Promise<void> {
235
235
  const previous = this.#captureWrites.get(runId) ?? Promise.resolve();
236
236
  const pending = previous.then(async () => {
@@ -265,7 +265,7 @@ export class RunBrowser implements BrowserRuntime {
265
265
  const captures: unknown = JSON.parse(content);
266
266
  if (!Array.isArray(captures) || captures.some((entry) => !entry || typeof entry.name !== "string"
267
267
  || typeof entry.path !== "string" || !/^browser\/[a-f0-9-]{36}\.png$/.test(entry.path))) {
268
- throw new Error("Die gespeicherte Browser-Aufnahmeliste dieses Runs ist beschädigt.");
268
+ throw new Error("The stored browser screenshot list of this run is corrupt.");
269
269
  }
270
270
  this.#captures.set(runId, captures);
271
271
  }
@@ -11,7 +11,7 @@ export interface BrowserEvidence {
11
11
  errors: string[];
12
12
  }
13
13
 
14
- /** Wer eine Operation an der Seite auslöst: bei einem Werkzeugaufruf dessen Kennung, dazu der Abbruch. */
14
+ /** Who triggers an operation on the page: for a tool call its id, plus the abort signal. */
15
15
  export interface BrowserCallOptions {
16
16
  signal?: AbortSignal;
17
17
  toolCallId?: string;
@@ -7,7 +7,7 @@ import { RunBrowser } from "./browser.js";
7
7
  import { browserRuntimeToken } from "./contract.js";
8
8
  import { createBrowserFunctions, createBrowserImageContribution } from "./tools.js";
9
9
 
10
- /** Der Executor des Servers liest den Wert aus seiner Umgebung; ein Arbeitsplatz aus seiner eigenen, nie aus dem Profil. */
10
+ /** The server's executor reads the value from its environment; a workspace from its own, never from the profile. */
11
11
  export const browserConfigDescriptors = [{ key: BROWSER_EXECUTABLE_VARIABLE, source: "environment" }] as const;
12
12
 
13
13
  const browserPlugin: RAgentsPlugin = {
@@ -30,7 +30,7 @@ const screenshotDescription = "Capture the real browser page into this run's doc
30
30
  export const createBrowserFunctions = (browser: RunBrowser): RunFunction[] => [
31
31
  defineRunFunction({
32
32
  name: "browser_open",
33
- label: "Browser öffnen",
33
+ label: "Open browser",
34
34
  description: "Open an HTTP(S) page in this run's isolated headless browser. Returns its accessible structure and browser errors. Reuses the current run browser; other runs have separate cookies and processes.",
35
35
  schema: Type.Object({ url: Type.String({ minLength: 1 }) }, { additionalProperties: false }),
36
36
  resultSchema: snapshotSchema,
@@ -41,7 +41,7 @@ export const createBrowserFunctions = (browser: RunBrowser): RunFunction[] => [
41
41
  }),
42
42
  defineRunFunction({
43
43
  name: "browser_snapshot",
44
- label: "Browser lesen",
44
+ label: "Read browser",
45
45
  description: "Read the current real page's accessible structure, title, URL and errors. Use role/name or labels for subsequent actions; snapshot reference IDs never need to be copied.",
46
46
  schema: emptySchema,
47
47
  resultSchema: snapshotSchema,
@@ -52,7 +52,7 @@ export const createBrowserFunctions = (browser: RunBrowser): RunFunction[] => [
52
52
  }),
53
53
  defineRunFunction({
54
54
  name: "browser_click",
55
- label: "Im Browser klicken",
55
+ label: "Click in browser",
56
56
  description: "Click a uniquely identified visible element with Playwright auto-waiting. Returns the actual resulting page. Ambiguous or absent targets are errors.",
57
57
  schema: targetInputSchema,
58
58
  resultSchema: snapshotSchema,
@@ -63,7 +63,7 @@ export const createBrowserFunctions = (browser: RunBrowser): RunFunction[] => [
63
63
  }),
64
64
  defineRunFunction({
65
65
  name: "browser_fill",
66
- label: "Browserfeld ausfüllen",
66
+ label: "Fill browser field",
67
67
  description: "Fill an input or textarea by accessible label or another semantic target, firing the normal input events. Returns the resulting page.",
68
68
  schema: Type.Object({ target: targetSchema, value: Type.String() }, { additionalProperties: false }),
69
69
  resultSchema: snapshotSchema,
@@ -74,7 +74,7 @@ export const createBrowserFunctions = (browser: RunBrowser): RunFunction[] => [
74
74
  }),
75
75
  defineRunFunction({
76
76
  name: "browser_select",
77
- label: "Im Browser auswählen",
77
+ label: "Select in browser",
78
78
  description: "Choose an option by its visible label in a native select element. For custom dropdowns use browser_click on the trigger and the visible option.",
79
79
  schema: Type.Object({ target: targetSchema, label: Type.String({ minLength: 1 }) }, { additionalProperties: false }),
80
80
  resultSchema: snapshotSchema,
@@ -85,7 +85,7 @@ export const createBrowserFunctions = (browser: RunBrowser): RunFunction[] => [
85
85
  }),
86
86
  defineRunFunction({
87
87
  name: "browser_press",
88
- label: "Browsertaste drücken",
88
+ label: "Press browser key",
89
89
  description: "Focus a target and press a Playwright key or chord such as Enter, Escape, Tab or ControlOrMeta+A. Returns the resulting page.",
90
90
  schema: Type.Object({ target: targetSchema, key: Type.String({ minLength: 1 }) }, { additionalProperties: false }),
91
91
  resultSchema: snapshotSchema,
@@ -96,7 +96,7 @@ export const createBrowserFunctions = (browser: RunBrowser): RunFunction[] => [
96
96
  }),
97
97
  defineRunFunction({
98
98
  name: "browser_check",
99
- label: "Browserergebnis prüfen",
99
+ label: "Check browser result",
100
100
  description: "Assert visible target/text, resulting URL and absence of browser errors. Fails on mismatch; records successful evidence for this page until the next action/navigation/error. Supply at least one assertion. Browser errors are checked by default. Visibility assertions wait at most 5 seconds, shorter than actions.",
101
101
  schema: Type.Object({
102
102
  target: Type.Optional(targetSchema),
@@ -113,7 +113,7 @@ export const createBrowserFunctions = (browser: RunBrowser): RunFunction[] => [
113
113
  }),
114
114
  defineRunFunction({
115
115
  name: "browser_viewport",
116
- label: "Browsergröße setzen",
116
+ label: "Set browser size",
117
117
  description: "Resize the page viewport in CSS pixels, for example to check a narrow layout. The default is 1920 x 1080 (16:9) and screenshots use the viewport size at scale 1; the chosen size stays for the run until changed again. Returns the resulting page.",
118
118
  schema: Type.Object({
119
119
  width: Type.Integer({ minimum: 320, maximum: 3840 }),
@@ -126,7 +126,7 @@ export const createBrowserFunctions = (browser: RunBrowser): RunFunction[] => [
126
126
  }),
127
127
  defineRunFunction({
128
128
  name: "browser_screenshot",
129
- label: "Browser aufnehmen",
129
+ label: "Capture browser",
130
130
  description: screenshotDescription,
131
131
  schema: Type.Object({ label: Type.Optional(Type.String({ maxLength: 200 })), fullPage: Type.Optional(Type.Boolean()) }, { additionalProperties: false }),
132
132
  resultSchema: Type.Object({
@@ -143,7 +143,7 @@ export const createBrowserFunctions = (browser: RunBrowser): RunFunction[] => [
143
143
  }),
144
144
  defineRunFunction({
145
145
  name: "browser_view_screenshot",
146
- label: "Browseraufnahme ansehen",
146
+ label: "View browser screenshot",
147
147
  description: "View this run's latest screenshot as native image input without a path. Invoke this native tool directly to receive pixels; calling it through TypeScript only verifies image availability. Requires an image-capable model for native image input.",
148
148
  nativeTool: true,
149
149
  schema: emptySchema,
@@ -153,12 +153,12 @@ export const createBrowserFunctions = (browser: RunBrowser): RunFunction[] => [
153
153
  run: async ({ caller, signal }) => {
154
154
  signal?.throwIfAborted();
155
155
  await browser.image(caller.runId);
156
- return "Letzte Browseraufnahme dieses Runs ist verfügbar.";
156
+ return "The latest browser screenshot of this run is available.";
157
157
  },
158
158
  }),
159
159
  defineRunFunction({
160
160
  name: "browser_close",
161
- label: "Browser schließen",
161
+ label: "Close browser",
162
162
  description: "Close this run's browser and discard its cookies. Saved screenshots remain in the document library.",
163
163
  schema: emptySchema,
164
164
  resultSchema: Type.Object({ closed: Type.Boolean() }, { additionalProperties: false }),
@@ -175,11 +175,11 @@ export const createBrowserImageContribution = (browser: RunBrowser): AgentContri
175
175
  if (outcome.toolName !== "browser_view_screenshot" || outcome.isError) return undefined;
176
176
  try {
177
177
  call.signal?.throwIfAborted();
178
- if (!call.modelReadsImages) throw new Error("Das gewählte Modell unterstützt keine Bilder. Screenshot über die Dokumente ansehen oder ein bildfähiges Modell wählen.");
178
+ if (!call.modelReadsImages) throw new Error("The selected model does not support images. View the screenshot in the documents or choose an image-capable model.");
179
179
  const data = (await browser.image(runId)).toString("base64");
180
180
  call.signal?.throwIfAborted();
181
181
  return { content: [
182
- { type: "text", text: "Letzte Browseraufnahme dieses Runs." },
182
+ { type: "text", text: "Latest browser screenshot of this run." },
183
183
  { type: "image", data, mimeType: "image/png" },
184
184
  ] };
185
185
  } catch (error) {
@@ -1,38 +1,38 @@
1
1
  ---
2
2
  name: browser-testing
3
- description: Prüfe eine laufende Webanwendung mit echten Browseraktionen, sichtbaren Ergebnissen und Screenshots.
3
+ description: Test a running web application with real browser actions, visible results, and screenshots.
4
4
  ---
5
5
 
6
- # Webanwendung prüfen
6
+ # Testing a web application
7
7
 
8
- Verwende die TypeScript-Funktionen `browser_open`, `browser_snapshot`, `browser_click`,
8
+ Use the TypeScript functions `browser_open`, `browser_snapshot`, `browser_click`,
9
9
  `browser_fill`, `browser_select`, `browser_press`, `browser_check`, `browser_viewport`,
10
- `browser_screenshot` und `browser_close`. Lade deren genaue Verträge mit `typescript_api`.
10
+ `browser_screenshot` and `browser_close`. Load their exact contracts with `typescript_api`.
11
11
 
12
- 1. Starte die Anwendung mit ihren tatsächlichen Diensten und warte auf deren Bereitschaft.
13
- 2. Öffne ihre HTTP-Adresse mit `browser_open`. Jeder Run hat einen eigenen Browser ohne
14
- übernommene Anmeldung. Er läuft auf dem Rechner Deines Arbeitsbereichs; eine dort gestartete
15
- Anwendung erreichst Du über `localhost`. Melde fehlende Dienste und Browser-Voraussetzungen
16
- ausdrücklich.
17
- 3. Lies den Snapshot und bediene den tatsächlichen Nutzerweg. Wähle Ziele über sichtbare
18
- Rollen/Namen oder Feldbeschriftungen, beispielsweise `{ role: "button", name: "Speichern" }`.
19
- Die Auflösung erfolgt im Browser. Snapshot-IDs werden nicht abgeschrieben.
20
- 4. Prüfe Erfolg und relevante Fehlerfälle mit `browser_check`: sichtbares Ergebnis, Zieladresse
21
- und Browserfehler. Ein Typecheck oder Screenshot allein belegt keinen erfolgreichen Nutzerweg.
22
- Nach jeder Aktion ist eine neue Prüfung nötig. Erfinde keine Ergebnisse bei fehlendem Netz.
23
- 5. Erzeuge mit `browser_screenshot` echte Aufnahmen. Übernimm `url` oder `markdown`
24
- programmatisch in den Ergebnisbericht oder die Mini-App. Das Bild liegt in der Dateiablage
25
- dieses Runs. Das native Werkzeug `browser_view_screenshot` zeigt Dir die letzte Aufnahme
26
- ohne Pfadangabe; dafür benötigt Dein Modell Bildunterstützung. Der Viewport ist standardmäßig
27
- 1920 x 1080 (16:9); für schmale Layouts oder kleine Bildschirme stellst Du ihn mit
28
- `browser_viewport` um und prüfst danach erneut.
29
- 6. Benenne geprüfte Schritte und verbleibende Grenzen. Schließe den Browser nach Abschluss;
30
- Aufnahmen bleiben erhalten. Run-Stopp und Serverende schließen ihn ebenfalls.
12
+ 1. Start the application with its actual services and wait until they are ready.
13
+ 2. Open its HTTP address with `browser_open`. Every run has its own browser without an
14
+ inherited sign-in. It runs on the machine of your workspace; you reach an application
15
+ started there via `localhost`. Report missing services and browser prerequisites
16
+ explicitly.
17
+ 3. Read the snapshot and follow the actual user path. Choose targets by visible
18
+ roles/names or field labels, for example `{ role: "button", name: "Save" }`.
19
+ Resolution happens in the browser. Snapshot IDs are not copied.
20
+ 4. Check success and relevant error cases with `browser_check`: visible result, target address
21
+ and browser errors. A typecheck or screenshot alone does not prove a successful user path.
22
+ Every action needs a new check. Do not invent results when the network is missing.
23
+ 5. Create real screenshots with `browser_screenshot`. Put `url` or `markdown`
24
+ programmatically into the result report or the mini-app. The image lives in the file storage
25
+ of this run. The native tool `browser_view_screenshot` shows you the latest screenshot
26
+ without a path; for that your model needs image support. The viewport defaults to
27
+ 1920 x 1080 (16:9); for narrow layouts or small screens you change it with
28
+ `browser_viewport` and check again afterwards.
29
+ 6. Name the checked steps and remaining limits. Close the browser when you are done;
30
+ screenshots are kept. Stopping the run and shutting down the server close it as well.
31
31
 
32
- Die Browseraktionen verwenden Playwright-Locators mit automatischem Warten. Mehrdeutige Ziele
33
- sind Fehler, die die Kandidaten nennen; wähle dann mit `nth` (0-basiert) oder `first: true` im
34
- Ziel einen Treffer, oder prüfe die Anzahl sichtbarer Treffer mit `count` in `browser_check`.
35
- Sichtbarkeitsprüfungen warten höchstens 5 Sekunden, Aktionen länger; ein fehlendes Element
36
- kostet also keine lange Wartezeit. Native Selects verwenden `browser_select`; eigene Auswahlmenüs werden geklickt.
37
- Mit `target.frame` wählst Du ein Iframe per CSS. Neue Fenster werden ausdrücklich gemeldet;
38
- dieser Ablauf bedient eine Seite. Verdeckte Elemente werden nicht per JavaScript angeklickt.
32
+ The browser actions use Playwright locators with automatic waiting. Ambiguous targets
33
+ are errors that name the candidates; then pick one match with `nth` (0-based) or `first: true` in
34
+ the target, or check the number of visible matches with `count` in `browser_check`.
35
+ Visibility checks wait at most 5 seconds, actions longer; a missing element
36
+ therefore costs no long wait. Native selects use `browser_select`; custom dropdown menus are clicked.
37
+ With `target.frame` you choose an iframe by CSS. New windows are reported explicitly;
38
+ this flow operates one page. Hidden elements are not clicked via JavaScript.
@@ -25,10 +25,10 @@ export type RunFilesListing = Static<typeof filesListing>;
25
25
  export const documentsContracts = {
26
26
  files: defineOperation({
27
27
  id: "ragents.documents.files",
28
- description: "Die Dateiablage eines Runs als Gruppen und lose Dateien. Recht: runs.read.",
28
+ description: "A run's file store as groups and loose files. Right: runs.read.",
29
29
  rights: ["runs.read"],
30
30
  input: Type.Object({
31
- runId: Type.String({ minLength: 1, maxLength: 64, description: "Kennung des Runs" }),
31
+ runId: Type.String({ minLength: 1, maxLength: 64, description: "Run id" }),
32
32
  }, { additionalProperties: false }),
33
33
  result: filesListing,
34
34
  }),
@@ -8,7 +8,7 @@ to put something there is the tool `document_write`.
8
8
  they are part of the actual assignment.
9
9
  - `document_write` takes the full `content` of the file. For a file of the working directory,
10
10
  `read` it first and pass the content here.
11
- - The user sees these files in the "Dokumente" area of the interface, grouped by subdirectory.
11
+ - The user sees these files in the "Documents" area of the interface, grouped by subdirectory.
12
12
  - When you spawn agents, name in their assignment the store path they are supposed to write to.
13
13
 
14
14
  If the user wants to see the content of a file or a document, show it COMPLETELY via
@@ -6,21 +6,21 @@ import { alwaysAvailable } from "@ragents/host/plugin-support/tool-availability.
6
6
 
7
7
  export const documentWriteToolMetadata = {
8
8
  name: "document_write",
9
- label: "Dokument ablegen",
9
+ label: "Store document",
10
10
  nativeTool: true,
11
- description: "Legt eine Datei mit dem übergebenen Inhalt in der Dateiablage dieses Runs ab.",
12
- longDescription: "Dokumente, Berichte und Zwischenprodukte gehören in die Dateiablage, nicht ins "
13
- + "Arbeitsverzeichnis - dort steht nur, was zum Auftrag selbst gehört. Der Benutzer sieht die "
14
- + "Ablage im Bereich \"Dokumente\", nach Unterordnern gruppiert. Soll eine Datei aus dem "
15
- + "Arbeitsbereich in die Ablage, lies sie zuerst mit read und übergib den Inhalt hier als content. "
16
- + "Die Ablage ist kein Bash-Pfad: sie liegt nicht im Arbeitsbereich und ist nur über dieses Werkzeug "
17
- + "beschreibbar.",
11
+ description: "Stores a file with the given content in this run's file store.",
12
+ longDescription: "Documents, reports and intermediate products belong in the file store, not in the "
13
+ + "working directory - that only holds what belongs to the task itself. The user sees the "
14
+ + "store in the \"Documents\" area, grouped by subdirectory. To put a file from the "
15
+ + "workspace into the store, read it first with read and pass the content here as content. "
16
+ + "The store is not a bash path: it does not live in the workspace and can only be written "
17
+ + "through this tool.",
18
18
  } as const;
19
19
 
20
20
  const relativeStorePath = (value: string): string => {
21
21
  const normalized = value.replace(/^\.\//, "");
22
22
  if (path.isAbsolute(normalized) || normalized.split("/").includes("..") || normalized.trim() === "") {
23
- throw new Error("path muss relativ zur Dateiablage sein, ohne führenden / und ohne ..");
23
+ throw new Error("path must be relative to the file store, without a leading / and without ..");
24
24
  }
25
25
  return normalized;
26
26
  };
@@ -29,8 +29,8 @@ export const createDocumentWriteTool = (filesFor: (runId: string) => Promise<str
29
29
  defineRunFunction({
30
30
  ...documentWriteToolMetadata,
31
31
  schema: Type.Object({
32
- path: Type.String({ minLength: 1, description: "Pfad in der Dateiablage, etwa thema/bericht.md" }),
33
- content: Type.String({ description: "Der vollständige Inhalt der Datei" }),
32
+ path: Type.String({ minLength: 1, description: "Path in the file store, e.g. topic/report.md" }),
33
+ content: Type.String({ description: "The complete content of the file" }),
34
34
  }, { additionalProperties: false }),
35
35
  resultSchema: Type.String(),
36
36
  available: alwaysAvailable,
@@ -40,6 +40,6 @@ export const createDocumentWriteTool = (filesFor: (runId: string) => Promise<str
40
40
  const target = path.join(await filesFor(scope.caller.runId), relative);
41
41
  await mkdir(path.dirname(target), { recursive: true });
42
42
  await writeFile(target, input.content, "utf8");
43
- return `In der Dateiablage abgelegt: ${relative} (${Buffer.byteLength(input.content, "utf8")} Byte)`;
43
+ return `Stored in the file store: ${relative} (${Buffer.byteLength(input.content, "utf8")} bytes)`;
44
44
  },
45
45
  });
@@ -31,7 +31,7 @@ const visibleEntries = async (directory: string) => {
31
31
  const entries = await readdir(directory, { withFileTypes: true });
32
32
  return entries
33
33
  .filter((entry) => !entry.name.startsWith(".") && !entry.isSymbolicLink())
34
- .sort((left, right) => left.name.localeCompare(right.name, "de"));
34
+ .sort((left, right) => left.name.localeCompare(right.name, "en-US"));
35
35
  };
36
36
 
37
37
  const collectFiles = async (
@@ -77,11 +77,11 @@ const listingOf = async (root: string): Promise<RunFilesListing> => {
77
77
  const resolveInside = async (root: string, relative: string): Promise<string> => {
78
78
  if (!relative || relative.includes("\0") || relative.includes("\\") || path.isAbsolute(relative)
79
79
  || relative.split("/").some((segment) => segment === "" || segment === "." || segment === "..")) {
80
- throw new Error("Ungültiger Dateipfad");
80
+ throw new Error("Invalid file path");
81
81
  }
82
82
  const rootReal = await realpath(root);
83
83
  const real = await realpath(path.join(rootReal, relative));
84
- if (real !== rootReal && !real.startsWith(rootReal + path.sep)) throw new Error("Ungültiger Dateipfad");
84
+ if (real !== rootReal && !real.startsWith(rootReal + path.sep)) throw new Error("Invalid file path");
85
85
  return real;
86
86
  };
87
87
 
@@ -104,14 +104,14 @@ export const createFilesMethod = (options: FilesRouteOptions): MethodContributio
104
104
  return listingOf(await options.filesFor(runId));
105
105
  });
106
106
 
107
- /** Der Inhalt bleibt Auslieferung: ein GET mit dem Medientyp der Datei. */
107
+ /** Content stays plain delivery: a GET with the file's media type. */
108
108
  export const createFileContentRoute = (options: FilesRouteOptions): HttpRouteContribution => ({
109
109
  id: "ragents.documents.files-content",
110
110
  isApiPath: (pathname) => contentPattern.test(pathname),
111
111
  matches: (request, url) => request.method === "GET" && contentPattern.test(url.pathname),
112
112
  handle: async ({ response, request, url }) => {
113
113
  const match = url.pathname.match(contentPattern);
114
- if (!match) throw new Error("Ungültige Dokumente-Route");
114
+ if (!match) throw new Error("Invalid documents route");
115
115
  const [, runId] = match;
116
116
  await guardedJsonRoute({
117
117
  response,
@@ -122,7 +122,7 @@ export const createFileContentRoute = (options: FilesRouteOptions): HttpRouteCon
122
122
  const relative = url.searchParams.get("path") ?? "";
123
123
  const file = await resolveInside(await options.filesFor(runId), relative);
124
124
  const info = await lstat(file);
125
- if (!info.isFile()) throw new Error("Ungültiger Dateipfad");
125
+ if (!info.isFile()) throw new Error("Invalid file path");
126
126
  const content = await readFile(file);
127
127
  response.writeHead(200, {
128
128
  "Cache-Control": "no-store",
@@ -5,26 +5,26 @@ import { facesOperator } from "@ragents/host/plugin-support/tool-availability.js
5
5
 
6
6
  export const showDocumentToolMetadata = {
7
7
  name: "show_document",
8
- label: "Dokument anzeigen",
8
+ label: "Show document",
9
9
  nativeTool: true,
10
- description: "Zeigt Dokumente vollständig in der Oberfläche; Dateipfade gelten nur für die Dateiablage dieses Runs.",
11
- longDescription: "Nutze dieses Werkzeug IMMER, wenn der Benutzer den "
12
- + "Inhalt einer Datei oder ein längeres Dokument sehen möchte - statt den Inhalt in die "
13
- + "Chat-Antwort zu kopieren oder zu paraphrasieren. path zeigt ausschließlich eine Datei aus "
14
- + "der Dateiablage dieses Runs an, NICHT aus deinem Arbeitsverzeichnis. "
15
- + "Alles andere - Dateien des Arbeitsverzeichnisses und selbst erzeugte Inhalte - geht über "
16
- + "content; stammt der Inhalt aus einer Datei, übernimm ihn dort WÖRTLICH aus dem letzten "
17
- + "read- oder write-Ergebnis, niemals aus dem Gedächtnis neu getippt.",
10
+ description: "Shows documents completely in the interface; file paths only apply to this run's file store.",
11
+ longDescription: "ALWAYS use this tool when the user wants to see the "
12
+ + "content of a file or a longer document - instead of copying or paraphrasing the content in the "
13
+ + "chat answer. path only shows a file from "
14
+ + "this run's file store, NOT from your working directory. "
15
+ + "Everything else - files of the working directory and content you produced yourself - goes through "
16
+ + "content; if the content comes from a file, take it VERBATIM from the last "
17
+ + "read or write result, never retyped from memory.",
18
18
  } as const;
19
19
 
20
- const sourceRule = "content und path schließen einander aus: gültig sind { title, content, format } für "
21
- + "selbst erzeugte Inhalte und Dateien des Arbeitsverzeichnisses und { title, path, format } für Dateien "
22
- + "der Dateiablage - genau eines von beiden muss gesetzt sein.";
20
+ const sourceRule = "content and path exclude each other: valid are { title, content, format } for "
21
+ + "self-produced content and files of the working directory, and { title, path, format } for files "
22
+ + "of the file store - exactly one of the two must be set.";
23
23
 
24
- const titleSchema = Type.String({ description: "Titel der Anzeige, z.B. der Dateiname" });
24
+ const titleSchema = Type.String({ description: "Title of the display, e.g. the file name" });
25
25
  const formatSchema = Type.Optional(Type.Union(
26
26
  [Type.Literal("markdown"), Type.Literal("text"), Type.Literal("html")],
27
- { description: "Darstellung, Default markdown" }));
27
+ { description: "Rendering, default markdown" }));
28
28
 
29
29
  const documentSource = (input: { content?: string; path?: string }):
30
30
  | { kind: "content" }
@@ -40,14 +40,14 @@ export const createShowDocumentTool = (filesFor: (runId: string) => Promise<stri
40
40
  schema: Type.Object({
41
41
  title: titleSchema,
42
42
  content: Type.Optional(Type.String({
43
- description: "Der vollständige Inhalt - für Dateien aus dem Arbeitsverzeichnis und für "
44
- + "selbst erzeugte Inhalte, also alles, was nicht in der Dateiablage liegt. " + sourceRule,
43
+ description: "The complete content - for files from the working directory and for "
44
+ + "self-produced content, i.e. everything that is not in the file store. " + sourceRule,
45
45
  })),
46
46
  path: Type.Optional(Type.String({
47
- description: "Datei aus der Dateiablage dieses Runs, relativ zur Ablage (z.B. thema/datei.md). "
48
- + "Nur dort abgelegte Dateien sind so anzeigbar - für Pfade des Arbeitsverzeichnisses "
49
- + "content nutzen. Der Inhalt wird direkt aus der Datei angezeigt und muss nie "
50
- + "abgetippt werden. " + sourceRule,
47
+ description: "File from this run's file store, relative to the store (e.g. topic/file.md). "
48
+ + "Only files stored there can be shown this way - for paths of the working directory "
49
+ + "use content. The content is shown directly from the file and never has to be "
50
+ + "retyped. " + sourceRule,
51
51
  })),
52
52
  format: formatSchema,
53
53
  }, { additionalProperties: false }),
@@ -57,17 +57,17 @@ export const createShowDocumentTool = (filesFor: (runId: string) => Promise<stri
57
57
  const source = documentSource(input);
58
58
 
59
59
  if (source.kind === "content")
60
- return `Dem Benutzer angezeigt: ${input.title}`;
60
+ return `Shown to the user: ${input.title}`;
61
61
 
62
62
  const path = source.path;
63
63
  if (path.startsWith("/") || path.split("/").includes(".."))
64
- throw new Error("path muss relativ zur Dateiablage sein, ohne führenden / und ohne ..");
64
+ throw new Error("path must be relative to the file store, without a leading / and without ..");
65
65
  if (!await runFileExists(await filesFor(caller.runId), path))
66
66
  throw new Error(
67
- `${source.path} liegt nicht in der Dateiablage dieses Runs. Über path sind nur Dateien der `
68
- + "Dateiablage anzeigbar - für Dateien aus dem Arbeitsverzeichnis und für selbst erzeugte "
69
- + "Inhalte den Inhalt über content übergeben.",
67
+ `${source.path} is not in this run's file store. Only files of the `
68
+ + "file store can be shown via path - for files from the working directory and for self-produced "
69
+ + "content, pass the content via content.",
70
70
  );
71
- return `Dem Benutzer angezeigt: ${input.title} (Datei ${path} aus der Dateiablage)`;
71
+ return `Shown to the user: ${input.title} (file ${path} from the file store)`;
72
72
  },
73
73
  });
@@ -17,7 +17,7 @@ export class RunDocumentStore implements DocumentStore {
17
17
  }
18
18
 
19
19
  async directoryFor(runId: string): Promise<string> {
20
- if (!isRunId(runId)) throw new Error(`Ungültige Run-ID: ${runId}`);
20
+ if (!isRunId(runId)) throw new Error(`Invalid run id: ${runId}`);
21
21
  const directory = this.#options.externalRoot
22
22
  ? path.join(this.#options.externalRoot, runId)
23
23
  : this.#options.sessionDirectory(runId);