@schlenkr/ragents 0.1.10 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (743) hide show
  1. package/apps/server/package.json +1 -1
  2. package/apps/server/src/access-projection.ts +4 -4
  3. package/apps/server/src/access-service.ts +3 -3
  4. package/apps/server/src/access-session.ts +19 -19
  5. package/apps/server/src/api/contracts.ts +29 -29
  6. package/apps/server/src/api/core-methods.ts +17 -17
  7. package/apps/server/src/api/delivery.ts +2 -2
  8. package/apps/server/src/api/reference.ts +27 -27
  9. package/apps/server/src/api/rights.ts +18 -18
  10. package/apps/server/src/chat-handler.ts +5 -5
  11. package/apps/server/src/config-definition.ts +37 -10
  12. package/apps/server/src/config-file.ts +49 -49
  13. package/apps/server/src/config.ts +2 -0
  14. package/apps/server/src/data-directory.ts +2 -2
  15. package/apps/server/src/external-access.ts +1 -1
  16. package/apps/server/src/folder-install.ts +1 -1
  17. package/apps/server/src/help-files.ts +1 -1
  18. package/apps/server/src/host-api.json +6 -1
  19. package/apps/server/src/host-api.ts +3 -2
  20. package/apps/server/src/host-record.ts +3 -3
  21. package/apps/server/src/host-resolution-hooks.mjs +4 -4
  22. package/apps/server/src/host-version.ts +17 -17
  23. package/apps/server/src/host-web.ts +5 -5
  24. package/apps/server/src/main.ts +6 -6
  25. package/apps/server/src/missing-environment.ts +6 -6
  26. package/apps/server/src/parent-watch.ts +4 -4
  27. package/apps/server/src/plugin-build/build.ts +31 -31
  28. package/apps/server/src/plugin-build/host-api-names.ts +7 -7
  29. package/apps/server/src/plugin-build/plugin-description.ts +15 -15
  30. package/apps/server/src/plugin-build/typecheck.ts +1 -1
  31. package/apps/server/src/plugin-support/actor-programs/app-project.ts +19 -19
  32. package/apps/server/src/plugin-support/actor-programs/client-compiler.ts +4 -4
  33. package/apps/server/src/plugin-support/actor-programs/client-contracts.ts +11 -11
  34. package/apps/server/src/plugin-support/actor-programs/contract.ts +17 -17
  35. package/apps/server/src/plugin-support/actor-programs/runtime-libraries.ts +1 -1
  36. package/apps/server/src/plugin-support/actor-programs/workflow/index.ts +5 -5
  37. package/apps/server/src/plugin-support/actor-programs/workflow/prompt-reader.ts +2 -2
  38. package/apps/server/src/plugin-support/chat-display-policy.ts +2 -2
  39. package/apps/server/src/plugin-support/front-matter.ts +6 -6
  40. package/apps/server/src/plugin-support/http.ts +2 -2
  41. package/apps/server/src/plugin-support/language-server/contract.ts +8 -8
  42. package/apps/server/src/plugin-support/language-server/plugin.ts +2 -2
  43. package/apps/server/src/plugin-support/language-server/snapshot-method.ts +1 -1
  44. package/apps/server/src/plugin-support/language-server/tools.ts +11 -11
  45. package/apps/server/src/plugin-support/model-aliases.ts +30 -20
  46. package/apps/server/src/plugin-support/model-choice.ts +15 -15
  47. package/apps/server/src/plugin-support/model-completion.ts +44 -23
  48. package/apps/server/src/plugin-support/model-providers.ts +170 -0
  49. package/apps/server/src/plugin-support/model-upstreams.ts +1 -1
  50. package/apps/server/src/plugin-support/native-typescript-child.ts +4 -4
  51. package/apps/server/src/plugin-support/native-typescript-executor.ts +12 -12
  52. package/apps/server/src/plugin-support/plugin-config.ts +3 -3
  53. package/apps/server/src/plugin-support/plugin-folder.ts +2 -2
  54. package/apps/server/src/plugin-support/plugins-root.ts +2 -2
  55. package/apps/server/src/plugin-support/process-sandbox.ts +39 -39
  56. package/apps/server/src/plugin-support/product-model-settings-contract.ts +3 -3
  57. package/apps/server/src/plugin-support/product-model-settings.ts +10 -10
  58. package/apps/server/src/plugin-support/product-relay.ts +9 -9
  59. package/apps/server/src/plugin-support/product-start-options.ts +4 -4
  60. package/apps/server/src/plugin-support/prompt.ts +1 -1
  61. package/apps/server/src/plugin-support/provision.ts +8 -8
  62. package/apps/server/src/plugin-support/run-scripts.ts +17 -17
  63. package/apps/server/src/plugin-support/skills.ts +18 -18
  64. package/apps/server/src/plugin-support/start-entries-contract.ts +17 -17
  65. package/apps/server/src/plugin-support/start-options-contract.ts +5 -5
  66. package/apps/server/src/plugin-support/system-prompts.ts +11 -11
  67. package/apps/server/src/plugin-support/thinking-level.ts +2 -2
  68. package/apps/server/src/plugin-support/tool-availability.ts +2 -2
  69. package/apps/server/src/plugin-support/workspace-ownership.ts +5 -5
  70. package/apps/server/src/plugin-support/workspace-sandbox-host.ts +37 -37
  71. package/apps/server/src/plugin-support/zip.ts +7 -7
  72. package/apps/server/src/profile/bundle-manifest.ts +17 -17
  73. package/apps/server/src/profile/compose.ts +12 -7
  74. package/apps/server/src/profile/plugin-discovery.ts +12 -12
  75. package/apps/server/src/profile/provisioning.ts +5 -5
  76. package/apps/server/src/profile-target.ts +10 -10
  77. package/apps/server/src/protocol.ts +2 -2
  78. package/apps/server/src/provider.ts +61 -56
  79. package/apps/server/src/ragents/actor-chat-history.ts +8 -8
  80. package/apps/server/src/ragents/chat-text-positions.ts +2 -2
  81. package/apps/server/src/ragents/coordinator.ts +2 -2
  82. package/apps/server/src/ragents/engine.ts +23 -23
  83. package/apps/server/src/ragents/global-chat.ts +8 -8
  84. package/apps/server/src/ragents/host-services.ts +6 -3
  85. package/apps/server/src/ragents/journal-chat-events.ts +1 -1
  86. package/apps/server/src/ragents/run-owner.ts +2 -2
  87. package/apps/server/src/ragents/session.ts +49 -49
  88. package/apps/server/src/ragents/typescript-tools.ts +12 -12
  89. package/apps/server/src/ragents/workspace-runtime.ts +28 -28
  90. package/apps/server/src/rpc/dispatcher.ts +19 -19
  91. package/apps/server/src/rpc/http-transport.ts +11 -11
  92. package/apps/server/src/rpc/stdio-transport.ts +3 -3
  93. package/apps/server/src/run-preparation-input.ts +5 -5
  94. package/apps/server/src/run-preparation.ts +24 -24
  95. package/apps/server/src/run-transfer.ts +39 -39
  96. package/apps/server/src/server.ts +48 -48
  97. package/apps/server/src/settings.ts +1 -1
  98. package/apps/server/src/startup.ts +3 -3
  99. package/apps/server/src/title-compactor.ts +9 -9
  100. package/apps/server/src/title-settings.ts +3 -3
  101. package/apps/server/src/web-bundles.ts +2 -2
  102. package/apps/server/src/web-stylesheet.ts +2 -2
  103. package/apps/web/dist/assets/{highlighted-body-KPVGNVTW-BO4wLQtE.js → highlighted-body-KPVGNVTW-BfNSGxjB.js} +1 -1
  104. package/apps/web/dist/assets/main-D6bsKcIK.js +11 -0
  105. package/apps/web/dist/assets/mermaid-HWGCJPDP-DROEqEeg.js +608 -0
  106. package/apps/web/dist/assets/runPanel-Dumuuqry.js +21 -0
  107. package/apps/web/dist/help/guide-access.html +5 -5
  108. package/apps/web/dist/help/guide-access.md +2 -2
  109. package/apps/web/dist/help/guide-clients.html +53 -54
  110. package/apps/web/dist/help/guide-clients.md +50 -51
  111. package/apps/web/dist/help/guide-distributed.html +12 -7
  112. package/apps/web/dist/help/guide-distributed.md +9 -4
  113. package/apps/web/dist/help/guide-functions.html +3 -3
  114. package/apps/web/dist/help/guide-getting-started.html +24 -15
  115. package/apps/web/dist/help/guide-getting-started.md +22 -12
  116. package/apps/web/dist/help/guide-ideas.html +3 -3
  117. package/apps/web/dist/help/guide-plugins.html +5 -4
  118. package/apps/web/dist/help/guide-plugins.md +2 -1
  119. package/apps/web/dist/help/guide-programs.html +3 -3
  120. package/apps/web/dist/help/guide-runtime.html +6 -6
  121. package/apps/web/dist/help/guide-runtime.md +3 -3
  122. package/apps/web/dist/help/guide.html +3 -3
  123. package/apps/web/dist/help/index.html +196 -144
  124. package/apps/web/dist/help/mini-app.css +6 -0
  125. package/apps/web/dist/help/mini-app.js +14 -14
  126. package/apps/web/dist/host-web.json +90 -90
  127. package/apps/web/dist/index.html +3 -3
  128. package/apps/web/dist/run-panel.html +3 -3
  129. package/apps/web/package.json +1 -1
  130. package/apps/web/src/AccessContext.tsx +15 -15
  131. package/apps/web/src/App.tsx +13 -13
  132. package/apps/web/src/DiffCode.tsx +2 -2
  133. package/apps/web/src/HelpDialog.tsx +3 -3
  134. package/apps/web/src/Overview.tsx +13 -13
  135. package/apps/web/src/PluginActivation.ts +1 -1
  136. package/apps/web/src/PluginChat.tsx +15 -15
  137. package/apps/web/src/PluginFailureNotice.tsx +1 -1
  138. package/apps/web/src/PluginRegistry.tsx +44 -44
  139. package/apps/web/src/RunPreparationChat.tsx +11 -11
  140. package/apps/web/src/RunStore.ts +1 -1
  141. package/apps/web/src/SessionList.tsx +14 -14
  142. package/apps/web/src/SettingsModal.tsx +112 -112
  143. package/apps/web/src/StartOptions.tsx +11 -11
  144. package/apps/web/src/StartSelection.tsx +11 -11
  145. package/apps/web/src/StartTiles.tsx +8 -8
  146. package/apps/web/src/SurfaceShortcuts.tsx +3 -3
  147. package/apps/web/src/ThemeSettings.tsx +8 -8
  148. package/apps/web/src/TitleModelSettings.tsx +13 -13
  149. package/apps/web/src/WorkspacePanel.tsx +9 -9
  150. package/apps/web/src/access-session.ts +4 -4
  151. package/apps/web/src/access-token.ts +5 -5
  152. package/apps/web/src/actor-conversation.ts +3 -3
  153. package/apps/web/src/actor-programs/client-ui/DataTable.tsx +8 -8
  154. package/apps/web/src/actor-programs/client-ui/FilePicker.tsx +4 -4
  155. package/apps/web/src/actor-programs/client-ui/FlowDiagram.tsx +13 -13
  156. package/apps/web/src/actor-programs/client-ui/Viewers.tsx +4 -4
  157. package/apps/web/src/actor-programs/client-ui/WorkflowDiagram.tsx +1 -1
  158. package/apps/web/src/actor-programs/client-ui/file-contracts.d.ts +4 -4
  159. package/apps/web/src/actor-programs/client-ui/file-selection.ts +1 -1
  160. package/apps/web/src/actor-programs/client-ui/viewer-contracts.d.ts +3 -3
  161. package/apps/web/src/api.ts +7 -7
  162. package/apps/web/src/chat/StoppedActorNotice.tsx +5 -5
  163. package/apps/web/src/chat/chat-target.ts +3 -3
  164. package/apps/web/src/chat/requests.ts +2 -2
  165. package/apps/web/src/chat/useAttachmentCapabilities.ts +2 -2
  166. package/apps/web/src/chat-view-settings.tsx +5 -6
  167. package/apps/web/src/diff-view.css +1 -1
  168. package/apps/web/src/highlighting.css +1 -1
  169. package/apps/web/src/language-server/language-server-plugin.tsx +30 -30
  170. package/apps/web/src/lib/labels.ts +6 -6
  171. package/apps/web/src/main.tsx +4 -4
  172. package/apps/web/src/offered-machines.ts +2 -2
  173. package/apps/web/src/page-opener.tsx +1 -1
  174. package/apps/web/src/panel/ConnectionsPage.tsx +23 -23
  175. package/apps/web/src/panel/LoginForm.tsx +6 -6
  176. package/apps/web/src/panel/PanelDialogs.tsx +22 -22
  177. package/apps/web/src/panel/PanelHeader.tsx +2 -2
  178. package/apps/web/src/panel/PanelPage.tsx +1 -1
  179. package/apps/web/src/panel/RunLine.tsx +4 -4
  180. package/apps/web/src/panel/RunsPage.tsx +15 -15
  181. package/apps/web/src/panel/StartPage.tsx +26 -26
  182. package/apps/web/src/panel/connection-state.ts +9 -9
  183. package/apps/web/src/panel/contract.ts +28 -28
  184. package/apps/web/src/panel.tsx +1 -1
  185. package/apps/web/src/plugin-bootstrap.ts +5 -5
  186. package/apps/web/src/product/ModelControl.tsx +3 -3
  187. package/apps/web/src/product/ProductModelSettings.tsx +16 -16
  188. package/apps/web/src/product/SystemPromptControl.tsx +11 -11
  189. package/apps/web/src/product/model-settings.ts +2 -2
  190. package/apps/web/src/rpc/client.ts +16 -16
  191. package/apps/web/src/rpc.ts +1 -1
  192. package/apps/web/src/run-overview.ts +1 -1
  193. package/apps/web/src/run-panel/RunPanelApp.tsx +39 -39
  194. package/apps/web/src/run-panel/RunPanelHeader.tsx +6 -6
  195. package/apps/web/src/run-panel/RunPanelMenu.tsx +6 -6
  196. package/apps/web/src/run-panel/RunPanelRail.tsx +4 -4
  197. package/apps/web/src/run-panel/RunPanelWorkspace.tsx +3 -3
  198. package/apps/web/src/run-panel/clipboard.ts +3 -3
  199. package/apps/web/src/run-panel/host-contract.ts +5 -5
  200. package/apps/web/src/run-panel/host.ts +15 -15
  201. package/apps/web/src/run-panel/input-bridge.ts +1 -1
  202. package/apps/web/src/run-panel/run-panel-location.ts +5 -5
  203. package/apps/web/src/run-panel/use-session-list.ts +1 -1
  204. package/apps/web/src/run-panel/workspace-state.ts +3 -3
  205. package/apps/web/src/run-panel.tsx +4 -4
  206. package/apps/web/src/run-preparation.ts +2 -2
  207. package/apps/web/src/run-view.ts +3 -3
  208. package/apps/web/src/settings-contributions.ts +32 -32
  209. package/apps/web/src/theme.ts +9 -9
  210. package/apps/web/src/title-model-settings.ts +6 -6
  211. package/apps/web/src/ui/ListDetail.tsx +9 -9
  212. package/apps/web/src/ui/dialog.tsx +2 -2
  213. package/apps/web/src/ui/modal-controller.ts +3 -3
  214. package/apps/web/src/ui/modal.tsx +2 -2
  215. package/apps/web/src/ui/popover.tsx +1 -1
  216. package/apps/web/src/ui/relative-time.ts +8 -8
  217. package/apps/web/src/ui/startup-notice.tsx +2 -2
  218. package/apps/web/src/ui/state-icon.tsx +1 -1
  219. package/apps/web/src/ui/state-vocabulary.ts +16 -16
  220. package/apps/web/src/ui/stop-button.tsx +2 -2
  221. package/bundles/ragents.activity/ragents-bundle.json +2 -2
  222. package/bundles/ragents.activity/web/classes.json +1 -1
  223. package/bundles/ragents.activity/web/index.js +1 -1
  224. package/bundles/ragents.activity/web/index.js.map +2 -2
  225. package/bundles/ragents.actor-programs/ragents-bundle.json +2 -2
  226. package/bundles/ragents.actor-programs/server/index.js +225 -225
  227. package/bundles/ragents.actor-programs/server/index.js.map +2 -2
  228. package/bundles/ragents.actor-programs/web/classes.json +1 -1
  229. package/bundles/ragents.actor-programs/web/index.js +1 -1
  230. package/bundles/ragents.actor-programs/web/index.js.map +3 -3
  231. package/bundles/ragents.ask/ragents-bundle.json +2 -2
  232. package/bundles/ragents.ask/server/chunks/{chunk-PDJO75SQ.js → chunk-YOV27MAR.js} +2 -2
  233. package/bundles/ragents.ask/server/chunks/chunk-YOV27MAR.js.map +7 -0
  234. package/bundles/ragents.ask/server/exports/server/contract.js +1 -1
  235. package/bundles/ragents.ask/server/index.js +23 -23
  236. package/bundles/ragents.ask/server/index.js.map +2 -2
  237. package/bundles/ragents.ask/web/chunks/{chunk-WFN4374U.js → chunk-D6NNB5DS.js} +1 -1
  238. package/bundles/ragents.ask/web/chunks/chunk-D6NNB5DS.js.map +7 -0
  239. package/bundles/ragents.ask/web/chunks/{chunk-MBRPS477.js → chunk-IQBHK7MV.js} +2 -2
  240. package/bundles/ragents.ask/web/chunks/{chunk-MBRPS477.js.map → chunk-IQBHK7MV.js.map} +3 -3
  241. package/bundles/ragents.ask/web/chunks/chunk-PWFIAMX4.js +2 -0
  242. package/bundles/ragents.ask/web/chunks/chunk-PWFIAMX4.js.map +7 -0
  243. package/bundles/ragents.ask/web/chunks/chunk-QHGKEESD.js +2 -0
  244. package/bundles/ragents.ask/web/chunks/chunk-QHGKEESD.js.map +7 -0
  245. package/bundles/ragents.ask/web/classes.json +1 -1
  246. package/bundles/ragents.ask/web/exports/ask-payload.js +1 -1
  247. package/bundles/ragents.ask/web/exports/web/QuestionCard.js +1 -1
  248. package/bundles/ragents.ask/web/exports/web/api.js +1 -1
  249. package/bundles/ragents.ask/web/index.js +1 -1
  250. package/bundles/ragents.ask/web/index.js.map +2 -2
  251. package/bundles/ragents.browser/executor/index.mjs +35 -35
  252. package/bundles/ragents.browser/executor/index.mjs.map +2 -2
  253. package/bundles/ragents.browser/ragents-bundle.json +2 -2
  254. package/bundles/ragents.browser/server/chunks/{chunk-CWLX4VA5.js → chunk-PYEISBNE.js} +1 -1
  255. package/bundles/ragents.browser/server/chunks/{chunk-CWLX4VA5.js.map → chunk-PYEISBNE.js.map} +1 -1
  256. package/bundles/ragents.browser/server/exports/server/contract.js +1 -1
  257. package/bundles/ragents.browser/server/index.js +31 -31
  258. package/bundles/ragents.browser/server/index.js.map +2 -2
  259. package/bundles/ragents.browser/skills/browser-testing/SKILL.md +30 -30
  260. package/bundles/ragents.documents/prompt.hbs +1 -1
  261. package/bundles/ragents.documents/ragents-bundle.json +2 -2
  262. package/bundles/ragents.documents/server/chunks/{chunk-QIECRZ7C.js → chunk-KMZWOVTI.js} +3 -3
  263. package/bundles/ragents.documents/server/chunks/{chunk-QIECRZ7C.js.map → chunk-KMZWOVTI.js.map} +2 -2
  264. package/bundles/ragents.documents/server/exports/contract.js +1 -1
  265. package/bundles/ragents.documents/server/index.js +26 -26
  266. package/bundles/ragents.documents/server/index.js.map +2 -2
  267. package/bundles/ragents.documents/web/classes.json +1 -1
  268. package/bundles/ragents.documents/web/index.js +1 -1
  269. package/bundles/ragents.documents/web/index.js.map +3 -3
  270. package/bundles/ragents.lsp-fsharp/executor/index.mjs +4 -4
  271. package/bundles/ragents.lsp-fsharp/executor/index.mjs.map +2 -2
  272. package/bundles/ragents.lsp-fsharp/ragents-bundle.json +2 -2
  273. package/bundles/ragents.lsp-fsharp/server/index.js +5 -5
  274. package/bundles/ragents.lsp-fsharp/server/index.js.map +2 -2
  275. package/bundles/ragents.lsp-fsharp/web/index.js +1 -1
  276. package/bundles/ragents.lsp-fsharp/web/index.js.map +2 -2
  277. package/bundles/ragents.lsp-roslyn/executor/index.mjs +3 -3
  278. package/bundles/ragents.lsp-roslyn/executor/index.mjs.map +2 -2
  279. package/bundles/ragents.lsp-roslyn/ragents-bundle.json +2 -2
  280. package/bundles/ragents.lsp-roslyn/server/index.js +17 -17
  281. package/bundles/ragents.lsp-roslyn/server/index.js.map +2 -2
  282. package/bundles/ragents.lsp-roslyn/web/index.js +1 -1
  283. package/bundles/ragents.lsp-roslyn/web/index.js.map +2 -2
  284. package/bundles/ragents.lsp-typescript/executor/index.mjs +2 -2
  285. package/bundles/ragents.lsp-typescript/executor/index.mjs.map +2 -2
  286. package/bundles/ragents.lsp-typescript/ragents-bundle.json +2 -2
  287. package/bundles/ragents.lsp-typescript/server/index.js.map +1 -1
  288. package/bundles/ragents.lsp-typescript/web/index.js +1 -1
  289. package/bundles/ragents.lsp-typescript/web/index.js.map +2 -2
  290. package/bundles/ragents.model-relay/ragents-bundle.json +7 -3
  291. package/bundles/ragents.model-relay/server/index.js +25 -21
  292. package/bundles/ragents.model-relay/server/index.js.map +2 -2
  293. package/bundles/ragents.orchestration/ragents-bundle.json +2 -2
  294. package/bundles/ragents.orchestration/server/index.js +28 -28
  295. package/bundles/ragents.orchestration/server/index.js.map +2 -2
  296. package/bundles/ragents.orchestration/web/chunks/{chunk-OSKPH6SZ.js → chunk-CFMJD5ZI.js} +2 -2
  297. package/bundles/ragents.orchestration/web/chunks/chunk-HOBLI364.js +2 -0
  298. package/bundles/ragents.orchestration/web/chunks/{chunk-OQYCNYXN.js.map → chunk-HOBLI364.js.map} +2 -2
  299. package/bundles/ragents.orchestration/web/chunks/{chunk-ODMMQGX2.js → chunk-UCIMT2R4.js} +2 -2
  300. package/bundles/ragents.orchestration/web/classes.json +1 -1
  301. package/bundles/ragents.orchestration/web/exports/web/program-slot.js +1 -1
  302. package/bundles/ragents.orchestration/web/exports/web/surface-entities.js +1 -1
  303. package/bundles/ragents.orchestration/web/index.js +8 -8
  304. package/bundles/ragents.orchestration/web/index.js.map +2 -2
  305. package/bundles/ragents.overseer/ragents-bundle.json +2 -2
  306. package/bundles/ragents.overseer/server/index.js +98 -98
  307. package/bundles/ragents.overseer/server/index.js.map +2 -2
  308. package/bundles/ragents.overseer/web/classes.json +1 -1
  309. package/bundles/ragents.overseer/web/index.js +1 -1
  310. package/bundles/ragents.overseer/web/index.js.map +2 -2
  311. package/bundles/ragents.processes/ragents-bundle.json +2 -2
  312. package/bundles/ragents.processes/server/index.js +11 -11
  313. package/bundles/ragents.processes/server/index.js.map +2 -2
  314. package/bundles/ragents.processes/web/classes.json +1 -1
  315. package/bundles/ragents.processes/web/index.js +3 -3
  316. package/bundles/ragents.processes/web/index.js.map +2 -2
  317. package/bundles/ragents.product/ragents-bundle.json +2 -2
  318. package/bundles/ragents.product/server/index.js +12 -13
  319. package/bundles/ragents.product/server/index.js.map +2 -2
  320. package/bundles/ragents.product/web/classes.json +1 -1
  321. package/bundles/ragents.product/web/index.js +1 -1
  322. package/bundles/ragents.product/web/index.js.map +2 -2
  323. package/bundles/ragents.profile-distribution/ragents-bundle.json +2 -2
  324. package/bundles/ragents.profile-distribution/server/index.js +31 -31
  325. package/bundles/ragents.profile-distribution/server/index.js.map +2 -2
  326. package/bundles/ragents.reference/ragents-bundle.json +2 -2
  327. package/bundles/ragents.reference/run-scripts/balcony-wizard/RUN.md +19 -19
  328. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/package.json +2 -2
  329. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +14 -14
  330. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/conversation.ts +2 -2
  331. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/tests/conversation.test.ts +49 -49
  332. package/bundles/ragents.reference/run-scripts/balcony-wizard/package.json +1 -1
  333. package/bundles/ragents.reference/run-scripts/balcony-wizard/src/server.ts +9 -9
  334. package/bundles/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +9 -9
  335. package/bundles/ragents.reference/run-scripts/conversation-circle/RUN.md +7 -7
  336. package/bundles/ragents.reference/run-scripts/conversation-circle/package.json +1 -1
  337. package/bundles/ragents.reference/run-scripts/conversation-circle/src/server.ts +13 -13
  338. package/bundles/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +1 -1
  339. package/bundles/ragents.reference/run-scripts/conversation-circle/tests/program.test.ts +8 -8
  340. package/bundles/ragents.reference/run-scripts/learning-afternoon/RUN.md +16 -16
  341. package/bundles/ragents.reference/run-scripts/learning-afternoon/package.json +1 -1
  342. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/experiment.md +1 -1
  343. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/helper.md +3 -3
  344. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/quiz.md +1 -1
  345. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/server.ts +9 -9
  346. package/bundles/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +39 -39
  347. package/bundles/ragents.reference/run-scripts/moderated-round/RUN.md +7 -7
  348. package/bundles/ragents.reference/run-scripts/moderated-round/package.json +1 -1
  349. package/bundles/ragents.reference/run-scripts/moderated-round/src/server.ts +9 -9
  350. package/bundles/ragents.reference/run-scripts/moderated-round/tests/helpers.ts +1 -1
  351. package/bundles/ragents.reference/run-scripts/moderated-round/tests/program.test.ts +6 -6
  352. package/bundles/ragents.reference/run-scripts/shared-actor-list/RUN.md +12 -12
  353. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/package.json +2 -2
  354. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/contract.ts +3 -3
  355. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/tests/program.test.ts +4 -4
  356. package/bundles/ragents.reference/run-scripts/shared-actor-list/package.json +1 -1
  357. package/bundles/ragents.reference/run-scripts/shared-actor-list/src/server.ts +11 -11
  358. package/bundles/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +1 -1
  359. package/bundles/ragents.reference/run-scripts/shared-actor-list/tests/program.test.ts +13 -13
  360. package/bundles/ragents.reference/run-scripts/word-game/RUN.md +18 -18
  361. package/bundles/ragents.reference/run-scripts/word-game/package.json +2 -2
  362. package/bundles/ragents.reference/run-scripts/word-game/src/client.tsx +1 -1
  363. package/bundles/ragents.reference/run-scripts/word-game/src/contract.ts +2 -2
  364. package/bundles/ragents.reference/run-scripts/word-game/src/server.ts +16 -16
  365. package/bundles/ragents.reference/run-scripts/word-game/tests/program.test.ts +39 -39
  366. package/bundles/ragents.reference/skills/100-shared-actor-list/SKILL.md +5 -5
  367. package/bundles/ragents.reference/skills/110-all-card-slots/SKILL.md +5 -5
  368. package/bundles/ragents.reference/skills/150-editorial-workbench/SKILL.md +5 -5
  369. package/bundles/ragents.reference/skills/160-learning-companion/SKILL.md +5 -5
  370. package/bundles/ragents.reference/skills/170-photo-collection/SKILL.md +5 -5
  371. package/bundles/ragents.reference/skills/180-decision-workbench/SKILL.md +5 -5
  372. package/bundles/ragents.reference/skills/190-review-queue/SKILL.md +5 -5
  373. package/bundles/ragents.reference/skills/20-circle-of-four/SKILL.md +5 -5
  374. package/bundles/ragents.reference/skills/200-typescript-diagnostics/SKILL.md +5 -5
  375. package/bundles/ragents.reference/skills/210-moderator-handover/SKILL.md +5 -5
  376. package/bundles/ragents.reference/skills/220-actor-approval-list/SKILL.md +5 -5
  377. package/bundles/ragents.reference/skills/230-shared-state-views/SKILL.md +5 -5
  378. package/bundles/ragents.reference/skills/240-live-result-list/SKILL.md +5 -5
  379. package/bundles/ragents.reference/skills/250-balcony-wizard/SKILL.md +5 -5
  380. package/bundles/ragents.reference/skills/30-llm-without-runtime-knowledge/SKILL.md +5 -5
  381. package/bundles/ragents.reference/skills/35-actor-input-fifo/SKILL.md +5 -5
  382. package/bundles/ragents.reference/skills/40-subscription-matrix/SKILL.md +5 -5
  383. package/bundles/ragents.reference/skills/50-subscription-removal/SKILL.md +5 -5
  384. package/bundles/ragents.reference/skills/60-stop-in-the-circle/SKILL.md +5 -5
  385. package/bundles/ragents.reference/skills/65-artifact-least-privilege/SKILL.md +5 -5
  386. package/bundles/ragents.reference/skills/70-headless-counter/SKILL.md +5 -5
  387. package/bundles/ragents.reference/skills/75-lsp-demo/SKILL.md +5 -5
  388. package/bundles/ragents.reference/skills/80-actor-text-analysis/SKILL.md +5 -5
  389. package/bundles/ragents.reference/skills/90-actor-notes/SKILL.md +5 -5
  390. package/bundles/ragents.reference/skills/95-hello-world/SKILL.md +5 -5
  391. package/bundles/ragents.reference/skills/decision-brief/SKILL.md +24 -24
  392. package/bundles/ragents.reference/skills/learning-sprint/SKILL.md +24 -24
  393. package/bundles/ragents.reference/web/classes.json +1 -1
  394. package/bundles/ragents.reference/web/index.js +1 -1
  395. package/bundles/ragents.reference/web/index.js.map +2 -2
  396. package/bundles/ragents.todo/ragents-bundle.json +2 -2
  397. package/bundles/ragents.todo/server/index.js +5 -5
  398. package/bundles/ragents.todo/server/index.js.map +2 -2
  399. package/bundles/ragents.todo/web/classes.json +1 -1
  400. package/bundles/ragents.todo/web/index.js +1 -1
  401. package/bundles/ragents.todo/web/index.js.map +2 -2
  402. package/bundles/ragents.transcript/ragents-bundle.json +2 -2
  403. package/bundles/ragents.transcript/server/index.js +11 -11
  404. package/bundles/ragents.transcript/server/index.js.map +2 -2
  405. package/bundles/ragents.watch/ragents-bundle.json +2 -2
  406. package/bundles/ragents.watch/server/index.js +48 -48
  407. package/bundles/ragents.watch/server/index.js.map +2 -2
  408. package/bundles/ragents.workspace/ragents-bundle.json +2 -2
  409. package/bundles/ragents.workspace/server/index.js +81 -81
  410. package/bundles/ragents.workspace/server/index.js.map +2 -2
  411. package/bundles/ragents.workspace/web/classes.json +1 -1
  412. package/bundles/ragents.workspace/web/index.js +1 -1
  413. package/bundles/ragents.workspace/web/index.js.map +2 -2
  414. package/package.json +4 -4
  415. package/packages/agent/dist/core/model-runtime.d.ts +7 -2
  416. package/packages/agent/dist/index.d.ts +1 -1
  417. package/packages/agent/dist/loop/agent-loop.d.ts +2 -2
  418. package/packages/agent/src/core/compaction/utils.ts +1 -1
  419. package/packages/agent/src/core/model-runtime.ts +45 -5
  420. package/packages/agent/src/index.ts +1 -1
  421. package/packages/agent/src/loop/agent-loop.ts +2 -2
  422. package/packages/ai/dist/models.d.ts +1 -0
  423. package/packages/ai/dist/models.generated.d.ts +4544 -983
  424. package/packages/ai/dist/providers/openrouter.models.d.ts +4544 -983
  425. package/packages/ai/src/api/ai-sdk.ts +33 -7
  426. package/packages/ai/src/api-registry.ts +1 -1
  427. package/packages/ai/src/index.ts +2 -2
  428. package/packages/ai/src/models.generated.ts +1 -1
  429. package/packages/ai/src/models.ts +1 -1
  430. package/packages/ai/src/providers/openrouter.models.ts +3723 -550
  431. package/packages/ragents/src/access.ts +12 -12
  432. package/packages/ragents/src/agents/actor-input.ts +33 -33
  433. package/packages/ragents/src/agents/catalog.ts +1 -1
  434. package/packages/ragents/src/agents/delivery.ts +17 -17
  435. package/packages/ragents/src/agents/plugins.ts +1 -1
  436. package/packages/ragents/src/agents/scheduler.ts +7 -7
  437. package/packages/ragents/src/agents/schemas.ts +1 -1
  438. package/packages/ragents/src/agents/tool-orientation.ts +4 -4
  439. package/packages/ragents/src/agents/tools.ts +20 -20
  440. package/packages/ragents/src/agents/toolset.ts +5 -5
  441. package/packages/ragents/src/agents/workspaces.ts +1 -1
  442. package/packages/ragents/src/domain/events.ts +1 -1
  443. package/packages/ragents/src/domain/model.ts +5 -5
  444. package/packages/ragents/src/drivers/agent-runtime.ts +1 -1
  445. package/packages/ragents/src/drivers/agent-turn.ts +4 -4
  446. package/packages/ragents/src/drivers/agent.ts +2 -2
  447. package/packages/ragents/src/drivers/attachments.ts +4 -4
  448. package/packages/ragents/src/http/contracts.ts +14 -14
  449. package/packages/ragents/src/http/methods.ts +6 -6
  450. package/packages/ragents/src/plugin-host.ts +119 -119
  451. package/packages/ragents/src/plugin-types.ts +16 -16
  452. package/packages/ragents/src/rpc/contract.ts +5 -5
  453. package/packages/ragents/src/rpc/contribution.ts +2 -2
  454. package/packages/ragents/src/rpc/peer.ts +11 -11
  455. package/packages/ragents/src/rpc/protocol.ts +2 -2
  456. package/packages/ragents/src/runtime/decisions/turns.ts +1 -1
  457. package/packages/ragents/src/runtime/journal.ts +10 -10
  458. package/packages/ragents/src/runtime/orchestration.ts +8 -8
  459. package/packages/ragents/src/runtime/stop.ts +2 -2
  460. package/packages/ragents/src/script/mediators.ts +35 -35
  461. package/packages/ragents/src/typescript/async-compiler.ts +14 -14
  462. package/packages/ragents/src/typescript/compiler-worker.ts +2 -2
  463. package/packages/ragents/src/typescript/compiler.ts +7 -7
  464. package/packages/ragents/src/typescript/snippet.ts +5 -5
  465. package/packages/workspace-executor/src/bash-launch.ts +13 -13
  466. package/packages/workspace-executor/src/commands.ts +18 -18
  467. package/packages/workspace-executor/src/context.ts +15 -15
  468. package/packages/workspace-executor/src/contributions.ts +35 -35
  469. package/packages/workspace-executor/src/errors.ts +1 -1
  470. package/packages/workspace-executor/src/executor.ts +15 -15
  471. package/packages/workspace-executor/src/files.ts +30 -30
  472. package/packages/workspace-executor/src/language-server/contract.ts +2 -2
  473. package/packages/workspace-executor/src/language-server/diagnostics.ts +4 -4
  474. package/packages/workspace-executor/src/language-server/host.ts +35 -35
  475. package/packages/workspace-executor/src/language-server/json-rpc.ts +4 -4
  476. package/packages/workspace-executor/src/language-server/module.ts +11 -11
  477. package/packages/workspace-executor/src/language-server/roots.ts +3 -3
  478. package/packages/workspace-executor/src/language-server/session.ts +15 -15
  479. package/packages/workspace-executor/src/language-server/workspace-solutions.ts +2 -2
  480. package/packages/workspace-executor/src/managed-process.ts +12 -12
  481. package/packages/workspace-executor/src/module.ts +8 -8
  482. package/packages/workspace-executor/src/modules.ts +3 -3
  483. package/packages/workspace-executor/src/paths.ts +11 -11
  484. package/packages/workspace-executor/src/process-sandbox.ts +3 -3
  485. package/packages/workspace-executor/src/processes/module.ts +3 -3
  486. package/packages/workspace-executor/src/processes/process-table.ts +20 -20
  487. package/packages/workspace-executor/src/processes/scanner.ts +3 -3
  488. package/packages/workspace-executor/src/processes/snapshot.ts +2 -2
  489. package/packages/workspace-executor/src/processes/terminator.ts +13 -13
  490. package/packages/workspace-executor/src/run-folders.ts +3 -3
  491. package/packages/workspace-executor/src/safe-environment.ts +4 -4
  492. package/packages/workspace-executor/src/sandbox-tools.ts +28 -28
  493. package/packages/workspace-executor/src/session-ident.ts +2 -2
  494. package/packages/workspace-executor/src/shell-platform.ts +2 -2
  495. package/packages/workspace-executor/src/tools.ts +5 -5
  496. package/plugins/ragents.activity/web/ActivityHeader.tsx +3 -3
  497. package/plugins/ragents.activity/web/activity.ts +2 -2
  498. package/plugins/ragents.actor-programs/server/access-projections.ts +1 -1
  499. package/plugins/ragents.actor-programs/server/agent-tools.ts +2 -2
  500. package/plugins/ragents.actor-programs/server/capability-resolver.ts +3 -3
  501. package/plugins/ragents.actor-programs/server/controls-template.ts +46 -46
  502. package/plugins/ragents.actor-programs/server/controls-tool.ts +4 -4
  503. package/plugins/ragents.actor-programs/server/limits.ts +3 -3
  504. package/plugins/ragents.actor-programs/server/methods.ts +1 -1
  505. package/plugins/ragents.actor-programs/server/project-diagnostics.ts +8 -8
  506. package/plugins/ragents.actor-programs/server/routes.ts +8 -8
  507. package/plugins/ragents.actor-programs/server/runtime.ts +90 -90
  508. package/plugins/ragents.actor-programs/server/templates.ts +59 -59
  509. package/plugins/ragents.actor-programs/server/test-report.ts +5 -5
  510. package/plugins/ragents.actor-programs/server/tool-contributor.ts +1 -1
  511. package/plugins/ragents.actor-programs/web/ActorViewFrame.tsx +17 -17
  512. package/plugins/ragents.actor-programs/web/AppsPanel.tsx +26 -26
  513. package/plugins/ragents.actor-programs/web/EmbeddedApps.tsx +3 -3
  514. package/plugins/ragents.actor-programs/web/FullscreenHost.tsx +2 -2
  515. package/plugins/ragents.actor-programs/web/FunctionForm.tsx +16 -16
  516. package/plugins/ragents.actor-programs/web/ProgramSource.tsx +5 -5
  517. package/plugins/ragents.actor-programs/web/api.ts +36 -36
  518. package/plugins/ragents.actor-programs/web/bridge.ts +8 -8
  519. package/plugins/ragents.actor-programs/web/chat-state.ts +4 -4
  520. package/plugins/ragents.actor-programs/web/context.ts +1 -1
  521. package/plugins/ragents.actor-programs/web/function-input.ts +6 -6
  522. package/plugins/ragents.actor-programs/web/index.tsx +1 -1
  523. package/plugins/ragents.actor-programs/web/program-state.ts +4 -4
  524. package/plugins/ragents.ask/ask-payload.ts +1 -1
  525. package/plugins/ragents.ask/contract.ts +5 -5
  526. package/plugins/ragents.ask/server/answer-method.ts +1 -1
  527. package/plugins/ragents.ask/server/ask-service.ts +9 -9
  528. package/plugins/ragents.ask/server/ask-tool.ts +10 -10
  529. package/plugins/ragents.ask/server/contract.ts +5 -5
  530. package/plugins/ragents.ask/web/AskActionView.tsx +1 -1
  531. package/plugins/ragents.ask/web/QuestionCard.tsx +22 -22
  532. package/plugins/ragents.ask/web/index.tsx +2 -2
  533. package/plugins/ragents.browser/executor/contract.ts +6 -6
  534. package/plugins/ragents.browser/executor/index.ts +1 -1
  535. package/plugins/ragents.browser/executor/module.ts +6 -6
  536. package/plugins/ragents.browser/executor/pages.ts +32 -32
  537. package/plugins/ragents.browser/executor/playwright.ts +8 -8
  538. package/plugins/ragents.browser/provision.ts +7 -7
  539. package/plugins/ragents.browser/server/browser.ts +14 -14
  540. package/plugins/ragents.browser/server/contract.ts +1 -1
  541. package/plugins/ragents.browser/server/index.ts +1 -1
  542. package/plugins/ragents.browser/server/tools.ts +14 -14
  543. package/plugins/ragents.browser/skills/browser-testing/SKILL.md +30 -30
  544. package/plugins/ragents.documents/contract.ts +2 -2
  545. package/plugins/ragents.documents/prompt.hbs +1 -1
  546. package/plugins/ragents.documents/server/document-write-tool.ts +12 -12
  547. package/plugins/ragents.documents/server/files-route.ts +6 -6
  548. package/plugins/ragents.documents/server/show-document-tool.ts +26 -26
  549. package/plugins/ragents.documents/server/store.ts +1 -1
  550. package/plugins/ragents.documents/web/DocumentViewer.tsx +37 -37
  551. package/plugins/ragents.documents/web/index.tsx +11 -11
  552. package/plugins/ragents.lsp-fsharp/executor.ts +7 -7
  553. package/plugins/ragents.lsp-fsharp/provision.ts +7 -7
  554. package/plugins/ragents.lsp-roslyn/executor.ts +5 -5
  555. package/plugins/ragents.lsp-roslyn/provision.ts +4 -4
  556. package/plugins/ragents.lsp-roslyn/server/index.ts +5 -5
  557. package/plugins/ragents.lsp-roslyn/server/solution-on-start.ts +13 -13
  558. package/plugins/ragents.lsp-typescript/executor.ts +3 -3
  559. package/plugins/ragents.model-relay/server/config.ts +6 -2
  560. package/plugins/ragents.model-relay/server/index.ts +2 -2
  561. package/plugins/ragents.model-relay/server/relay.ts +23 -22
  562. package/plugins/ragents.orchestration/contract.ts +8 -8
  563. package/plugins/ragents.orchestration/server/index.ts +4 -4
  564. package/plugins/ragents.orchestration/server/run-stop-tool.ts +3 -3
  565. package/plugins/ragents.orchestration/server/surface-tool.ts +5 -5
  566. package/plugins/ragents.orchestration/tiled-layout.ts +11 -11
  567. package/plugins/ragents.orchestration/web/ActorChat.tsx +2 -2
  568. package/plugins/ragents.orchestration/web/ActorChatControls.tsx +4 -4
  569. package/plugins/ragents.orchestration/web/ActorChatPreview.tsx +1 -1
  570. package/plugins/ragents.orchestration/web/ActorPopout.tsx +1 -1
  571. package/plugins/ragents.orchestration/web/ActorShortcut.tsx +6 -6
  572. package/plugins/ragents.orchestration/web/ActorSurfaceControls.tsx +15 -15
  573. package/plugins/ragents.orchestration/web/Center.tsx +5 -5
  574. package/plugins/ragents.orchestration/web/DocumentsSection.tsx +2 -2
  575. package/plugins/ragents.orchestration/web/ExecutionsPanel.tsx +15 -15
  576. package/plugins/ragents.orchestration/web/FlowInspector.tsx +103 -103
  577. package/plugins/ragents.orchestration/web/JournalStatus.tsx +11 -11
  578. package/plugins/ragents.orchestration/web/MaterialBody.tsx +2 -2
  579. package/plugins/ragents.orchestration/web/StopRunButton.tsx +6 -6
  580. package/plugins/ragents.orchestration/web/TiledSurface.tsx +9 -9
  581. package/plugins/ragents.orchestration/web/actor-header-settings.ts +5 -5
  582. package/plugins/ragents.orchestration/web/constants.ts +2 -2
  583. package/plugins/ragents.orchestration/web/executions.ts +6 -6
  584. package/plugins/ragents.orchestration/web/format.ts +1 -1
  585. package/plugins/ragents.orchestration/web/index.tsx +2 -2
  586. package/plugins/ragents.orchestration/web/run-panel/AddresseeControl.tsx +7 -7
  587. package/plugins/ragents.orchestration/web/run-panel/AddresseeTree.tsx +8 -8
  588. package/plugins/ragents.orchestration/web/run-panel/RunPanel.tsx +22 -22
  589. package/plugins/ragents.orchestration/web/run-panel/RunPanelSettings.tsx +7 -7
  590. package/plugins/ragents.orchestration/web/run-panel/addressee-tree.ts +13 -13
  591. package/plugins/ragents.orchestration/web/run-panel/run-panel-actors.ts +3 -3
  592. package/plugins/ragents.orchestration/web/run-panel/run-panel-settings.ts +2 -2
  593. package/plugins/ragents.orchestration/web/run-panel/run-panel-startup.ts +3 -3
  594. package/plugins/ragents.orchestration/web/run-panel/run-panel-state.ts +7 -7
  595. package/plugins/ragents.orchestration/web/run-panel/sheet-status.ts +9 -9
  596. package/plugins/ragents.orchestration/web/surface-startup.ts +8 -8
  597. package/plugins/ragents.orchestration/web/surface-view-settings.ts +1 -1
  598. package/plugins/ragents.orchestration/web/tiled-view-settings.ts +1 -1
  599. package/plugins/ragents.overseer/contract.ts +20 -20
  600. package/plugins/ragents.overseer/server/api.ts +6 -6
  601. package/plugins/ragents.overseer/server/coordinator-prompt.ts +10 -10
  602. package/plugins/ragents.overseer/server/coordinator.ts +4 -4
  603. package/plugins/ragents.overseer/server/index.ts +24 -24
  604. package/plugins/ragents.overseer/server/orientation.ts +8 -8
  605. package/plugins/ragents.overseer/server/quick-answer.ts +9 -9
  606. package/plugins/ragents.overseer/server/run-directory.ts +5 -5
  607. package/plugins/ragents.overseer/server/settings.ts +6 -6
  608. package/plugins/ragents.overseer/server/user-location.ts +16 -16
  609. package/plugins/ragents.overseer/web/ModelSettings.tsx +9 -9
  610. package/plugins/ragents.overseer/web/index.tsx +20 -20
  611. package/plugins/ragents.overseer/web/model-settings.ts +1 -1
  612. package/plugins/ragents.overseer/web/quick-answers.ts +2 -2
  613. package/plugins/ragents.processes/contract.ts +5 -5
  614. package/plugins/ragents.processes/server/methods.ts +4 -4
  615. package/plugins/ragents.processes/server/observer.ts +8 -8
  616. package/plugins/ragents.processes/server/run-processes.ts +2 -2
  617. package/plugins/ragents.processes/web/ProcessHeader.tsx +10 -10
  618. package/plugins/ragents.processes/web/processes.ts +10 -10
  619. package/plugins/ragents.product/server/config.ts +1 -1
  620. package/plugins/ragents.product/server/index.ts +4 -4
  621. package/plugins/ragents.product/server/runtime.ts +9 -10
  622. package/plugins/ragents.product/web/index.tsx +1 -1
  623. package/plugins/ragents.profile-distribution/contract.ts +10 -10
  624. package/plugins/ragents.profile-distribution/server/archive.ts +20 -20
  625. package/plugins/ragents.profile-distribution/server/config.ts +2 -2
  626. package/plugins/ragents.profile-distribution/server/index.ts +4 -4
  627. package/plugins/ragents.reference/examples.ts +27 -27
  628. package/plugins/ragents.reference/run-scripts/balcony-wizard/RUN.md +19 -19
  629. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/package.json +2 -2
  630. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +14 -14
  631. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/conversation.ts +2 -2
  632. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/tests/conversation.test.ts +49 -49
  633. package/plugins/ragents.reference/run-scripts/balcony-wizard/package.json +1 -1
  634. package/plugins/ragents.reference/run-scripts/balcony-wizard/src/server.ts +9 -9
  635. package/plugins/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +9 -9
  636. package/plugins/ragents.reference/run-scripts/conversation-circle/RUN.md +7 -7
  637. package/plugins/ragents.reference/run-scripts/conversation-circle/package.json +1 -1
  638. package/plugins/ragents.reference/run-scripts/conversation-circle/src/server.ts +13 -13
  639. package/plugins/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +1 -1
  640. package/plugins/ragents.reference/run-scripts/conversation-circle/tests/program.test.ts +8 -8
  641. package/plugins/ragents.reference/run-scripts/learning-afternoon/RUN.md +16 -16
  642. package/plugins/ragents.reference/run-scripts/learning-afternoon/package.json +1 -1
  643. package/plugins/ragents.reference/run-scripts/learning-afternoon/prompts/experiment.md +1 -1
  644. package/plugins/ragents.reference/run-scripts/learning-afternoon/prompts/helper.md +3 -3
  645. package/plugins/ragents.reference/run-scripts/learning-afternoon/prompts/quiz.md +1 -1
  646. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/server.ts +9 -9
  647. package/plugins/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +39 -39
  648. package/plugins/ragents.reference/run-scripts/moderated-round/RUN.md +7 -7
  649. package/plugins/ragents.reference/run-scripts/moderated-round/package.json +1 -1
  650. package/plugins/ragents.reference/run-scripts/moderated-round/src/server.ts +9 -9
  651. package/plugins/ragents.reference/run-scripts/moderated-round/tests/helpers.ts +1 -1
  652. package/plugins/ragents.reference/run-scripts/moderated-round/tests/program.test.ts +6 -6
  653. package/plugins/ragents.reference/run-scripts/shared-actor-list/RUN.md +12 -12
  654. package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/package.json +2 -2
  655. package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/contract.ts +3 -3
  656. package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/tests/program.test.ts +4 -4
  657. package/plugins/ragents.reference/run-scripts/shared-actor-list/package.json +1 -1
  658. package/plugins/ragents.reference/run-scripts/shared-actor-list/src/server.ts +11 -11
  659. package/plugins/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +1 -1
  660. package/plugins/ragents.reference/run-scripts/shared-actor-list/tests/program.test.ts +13 -13
  661. package/plugins/ragents.reference/run-scripts/word-game/RUN.md +18 -18
  662. package/plugins/ragents.reference/run-scripts/word-game/package.json +2 -2
  663. package/plugins/ragents.reference/run-scripts/word-game/src/client.tsx +1 -1
  664. package/plugins/ragents.reference/run-scripts/word-game/src/contract.ts +2 -2
  665. package/plugins/ragents.reference/run-scripts/word-game/src/server.ts +16 -16
  666. package/plugins/ragents.reference/run-scripts/word-game/tests/program.test.ts +39 -39
  667. package/plugins/ragents.reference/skills/100-shared-actor-list/SKILL.md +5 -5
  668. package/plugins/ragents.reference/skills/110-all-card-slots/SKILL.md +5 -5
  669. package/plugins/ragents.reference/skills/150-editorial-workbench/SKILL.md +5 -5
  670. package/plugins/ragents.reference/skills/160-learning-companion/SKILL.md +5 -5
  671. package/plugins/ragents.reference/skills/170-photo-collection/SKILL.md +5 -5
  672. package/plugins/ragents.reference/skills/180-decision-workbench/SKILL.md +5 -5
  673. package/plugins/ragents.reference/skills/190-review-queue/SKILL.md +5 -5
  674. package/plugins/ragents.reference/skills/20-circle-of-four/SKILL.md +5 -5
  675. package/plugins/ragents.reference/skills/200-typescript-diagnostics/SKILL.md +5 -5
  676. package/plugins/ragents.reference/skills/210-moderator-handover/SKILL.md +5 -5
  677. package/plugins/ragents.reference/skills/220-actor-approval-list/SKILL.md +5 -5
  678. package/plugins/ragents.reference/skills/230-shared-state-views/SKILL.md +5 -5
  679. package/plugins/ragents.reference/skills/240-live-result-list/SKILL.md +5 -5
  680. package/plugins/ragents.reference/skills/250-balcony-wizard/SKILL.md +5 -5
  681. package/plugins/ragents.reference/skills/30-llm-without-runtime-knowledge/SKILL.md +5 -5
  682. package/plugins/ragents.reference/skills/35-actor-input-fifo/SKILL.md +5 -5
  683. package/plugins/ragents.reference/skills/40-subscription-matrix/SKILL.md +5 -5
  684. package/plugins/ragents.reference/skills/50-subscription-removal/SKILL.md +5 -5
  685. package/plugins/ragents.reference/skills/60-stop-in-the-circle/SKILL.md +5 -5
  686. package/plugins/ragents.reference/skills/65-artifact-least-privilege/SKILL.md +5 -5
  687. package/plugins/ragents.reference/skills/70-headless-counter/SKILL.md +5 -5
  688. package/plugins/ragents.reference/skills/75-lsp-demo/SKILL.md +5 -5
  689. package/plugins/ragents.reference/skills/80-actor-text-analysis/SKILL.md +5 -5
  690. package/plugins/ragents.reference/skills/90-actor-notes/SKILL.md +5 -5
  691. package/plugins/ragents.reference/skills/95-hello-world/SKILL.md +5 -5
  692. package/plugins/ragents.reference/skills/decision-brief/SKILL.md +24 -24
  693. package/plugins/ragents.reference/skills/learning-sprint/SKILL.md +24 -24
  694. package/plugins/ragents.reference/walkthroughs.ts +128 -128
  695. package/plugins/ragents.reference/web/StartGuides.tsx +23 -23
  696. package/plugins/ragents.todo/server/todo-tool.ts +6 -6
  697. package/plugins/ragents.todo/web/TodoSection.tsx +1 -1
  698. package/plugins/ragents.transcript/server/transcript.ts +11 -11
  699. package/plugins/ragents.watch/server/condition.ts +4 -4
  700. package/plugins/ragents.watch/server/functions.ts +27 -27
  701. package/plugins/ragents.watch/server/observation.ts +2 -2
  702. package/plugins/ragents.watch/server/service.ts +14 -14
  703. package/plugins/ragents.workspace/client/transport.ts +1 -1
  704. package/plugins/ragents.workspace/client/workspace-client.ts +54 -54
  705. package/plugins/ragents.workspace/contract.ts +46 -46
  706. package/plugins/ragents.workspace/server/binding.ts +20 -20
  707. package/plugins/ragents.workspace/server/browse-route.ts +8 -8
  708. package/plugins/ragents.workspace/server/clients.ts +42 -42
  709. package/plugins/ragents.workspace/server/config.ts +7 -7
  710. package/plugins/ragents.workspace/server/index.ts +3 -3
  711. package/plugins/ragents.workspace/server/runtime.ts +26 -26
  712. package/plugins/ragents.workspace/server/shell-platform.ts +1 -1
  713. package/plugins/ragents.workspace/web/FileBrowser.tsx +10 -10
  714. package/plugins/ragents.workspace/web/WorkspaceBinding.tsx +24 -24
  715. package/plugins/ragents.workspace/web/index.tsx +1 -1
  716. package/ragents.config.core.ts +1 -1
  717. package/ragents.config.developer.ts +3 -3
  718. package/ragents.config.showcase.ts +2 -2
  719. package/scripts/agent/agent-cli.ts +96 -96
  720. package/scripts/agent/journal.ts +5 -5
  721. package/scripts/agent/turn-control.ts +4 -4
  722. package/scripts/package/build-package.ts +29 -29
  723. package/scripts/package/host-links.mjs +3 -3
  724. package/scripts/package/publish-package.ts +29 -29
  725. package/scripts/package/ragents.mjs +19 -19
  726. package/scripts/plugin/build-builtin-plugins.ts +5 -5
  727. package/scripts/plugin/plugin-cli.ts +14 -14
  728. package/scripts/provision/run-provision.ts +14 -15
  729. package/scripts/remote/connect.ts +46 -46
  730. package/scripts/remote/start.ts +18 -18
  731. package/scripts/workspace-client/run-workspace-client.ts +23 -23
  732. package/apps/web/dist/assets/main-DnnqWHkH.js +0 -11
  733. package/apps/web/dist/assets/mermaid-HWGCJPDP-BLLeth5_.js +0 -568
  734. package/apps/web/dist/assets/runPanel-DPm7s3KM.js +0 -21
  735. package/bundles/ragents.ask/server/chunks/chunk-PDJO75SQ.js.map +0 -7
  736. package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js +0 -2
  737. package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js.map +0 -7
  738. package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js +0 -2
  739. package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js.map +0 -7
  740. package/bundles/ragents.ask/web/chunks/chunk-WFN4374U.js.map +0 -7
  741. package/bundles/ragents.orchestration/web/chunks/chunk-OQYCNYXN.js +0 -2
  742. /package/bundles/ragents.orchestration/web/chunks/{chunk-OSKPH6SZ.js.map → chunk-CFMJD5ZI.js.map} +0 -0
  743. /package/bundles/ragents.orchestration/web/chunks/{chunk-ODMMQGX2.js.map → chunk-UCIMT2R4.js.map} +0 -0
@@ -40,7 +40,7 @@ export interface RunDocument {
40
40
  export interface DocumentSection {
41
41
  id: string;
42
42
  label: string;
43
- kind: "ablage" | "ergebnisse" | "chat";
43
+ kind: "store" | "results" | "chat";
44
44
  documents: RunDocument[];
45
45
  }
46
46
 
@@ -48,8 +48,8 @@ const formatLabels: Record<DocumentFormat, string> = {
48
48
  markdown: "Markdown",
49
49
  text: "Text",
50
50
  html: "HTML",
51
- image: "Bild",
52
- binary: "Datei",
51
+ image: "Image",
52
+ binary: "File",
53
53
  };
54
54
 
55
55
  const formatByExtension: Record<string, DocumentFormat> = {
@@ -92,7 +92,7 @@ const formatTime = (iso: string) => {
92
92
  const date = new Date(iso);
93
93
  return Number.isNaN(date.getTime())
94
94
  ? iso
95
- : date.toLocaleString("de-DE", { day: "2-digit", month: "2-digit", hour: "2-digit", minute: "2-digit" });
95
+ : date.toLocaleString("en-US", { day: "2-digit", month: "2-digit", hour: "2-digit", minute: "2-digit" });
96
96
  };
97
97
 
98
98
  export const documentMessagesFrom = (
@@ -160,12 +160,12 @@ export function DocumentToolCall({ active, document, onOpen, status }: DocumentT
160
160
  [document.content],
161
161
  );
162
162
  const statusLabel = status === "error"
163
- ? "Fehler"
163
+ ? "Error"
164
164
  : status === "running"
165
- ? "Wird geöffnet"
165
+ ? "Opening"
166
166
  : active
167
- ? "Geöffnet"
168
- : "Öffnen";
167
+ ? "Opened"
168
+ : "Open";
169
169
 
170
170
  return (
171
171
  <button
@@ -179,10 +179,10 @@ export function DocumentToolCall({ active, document, onOpen, status }: DocumentT
179
179
  <IconDocument size={22} />
180
180
  </span>
181
181
  <span className="flex min-w-0 flex-col gap-0.5">
182
- <span className="text-[0.62rem] font-semibold tracking-[0.05em] text-primary uppercase">Dokument</span>
182
+ <span className="text-[0.62rem] font-semibold tracking-[0.05em] text-primary uppercase">Document</span>
183
183
  <strong className="truncate text-[0.84rem] leading-[1.35]" title={document.title}>{document.title}</strong>
184
184
  <span className="text-[0.7rem] leading-[1.35] text-muted-foreground">
185
- {formatLabels[document.format]}, {lineCount.toLocaleString("de-DE")} {lineCount === 1 ? "Zeile" : "Zeilen"}
185
+ {formatLabels[document.format]}, {lineCount.toLocaleString("en-US")} {lineCount === 1 ? "line" : "lines"}
186
186
  </span>
187
187
  </span>
188
188
  <span className="flex items-center gap-1 text-[0.7rem] font-semibold text-primary group-data-[status=error]/call:text-destructive">
@@ -193,7 +193,7 @@ export function DocumentToolCall({ active, document, onOpen, status }: DocumentT
193
193
  );
194
194
  }
195
195
 
196
- function DocumentContent({ document, stand }: { document: RunDocument; stand: LoadState }) {
196
+ function DocumentContent({ document, loaded }: { document: RunDocument; loaded: LoadState }) {
197
197
  if (document.format === "image" && document.contentUrl) {
198
198
  return <img alt={document.title} className="block max-w-full rounded-lg border border-border" src={document.contentUrl} />;
199
199
  }
@@ -202,40 +202,40 @@ function DocumentContent({ document, stand }: { document: RunDocument; stand: Lo
202
202
  <Empty className="min-h-30 gap-2 p-7">
203
203
  <EmptyHeader>
204
204
  <EmptyMedia><IconDocument /></EmptyMedia>
205
- <EmptyTitle>Keine Vorschau für dieses Format</EmptyTitle>
205
+ <EmptyTitle>No preview for this format</EmptyTitle>
206
206
  </EmptyHeader>
207
207
  <EmptyContent>
208
- <Button render={<a download={document.title} href={document.contentUrl} />} size="sm" variant="outline">Herunterladen</Button>
208
+ <Button render={<a download={document.title} href={document.contentUrl} />} size="sm" variant="outline">Download</Button>
209
209
  </EmptyContent>
210
210
  </Empty>
211
211
  );
212
212
  }
213
- if (!stand) {
213
+ if (!loaded) {
214
214
  return (
215
215
  <div className="flex items-center justify-center gap-2.5 p-9 text-[0.76rem] text-muted-foreground">
216
216
  <Spinner className="size-3" />
217
- <span>Wird geladen</span>
217
+ <span>Loading</span>
218
218
  </div>
219
219
  );
220
220
  }
221
- if ("error" in stand) {
221
+ if ("error" in loaded) {
222
222
  return (
223
223
  <Empty className="min-h-30 gap-2 p-7">
224
224
  <EmptyHeader>
225
225
  <EmptyMedia><IconError /></EmptyMedia>
226
- <EmptyTitle>Inhalt nicht lesbar</EmptyTitle>
227
- <EmptyDescription>{stand.error}</EmptyDescription>
226
+ <EmptyTitle>Content not readable</EmptyTitle>
227
+ <EmptyDescription>{loaded.error}</EmptyDescription>
228
228
  </EmptyHeader>
229
229
  </Empty>
230
230
  );
231
231
  }
232
232
  if (document.format === "html") {
233
- return <iframe className="h-full min-h-full w-full border-0 bg-white" sandbox="" srcDoc={stand.text} title={document.title} />;
233
+ return <iframe className="h-full min-h-full w-full border-0 bg-white" sandbox="" srcDoc={loaded.text} title={document.title} />;
234
234
  }
235
235
  if (document.format === "text") {
236
- return <SourceCode className={sourceClass} content={stand.text} path={document.title} />;
236
+ return <SourceCode className={sourceClass} content={loaded.text} path={document.title} />;
237
237
  }
238
- return <Markdown text={stand.text} />;
238
+ return <Markdown text={loaded.text} />;
239
239
  }
240
240
 
241
241
  function DocumentHead({ document }: { document: RunDocument }) {
@@ -260,7 +260,7 @@ interface DocumentModalProps {
260
260
  }
261
261
 
262
262
  export function DocumentModal({ document, onClose }: DocumentModalProps) {
263
- const stand = useDocumentContent(document);
263
+ const loaded = useDocumentContent(document);
264
264
 
265
265
  return (
266
266
  <Dialog open onOpenChange={(open) => { if (!open) onClose(); }}>
@@ -270,12 +270,12 @@ export function DocumentModal({ document, onClose }: DocumentModalProps) {
270
270
  <DialogTitle className={copyClass} render={<span />}>
271
271
  <DocumentHead document={document} />
272
272
  </DialogTitle>
273
- <Button aria-label="Schließen" className="rounded-full" onClick={onClose} size="icon" title="Schließen" variant="outline">
273
+ <Button aria-label="Close" className="rounded-full" onClick={onClose} size="icon" title="Close" variant="outline">
274
274
  <XIcon />
275
275
  </Button>
276
276
  </header>
277
277
  <div className="min-h-0 flex-1 overflow-y-auto px-[clamp(18px,4vw,54px)] pt-5 pb-10 text-[13.5px] leading-[1.65]">
278
- <DocumentContent document={document} stand={stand} />
278
+ <DocumentContent document={document} loaded={loaded} />
279
279
  </div>
280
280
  </DialogContent>
281
281
  </Dialog>
@@ -291,7 +291,7 @@ interface DocumentPanelProps {
291
291
 
292
292
  export function DocumentPanel({ activeId, sections, truncated, onSelect }: DocumentPanelProps) {
293
293
  const active = sections.flatMap((section) => section.documents).find((document) => document.id === activeId);
294
- const stand = useDocumentContent(active);
294
+ const loaded = useDocumentContent(active);
295
295
  const [modalOpen, setModalOpen] = useState(false);
296
296
  const [collapsed, setCollapsed] = useState<Set<string>>(() => new Set());
297
297
 
@@ -313,8 +313,8 @@ export function DocumentPanel({ activeId, sections, truncated, onSelect }: Docum
313
313
  <Empty className="h-full gap-2 p-7">
314
314
  <EmptyHeader>
315
315
  <EmptyMedia><IconDocument /></EmptyMedia>
316
- <EmptyTitle>Noch keine Dokumente</EmptyTitle>
317
- <EmptyDescription>Dateien aus der Ablage des Runs, Ergebnisse und im Chat gezeigte Dokumente sammeln sich hier.</EmptyDescription>
316
+ <EmptyTitle>No documents yet</EmptyTitle>
317
+ <EmptyDescription>Files from the run's store, results, and documents shown in chat collect here.</EmptyDescription>
318
318
  </EmptyHeader>
319
319
  </Empty>
320
320
  );
@@ -324,25 +324,25 @@ export function DocumentPanel({ activeId, sections, truncated, onSelect }: Docum
324
324
  return (
325
325
  <div className="flex h-full flex-col gap-3.5 overflow-y-auto px-workspace-inset pt-2.5 pb-4.5 [scrollbar-width:thin]">
326
326
  {sections.filter((section) => section.documents.length > 0).map((section) => {
327
- const offen = !collapsed.has(section.id);
327
+ const open = !collapsed.has(section.id);
328
328
  return (
329
329
  <section key={section.id}>
330
330
  <button
331
- aria-expanded={offen}
331
+ aria-expanded={open}
332
332
  className="grid w-full grid-cols-[14px_26px_minmax(0,1fr)_auto] items-center gap-2.5 rounded-lg px-2 py-2 text-left hover:bg-primary/7"
333
333
  onClick={() => toggle(section.id)}
334
334
  type="button"
335
335
  >
336
- <span aria-hidden className={`flex text-muted-foreground transition-transform duration-150${offen ? " rotate-90" : ""}`}>
336
+ <span aria-hidden className={`flex text-muted-foreground transition-transform duration-150${open ? " rotate-90" : ""}`}>
337
337
  <IconChevron />
338
338
  </span>
339
- {section.kind === "ablage" && <span aria-hidden className={`${groupBadgeClass} bg-[color-mix(in_srgb,var(--foreground)_8%,var(--background))] text-[0.85rem] text-foreground`}>#</span>}
340
- {section.kind === "ergebnisse" && <span aria-hidden className={`${groupBadgeClass} bg-[color-mix(in_srgb,var(--primary)_16%,var(--background))] text-primary`}><IconResult /></span>}
339
+ {section.kind === "store" && <span aria-hidden className={`${groupBadgeClass} bg-[color-mix(in_srgb,var(--foreground)_8%,var(--background))] text-[0.85rem] text-foreground`}>#</span>}
340
+ {section.kind === "results" && <span aria-hidden className={`${groupBadgeClass} bg-[color-mix(in_srgb,var(--primary)_16%,var(--background))] text-primary`}><IconResult /></span>}
341
341
  {section.kind === "chat" && <span aria-hidden className={`${groupBadgeClass} bg-[color-mix(in_srgb,var(--foreground)_9%,var(--background))] text-muted-foreground`}><IconChat /></span>}
342
342
  <span className="truncate text-sm font-semibold" title={section.label}>{section.label}</span>
343
343
  <Badge className="tabular-nums" variant="secondary">{section.documents.length}</Badge>
344
344
  </button>
345
- {offen && (
345
+ {open && (
346
346
  <div className="ml-[23px] border-l border-border-soft pl-2.5">
347
347
  <ul className="mt-0.5 list-none">
348
348
  {section.documents.map((document) => (
@@ -374,7 +374,7 @@ export function DocumentPanel({ activeId, sections, truncated, onSelect }: Docum
374
374
  </section>
375
375
  );
376
376
  })}
377
- {truncated && <p className="text-[0.72rem] text-muted-foreground">Die Ablage enthält mehr Dateien, als hier angezeigt werden.</p>}
377
+ {truncated && <p className="text-[0.72rem] text-muted-foreground">The store contains more files than are shown here.</p>}
378
378
  </div>
379
379
  );
380
380
  }
@@ -382,16 +382,16 @@ export function DocumentPanel({ activeId, sections, truncated, onSelect }: Docum
382
382
  return (
383
383
  <div className="flex h-full min-h-0 flex-col">
384
384
  <header className="grid shrink-0 grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-2.5 border-b border-border-soft px-workspace-inset py-2.5">
385
- <Button aria-label="Zurück zur Übersicht" onClick={() => onSelect(undefined)} size="icon-sm" title="Zurück zur Übersicht" variant="outline">
385
+ <Button aria-label="Back to overview" onClick={() => onSelect(undefined)} size="icon-sm" title="Back to overview" variant="outline">
386
386
  <ArrowLeftIcon />
387
387
  </Button>
388
388
  <span className={copyClass}>
389
389
  <DocumentHead document={active} />
390
390
  </span>
391
- <Button onClick={() => setModalOpen(true)} size="sm" variant="outline">Groß</Button>
391
+ <Button onClick={() => setModalOpen(true)} size="sm" variant="outline">Large</Button>
392
392
  </header>
393
393
  <div className="min-h-0 flex-1 overflow-y-auto px-workspace-inset py-4 text-[13px] leading-[1.6]">
394
- <DocumentContent document={active} stand={stand} />
394
+ <DocumentContent document={active} loaded={loaded} />
395
395
  </div>
396
396
  {modalOpen && <DocumentModal document={active} onClose={() => setModalOpen(false)} />}
397
397
  </div>
@@ -76,7 +76,7 @@ const RunFilesContext = createContext<RunFilesState | undefined>(undefined);
76
76
 
77
77
  const useRunFilesContext = (): RunFilesState => {
78
78
  const state = useContext(RunFilesContext);
79
- if (!state) throw new Error("Dokumente-Plugin ist nicht aktiv");
79
+ if (!state) throw new Error("Documents plugin is not active");
80
80
  return state;
81
81
  };
82
82
 
@@ -118,9 +118,9 @@ function DocumentsSessionProvider({ children, session }: SessionProviderProps) {
118
118
  const resultSection = (runId: string, view: RunView): DocumentSection => {
119
119
  const handles = new Map(view.actors.map((actor) => [actor.id, actor.handle]));
120
120
  return {
121
- id: "ergebnisse",
122
- label: "Ergebnisse",
123
- kind: "ergebnisse",
121
+ id: "results",
122
+ label: "Results",
123
+ kind: "results",
124
124
  documents: view.artifacts.map((artifact) => {
125
125
  const handle = handles.get(artifact.createdBy);
126
126
  return {
@@ -157,16 +157,16 @@ const sectionsFrom = (
157
157
 
158
158
  const sections: DocumentSection[] = [
159
159
  ...(listing?.groups ?? []).map((group) => ({
160
- id: `ablage/${group.directory}`,
160
+ id: `store/${group.directory}`,
161
161
  label: group.directory,
162
- kind: "ablage" as const,
162
+ kind: "store" as const,
163
163
  documents: group.files.map((entry) => fileDocument(group.directory, entry)),
164
164
  })),
165
165
  ...(listing && listing.loose.length > 0
166
166
  ? [{
167
- id: "ablage",
168
- label: "Ablage",
169
- kind: "ablage" as const,
167
+ id: "store",
168
+ label: "Store",
169
+ kind: "store" as const,
170
170
  documents: listing.loose.map((entry) => fileDocument(undefined, entry)),
171
171
  }]
172
172
  : []),
@@ -177,7 +177,7 @@ const sectionsFrom = (
177
177
  ...documentsFromMessages(documentMessages),
178
178
  ...pathDocumentsFromMessages(documentMessages, routePrefix, session.session.id),
179
179
  ];
180
- if (chat.length > 0) sections.push({ id: "chat", label: "Im Chat gezeigt", kind: "chat", documents: chat });
180
+ if (chat.length > 0) sections.push({ id: "chat", label: "Shown in chat", kind: "chat", documents: chat });
181
181
  return { sections, truncated: listing?.truncated ?? false };
182
182
  };
183
183
 
@@ -250,7 +250,7 @@ const configuredPlugin = (descriptor: WebPluginDescriptor, routePrefix: string):
250
250
  SessionProvider: DocumentsSessionProvider,
251
251
  workspaceTabs: [{
252
252
  id: DOCUMENTS_TAB_ID,
253
- label: "Dokumente",
253
+ label: "Documents",
254
254
  order: 200,
255
255
  Icon: IconDocument,
256
256
  Panel: DocumentsPanelContribution,
@@ -18,7 +18,7 @@ export const fsharpLanguageServer: LanguageServerDescription = {
18
18
 
19
19
  const PROJECT_LINE = /^Project\("\{[^}]+\}"\)\s*=\s*"[^"]*",\s*"([^"]+)"/gm;
20
20
 
21
- /** Die Projekte einer .sln, aufgelöst neben ihr; Ordnereinträge der Solution zählen nicht. */
21
+ /** The projects of a .sln, resolved next to it; solution folder entries do not count. */
22
22
  export const solutionProjects = async (solutionFile: string): Promise<string[]> => {
23
23
  const text = await readFile(solutionFile, "utf8");
24
24
  const directory = path.dirname(solutionFile);
@@ -38,9 +38,9 @@ const serverPath = (toolsDirectory: string): string => {
38
38
  if (configured) return configured;
39
39
  const provisioned = path.join(toolsDirectory, ...FSHARP_SERVER_FILE.split("/"));
40
40
  if (existsSync(provisioned)) return provisioned;
41
- throw new Error("fsautocomplete gibt es auf diesem Rechner nicht: weder "
42
- + `${FSHARP_SERVER_VARIABLE} gesetzt noch ${provisioned} vorhanden. Ein Arbeitsplatz holt es mit `
43
- + `pnpm provision --workspace, ein Server über pnpm provision <profil>; ${FSHARP_SERVER_VARIABLE} übersteuert beides`);
41
+ throw new Error("fsautocomplete does not exist on this machine: neither is "
42
+ + `${FSHARP_SERVER_VARIABLE} set nor does ${provisioned} exist. A workspace fetches it with `
43
+ + `pnpm provision --workspace, a server via pnpm provision <profile>; ${FSHARP_SERVER_VARIABLE} overrides both`);
44
44
  };
45
45
 
46
46
  const contentOf = (params: unknown): string => (params as { content?: string } | undefined)?.content ?? "";
@@ -65,8 +65,8 @@ export const executor: WorkspaceExecutorContribution = (machine) => ({
65
65
  const projects = root.toLowerCase().endsWith(".sln")
66
66
  ? (await solutionProjects(root)).filter((project) => project.toLowerCase().endsWith(".fsproj"))
67
67
  : [root];
68
- if (projects.length === 0) throw new Error(`${path.basename(root)} enthält keine F#-Projekte`);
69
- const finished = session.waitForNotification(timeoutMs, "Projekte geladen", (method, params) =>
68
+ if (projects.length === 0) throw new Error(`${path.basename(root)} contains no F# projects`);
69
+ const finished = session.waitForNotification(timeoutMs, "projects loaded", (method, params) =>
70
70
  method === "fsharp/notifyWorkspace"
71
71
  && contentOf(params).includes("\"workspaceLoad\"")
72
72
  && contentOf(params).includes("\"finished\""));
@@ -74,7 +74,7 @@ export const executor: WorkspaceExecutorContribution = (machine) => ({
74
74
  textDocuments: projects.map((project) => ({ uri: pathToFileURL(project).href })),
75
75
  });
76
76
  await finished;
77
- return `${projects.length} F#-Projekt${projects.length === 1 ? "" : "e"} aus ${path.basename(root)} geladen`;
77
+ return `Loaded ${projects.length} F# project${projects.length === 1 ? "" : "s"} from ${path.basename(root)}`;
78
78
  },
79
79
  }],
80
80
  });
@@ -24,7 +24,7 @@ const TOOL_FOLDER = /^tools\/net(\d+)\.0\/any\//;
24
24
 
25
25
  export const fsautocompleteArchiveUrl = `${FEED}/${PACKAGE}/${FSAUTOCOMPLETE_VERSION}/${PACKAGE}.${FSAUTOCOMPLETE_VERSION}.nupkg`;
26
26
 
27
- /** Das Werkzeugpaket bringt je Zielplattform einen Ordner mit; genommen wird die höchste Laufzeit, die es hier gibt. */
27
+ /** The tool package ships one folder per target platform; the highest runtime available here is taken. */
28
28
  const toolPrefix = (names: readonly string[], majors: readonly number[]): string => {
29
29
  const offered = names
30
30
  .map((name) => TOOL_FOLDER.exec(name))
@@ -33,8 +33,8 @@ const toolPrefix = (names: readonly string[], majors: readonly number[]): string
33
33
  const usable = offered.filter((entry) => majors.includes(entry.major)).sort((left, right) => right.major - left.major);
34
34
  const chosen = usable[0];
35
35
  if (!chosen) {
36
- throw new Error(`${PACKAGE} ${FSAUTOCOMPLETE_VERSION} bringt nur ${[...new Set(offered.map((entry) => `net${entry.major}.0`))].join(", ")} mit; `
37
- + `installiert sind die .NET-Laufzeiten ${majors.join(", ")}`);
36
+ throw new Error(`${PACKAGE} ${FSAUTOCOMPLETE_VERSION} only ships ${[...new Set(offered.map((entry) => `net${entry.major}.0`))].join(", ")}; `
37
+ + `the installed .NET runtimes are ${majors.join(", ")}`);
38
38
  }
39
39
  return chosen.prefix;
40
40
  };
@@ -48,7 +48,7 @@ export const createFsharpProvision = (
48
48
  if (await runtimes() === undefined) return provisionGap("dotnet", DOTNET_INSTRUCTION, false);
49
49
  const installed = await stat(serverFile(target)).catch(() => undefined);
50
50
  if (installed?.isFile() && await readProvisionStamp(target) === FSAUTOCOMPLETE_VERSION) return provisionReady;
51
- return provisionGap("fsautocomplete", `fsautocomplete ${FSAUTOCOMPLETE_VERSION} fehlt unter ${serverFile(target)}`, true);
51
+ return provisionGap("fsautocomplete", `fsautocomplete ${FSAUTOCOMPLETE_VERSION} is missing at ${serverFile(target)}`, true);
52
52
  };
53
53
  return {
54
54
  check,
@@ -58,15 +58,15 @@ export const createFsharpProvision = (
58
58
  if (!state.installable) throw new Error(state.instruction);
59
59
  const majors = await runtimes();
60
60
  if (!majors) throw new Error(DOTNET_INSTRUCTION);
61
- log(`fsautocomplete ${FSAUTOCOMPLETE_VERSION} laden`);
61
+ log(`Downloading fsautocomplete ${FSAUTOCOMPLETE_VERSION}`);
62
62
  const archive = await download(fsautocompleteArchiveUrl);
63
63
  const prefix = toolPrefix(readZipNames(archive), majors);
64
64
  const files = await unpackArchive(archive, prefix, target, "fsautocomplete");
65
65
  if (!(await stat(serverFile(target)).catch(() => undefined))?.isFile()) {
66
- throw new Error(`Das Paket ${PACKAGE} ${FSAUTOCOMPLETE_VERSION} enthält ${prefix}fsautocomplete.dll nicht`);
66
+ throw new Error(`The package ${PACKAGE} ${FSAUTOCOMPLETE_VERSION} does not contain ${prefix}fsautocomplete.dll`);
67
67
  }
68
68
  await writeProvisionStamp(target, FSAUTOCOMPLETE_VERSION);
69
- log(`${files} Dateien aus ${prefix} nach ${path.join(target, "fsautocomplete")}`);
69
+ log(`${files} files from ${prefix} to ${path.join(target, "fsautocomplete")}`);
70
70
  },
71
71
  };
72
72
  };
@@ -26,9 +26,9 @@ const serverPath = (toolsDirectory: string): string => {
26
26
  if (configured) return configured;
27
27
  const provisioned = path.join(toolsDirectory, ...ROSLYN_SERVER_FILE.split("/"));
28
28
  if (existsSync(provisioned)) return provisioned;
29
- throw new Error("Microsoft.CodeAnalysis.LanguageServer gibt es auf diesem Rechner nicht: weder "
30
- + `${ROSLYN_SERVER_VARIABLE} gesetzt noch ${provisioned} vorhanden. Ein Arbeitsplatz holt ihn mit `
31
- + `pnpm provision --workspace, ein Server über pnpm provision <profil>; ${ROSLYN_SERVER_VARIABLE} übersteuert beides`);
29
+ throw new Error("Microsoft.CodeAnalysis.LanguageServer does not exist on this machine: neither is "
30
+ + `${ROSLYN_SERVER_VARIABLE} set nor does ${provisioned} exist. A workspace fetches it with `
31
+ + `pnpm provision --workspace, a server via pnpm provision <profile>; ${ROSLYN_SERVER_VARIABLE} overrides both`);
32
32
  };
33
33
 
34
34
  export const executor: WorkspaceExecutorContribution = (machine) => ({
@@ -53,12 +53,12 @@ export const executor: WorkspaceExecutorContribution = (machine) => ({
53
53
  }),
54
54
  open: async (session, root, timeoutMs) => {
55
55
  const uri = pathToFileURL(root).href;
56
- const loaded = session.waitForNotification(timeoutMs, "Projekte geladen",
56
+ const loaded = session.waitForNotification(timeoutMs, "projects loaded",
57
57
  (method) => method === "workspace/projectInitializationComplete");
58
58
  if (root.toLowerCase().endsWith(".csproj")) session.notify("project/open", { projects: [uri] });
59
59
  else session.notify("solution/open", { solution: uri });
60
60
  await loaded;
61
- return `${path.basename(root)} geladen`;
61
+ return `Loaded ${path.basename(root)}`;
62
62
  },
63
63
  }],
64
64
  });
@@ -32,7 +32,7 @@ export const createRoslynProvision = (
32
32
  if (await runtimes() === undefined) return provisionGap("dotnet", DOTNET_INSTRUCTION, false);
33
33
  const installed = await stat(serverFile(target)).catch(() => undefined);
34
34
  if (installed?.isFile() && await readProvisionStamp(target) === ROSLYN_VERSION) return provisionReady;
35
- return provisionGap("roslyn", `Microsoft.CodeAnalysis.LanguageServer ${ROSLYN_VERSION} fehlt unter ${serverFile(target)}`, true);
35
+ return provisionGap("roslyn", `Microsoft.CodeAnalysis.LanguageServer ${ROSLYN_VERSION} is missing at ${serverFile(target)}`, true);
36
36
  };
37
37
  return {
38
38
  check,
@@ -40,13 +40,13 @@ export const createRoslynProvision = (
40
40
  const state = await check(target);
41
41
  if (state.kind === "ready") return;
42
42
  if (!state.installable) throw new Error(state.instruction);
43
- log(`Roslyn ${ROSLYN_VERSION} laden`);
43
+ log(`Downloading Roslyn ${ROSLYN_VERSION}`);
44
44
  const files = await unpackArchive(await download(roslynArchiveUrl), PREFIX, target, "roslyn");
45
45
  if (!(await stat(serverFile(target)).catch(() => undefined))?.isFile()) {
46
- throw new Error(`Das Paket ${PACKAGE} ${ROSLYN_VERSION} enthält ${ROSLYN_SERVER_FILE} nicht`);
46
+ throw new Error(`The package ${PACKAGE} ${ROSLYN_VERSION} does not contain ${ROSLYN_SERVER_FILE}`);
47
47
  }
48
48
  await writeProvisionStamp(target, ROSLYN_VERSION);
49
- log(`${files} Dateien nach ${path.join(target, "roslyn")}`);
49
+ log(`${files} files to ${path.join(target, "roslyn")}`);
50
50
  },
51
51
  };
52
52
  };
@@ -23,24 +23,24 @@ const PLUGIN_ID = "ragents.lsp-roslyn";
23
23
 
24
24
  const env = declaredEnvironment(roslynConfigDescriptors);
25
25
 
26
- /** Ohne Angabe lädt ein neuer Run nichts von selbst; einschalten geht nur ausdrücklich mit "on". */
26
+ /** If unset, a new run loads nothing by itself; it can only be switched on explicitly with "on". */
27
27
  export const solutionOnStart = (): boolean => {
28
28
  const mode = env.optional(SOLUTION_ON_START_VARIABLE) ?? "off";
29
29
  if (mode !== "on" && mode !== "off") {
30
- throw new Error(`${SOLUTION_ON_START_VARIABLE} in der Sektion ragents.lsp-roslyn ist "on" oder "off", nicht "${mode}"`);
30
+ throw new Error(`${SOLUTION_ON_START_VARIABLE} in the section ragents.lsp-roslyn is "on" or "off", not "${mode}"`);
31
31
  }
32
32
  return mode === "on";
33
33
  };
34
34
 
35
- /** Ein Pfad relativ zur Wurzel des Arbeitsbereichs, wie ihn `roslyn_solutions` nennt; ohne Laden beim Start hätte er keine Wirkung. */
35
+ /** A path relative to the workspace root, as `roslyn_solutions` names it; without loading on start it would have no effect. */
36
36
  export const preferredSolution = (loadOnStart: boolean): string | undefined => {
37
37
  const preferred = env.optional(SOLUTION_PREFERRED_VARIABLE);
38
38
  if (preferred === undefined) return undefined;
39
39
  if (!loadOnStart) {
40
- throw new Error(`${SOLUTION_PREFERRED_VARIABLE} in der Sektion ragents.lsp-roslyn verlangt ${SOLUTION_ON_START_VARIABLE}: "on"`);
40
+ throw new Error(`${SOLUTION_PREFERRED_VARIABLE} in the section ragents.lsp-roslyn requires ${SOLUTION_ON_START_VARIABLE}: "on"`);
41
41
  }
42
42
  if (preferred === "" || preferred.includes("\\") || path.win32.isAbsolute(preferred)) {
43
- throw new Error(`${SOLUTION_PREFERRED_VARIABLE} in der Sektion ragents.lsp-roslyn ist ein Pfad relativ zum Arbeitsbereich mit Schrägstrichen, nicht "${preferred}"`);
43
+ throw new Error(`${SOLUTION_PREFERRED_VARIABLE} in the section ragents.lsp-roslyn is a path relative to the workspace with forward slashes, not "${preferred}"`);
44
44
  }
45
45
  return preferred;
46
46
  };
@@ -9,8 +9,8 @@ import { DISMISSED_ANSWER, type AskService } from "@ragents/plugins/ragents.ask/
9
9
 
10
10
  export const SOLUTION_ON_START_VARIABLE = "ROSLYN_SOLUTION_ON_START";
11
11
  export const SOLUTION_PREFERRED_VARIABLE = "ROSLYN_SOLUTION_PREFERRED";
12
- export const NO_SOLUTION = "Keine laden";
13
- export const SOLUTION_QUESTION = "Welche Solution soll Roslyn für die Diagnostik laden?";
12
+ export const NO_SOLUTION = "Load none";
13
+ export const SOLUTION_QUESTION = "Which solution should Roslyn load for diagnostics?";
14
14
 
15
15
  export type SolutionStartStep =
16
16
  | { kind: "none" }
@@ -22,14 +22,14 @@ export type SolutionAnswer =
22
22
  | { kind: "open"; path: string }
23
23
  | { kind: "forward" };
24
24
 
25
- /** Die Vorgabe passt auch in einem Unterordner, etwa wenn der Arbeitsbereich der Ordner über dem Checkout ist. */
25
+ /** The preference also matches in a subdirectory, e.g. when the workspace is the folder above the checkout. */
26
26
  const matchesPreferred = (solution: string, preferred: string): boolean => {
27
27
  const path = solution.toLowerCase();
28
28
  const expected = preferred.toLowerCase();
29
29
  return path === expected || path.endsWith(`/${expected}`);
30
30
  };
31
31
 
32
- /** Was jemand schon geöffnet hat oder gerade öffnet, bleibt ohne Frage und ohne zweites Laden; passt die Vorgabe, zählen nur die passenden Solutions. */
32
+ /** What someone has already opened or is opening stays without a question and without a second load; if the preference matches, only the matching solutions count. */
33
33
  export const solutionStartStep = (listing: LanguageServerSolutions, preferred?: string): SolutionStartStep => {
34
34
  if (listing.opened || listing.solutions.length === 0) return { kind: "none" };
35
35
  const paths = listing.solutions.map((solution) => solution.path);
@@ -39,7 +39,7 @@ export const solutionStartStep = (listing: LanguageServerSolutions, preferred?:
39
39
  return { kind: "ask", options: [...candidates, NO_SOLUTION] };
40
40
  };
41
41
 
42
- /** Eine frei formulierte Antwort bekommt der Koordinator, damit sie nicht verloren geht. */
42
+ /** A freely worded answer goes to the coordinator so it does not get lost. */
43
43
  export const solutionAnswer = (options: readonly string[], answer: string): SolutionAnswer => {
44
44
  const chosen = answer.trim().replaceAll("\\", "/");
45
45
  if (chosen === NO_SOLUTION || answer === DISMISSED_ANSWER) return { kind: "none" };
@@ -57,10 +57,10 @@ export interface SolutionOnStartOptions {
57
57
 
58
58
  const messageOf = (error: unknown): string => error instanceof Error ? error.message : String(error);
59
59
 
60
- /** Lädt beim Start ohne Run-Script die Vorgabe oder die einzige Solution oder fragt bei mehreren; der Merker im Journal lässt das je Run höchstens einmal zu. */
60
+ /** On a start without a run script, loads the preference or the only solution, or asks if there are several; the marker in the journal allows this at most once per run. */
61
61
  export interface SolutionOnStart {
62
62
  lifecycle: SessionLifecycleContribution;
63
- /** Jemand hat eine Instanz geöffnet; eine noch offene Startfrage erledigt sich damit ohne Laden und ohne Input. */
63
+ /** Someone opened an instance; a still open start question is thereby settled without loading and without input. */
64
64
  opened: (runId: string) => void;
65
65
  }
66
66
 
@@ -84,7 +84,7 @@ export const createSolutionOnStart = (options: SolutionOnStartOptions): Solution
84
84
  runtime.enqueueInput(
85
85
  { actorId: runtime.state(runId).ownerId, commandId: `${options.pluginId}.solution-answer:${runId}` },
86
86
  runId,
87
- { actorId: coordinatorId, content: `Antwort auf die Frage: ${SOLUTION_QUESTION}\nAntwort: ${answer}\n${openTool} lädt eine Solution.` },
87
+ { actorId: coordinatorId, content: `Answer to the question: ${SOLUTION_QUESTION}\nAnswer: ${answer}\n${openTool} loads a solution.` },
88
88
  );
89
89
  };
90
90
 
@@ -97,7 +97,7 @@ export const createSolutionOnStart = (options: SolutionOnStartOptions): Solution
97
97
  { runId, agentId: ownerId, turnId: null, commandId: questionCommand(runId) },
98
98
  {
99
99
  question: SOLUTION_QUESTION,
100
- description: "Im Arbeitsbereich liegen mehrere Solutions; die gewählte lädt Roslyn für die Diagnostik ohne Build.",
100
+ description: "The workspace contains several solutions; Roslyn loads the chosen one for diagnostics without a build.",
101
101
  options: [...step.options],
102
102
  recipient: coordinatorId,
103
103
  },
@@ -108,13 +108,13 @@ export const createSolutionOnStart = (options: SolutionOnStartOptions): Solution
108
108
 
109
109
  const finish = (runId: string, controller: AbortController, error?: unknown): void => {
110
110
  if (error !== undefined && !controller.signal.aborted) {
111
- console.error(`${options.pluginId}: Solution beim Start von ${runId} nicht geladen: ${messageOf(error)}`);
111
+ console.error(`${options.pluginId}: solution not loaded on start of ${runId}: ${messageOf(error)}`);
112
112
  }
113
113
  if (running.get(runId) === controller) running.delete(runId);
114
114
  };
115
115
 
116
116
  const stop = ({ runId }: { runId: string }): void => {
117
- running.get(runId)?.abort(new Error("Der Run wurde gestoppt"));
117
+ running.get(runId)?.abort(new Error("The run was stopped"));
118
118
  running.delete(runId);
119
119
  };
120
120
 
@@ -124,7 +124,7 @@ export const createSolutionOnStart = (options: SolutionOnStartOptions): Solution
124
124
  event.type === "action.proposed" && event.commandId === questionCommand(runId));
125
125
  if (proposed?.type === "action.proposed") options.ask().withdraw(runId, proposed.payload.actionId);
126
126
  } catch (error) {
127
- console.error(`${options.pluginId}: Startfrage von ${runId} nicht verworfen: ${messageOf(error)}`);
127
+ console.error(`${options.pluginId}: start question of ${runId} not dismissed: ${messageOf(error)}`);
128
128
  }
129
129
  };
130
130
 
@@ -140,7 +140,7 @@ export const createSolutionOnStart = (options: SolutionOnStartOptions): Solution
140
140
  { pluginId: options.pluginId, scope: { kind: "run" }, state: { version: 1, startEntry: startEntry?.id ?? null } },
141
141
  );
142
142
  if (startEntry?.action === "script") return;
143
- if (!primaryActorId) throw new Error(`Der Run ${runId} hat beim Start keinen Koordinator, dem eine Antwort zugehen könnte`);
143
+ if (!primaryActorId) throw new Error(`The run ${runId} has no coordinator on start that could receive an answer`);
144
144
  const controller = new AbortController();
145
145
  running.set(runId, controller);
146
146
  try {
@@ -22,7 +22,7 @@ export const typescriptLanguageServer: LanguageServerDescription = {
22
22
  const hasWorkspaceTypeScript = (root: string): Promise<boolean> =>
23
23
  stat(path.join(root, "node_modules", "typescript", "lib", "tsserver.js")).then((info) => info.isFile(), () => false);
24
24
 
25
- /** Sprachserver und Compiler liegen in den node_modules des Hosts dieser Maschine; ohne Host gibt es sie hier nicht. */
25
+ /** Language server and compiler live in the node_modules of this machine's host; without a host they do not exist here. */
26
26
  export const executor: WorkspaceExecutorContribution = (machine) => ({
27
27
  languageServers: [{
28
28
  ...typescriptLanguageServer,
@@ -33,7 +33,7 @@ export const executor: WorkspaceExecutorContribution = (machine) => ({
33
33
  command: process.execPath,
34
34
  args: [machine.hostPackageFile(context.hostRoot, "typescript-language-server/lib/cli.mjs"), "--stdio"],
35
35
  cwd: root,
36
- // Im Extension-Host ist process.execPath Electron; ohne diese Variable startet es die Anwendung statt des Skripts.
36
+ // In the extension host process.execPath is Electron; without this variable it starts the application instead of the script.
37
37
  env: { ...context.env, ELECTRON_RUN_AS_NODE: "1" },
38
38
  uid: context.uid,
39
39
  gid: context.gid,
@@ -45,6 +45,6 @@ export const executor: WorkspaceExecutorContribution = (machine) => ({
45
45
  publishesOnlyChangedDiagnostics: true,
46
46
  }),
47
47
  open: async (_session, root) =>
48
- `TypeScript-Server auf ${path.basename(root)} bereit; Projekte werden je Datei aus der nächsten tsconfig.json geladen`,
48
+ `TypeScript server ready on ${path.basename(root)}; projects are loaded per file from the nearest tsconfig.json`,
49
49
  }],
50
50
  });
@@ -1,11 +1,15 @@
1
1
  import { configuredModelAliases, type ModelAlias } from "@ragents/host/plugin-support/model-aliases.js";
2
+ import { configuredModelProviders } from "@ragents/host/plugin-support/model-providers.js";
3
+ import type { ModelUpstream } from "@ragents/host/plugin-support/model-upstreams.js";
2
4
 
3
- /** Das Relay bietet die Aliasse des Profils an (MODEL_ALIASES im Abschnitt host), dieselben wie für die eigenen Runs. */
5
+ /** The relay offers the profile's aliases (MODEL_ALIASES in the host section), the same as for its own runs. */
4
6
  export const relayAliases = (aliases: readonly ModelAlias[]): readonly ModelAlias[] => {
5
- if (aliases.length === 0) throw new Error("ragents.model-relay needs MODEL_ALIASES in the host section, a list of { alias, model, thinking?, compaction }");
7
+ if (aliases.length === 0) throw new Error("ragents.model-relay needs MODEL_ALIASES in the host section, a list of { alias, model, thinking?, thinkingLevels?, compaction }");
6
8
  return aliases;
7
9
  };
8
10
 
9
11
  export const modelRelayConfig = Object.freeze({
10
12
  aliases: () => relayAliases(configuredModelAliases()),
13
+ /** The profile's own providers (MODEL_PROVIDERS in the host section) next to those of the product. */
14
+ upstreams: (product: readonly ModelUpstream[]): readonly ModelUpstream[] => [...product, ...configuredModelProviders()],
11
15
  });