@schlenkr/ragents 0.1.4 → 0.1.6

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 (1052) hide show
  1. package/README.md +19 -11
  2. package/apps/server/package.json +8 -6
  3. package/apps/server/src/access-projection.ts +3 -3
  4. package/apps/server/src/access-service.ts +19 -8
  5. package/apps/server/src/access-session.ts +6 -2
  6. package/apps/server/src/api/contracts.ts +19 -18
  7. package/apps/server/src/api/core-methods.ts +45 -26
  8. package/apps/server/src/api/delivery.ts +4 -4
  9. package/apps/server/src/api/reference.ts +1 -1
  10. package/apps/server/src/api/rights.ts +86 -7
  11. package/apps/server/src/chat-context.ts +1 -1
  12. package/apps/server/src/chat-handler.ts +14 -7
  13. package/apps/server/src/config-file.ts +25 -6
  14. package/apps/server/src/config.ts +4 -4
  15. package/apps/server/src/data-directory.ts +1 -1
  16. package/apps/server/src/folder-install.ts +115 -0
  17. package/apps/server/src/host-api.json +1256 -0
  18. package/apps/server/src/host-api.ts +190 -0
  19. package/apps/server/src/host-resolution-hooks.mjs +50 -1
  20. package/apps/server/src/host-resolution.ts +26 -1
  21. package/apps/server/src/host-version.ts +41 -0
  22. package/apps/server/src/host-web.ts +59 -0
  23. package/apps/server/src/layout.ts +1 -1
  24. package/apps/server/src/main.ts +3 -2
  25. package/apps/server/src/missing-environment.ts +47 -0
  26. package/apps/server/src/parent-watch.ts +37 -0
  27. package/apps/server/src/plugin-build/build.ts +650 -0
  28. package/apps/server/src/plugin-build/host-api-names.ts +185 -0
  29. package/apps/server/src/plugin-build/plugin-description.ts +118 -0
  30. package/apps/server/src/plugin-build/typecheck.ts +66 -0
  31. package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/app-project.ts +16 -15
  32. package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/client-compiler.ts +4 -4
  33. package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/client-contracts.ts +4 -4
  34. package/apps/server/src/plugin-support/actor-programs/client-runtime.ts +27 -0
  35. package/{plugins/ragents.actor-programs → apps/server/src/plugin-support/actor-programs}/contract.ts +3 -3
  36. package/apps/server/src/plugin-support/actor-programs/service.ts +1 -1
  37. package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/tailwind.ts +2 -3
  38. package/{plugins/ragents.actor-programs → apps/server/src/plugin-support/actor-programs}/workflow/index.ts +48 -48
  39. package/apps/server/src/plugin-support/agent-tool.ts +10 -5
  40. package/apps/server/src/plugin-support/http.ts +1 -1
  41. package/apps/server/src/plugin-support/language-server/contract.ts +37 -6
  42. package/apps/server/src/plugin-support/language-server/plugin.ts +18 -8
  43. package/apps/server/src/plugin-support/language-server/snapshot-method.ts +32 -7
  44. package/apps/server/src/plugin-support/language-server/tools.ts +59 -15
  45. package/apps/server/src/plugin-support/model-aliases.ts +77 -0
  46. package/apps/server/src/plugin-support/model-choice.ts +17 -7
  47. package/apps/server/src/plugin-support/model-completion.ts +58 -0
  48. package/apps/server/src/plugin-support/model-upstreams.ts +2 -2
  49. package/apps/server/src/plugin-support/native-typescript-executor.ts +10 -7
  50. package/apps/server/src/plugin-support/plugin-config.ts +1 -1
  51. package/apps/server/src/plugin-support/plugin-folder.ts +4 -1
  52. package/apps/server/src/plugin-support/plugin-module.ts +1 -1
  53. package/apps/server/src/plugin-support/plugins-root.ts +6 -10
  54. package/apps/server/src/plugin-support/process-sandbox.ts +312 -0
  55. package/apps/server/src/plugin-support/product-model-settings-contract.ts +14 -5
  56. package/apps/server/src/plugin-support/product-model-settings.ts +10 -9
  57. package/{plugins/ragents.product/server/relay.ts → apps/server/src/plugin-support/product-relay.ts} +2 -2
  58. package/apps/server/src/plugin-support/product-start-options.ts +8 -3
  59. package/apps/server/src/plugin-support/prompt.ts +1 -1
  60. package/apps/server/src/plugin-support/provision.ts +6 -0
  61. package/apps/server/src/plugin-support/run-scripts.ts +16 -2
  62. package/apps/server/src/plugin-support/skills.ts +32 -16
  63. package/apps/server/src/plugin-support/start-entries-contract.ts +12 -3
  64. package/apps/server/src/plugin-support/start-options-contract.ts +5 -1
  65. package/apps/server/src/plugin-support/thinking-level.ts +6 -1
  66. package/apps/server/src/plugin-support/tool-availability.ts +1 -7
  67. package/apps/server/src/plugin-support/workspace-ownership.ts +12 -6
  68. package/apps/server/src/plugin-support/workspace-sandbox-host.ts +184 -37
  69. package/apps/server/src/profile/bundle-manifest.ts +183 -0
  70. package/apps/server/src/profile/compose.ts +19 -10
  71. package/apps/server/src/profile/plugin-discovery.ts +98 -46
  72. package/apps/server/src/profile/provisioning.ts +30 -26
  73. package/apps/server/src/profile-target.ts +3 -0
  74. package/apps/server/src/provider.ts +182 -99
  75. package/apps/server/src/ragents/actor-chat-history.ts +23 -22
  76. package/apps/server/src/ragents/chat-projection.ts +25 -14
  77. package/apps/server/src/ragents/chat-text-positions.ts +4 -4
  78. package/apps/server/src/ragents/coordinator.ts +27 -1
  79. package/apps/server/src/ragents/document-store.ts +1 -1
  80. package/apps/server/src/ragents/engine.ts +69 -36
  81. package/apps/server/src/ragents/global-chat.ts +26 -13
  82. package/apps/server/src/ragents/host-services.ts +15 -6
  83. package/apps/server/src/ragents/journal-chat-events.ts +31 -15
  84. package/apps/server/src/ragents/product-runtime.ts +1 -1
  85. package/apps/server/src/ragents/run-owner.ts +17 -0
  86. package/apps/server/src/ragents/runtime-bridge.ts +1 -1
  87. package/apps/server/src/ragents/session.ts +181 -82
  88. package/apps/server/src/ragents/start-option-state.ts +1 -1
  89. package/apps/server/src/ragents/typescript-tools.ts +35 -27
  90. package/apps/server/src/ragents/workspace-runtime.ts +74 -8
  91. package/apps/server/src/rpc/dispatcher.ts +17 -8
  92. package/apps/server/src/rpc/http-transport.ts +1 -3
  93. package/apps/server/src/rpc/stdio-transport.ts +1 -1
  94. package/apps/server/src/run-preparation-contract.ts +1 -1
  95. package/apps/server/src/run-preparation-input.ts +1 -1
  96. package/apps/server/src/run-preparation.ts +13 -20
  97. package/apps/server/src/run-transfer.ts +2 -2
  98. package/apps/server/src/server.ts +112 -33
  99. package/apps/server/src/settings.ts +7 -8
  100. package/apps/server/src/title-compactor.ts +5 -8
  101. package/apps/server/src/title-settings.ts +3 -3
  102. package/apps/server/src/web-bundles.ts +79 -0
  103. package/apps/server/src/web-stylesheet.ts +85 -0
  104. package/apps/server/tsconfig.json +4 -4
  105. package/apps/server/tsconfig.plugin.json +58 -0
  106. package/apps/web/dist/assets/highlighted-body-KPVGNVTW-B9qYBARS.js +1 -0
  107. package/apps/web/dist/assets/main-BCjvD2Hh.js +6 -0
  108. package/apps/web/dist/assets/mermaid-HWGCJPDP-BPn4aV2r.css +1 -0
  109. package/apps/web/dist/assets/mermaid-HWGCJPDP-CvYYFK_n.js +478 -0
  110. package/apps/web/dist/assets/runPanel-CG7kRMJh.js +21 -0
  111. package/apps/web/dist/help/guide-access.html +199 -0
  112. package/apps/web/dist/help/guide-access.md +84 -0
  113. package/apps/web/dist/help/guide-clients.html +421 -0
  114. package/apps/web/dist/help/guide-clients.md +336 -0
  115. package/apps/web/dist/help/guide-distributed.html +320 -0
  116. package/apps/web/dist/help/guide-distributed.md +225 -0
  117. package/apps/web/dist/help/guide-functions.html +231 -0
  118. package/apps/web/dist/help/guide-functions.md +127 -0
  119. package/apps/web/dist/help/guide-getting-started.html +230 -0
  120. package/apps/web/dist/help/guide-getting-started.md +123 -0
  121. package/apps/web/dist/help/guide-ideas.html +183 -0
  122. package/apps/web/dist/help/guide-ideas.md +71 -0
  123. package/apps/web/dist/help/guide-plugins.html +450 -0
  124. package/apps/web/dist/help/guide-plugins.md +341 -0
  125. package/apps/web/dist/help/guide-programs.html +359 -0
  126. package/apps/web/dist/help/guide-programs.md +271 -0
  127. package/apps/web/dist/help/guide-runtime.html +338 -0
  128. package/apps/web/dist/help/guide-runtime.md +225 -0
  129. package/apps/web/dist/help/guide.html +133 -0
  130. package/apps/web/dist/help/guide.md +13 -0
  131. package/apps/web/dist/help/homepage-bullets.js +12 -0
  132. package/apps/web/dist/help/homepage-distributed.js +261 -0
  133. package/apps/web/dist/help/homepage-plugins.js +30 -0
  134. package/apps/web/dist/help/homepage-scenes.js +368 -0
  135. package/apps/web/dist/help/homepage-stickers.js +69 -0
  136. package/apps/web/dist/help/homepage-story-nav.js +11 -0
  137. package/apps/web/dist/help/homepage-subnav.js +61 -0
  138. package/apps/web/dist/help/homepage.css +833 -0
  139. package/apps/web/dist/help/index.html +1167 -0
  140. package/apps/web/dist/help/mini-app.css +7056 -0
  141. package/apps/web/dist/help/mini-app.html +15 -0
  142. package/apps/web/dist/help/mini-app.js +131 -0
  143. package/apps/web/dist/help/screenshots/release-checklist-vscode.png +0 -0
  144. package/apps/web/dist/help/screenshots/release-checklist-web.png +0 -0
  145. package/apps/web/dist/help/scroll-vendor.js +73 -0
  146. package/apps/web/dist/help/site.css +63 -0
  147. package/apps/web/dist/help/site.js +103 -0
  148. package/apps/web/dist/host-web.json +143 -0
  149. package/apps/web/dist/index.html +15 -0
  150. package/apps/web/dist/run-panel.html +15 -0
  151. package/apps/web/package.json +2 -2
  152. package/apps/web/src/App.tsx +8 -6
  153. package/apps/web/src/Overview.tsx +5 -5
  154. package/apps/web/src/PluginActivation.ts +25 -5
  155. package/apps/web/src/PluginChat.tsx +163 -129
  156. package/apps/web/src/PluginFailureNotice.tsx +15 -0
  157. package/apps/web/src/PluginRegistry.tsx +106 -68
  158. package/apps/web/src/RunPreparationChat.tsx +40 -28
  159. package/apps/web/src/RunStore.ts +2 -2
  160. package/apps/web/src/SettingsModal.tsx +37 -37
  161. package/apps/web/src/StartOptions.tsx +81 -26
  162. package/apps/web/src/StartSelection.tsx +111 -0
  163. package/apps/web/src/StartTiles.tsx +73 -0
  164. package/apps/web/src/{CanvasShortcuts.tsx → SurfaceShortcuts.tsx} +2 -2
  165. package/apps/web/src/ThemeSettings.tsx +1 -1
  166. package/apps/web/src/WorkspacePanel.tsx +4 -4
  167. package/apps/web/src/access-session.ts +4 -1
  168. package/{plugins/ragents.orchestration/web → apps/web/src}/actor-conversation.ts +3 -3
  169. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/DataTable.tsx +9 -9
  170. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/FilePicker.tsx +4 -4
  171. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/FlowDiagram.tsx +16 -14
  172. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/FlowDiagramRenderer.tsx +3 -3
  173. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/Form.tsx +12 -12
  174. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/Layout.tsx +1 -1
  175. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/MessageList.tsx +5 -5
  176. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/Viewers.tsx +8 -7
  177. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/WorkflowDiagram.tsx +1 -1
  178. package/apps/web/src/actor-programs/client-ui/chat-contracts.d.ts +64 -0
  179. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/contracts.d.ts +2 -2
  180. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/file-selection.ts +5 -5
  181. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/index.tsx +22 -16
  182. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/layout-contracts.d.ts +1 -1
  183. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/message-list-contracts.d.ts +2 -2
  184. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/workflow-diagram-contracts.d.ts +1 -1
  185. package/apps/web/src/api.ts +43 -22
  186. package/apps/web/src/chat/QuasselHost.tsx +12 -0
  187. package/apps/web/src/chat/StoppedActorNotice.tsx +39 -0
  188. package/apps/web/src/chat/chat-target.ts +14 -5
  189. package/apps/web/src/chat/requests.ts +13 -5
  190. package/apps/web/src/chat/useAttachmentCapabilities.ts +2 -2
  191. package/apps/web/src/chat/useChat.ts +8 -7
  192. package/apps/web/src/chat/user-location.ts +1 -1
  193. package/apps/web/src/chat-view-settings.tsx +49 -0
  194. package/apps/web/src/host-modules.ts +90 -0
  195. package/apps/web/src/language-server/api.ts +24 -0
  196. package/{plugins/ragents.lsp-roslyn/web → apps/web/src/language-server}/language-server-plugin.tsx +133 -6
  197. package/apps/web/src/main.tsx +4 -2
  198. package/apps/web/src/offered-machines.ts +11 -0
  199. package/apps/web/src/panel/ConnectionsPage.tsx +117 -0
  200. package/apps/web/src/panel/LoginForm.tsx +9 -9
  201. package/apps/web/src/panel/PanelDialogs.tsx +44 -27
  202. package/apps/web/src/panel/PanelHeader.tsx +11 -0
  203. package/apps/web/src/panel/PanelPage.tsx +8 -5
  204. package/apps/web/src/panel/RunLine.tsx +48 -0
  205. package/apps/web/src/panel/RunsPage.tsx +84 -0
  206. package/apps/web/src/panel/StartPage.tsx +163 -0
  207. package/apps/web/src/panel/connection-state.ts +40 -0
  208. package/apps/web/src/panel/contract.ts +64 -21
  209. package/apps/web/src/panel/page-props.ts +6 -0
  210. package/apps/web/src/plugin-bootstrap.ts +60 -31
  211. package/{plugins/ragents.product/web → apps/web/src/product}/ModelControl.tsx +3 -3
  212. package/{plugins/ragents.product/web → apps/web/src/product}/ProductModelSettings.tsx +7 -7
  213. package/{plugins/ragents.product/web → apps/web/src/product}/SystemPromptControl.tsx +3 -3
  214. package/{plugins/ragents.product/web → apps/web/src/product}/model-settings.ts +3 -3
  215. package/{plugins/ragents.product/web → apps/web/src/product}/start-options.tsx +2 -2
  216. package/apps/web/src/rpc/client.ts +28 -6
  217. package/apps/web/src/run-panel/RunPanelApp.tsx +334 -0
  218. package/apps/web/src/{column/ColumnRunHeader.tsx → run-panel/RunPanelHeader.tsx} +2 -2
  219. package/apps/web/src/{column/ColumnMenu.tsx → run-panel/RunPanelMenu.tsx} +4 -4
  220. package/apps/web/src/run-panel/RunPanelRail.tsx +38 -0
  221. package/apps/web/src/run-panel/RunPanelWorkspace.tsx +55 -0
  222. package/apps/web/src/{column → run-panel}/clipboard.ts +21 -10
  223. package/apps/web/src/run-panel/host-contract.ts +123 -0
  224. package/apps/web/src/{column → run-panel}/host.ts +31 -23
  225. package/apps/web/src/run-panel/input-bridge.ts +75 -0
  226. package/apps/web/src/run-panel/keyboard.ts +53 -0
  227. package/apps/web/src/run-panel/run-panel-location.ts +35 -0
  228. package/apps/web/src/{column → run-panel}/use-session-list.ts +3 -3
  229. package/apps/web/src/run-panel/workspace-state.ts +43 -0
  230. package/apps/web/src/{column.tsx → run-panel.tsx} +20 -13
  231. package/apps/web/src/run-preparation.ts +1 -1
  232. package/{plugins/ragents.orchestration/web → apps/web/src}/run-view.ts +25 -7
  233. package/apps/web/src/settings-contributions.ts +16 -18
  234. package/apps/web/src/title-model-settings.ts +1 -1
  235. package/apps/web/src/toolLine.ts +1 -1
  236. package/apps/web/src/ui/ListDetail.tsx +1 -1
  237. package/apps/web/src/ui/dialog.tsx +5 -5
  238. package/apps/web/src/ui/frame.css +1 -0
  239. package/apps/web/src/ui/index.ts +5 -0
  240. package/apps/web/src/ui/popover.tsx +2 -2
  241. package/apps/web/src/ui/quassel.css +41 -0
  242. package/apps/web/src/ui/relative-time.ts +36 -0
  243. package/apps/web/src/ui/startup-notice.tsx +22 -0
  244. package/apps/web/src/ui/state-icon.tsx +60 -0
  245. package/apps/web/src/ui/state-vocabulary.ts +31 -0
  246. package/apps/web/src/ui/stop-button.tsx +22 -0
  247. package/apps/web/src/ui/tailwind.css +2 -3
  248. package/apps/web/src/ui/theme.css +19 -19
  249. package/apps/web/tsconfig.json +4 -5
  250. package/apps/web/tsconfig.plugin.json +44 -0
  251. package/bundles/ragents.activity/ragents-bundle.json +38 -0
  252. package/bundles/ragents.activity/server/index.js +14 -0
  253. package/bundles/ragents.activity/server/index.js.map +7 -0
  254. package/bundles/ragents.activity/web/classes.json +1 -0
  255. package/bundles/ragents.activity/web/index.js +2 -0
  256. package/bundles/ragents.activity/web/index.js.map +7 -0
  257. package/bundles/ragents.actor-programs/prompt.hbs +80 -0
  258. package/bundles/ragents.actor-programs/ragents-bundle.json +214 -0
  259. package/bundles/ragents.actor-programs/server/index.js +2071 -0
  260. package/bundles/ragents.actor-programs/server/index.js.map +7 -0
  261. package/bundles/ragents.actor-programs/summary.hbs +17 -0
  262. package/bundles/ragents.actor-programs/web/classes.json +1 -0
  263. package/bundles/ragents.actor-programs/web/index.js +27 -0
  264. package/bundles/ragents.actor-programs/web/index.js.map +7 -0
  265. package/bundles/ragents.ask/ask.hbs +4 -0
  266. package/bundles/ragents.ask/ragents-bundle.json +97 -0
  267. package/bundles/ragents.ask/server/chunks/chunk-PDJO75SQ.js +13 -0
  268. package/bundles/ragents.ask/server/chunks/chunk-PDJO75SQ.js.map +7 -0
  269. package/bundles/ragents.ask/server/exports/server/contract.js +11 -0
  270. package/bundles/ragents.ask/server/exports/server/contract.js.map +7 -0
  271. package/bundles/ragents.ask/server/index.js +279 -0
  272. package/bundles/ragents.ask/server/index.js.map +7 -0
  273. package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js +2 -0
  274. package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js.map +7 -0
  275. package/bundles/ragents.ask/web/chunks/chunk-HGFDGTNC.js +2 -0
  276. package/bundles/ragents.ask/web/chunks/chunk-HGFDGTNC.js.map +7 -0
  277. package/bundles/ragents.ask/web/chunks/chunk-V7W3QDVS.js +25 -0
  278. package/bundles/ragents.ask/web/chunks/chunk-V7W3QDVS.js.map +7 -0
  279. package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js +2 -0
  280. package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js.map +7 -0
  281. package/bundles/ragents.ask/web/classes.json +1 -0
  282. package/bundles/ragents.ask/web/exports/ask-payload.js +2 -0
  283. package/bundles/ragents.ask/web/exports/ask-payload.js.map +7 -0
  284. package/bundles/ragents.ask/web/exports/web/QuestionCard.js +2 -0
  285. package/bundles/ragents.ask/web/exports/web/QuestionCard.js.map +7 -0
  286. package/bundles/ragents.ask/web/exports/web/api.js +2 -0
  287. package/bundles/ragents.ask/web/exports/web/api.js.map +7 -0
  288. package/bundles/ragents.ask/web/index.js +2 -0
  289. package/bundles/ragents.ask/web/index.js.map +7 -0
  290. package/bundles/ragents.browser/ragents-bundle.json +53 -0
  291. package/bundles/ragents.browser/server/chunks/chunk-2GKLLCBE.js +11 -0
  292. package/bundles/ragents.browser/server/chunks/chunk-2GKLLCBE.js.map +7 -0
  293. package/bundles/ragents.browser/server/exports/server/contract.js +9 -0
  294. package/bundles/ragents.browser/server/exports/server/contract.js.map +7 -0
  295. package/bundles/ragents.browser/server/index.js +479 -0
  296. package/bundles/ragents.browser/server/index.js.map +7 -0
  297. package/bundles/ragents.browser/skills/browser-testing/SKILL.md +38 -0
  298. package/bundles/ragents.documents/prompt.hbs +18 -0
  299. package/bundles/ragents.documents/ragents-bundle.json +120 -0
  300. package/bundles/ragents.documents/server/chunks/chunk-QIECRZ7C.js +37 -0
  301. package/bundles/ragents.documents/server/chunks/chunk-QIECRZ7C.js.map +7 -0
  302. package/bundles/ragents.documents/server/exports/contract.js +11 -0
  303. package/bundles/ragents.documents/server/exports/contract.js.map +7 -0
  304. package/bundles/ragents.documents/server/index.js +290 -0
  305. package/bundles/ragents.documents/server/index.js.map +7 -0
  306. package/bundles/ragents.documents/web/classes.json +1 -0
  307. package/bundles/ragents.documents/web/index.js +26 -0
  308. package/bundles/ragents.documents/web/index.js.map +7 -0
  309. package/bundles/ragents.lsp-fsharp/ragents-bundle.json +49 -0
  310. package/bundles/ragents.lsp-fsharp/server/index.js +82 -0
  311. package/bundles/ragents.lsp-fsharp/server/index.js.map +7 -0
  312. package/bundles/ragents.lsp-fsharp/web/classes.json +1 -0
  313. package/bundles/ragents.lsp-fsharp/web/index.js +2 -0
  314. package/bundles/ragents.lsp-fsharp/web/index.js.map +7 -0
  315. package/bundles/ragents.lsp-roslyn/ragents-bundle.json +61 -0
  316. package/bundles/ragents.lsp-roslyn/server/index.js +208 -0
  317. package/bundles/ragents.lsp-roslyn/server/index.js.map +7 -0
  318. package/bundles/ragents.lsp-roslyn/web/classes.json +1 -0
  319. package/bundles/ragents.lsp-roslyn/web/index.js +2 -0
  320. package/bundles/ragents.lsp-roslyn/web/index.js.map +7 -0
  321. package/bundles/ragents.lsp-typescript/ragents-bundle.json +36 -0
  322. package/bundles/ragents.lsp-typescript/server/index.js +13 -0
  323. package/bundles/ragents.lsp-typescript/server/index.js.map +7 -0
  324. package/bundles/ragents.lsp-typescript/web/classes.json +1 -0
  325. package/bundles/ragents.lsp-typescript/web/index.js +2 -0
  326. package/bundles/ragents.lsp-typescript/web/index.js.map +7 -0
  327. package/bundles/ragents.model-relay/ragents-bundle.json +33 -0
  328. package/bundles/ragents.model-relay/server/index.js +230 -0
  329. package/bundles/ragents.model-relay/server/index.js.map +7 -0
  330. package/bundles/ragents.orchestration/orchestration.hbs +106 -0
  331. package/bundles/ragents.orchestration/ragents-bundle.json +194 -0
  332. package/bundles/ragents.orchestration/server/index.js +277 -0
  333. package/bundles/ragents.orchestration/server/index.js.map +7 -0
  334. package/bundles/ragents.orchestration/web/chunks/chunk-ODMMQGX2.js +2 -0
  335. package/bundles/ragents.orchestration/web/chunks/chunk-ODMMQGX2.js.map +7 -0
  336. package/bundles/ragents.orchestration/web/chunks/chunk-OQYCNYXN.js +2 -0
  337. package/bundles/ragents.orchestration/web/chunks/chunk-OQYCNYXN.js.map +7 -0
  338. package/bundles/ragents.orchestration/web/chunks/chunk-OSKPH6SZ.js +2 -0
  339. package/bundles/ragents.orchestration/web/chunks/chunk-OSKPH6SZ.js.map +7 -0
  340. package/bundles/ragents.orchestration/web/chunks/chunk-XGPPQCZR.js +2 -0
  341. package/bundles/ragents.orchestration/web/chunks/chunk-XGPPQCZR.js.map +7 -0
  342. package/bundles/ragents.orchestration/web/classes.json +1 -0
  343. package/bundles/ragents.orchestration/web/exports/web/program-slot.js +2 -0
  344. package/bundles/ragents.orchestration/web/exports/web/program-slot.js.map +7 -0
  345. package/bundles/ragents.orchestration/web/exports/web/surface-entities.js +2 -0
  346. package/bundles/ragents.orchestration/web/exports/web/surface-entities.js.map +7 -0
  347. package/bundles/ragents.orchestration/web/exports/web/tile-docking.js +2 -0
  348. package/bundles/ragents.orchestration/web/exports/web/tile-docking.js.map +7 -0
  349. package/bundles/ragents.orchestration/web/index.js +51 -0
  350. package/bundles/ragents.orchestration/web/index.js.map +7 -0
  351. package/bundles/ragents.overseer/ragents-bundle.json +144 -0
  352. package/bundles/ragents.overseer/server/index.js +652 -0
  353. package/bundles/ragents.overseer/server/index.js.map +7 -0
  354. package/bundles/ragents.overseer/web/classes.json +1 -0
  355. package/bundles/ragents.overseer/web/index.js +25 -0
  356. package/bundles/ragents.overseer/web/index.js.map +7 -0
  357. package/bundles/ragents.processes/ragents-bundle.json +93 -0
  358. package/bundles/ragents.processes/server/index.js +204 -0
  359. package/bundles/ragents.processes/server/index.js.map +7 -0
  360. package/bundles/ragents.processes/web/classes.json +1 -0
  361. package/bundles/ragents.processes/web/index.js +4 -0
  362. package/bundles/ragents.processes/web/index.js.map +7 -0
  363. package/bundles/ragents.product/preamble.hbs +9 -0
  364. package/bundles/ragents.product/ragents-bundle.json +93 -0
  365. package/bundles/ragents.product/server/index.js +208 -0
  366. package/bundles/ragents.product/server/index.js.map +7 -0
  367. package/bundles/ragents.product/web/classes.json +1 -0
  368. package/bundles/ragents.product/web/index.js +2 -0
  369. package/bundles/ragents.product/web/index.js.map +7 -0
  370. package/bundles/ragents.profile-distribution/ragents-bundle.json +64 -0
  371. package/bundles/ragents.profile-distribution/server/index.js +241 -0
  372. package/bundles/ragents.profile-distribution/server/index.js.map +7 -0
  373. package/bundles/ragents.reference/ragents-bundle.json +39 -0
  374. package/bundles/ragents.reference/run-scripts/balcony-wizard/RUN.md +27 -0
  375. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/package.json +10 -0
  376. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +80 -0
  377. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/conversation.ts +82 -0
  378. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/tests/conversation.test.ts +154 -0
  379. package/bundles/ragents.reference/run-scripts/balcony-wizard/package.json +9 -0
  380. package/bundles/ragents.reference/run-scripts/balcony-wizard/src/server.ts +32 -0
  381. package/bundles/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +59 -0
  382. package/bundles/ragents.reference/run-scripts/conversation-circle/RUN.md +13 -0
  383. package/bundles/ragents.reference/run-scripts/conversation-circle/package.json +9 -0
  384. package/bundles/ragents.reference/run-scripts/conversation-circle/src/server.ts +81 -0
  385. package/bundles/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +26 -0
  386. package/bundles/ragents.reference/run-scripts/conversation-circle/tests/program.test.ts +34 -0
  387. package/bundles/ragents.reference/run-scripts/learning-afternoon/RUN.md +24 -0
  388. package/bundles/ragents.reference/run-scripts/learning-afternoon/package.json +10 -0
  389. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/experiment.md +1 -0
  390. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/helper.md +5 -0
  391. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/quiz.md +1 -0
  392. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/client.tsx +27 -0
  393. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/server.ts +137 -0
  394. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/state.ts +38 -0
  395. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/view.tsx +42 -0
  396. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/workflow.ts +38 -0
  397. package/bundles/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +218 -0
  398. package/bundles/ragents.reference/run-scripts/moderated-round/RUN.md +12 -0
  399. package/bundles/ragents.reference/run-scripts/moderated-round/package.json +9 -0
  400. package/bundles/ragents.reference/run-scripts/moderated-round/src/server.ts +60 -0
  401. package/bundles/ragents.reference/run-scripts/moderated-round/tests/helpers.ts +26 -0
  402. package/bundles/ragents.reference/run-scripts/moderated-round/tests/program.test.ts +24 -0
  403. package/bundles/ragents.reference/run-scripts/shared-actor-list/RUN.md +18 -0
  404. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/package.json +16 -0
  405. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/client.tsx +39 -0
  406. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/contract.ts +15 -0
  407. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/server.ts +14 -0
  408. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/tests/program.test.ts +13 -0
  409. package/bundles/ragents.reference/run-scripts/shared-actor-list/package.json +9 -0
  410. package/bundles/ragents.reference/run-scripts/shared-actor-list/src/server.ts +65 -0
  411. package/bundles/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +26 -0
  412. package/bundles/ragents.reference/run-scripts/shared-actor-list/tests/program.test.ts +42 -0
  413. package/bundles/ragents.reference/run-scripts/word-game/RUN.md +25 -0
  414. package/bundles/ragents.reference/run-scripts/word-game/package.json +11 -0
  415. package/bundles/ragents.reference/run-scripts/word-game/src/client.tsx +27 -0
  416. package/bundles/ragents.reference/run-scripts/word-game/src/contract.ts +23 -0
  417. package/bundles/ragents.reference/run-scripts/word-game/src/server.ts +105 -0
  418. package/bundles/ragents.reference/run-scripts/word-game/src/state.ts +22 -0
  419. package/bundles/ragents.reference/run-scripts/word-game/src/view.tsx +54 -0
  420. package/bundles/ragents.reference/run-scripts/word-game/tests/program.test.ts +252 -0
  421. package/bundles/ragents.reference/server/index.js +16 -0
  422. package/bundles/ragents.reference/server/index.js.map +7 -0
  423. package/bundles/ragents.reference/skills/100-shared-actor-list/SKILL.md +12 -0
  424. package/bundles/ragents.reference/skills/110-all-card-slots/SKILL.md +12 -0
  425. package/bundles/ragents.reference/skills/150-editorial-workbench/SKILL.md +12 -0
  426. package/bundles/ragents.reference/skills/160-learning-companion/SKILL.md +12 -0
  427. package/bundles/ragents.reference/skills/170-photo-collection/SKILL.md +12 -0
  428. package/bundles/ragents.reference/skills/180-decision-workbench/SKILL.md +12 -0
  429. package/bundles/ragents.reference/skills/190-review-queue/SKILL.md +12 -0
  430. package/bundles/ragents.reference/skills/20-circle-of-four/SKILL.md +12 -0
  431. package/bundles/ragents.reference/skills/200-typescript-diagnostics/SKILL.md +12 -0
  432. package/bundles/ragents.reference/skills/210-moderator-handover/SKILL.md +12 -0
  433. package/bundles/ragents.reference/skills/220-actor-approval-list/SKILL.md +12 -0
  434. package/bundles/ragents.reference/skills/230-shared-state-views/SKILL.md +12 -0
  435. package/bundles/ragents.reference/skills/240-live-result-list/SKILL.md +12 -0
  436. package/bundles/ragents.reference/skills/250-balcony-wizard/SKILL.md +12 -0
  437. package/bundles/ragents.reference/skills/30-llm-without-runtime-knowledge/SKILL.md +12 -0
  438. package/bundles/ragents.reference/skills/35-actor-input-fifo/SKILL.md +12 -0
  439. package/bundles/ragents.reference/skills/40-subscription-matrix/SKILL.md +12 -0
  440. package/bundles/ragents.reference/skills/50-subscription-removal/SKILL.md +12 -0
  441. package/bundles/ragents.reference/skills/60-stop-in-the-circle/SKILL.md +12 -0
  442. package/bundles/ragents.reference/skills/65-artifact-least-privilege/SKILL.md +12 -0
  443. package/bundles/ragents.reference/skills/70-headless-counter/SKILL.md +12 -0
  444. package/bundles/ragents.reference/skills/75-lsp-demo/SKILL.md +12 -0
  445. package/bundles/ragents.reference/skills/80-actor-text-analysis/SKILL.md +12 -0
  446. package/bundles/ragents.reference/skills/90-actor-notes/SKILL.md +12 -0
  447. package/bundles/ragents.reference/skills/95-hello-world/SKILL.md +12 -0
  448. package/bundles/ragents.reference/skills/decision-brief/SKILL.md +33 -0
  449. package/bundles/ragents.reference/skills/learning-sprint/SKILL.md +33 -0
  450. package/bundles/ragents.reference/web/classes.json +1 -0
  451. package/bundles/ragents.reference/web/index.js +2 -0
  452. package/bundles/ragents.reference/web/index.js.map +7 -0
  453. package/bundles/ragents.todo/ragents-bundle.json +48 -0
  454. package/bundles/ragents.todo/server/index.js +108 -0
  455. package/bundles/ragents.todo/server/index.js.map +7 -0
  456. package/bundles/ragents.todo/web/classes.json +1 -0
  457. package/bundles/ragents.todo/web/index.js +2 -0
  458. package/bundles/ragents.todo/web/index.js.map +7 -0
  459. package/bundles/ragents.transcript/ragents-bundle.json +34 -0
  460. package/bundles/ragents.transcript/server/index.js +102 -0
  461. package/bundles/ragents.transcript/server/index.js.map +7 -0
  462. package/bundles/ragents.watch/ragents-bundle.json +39 -0
  463. package/bundles/ragents.watch/server/chunks/chunk-FHAM6OML.js +11 -0
  464. package/bundles/ragents.watch/server/chunks/chunk-FHAM6OML.js.map +7 -0
  465. package/bundles/ragents.watch/server/chunks/chunk-RPBX3J4P.js +10 -0
  466. package/bundles/ragents.watch/server/chunks/chunk-RPBX3J4P.js.map +7 -0
  467. package/bundles/ragents.watch/server/exports/contract.js +9 -0
  468. package/bundles/ragents.watch/server/exports/contract.js.map +7 -0
  469. package/bundles/ragents.watch/server/exports/server/contract.js +9 -0
  470. package/bundles/ragents.watch/server/exports/server/contract.js.map +7 -0
  471. package/bundles/ragents.watch/server/index.js +482 -0
  472. package/bundles/ragents.watch/server/index.js.map +7 -0
  473. package/bundles/ragents.workspace/prompt.hbs +7 -0
  474. package/bundles/ragents.workspace/ragents-bundle.json +148 -0
  475. package/bundles/ragents.workspace/server/index.js +1049 -0
  476. package/bundles/ragents.workspace/server/index.js.map +7 -0
  477. package/bundles/ragents.workspace/web/classes.json +1 -0
  478. package/bundles/ragents.workspace/web/index.js +39 -0
  479. package/bundles/ragents.workspace/web/index.js.map +7 -0
  480. package/package.json +5 -16
  481. package/packages/agent/dist/core/agent-session-runtime.d.ts +33 -0
  482. package/packages/agent/dist/core/agent-session-services.d.ts +35 -0
  483. package/packages/agent/dist/core/agent-session.d.ts +234 -0
  484. package/packages/agent/dist/core/agent-settings.d.ts +27 -0
  485. package/packages/agent/dist/core/auth-guidance.d.ts +4 -0
  486. package/packages/agent/dist/core/compaction/compaction.d.ts +116 -0
  487. package/packages/agent/dist/core/compaction/index.d.ts +6 -0
  488. package/packages/agent/dist/core/compaction/utils.d.ts +39 -0
  489. package/packages/agent/dist/core/defaults.d.ts +3 -0
  490. package/packages/agent/dist/core/extensions/index.d.ts +11 -0
  491. package/packages/agent/dist/core/extensions/loader.d.ts +12 -0
  492. package/packages/agent/dist/core/extensions/runner.d.ts +39 -0
  493. package/packages/agent/dist/core/extensions/types.d.ts +156 -0
  494. package/packages/agent/dist/core/extensions/wrapper.d.ts +12 -0
  495. package/packages/agent/dist/core/messages.d.ts +37 -0
  496. package/packages/agent/dist/core/model-runtime.d.ts +32 -0
  497. package/packages/agent/dist/core/provider-composer.d.ts +25 -0
  498. package/packages/agent/dist/core/resource-loader.d.ts +39 -0
  499. package/packages/agent/dist/core/sdk.d.ts +38 -0
  500. package/packages/agent/dist/core/session-manager.d.ts +189 -0
  501. package/packages/agent/dist/core/skills.d.ts +20 -0
  502. package/packages/agent/dist/core/source-info.d.ts +16 -0
  503. package/packages/agent/dist/core/system-prompt.d.ts +21 -0
  504. package/packages/agent/dist/core/tools/bash.d.ts +63 -0
  505. package/packages/agent/dist/core/tools/edit-diff.d.ts +98 -0
  506. package/packages/agent/dist/core/tools/edit.d.ts +41 -0
  507. package/packages/agent/dist/core/tools/file-mutation-queue.d.ts +6 -0
  508. package/packages/agent/dist/core/tools/index.d.ts +5 -0
  509. package/packages/agent/dist/core/tools/output-accumulator.d.ts +58 -0
  510. package/packages/agent/dist/core/tools/path-utils.d.ts +8 -0
  511. package/packages/agent/dist/core/tools/read.d.ts +33 -0
  512. package/packages/agent/dist/core/tools/truncate.d.ts +61 -0
  513. package/packages/agent/dist/core/tools/write.d.ts +23 -0
  514. package/packages/agent/dist/index.d.ts +13 -0
  515. package/packages/agent/dist/loop/agent-loop.d.ts +13 -0
  516. package/packages/agent/dist/loop/agent.d.ts +103 -0
  517. package/packages/agent/dist/loop/index.d.ts +5 -0
  518. package/packages/agent/dist/loop/types.d.ts +333 -0
  519. package/packages/agent/dist/loop/uuid.d.ts +2 -0
  520. package/packages/agent/dist/utils/child-process.d.ts +17 -0
  521. package/packages/agent/dist/utils/exif-orientation.d.ts +5 -0
  522. package/packages/agent/dist/utils/frontmatter.d.ts +8 -0
  523. package/packages/agent/dist/utils/image-convert.d.ts +2 -0
  524. package/packages/agent/dist/utils/image-process.d.ts +18 -0
  525. package/packages/agent/dist/utils/image-resize-core.d.ts +30 -0
  526. package/packages/agent/dist/utils/image-resize-worker.d.ts +2 -0
  527. package/packages/agent/dist/utils/image-resize.d.ts +16 -0
  528. package/packages/agent/dist/utils/mime.d.ts +3 -0
  529. package/packages/agent/dist/utils/paths.d.ts +15 -0
  530. package/packages/agent/dist/utils/photon.d.ts +21 -0
  531. package/packages/agent/dist/utils/shell.d.ts +17 -0
  532. package/packages/agent/dist/utils/sleep.d.ts +5 -0
  533. package/packages/agent/package.json +3 -32
  534. package/packages/agent/src/core/agent-session-runtime.ts +15 -469
  535. package/packages/agent/src/core/agent-session-services.ts +17 -167
  536. package/packages/agent/src/core/agent-session.ts +154 -2403
  537. package/packages/agent/src/core/agent-settings.ts +20 -0
  538. package/packages/agent/src/core/auth-guidance.ts +0 -4
  539. package/packages/agent/src/core/compaction/compaction.ts +4 -33
  540. package/packages/agent/src/core/compaction/index.ts +0 -1
  541. package/packages/agent/src/core/compaction/utils.ts +2 -2
  542. package/packages/agent/src/core/defaults.ts +1 -1
  543. package/packages/agent/src/core/extensions/index.ts +6 -117
  544. package/packages/agent/src/core/extensions/loader.ts +21 -605
  545. package/packages/agent/src/core/extensions/runner.ts +48 -969
  546. package/packages/agent/src/core/extensions/types.ts +35 -1298
  547. package/packages/agent/src/core/extensions/wrapper.ts +13 -34
  548. package/packages/agent/src/core/messages.ts +5 -109
  549. package/packages/agent/src/core/model-runtime.ts +109 -467
  550. package/packages/agent/src/core/provider-composer.ts +21 -451
  551. package/packages/agent/src/core/resource-loader.ts +18 -822
  552. package/packages/agent/src/core/sdk.ts +46 -281
  553. package/packages/agent/src/core/session-manager.ts +11 -891
  554. package/packages/agent/src/core/skills.ts +8 -440
  555. package/packages/agent/src/core/source-info.ts +0 -12
  556. package/packages/agent/src/core/system-prompt.ts +2 -41
  557. package/packages/agent/src/core/tools/bash.ts +20 -32
  558. package/packages/agent/src/core/tools/edit-diff.ts +0 -60
  559. package/packages/agent/src/core/tools/edit.ts +2 -18
  560. package/packages/agent/src/core/tools/index.ts +4 -130
  561. package/packages/agent/src/core/tools/output-accumulator.ts +33 -5
  562. package/packages/agent/src/core/tools/path-utils.ts +2 -49
  563. package/packages/agent/src/core/tools/read.ts +4 -12
  564. package/packages/agent/src/core/tools/truncate.ts +0 -15
  565. package/packages/agent/src/core/tools/write.ts +1 -8
  566. package/packages/agent/src/index.ts +11 -272
  567. package/packages/{agent-core/src → agent/src/loop}/agent-loop.ts +127 -273
  568. package/packages/{agent-core/src → agent/src/loop}/agent.ts +12 -164
  569. package/packages/{agent-core/src → agent/src/loop}/types.ts +6 -105
  570. package/packages/agent/src/utils/child-process.ts +0 -13
  571. package/packages/agent/src/utils/image-convert.ts +0 -25
  572. package/packages/agent/src/utils/paths.ts +1 -71
  573. package/packages/agent/src/utils/shell.ts +13 -156
  574. package/packages/ai/dist/api/ai-sdk-messages.d.ts +9 -0
  575. package/packages/ai/dist/api/ai-sdk-transport.d.ts +13 -0
  576. package/packages/ai/dist/api/ai-sdk.d.ts +13 -0
  577. package/packages/ai/dist/api/ai-sdk.lazy.d.ts +3 -0
  578. package/packages/ai/dist/api/lazy.d.ts +15 -0
  579. package/packages/ai/dist/api/simple-options.d.ts +4 -0
  580. package/packages/ai/dist/api/transform-messages.d.ts +8 -0
  581. package/packages/ai/dist/api-registry.d.ts +25 -0
  582. package/packages/ai/dist/auth/context.d.ts +4 -0
  583. package/packages/ai/dist/auth/helpers.d.ts +4 -0
  584. package/packages/ai/dist/auth/resolve.d.ts +19 -0
  585. package/packages/ai/dist/auth/types.d.ts +51 -0
  586. package/packages/ai/dist/env-api-keys.d.ts +8 -0
  587. package/packages/ai/dist/index.d.ts +19 -0
  588. package/packages/ai/dist/models.d.ts +71 -0
  589. package/packages/ai/dist/models.generated.d.ts +8021 -0
  590. package/packages/ai/dist/providers/all.d.ts +15 -0
  591. package/packages/ai/dist/providers/faux.d.ts +97 -0
  592. package/packages/ai/dist/providers/openrouter.d.ts +3 -0
  593. package/packages/ai/dist/providers/openrouter.models.d.ts +8019 -0
  594. package/packages/ai/dist/types.d.ts +541 -0
  595. package/packages/ai/dist/utils/diagnostics.d.ts +13 -0
  596. package/packages/ai/dist/utils/error-body.d.ts +25 -0
  597. package/packages/ai/dist/utils/estimate.d.ts +17 -0
  598. package/packages/ai/dist/utils/event-stream.d.ts +21 -0
  599. package/packages/ai/dist/utils/headers.d.ts +2 -0
  600. package/packages/ai/dist/utils/json-parse.d.ts +16 -0
  601. package/packages/ai/dist/utils/overflow.d.ts +54 -0
  602. package/packages/ai/dist/utils/provider-env.d.ts +7 -0
  603. package/packages/ai/dist/utils/retry.d.ts +12 -0
  604. package/packages/ai/dist/utils/sanitize-unicode.d.ts +22 -0
  605. package/packages/ai/dist/utils/typebox-helpers.d.ts +17 -0
  606. package/packages/ai/dist/utils/validation.d.ts +10 -0
  607. package/packages/ai/package.json +2 -6
  608. package/packages/ai/src/api/ai-sdk-transport.ts +2 -2
  609. package/packages/ai/src/api/simple-options.ts +0 -34
  610. package/packages/ai/src/api-registry.ts +1 -12
  611. package/packages/ai/src/auth/context.ts +1 -30
  612. package/packages/ai/src/auth/helpers.ts +3 -34
  613. package/packages/ai/src/auth/resolve.ts +10 -108
  614. package/packages/ai/src/auth/types.ts +9 -176
  615. package/packages/ai/src/index.ts +1 -13
  616. package/packages/ai/src/models.ts +41 -407
  617. package/packages/ai/src/providers/all.ts +3 -31
  618. package/packages/ai/src/providers/openrouter.models.ts +14 -0
  619. package/packages/ai/src/types.ts +0 -104
  620. package/packages/ai/src/utils/diagnostics.ts +0 -32
  621. package/packages/ai/src/utils/headers.ts +0 -11
  622. package/packages/ai/src/utils/overflow.ts +0 -7
  623. package/packages/ai/src/utils/validation.ts +0 -15
  624. package/packages/ragents/package.json +3 -6
  625. package/packages/ragents/src/access.ts +2 -1
  626. package/packages/ragents/src/agents/actor-input.ts +14 -18
  627. package/packages/ragents/src/agents/catalog.ts +3 -3
  628. package/packages/ragents/src/agents/plugins.ts +0 -4
  629. package/packages/ragents/src/agents/scheduler.ts +232 -78
  630. package/packages/ragents/src/agents/schemas.ts +1 -36
  631. package/packages/ragents/src/agents/tool-orientation.ts +1 -1
  632. package/packages/ragents/src/agents/tools.ts +72 -73
  633. package/packages/ragents/src/agents/toolset.ts +5 -5
  634. package/packages/ragents/src/agents/turn.ts +2 -14
  635. package/packages/ragents/src/agents/workspaces.ts +18 -0
  636. package/packages/ragents/src/domain/actor-reference.ts +22 -0
  637. package/packages/ragents/src/domain/driver.ts +0 -9
  638. package/packages/ragents/src/domain/event-semantics.ts +62 -74
  639. package/packages/ragents/src/domain/event-validation.ts +22 -21
  640. package/packages/ragents/src/domain/events.ts +19 -7
  641. package/packages/ragents/src/domain/json.ts +2 -0
  642. package/packages/ragents/src/domain/model.ts +40 -18
  643. package/packages/ragents/src/domain/projection.ts +43 -15
  644. package/packages/ragents/src/domain/schema-errors.ts +3 -3
  645. package/packages/ragents/src/drivers/agent-hooks.ts +40 -0
  646. package/packages/ragents/src/drivers/agent-runtime.ts +118 -186
  647. package/packages/ragents/src/drivers/agent.ts +5 -20
  648. package/packages/ragents/src/drivers/attachments.ts +4 -24
  649. package/packages/ragents/src/drivers/skill-preload.ts +4 -16
  650. package/packages/ragents/src/drivers/types.ts +20 -3
  651. package/packages/ragents/src/http/contracts.ts +16 -3
  652. package/packages/ragents/src/http/methods.ts +32 -33
  653. package/packages/ragents/src/index.ts +5 -15
  654. package/packages/ragents/src/plugin-host.ts +151 -105
  655. package/packages/ragents/src/plugin-types.ts +86 -23
  656. package/packages/ragents/src/rpc/peer.ts +6 -0
  657. package/packages/ragents/src/runtime/decisions/actions.ts +40 -37
  658. package/packages/ragents/src/runtime/decisions/actors.ts +90 -51
  659. package/packages/ragents/src/runtime/decisions/artifacts.ts +2 -2
  660. package/packages/ragents/src/runtime/decisions/inputs.ts +3 -3
  661. package/packages/ragents/src/runtime/decisions/subscriptions.ts +9 -7
  662. package/packages/ragents/src/runtime/decisions/turns.ts +37 -4
  663. package/packages/ragents/src/runtime/guards.ts +12 -21
  664. package/packages/ragents/src/runtime/journal-storage.ts +4 -2
  665. package/packages/ragents/src/runtime/journal.ts +1 -1
  666. package/packages/ragents/src/runtime/orchestration.ts +31 -14
  667. package/packages/ragents/src/runtime/serial-queue.ts +24 -0
  668. package/packages/ragents/src/runtime/stop.ts +19 -44
  669. package/packages/ragents/src/script/mediators.ts +4 -5
  670. package/packages/ragents/src/typescript/index.ts +2 -0
  671. package/packages/ragents/src/typescript/run-context.ts +10 -8
  672. package/packages/ragents/src/typescript/snippet.ts +7 -6
  673. package/packages/workspace-executor/package.json +2 -2
  674. package/packages/workspace-executor/src/bash-launch.ts +45 -0
  675. package/packages/workspace-executor/src/browser/contract.ts +71 -0
  676. package/packages/workspace-executor/src/browser/module.ts +74 -0
  677. package/packages/workspace-executor/src/browser/pages.ts +298 -0
  678. package/packages/workspace-executor/src/browser/playwright.ts +52 -0
  679. package/packages/workspace-executor/src/commands.ts +170 -0
  680. package/packages/workspace-executor/src/context.ts +34 -6
  681. package/packages/workspace-executor/src/errors.ts +12 -0
  682. package/packages/workspace-executor/src/executor.ts +62 -104
  683. package/packages/workspace-executor/src/files.ts +287 -0
  684. package/packages/workspace-executor/src/index.ts +82 -18
  685. package/packages/workspace-executor/src/language-server/adapters/roslyn.ts +1 -0
  686. package/packages/workspace-executor/src/language-server/contract.ts +14 -0
  687. package/packages/workspace-executor/src/language-server/host.ts +82 -26
  688. package/packages/workspace-executor/src/language-server/module.ts +107 -0
  689. package/packages/workspace-executor/src/language-server/workspace-solutions.ts +90 -0
  690. package/packages/workspace-executor/src/managed-process.ts +1 -1
  691. package/packages/workspace-executor/src/module.ts +35 -0
  692. package/packages/workspace-executor/src/modules.ts +25 -0
  693. package/packages/workspace-executor/src/paths.ts +57 -5
  694. package/packages/workspace-executor/src/process-sandbox.ts +16 -0
  695. package/packages/workspace-executor/src/processes/module.ts +48 -0
  696. package/{plugins/ragents.processes/server → packages/workspace-executor/src/processes}/process-table.ts +80 -57
  697. package/packages/workspace-executor/src/processes/scanner.ts +106 -0
  698. package/{plugins/ragents.processes/server → packages/workspace-executor/src/processes}/snapshot.ts +23 -11
  699. package/{plugins/ragents.processes/server → packages/workspace-executor/src/processes}/terminator.ts +19 -20
  700. package/packages/workspace-executor/src/run-folders.ts +33 -0
  701. package/packages/workspace-executor/src/safe-environment.ts +14 -0
  702. package/packages/workspace-executor/src/sandbox-tools.ts +206 -36
  703. package/packages/workspace-executor/src/shell-platform.ts +2 -2
  704. package/plugins/package.json +1 -1
  705. package/plugins/ragents.activity/ragents-plugin.json +3 -0
  706. package/plugins/ragents.activity/server/index.ts +2 -2
  707. package/plugins/ragents.activity/web/ActivityHeader.tsx +2 -2
  708. package/plugins/ragents.activity/web/activity.ts +1 -1
  709. package/plugins/ragents.activity/web/index.tsx +1 -1
  710. package/plugins/ragents.actor-programs/prompt.hbs +8 -7
  711. package/plugins/ragents.actor-programs/ragents-plugin.json +3 -0
  712. package/plugins/ragents.actor-programs/server/agent-tools.ts +3 -3
  713. package/{apps/server/src/plugin-support/actor-programs → plugins/ragents.actor-programs/server}/capability-resolver.ts +1 -16
  714. package/plugins/ragents.actor-programs/server/controls-template.ts +5 -18
  715. package/plugins/ragents.actor-programs/server/controls-tool.ts +8 -11
  716. package/plugins/ragents.actor-programs/server/index.ts +10 -10
  717. package/{apps/server/src/plugin-support/actor-programs → plugins/ragents.actor-programs/server}/limits.ts +4 -4
  718. package/plugins/ragents.actor-programs/server/methods.ts +2 -2
  719. package/{apps/server/src/plugin-support/actor-programs → plugins/ragents.actor-programs/server}/operations.ts +2 -4
  720. package/plugins/ragents.actor-programs/server/project-diagnostics.ts +65 -70
  721. package/plugins/ragents.actor-programs/server/prompts.ts +4 -4
  722. package/plugins/ragents.actor-programs/server/routes.ts +14 -8
  723. package/plugins/ragents.actor-programs/server/runtime.ts +132 -55
  724. package/plugins/ragents.actor-programs/server/templates.ts +35 -80
  725. package/plugins/ragents.actor-programs/server/test-report.ts +106 -0
  726. package/plugins/ragents.actor-programs/server/tool-contributor.ts +4 -4
  727. package/plugins/ragents.actor-programs/summary.hbs +1 -1
  728. package/plugins/ragents.actor-programs/web/ActorViewFrame.tsx +15 -10
  729. package/plugins/ragents.actor-programs/web/AppsPanel.tsx +47 -30
  730. package/plugins/ragents.actor-programs/web/EmbeddedApps.tsx +15 -17
  731. package/plugins/ragents.actor-programs/web/FullscreenHost.tsx +3 -3
  732. package/plugins/ragents.actor-programs/web/FunctionForm.tsx +3 -3
  733. package/plugins/ragents.actor-programs/web/ProgramSource.tsx +12 -3
  734. package/plugins/ragents.actor-programs/web/api.ts +5 -5
  735. package/plugins/ragents.actor-programs/web/bridge.ts +2 -3
  736. package/plugins/ragents.actor-programs/web/chat-state.ts +9 -8
  737. package/plugins/ragents.actor-programs/web/index.tsx +7 -17
  738. package/plugins/ragents.actor-programs/web/program-state.ts +3 -3
  739. package/plugins/ragents.actor-programs/web/state-revision.ts +2 -2
  740. package/plugins/ragents.ask/ask-payload.ts +25 -0
  741. package/plugins/ragents.ask/contract.ts +2 -2
  742. package/plugins/ragents.ask/ragents-plugin.json +7 -0
  743. package/plugins/ragents.ask/server/answer-method.ts +1 -1
  744. package/plugins/ragents.ask/server/ask-service.ts +43 -19
  745. package/plugins/ragents.ask/server/ask-tool.ts +2 -2
  746. package/plugins/ragents.ask/server/contract.ts +9 -1
  747. package/plugins/ragents.ask/server/index.ts +8 -10
  748. package/plugins/ragents.ask/server/tool-contributor.ts +3 -3
  749. package/plugins/ragents.ask/web/AskActionView.tsx +36 -0
  750. package/{apps/web/src/chat → plugins/ragents.ask/web}/QuestionCard.tsx +7 -5
  751. package/plugins/ragents.ask/web/QuestionSection.tsx +22 -21
  752. package/plugins/ragents.ask/web/api.ts +1 -1
  753. package/plugins/ragents.ask/web/index.tsx +11 -8
  754. package/plugins/ragents.browser/provision.ts +9 -8
  755. package/plugins/ragents.browser/ragents-plugin.json +6 -0
  756. package/plugins/ragents.browser/server/browser.ts +165 -286
  757. package/plugins/ragents.browser/server/contract.ts +8 -19
  758. package/plugins/ragents.browser/server/index.ts +8 -7
  759. package/plugins/ragents.browser/server/tools.ts +29 -37
  760. package/plugins/ragents.browser/skills/browser-testing/SKILL.md +3 -1
  761. package/plugins/ragents.documents/contract.ts +4 -2
  762. package/plugins/ragents.documents/ragents-plugin.json +6 -0
  763. package/plugins/ragents.documents/server/config.ts +1 -1
  764. package/plugins/ragents.documents/server/document-write-tool.ts +2 -2
  765. package/plugins/ragents.documents/server/files-route.ts +2 -3
  766. package/plugins/ragents.documents/server/index.ts +10 -11
  767. package/plugins/ragents.documents/server/show-document-tool.ts +2 -2
  768. package/plugins/ragents.documents/server/store.ts +3 -3
  769. package/plugins/ragents.documents/server/tool-contributor.ts +3 -3
  770. package/plugins/ragents.documents/web/DocumentViewer.tsx +5 -6
  771. package/plugins/ragents.documents/web/api.ts +1 -1
  772. package/plugins/ragents.documents/web/index.tsx +4 -4
  773. package/plugins/ragents.lsp-fsharp/provision.ts +2 -2
  774. package/plugins/ragents.lsp-fsharp/ragents-plugin.json +3 -0
  775. package/plugins/ragents.lsp-fsharp/server/index.ts +3 -3
  776. package/plugins/ragents.lsp-fsharp/web/index.tsx +1 -1
  777. package/plugins/ragents.lsp-roslyn/provision.ts +2 -2
  778. package/plugins/ragents.lsp-roslyn/ragents-plugin.json +3 -0
  779. package/plugins/ragents.lsp-roslyn/server/index.ts +47 -8
  780. package/plugins/ragents.lsp-roslyn/server/solution-on-start.ts +145 -0
  781. package/plugins/ragents.lsp-roslyn/web/index.tsx +1 -1
  782. package/plugins/ragents.lsp-typescript/ragents-plugin.json +3 -0
  783. package/plugins/ragents.lsp-typescript/server/index.ts +3 -3
  784. package/plugins/ragents.lsp-typescript/web/index.tsx +1 -1
  785. package/plugins/ragents.model-relay/ragents-plugin.json +3 -0
  786. package/plugins/ragents.model-relay/server/config.ts +5 -31
  787. package/plugins/ragents.model-relay/server/index.ts +5 -6
  788. package/plugins/ragents.model-relay/server/relay.ts +8 -9
  789. package/plugins/ragents.orchestration/contract.ts +13 -14
  790. package/plugins/ragents.orchestration/orchestration.hbs +4 -3
  791. package/plugins/ragents.orchestration/ragents-plugin.json +6 -0
  792. package/plugins/ragents.orchestration/server/index.ts +13 -16
  793. package/plugins/ragents.orchestration/server/run-stop-tool.ts +4 -4
  794. package/plugins/ragents.orchestration/server/{canvas-tool.ts → surface-tool.ts} +42 -43
  795. package/plugins/ragents.orchestration/surface.hbs +34 -0
  796. package/plugins/ragents.orchestration/tiled-layout.ts +16 -16
  797. package/plugins/ragents.orchestration/web/ActorChat.tsx +16 -14
  798. package/plugins/ragents.orchestration/web/ActorChatControls.tsx +23 -26
  799. package/plugins/ragents.orchestration/web/ActorChatPreview.tsx +5 -6
  800. package/plugins/ragents.orchestration/web/ActorPopout.tsx +7 -5
  801. package/plugins/ragents.orchestration/web/ActorShortcut.tsx +16 -16
  802. package/plugins/ragents.orchestration/web/{ActorCanvasControls.tsx → ActorSurfaceControls.tsx} +23 -28
  803. package/plugins/ragents.orchestration/web/ActorTile.tsx +2 -2
  804. package/plugins/ragents.orchestration/web/Center.tsx +47 -55
  805. package/plugins/ragents.orchestration/web/DocumentsSection.tsx +4 -4
  806. package/plugins/ragents.orchestration/web/ExecutionsPanel.tsx +7 -7
  807. package/plugins/ragents.orchestration/web/FlowInspector.tsx +24 -42
  808. package/plugins/ragents.orchestration/web/JournalStatus.tsx +8 -8
  809. package/plugins/ragents.orchestration/web/MaterialBody.tsx +5 -5
  810. package/plugins/ragents.orchestration/web/StopRunButton.tsx +6 -6
  811. package/plugins/ragents.orchestration/web/SurfaceStartup.tsx +8 -0
  812. package/plugins/ragents.orchestration/web/{CanvasTiles.tsx → SurfaceTiles.tsx} +18 -18
  813. package/plugins/ragents.orchestration/web/{TiledCanvas.tsx → TiledSurface.tsx} +22 -22
  814. package/plugins/ragents.orchestration/web/actor-header-settings.ts +2 -2
  815. package/plugins/ragents.orchestration/web/api.ts +4 -10
  816. package/plugins/ragents.orchestration/web/constants.ts +0 -1
  817. package/plugins/ragents.orchestration/web/executions.ts +3 -3
  818. package/plugins/ragents.orchestration/web/index.tsx +19 -124
  819. package/plugins/ragents.orchestration/web/program-slot.ts +14 -0
  820. package/plugins/ragents.orchestration/web/run-panel/AddresseeControl.tsx +95 -0
  821. package/plugins/ragents.orchestration/web/run-panel/AddresseeTree.tsx +109 -0
  822. package/plugins/ragents.orchestration/web/{column/RunColumn.tsx → run-panel/RunPanel.tsx} +211 -83
  823. package/plugins/ragents.orchestration/web/{column/ColumnSettings.tsx → run-panel/RunPanelSettings.tsx} +13 -13
  824. package/plugins/ragents.orchestration/web/run-panel/addressee-tree.ts +165 -0
  825. package/plugins/ragents.orchestration/web/{column/column-actors.ts → run-panel/run-panel-actors.ts} +14 -13
  826. package/plugins/ragents.orchestration/web/run-panel/run-panel-settings.ts +47 -0
  827. package/plugins/ragents.orchestration/web/run-panel/run-panel-startup.ts +30 -0
  828. package/plugins/ragents.orchestration/web/run-panel/run-panel-state.ts +71 -0
  829. package/plugins/ragents.orchestration/web/{column → run-panel}/sheet-status.ts +4 -4
  830. package/plugins/ragents.orchestration/web/{canvas-stage.ts → surface-entities.ts} +2 -2
  831. package/plugins/ragents.orchestration/web/{canvas-startup.ts → surface-startup.ts} +7 -10
  832. package/plugins/ragents.orchestration/web/surface-view-settings.ts +42 -0
  833. package/plugins/ragents.orchestration/web/tile-docking.ts +14 -14
  834. package/plugins/ragents.orchestration/web/tiled-view-settings.ts +26 -26
  835. package/plugins/ragents.overseer/contract.ts +20 -14
  836. package/plugins/ragents.overseer/ragents-plugin.json +3 -0
  837. package/plugins/ragents.overseer/server/api.ts +34 -23
  838. package/plugins/ragents.overseer/server/coordinator-prompt.ts +3 -3
  839. package/plugins/ragents.overseer/server/coordinator.ts +19 -0
  840. package/plugins/ragents.overseer/server/index.ts +39 -27
  841. package/plugins/ragents.overseer/server/orientation.ts +4 -5
  842. package/plugins/ragents.overseer/server/quick-answer.ts +5 -4
  843. package/plugins/ragents.overseer/server/reset-method.ts +4 -3
  844. package/plugins/ragents.overseer/server/run-directory.ts +5 -5
  845. package/plugins/ragents.overseer/server/settings-method.ts +1 -1
  846. package/plugins/ragents.overseer/server/settings.ts +6 -6
  847. package/plugins/ragents.overseer/server/user-location.ts +20 -19
  848. package/plugins/ragents.overseer/web/ModelSettings.tsx +4 -4
  849. package/plugins/ragents.overseer/web/chat-display.ts +1 -1
  850. package/plugins/ragents.overseer/web/index.tsx +51 -26
  851. package/plugins/ragents.overseer/web/model-settings.ts +1 -1
  852. package/plugins/ragents.overseer/web/quick-answers.ts +2 -2
  853. package/plugins/ragents.processes/contract.ts +5 -5
  854. package/plugins/ragents.processes/ragents-plugin.json +3 -0
  855. package/plugins/ragents.processes/server/index.ts +13 -19
  856. package/plugins/ragents.processes/server/methods.ts +18 -20
  857. package/plugins/ragents.processes/server/observer.ts +64 -104
  858. package/plugins/ragents.processes/server/run-processes.ts +24 -0
  859. package/plugins/ragents.processes/web/ProcessHeader.tsx +13 -16
  860. package/plugins/ragents.processes/web/index.tsx +2 -1
  861. package/plugins/ragents.processes/web/processes.ts +1 -1
  862. package/plugins/ragents.product/ragents-plugin.json +3 -0
  863. package/plugins/ragents.product/server/config.ts +12 -13
  864. package/plugins/ragents.product/server/index.ts +15 -16
  865. package/plugins/ragents.product/server/runtime.ts +2 -2
  866. package/plugins/ragents.product/web/index.tsx +3 -3
  867. package/plugins/ragents.profile-distribution/contract.ts +6 -9
  868. package/plugins/ragents.profile-distribution/ragents-plugin.json +3 -0
  869. package/plugins/ragents.profile-distribution/server/archive.ts +26 -51
  870. package/plugins/ragents.profile-distribution/server/config.ts +2 -2
  871. package/plugins/ragents.profile-distribution/server/index.ts +9 -16
  872. package/plugins/ragents.reference/examples.ts +1 -1
  873. package/plugins/ragents.reference/ragents-plugin.json +3 -0
  874. package/plugins/ragents.reference/run-scripts/balcony-wizard/RUN.md +2 -2
  875. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +1 -1
  876. package/plugins/ragents.reference/run-scripts/balcony-wizard/src/server.ts +1 -1
  877. package/plugins/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +4 -4
  878. package/plugins/ragents.reference/run-scripts/conversation-circle/RUN.md +1 -1
  879. package/plugins/ragents.reference/run-scripts/conversation-circle/src/server.ts +1 -1
  880. package/plugins/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +1 -1
  881. package/plugins/ragents.reference/run-scripts/learning-afternoon/RUN.md +2 -2
  882. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/client.tsx +1 -1
  883. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/server.ts +1 -1
  884. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/state.ts +2 -2
  885. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/view.tsx +11 -11
  886. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/workflow.ts +15 -15
  887. package/plugins/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +3 -8
  888. package/plugins/ragents.reference/run-scripts/moderated-round/src/server.ts +1 -1
  889. package/plugins/ragents.reference/run-scripts/moderated-round/tests/helpers.ts +1 -1
  890. package/plugins/ragents.reference/run-scripts/moderated-round/tests/program.test.ts +2 -2
  891. package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/client.tsx +6 -6
  892. package/plugins/ragents.reference/run-scripts/shared-actor-list/src/server.ts +3 -3
  893. package/plugins/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +1 -1
  894. package/plugins/ragents.reference/run-scripts/word-game/RUN.md +1 -1
  895. package/plugins/ragents.reference/run-scripts/word-game/src/client.tsx +1 -1
  896. package/plugins/ragents.reference/run-scripts/word-game/src/server.ts +1 -2
  897. package/plugins/ragents.reference/run-scripts/word-game/src/state.ts +6 -6
  898. package/plugins/ragents.reference/run-scripts/word-game/src/view.tsx +14 -14
  899. package/plugins/ragents.reference/run-scripts/word-game/tests/program.test.ts +4 -5
  900. package/plugins/ragents.reference/server/index.ts +2 -2
  901. package/plugins/ragents.reference/skills/160-learning-companion/SKILL.md +1 -1
  902. package/plugins/ragents.reference/skills/240-live-result-list/SKILL.md +1 -1
  903. package/plugins/ragents.reference/skills/250-balcony-wizard/SKILL.md +1 -1
  904. package/plugins/ragents.reference/skills/90-actor-notes/SKILL.md +1 -1
  905. package/plugins/ragents.reference/skills/95-hello-world/SKILL.md +2 -2
  906. package/plugins/ragents.reference/skills/decision-brief/SKILL.md +2 -2
  907. package/plugins/ragents.reference/walkthroughs.ts +26 -26
  908. package/plugins/ragents.reference/web/StartGuides.tsx +2 -2
  909. package/plugins/ragents.reference/web/index.tsx +1 -1
  910. package/plugins/ragents.todo/ragents-plugin.json +3 -0
  911. package/plugins/ragents.todo/server/index.ts +2 -2
  912. package/plugins/ragents.todo/server/todo-tool.ts +4 -5
  913. package/plugins/ragents.todo/server/tool-contributor.ts +2 -2
  914. package/plugins/ragents.todo/web/TodoSection.tsx +3 -3
  915. package/plugins/ragents.todo/web/index.ts +1 -1
  916. package/plugins/ragents.transcript/ragents-plugin.json +3 -0
  917. package/plugins/ragents.transcript/server/index.ts +4 -4
  918. package/plugins/ragents.transcript/server/transcript.ts +2 -3
  919. package/plugins/ragents.watch/ragents-plugin.json +6 -0
  920. package/plugins/ragents.watch/server/condition.ts +2 -2
  921. package/plugins/ragents.watch/server/contract.ts +1 -1
  922. package/plugins/ragents.watch/server/functions.ts +3 -3
  923. package/plugins/ragents.watch/server/index.ts +3 -3
  924. package/plugins/ragents.watch/server/observation.ts +6 -6
  925. package/plugins/ragents.watch/server/service.ts +5 -5
  926. package/plugins/ragents.workspace/client/workspace-client.ts +129 -58
  927. package/plugins/ragents.workspace/contract.ts +98 -35
  928. package/plugins/ragents.workspace/prompt.hbs +1 -8
  929. package/plugins/ragents.workspace/ragents-plugin.json +3 -0
  930. package/plugins/ragents.workspace/server/binding.ts +122 -39
  931. package/plugins/ragents.workspace/server/browse-route.ts +96 -103
  932. package/plugins/ragents.workspace/server/clients.ts +236 -68
  933. package/plugins/ragents.workspace/server/config.ts +30 -0
  934. package/plugins/ragents.workspace/server/index.ts +61 -26
  935. package/plugins/ragents.workspace/server/runtime.ts +271 -46
  936. package/{apps/server/src/plugin-support → plugins/ragents.workspace/server}/shell-platform.ts +3 -5
  937. package/{apps/server/src/plugin-support → plugins/ragents.workspace/server}/workspace-tool-naming.ts +7 -1
  938. package/plugins/ragents.workspace/web/FileBrowser.tsx +11 -8
  939. package/plugins/ragents.workspace/web/WorkspaceBinding.tsx +115 -61
  940. package/plugins/ragents.workspace/web/api.ts +1 -1
  941. package/plugins/ragents.workspace/web/index.tsx +1 -1
  942. package/ragents.config.core.ts +2 -8
  943. package/ragents.config.showcase.ts +61 -0
  944. package/scripts/agent/agent-cli.ts +265 -107
  945. package/scripts/agent/journal.ts +3 -1
  946. package/scripts/agent/turn-control.ts +19 -0
  947. package/scripts/package/build-package.ts +70 -15
  948. package/scripts/package/ragents.mjs +4 -2
  949. package/scripts/plugin/build-builtin-plugins.ts +52 -0
  950. package/scripts/plugin/plugin-cli.ts +99 -0
  951. package/scripts/provision/run-provision.ts +20 -18
  952. package/scripts/remote/connect.ts +75 -53
  953. package/scripts/remote/start.ts +3 -4
  954. package/scripts/workspace-client/run-workspace-client.ts +15 -9
  955. package/apps/server/agent-home/settings.json +0 -3
  956. package/apps/server/src/chat-attachments.ts +0 -52
  957. package/apps/server/src/chat-events.ts +0 -185
  958. package/apps/server/src/plugin-support/asset-path.ts +0 -4
  959. package/apps/server/src/profile/plugin-list.ts +0 -19
  960. package/apps/server/src/web-build.ts +0 -82
  961. package/apps/web/column.html +0 -12
  962. package/apps/web/index.html +0 -12
  963. package/apps/web/src/StartSurface.tsx +0 -161
  964. package/apps/web/src/chat/ChatInputToolbar.tsx +0 -488
  965. package/apps/web/src/chat/ChatMessages.tsx +0 -666
  966. package/apps/web/src/chat/ChatPanel.tsx +0 -61
  967. package/apps/web/src/chat/DetailModeSwitch.tsx +0 -58
  968. package/apps/web/src/chat/Markdown.tsx +0 -104
  969. package/apps/web/src/chat/StepPopover.tsx +0 -82
  970. package/apps/web/src/chat/WorkingScenes.tsx +0 -235
  971. package/apps/web/src/chat/attachments.ts +0 -53
  972. package/apps/web/src/chat/chat-scroll.ts +0 -41
  973. package/apps/web/src/chat/texts.ts +0 -61
  974. package/apps/web/src/chat/types.ts +0 -26
  975. package/apps/web/src/column/ColumnApp.tsx +0 -234
  976. package/apps/web/src/column/column-location.ts +0 -30
  977. package/apps/web/src/column/host-contract.ts +0 -93
  978. package/apps/web/src/panel/OverviewPage.tsx +0 -215
  979. package/apps/web/src/panel/SettingsPage.tsx +0 -98
  980. package/apps/web/src/panel/target-state.ts +0 -78
  981. package/apps/web/src/plugin-discovery.ts +0 -5
  982. package/apps/web/src/virtual-plugins.d.ts +0 -3
  983. package/apps/web/vite.config.ts +0 -140
  984. package/packages/agent/src/config.ts +0 -161
  985. package/packages/agent/src/core/auth-storage.ts +0 -271
  986. package/packages/agent/src/core/bash-executor.ts +0 -156
  987. package/packages/agent/src/core/compaction/branch-summarization.ts +0 -372
  988. package/packages/agent/src/core/diagnostics.ts +0 -15
  989. package/packages/agent/src/core/event-bus.ts +0 -33
  990. package/packages/agent/src/core/exec.ts +0 -107
  991. package/packages/agent/src/core/experimental.ts +0 -3
  992. package/packages/agent/src/core/footer-data-provider.ts +0 -388
  993. package/packages/agent/src/core/http-dispatcher.ts +0 -106
  994. package/packages/agent/src/core/index.ts +0 -78
  995. package/packages/agent/src/core/model-config.ts +0 -287
  996. package/packages/agent/src/core/model-registry.ts +0 -126
  997. package/packages/agent/src/core/model-resolver.ts +0 -675
  998. package/packages/agent/src/core/output-guard.ts +0 -108
  999. package/packages/agent/src/core/package-manager.ts +0 -2441
  1000. package/packages/agent/src/core/prompt-templates.ts +0 -284
  1001. package/packages/agent/src/core/resolve-config-value.ts +0 -287
  1002. package/packages/agent/src/core/runtime-credentials.ts +0 -48
  1003. package/packages/agent/src/core/session-cwd.ts +0 -59
  1004. package/packages/agent/src/core/settings-manager.ts +0 -1212
  1005. package/packages/agent/src/core/slash-commands.ts +0 -41
  1006. package/packages/agent/src/core/timings.ts +0 -50
  1007. package/packages/agent/src/core/tools/tool-definition-wrapper.ts +0 -45
  1008. package/packages/agent/src/core/trust-manager.ts +0 -244
  1009. package/packages/agent/src/utils/ansi.ts +0 -60
  1010. package/packages/agent/src/utils/fs-watch.ts +0 -30
  1011. package/packages/agent/src/utils/git.ts +0 -226
  1012. package/packages/agent/src/utils/json.ts +0 -6
  1013. package/packages/agent/src/utils/tools-manager.ts +0 -63
  1014. package/packages/agent-core/package.json +0 -32
  1015. package/packages/ai/src/api/openrouter-images.lazy.ts +0 -10
  1016. package/packages/ai/src/api/openrouter-images.ts +0 -98
  1017. package/packages/ai/src/auth/credential-store.ts +0 -51
  1018. package/packages/ai/src/compat/extension-oauth-types.ts +0 -45
  1019. package/packages/ai/src/image-models.generated.ts +0 -533
  1020. package/packages/ai/src/images-models.ts +0 -274
  1021. package/packages/ai/src/models-store.ts +0 -38
  1022. package/packages/ai/src/oauth.ts +0 -10
  1023. package/packages/ai/src/providers/openrouter-images.ts +0 -14
  1024. package/packages/ai/src/session-resources.ts +0 -24
  1025. package/packages/ai/src/utils/abort-signals.ts +0 -41
  1026. package/packages/ai/src/utils/deferred-tools.ts +0 -39
  1027. package/packages/ai/src/utils/hash.ts +0 -13
  1028. package/packages/ai/src/utils/node-http-proxy.ts +0 -112
  1029. package/plugins/ragents.actor-programs/server/client-runtime.ts +0 -16
  1030. package/plugins/ragents.ask/web/constants.ts +0 -1
  1031. package/plugins/ragents.lsp-roslyn/web/api.ts +0 -10
  1032. package/plugins/ragents.orchestration/web/CanvasStartup.tsx +0 -14
  1033. package/plugins/ragents.orchestration/web/canvas-view-settings.ts +0 -42
  1034. package/plugins/ragents.orchestration/web/column/AddresseeControl.tsx +0 -116
  1035. package/plugins/ragents.orchestration/web/column/column-settings.ts +0 -47
  1036. package/plugins/ragents.orchestration/web/column/column-state.ts +0 -68
  1037. package/plugins/ragents.orchestration/web/contract.ts +0 -25
  1038. package/plugins/ragents.product/model-settings-contract.ts +0 -10
  1039. package/plugins/ragents.profile-distribution/server/web.ts +0 -24
  1040. /package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/authoring-contracts.ts +0 -0
  1041. /package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/runtime-libraries.ts +0 -0
  1042. /package/{plugins/ragents.actor-programs → apps/server/src/plugin-support/actor-programs}/workflow/prompt-reader.ts +0 -0
  1043. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/file-contracts.d.ts +0 -0
  1044. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/flow-diagram-contracts.d.ts +0 -0
  1045. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/flow-diagram.css +0 -0
  1046. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/form-contracts.d.ts +0 -0
  1047. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/frame-layout.ts +0 -0
  1048. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/table-contracts.d.ts +0 -0
  1049. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/viewer-contracts.d.ts +0 -0
  1050. /package/{plugins/ragents.orchestration/canvas.hbs → bundles/ragents.orchestration/surface.hbs} +0 -0
  1051. /package/packages/{agent-core/src → agent/src/loop}/index.ts +0 -0
  1052. /package/packages/{agent-core/src → agent/src/loop}/uuid.ts +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../plugins/ragents.model-relay/server/index.ts", "../../../plugins/ragents.model-relay/server/config.ts", "../../../plugins/ragents.model-relay/server/relay.ts"],
4
+ "sourcesContent": ["import type { RAgentsPlugin } from \"@ragents/engine\";\nimport { modelUpstreamsToken } from \"@ragents/host/plugin-support/model-upstreams.js\";\nimport type { PluginModule } from \"@ragents/host/plugin-support/plugin-module.js\";\nimport { Protocol } from \"@ragents/host/protocol.js\";\nimport { modelRelayConfig } from \"./config.js\";\nimport { createRelayRoutes, resolveAliases, type ResolvedAlias } from \"./relay.js\";\n\nconst modelRelayPlugin: RAgentsPlugin = {\n manifest: { id: \"ragents.model-relay\" },\n register: (host) => {\n const upstreams = host.service(modelUpstreamsToken);\n let resolved: readonly ResolvedAlias[] | undefined;\n const aliases = (): readonly ResolvedAlias[] => resolved ??= resolveAliases(modelRelayConfig.aliases(), upstreams());\n const log = new Protocol(host.storage.root(\"relay.log\"));\n host.lifecycle({\n id: \"ragents.model-relay\",\n initialize: () => {\n const list = aliases();\n log.write(`=== Start: ${list.map((entry) => `${entry.alias}=${entry.upstream.id}/${entry.model.id}`).join(\", \")} ===`);\n console.log(`Modell-Relay: ${list.length} Aliasse unter /relay/v1 (${list.map((entry) => entry.alias).join(\", \")})`);\n },\n shutdown: () => log.close(),\n });\n host.http(...createRelayRoutes({ aliases, log: (line) => log.write(line) }));\n },\n};\n\nexport const plugin: PluginModule = {\n create: () => modelRelayPlugin,\n};\n", "import { configuredModelAliases, type ModelAlias } from \"@ragents/host/plugin-support/model-aliases.js\";\n\n/** Das Relay bietet die Aliasse des Profils an (MODEL_ALIASES im Abschnitt host), dieselben wie f\u00FCr die eigenen Runs. */\nexport const relayAliases = (aliases: readonly ModelAlias[]): readonly ModelAlias[] => {\n if (aliases.length === 0) throw new Error(\"ragents.model-relay braucht MODEL_ALIASES im Abschnitt host; erwartet wird eine Liste \\\"alias=anbieter/modell\\\"\");\n return aliases;\n};\n\nexport const modelRelayConfig = Object.freeze({\n aliases: () => relayAliases(configuredModelAliases()),\n});\n", "import type { IncomingMessage } from \"node:http\";\nimport { Readable } from \"node:stream\";\nimport { pipeline } from \"node:stream/promises\";\nimport type { ReadableStream } from \"node:stream/web\";\nimport type { HttpRouteContribution } from \"@ragents/engine\";\nimport { PayloadTooLargeError, readBody, writeJson } from \"@ragents/host/plugin-support/http.js\";\nimport type { ModelAlias } from \"@ragents/host/plugin-support/model-aliases.js\";\nimport type { ModelUpstream } from \"@ragents/host/plugin-support/model-upstreams.js\";\n\nexport const RELAY_PATH_PREFIX = \"/relay/v1\";\nexport const RELAY_RIGHT = \"models.use\";\n\nconst MAX_REQUEST_BYTES = 64 * 1024 * 1024;\nconst MAX_SCAN_BYTES = 8 * 1024 * 1024;\nconst DROPPED_HEADERS = new Set([\"host\", \"authorization\", \"cookie\", \"content-length\", \"connection\", \"transfer-encoding\", \"accept-encoding\", \"expect\"]);\n\nexport interface ResolvedAlias {\n readonly alias: string;\n readonly upstream: ModelUpstream;\n readonly model: ModelUpstream[\"models\"][number];\n}\n\n/** Jeder Alias muss auf einen konfigurierten Anbieter und ein Modell aus dessen Katalog zeigen. */\nexport const resolveAliases = (aliases: readonly ModelAlias[], upstreams: readonly ModelUpstream[]): readonly ResolvedAlias[] =>\n aliases.map((entry) => {\n const upstream = upstreams.find((candidate) => candidate.id === entry.upstream);\n if (!upstream) {\n const available = upstreams.map((candidate) => candidate.id).join(\", \") || \"keiner\";\n throw new Error(`MODEL_ALIASES: der Anbieter ${entry.upstream} hinter ${entry.alias} ist auf diesem Server nicht konfiguriert (verf\u00FCgbar: ${available})`);\n }\n const model = upstream.models.find((candidate) => candidate.id === entry.model);\n if (!model) throw new Error(`MODEL_ALIASES: das Modell ${entry.model} hinter ${entry.alias} fehlt im Katalog von ${entry.upstream}`);\n return { alias: entry.alias, upstream, model };\n });\n\n/** Der Katalogeintrag nennt nur, was der Verbraucher f\u00FCr den Draht braucht; Name, Anbieter und Kosten bleiben beim Server. */\nexport const catalogEntryOf = (resolved: ResolvedAlias) => ({\n id: resolved.alias,\n object: \"model\" as const,\n owned_by: \"relay\",\n catalog: {\n reasoning: resolved.model.reasoning,\n ...(resolved.model.thinkingLevelMap ? { thinkingLevelMap: resolved.model.thinkingLevelMap } : {}),\n input: [...resolved.model.input],\n contextWindow: resolved.model.contextWindow,\n maxTokens: resolved.model.maxTokens,\n ...(resolved.model.compat ? { compat: resolved.model.compat } : {}),\n },\n});\n\ninterface Usage {\n readonly prompt: number | undefined;\n readonly completion: number | undefined;\n}\n\n/** Ersetzt im durchgereichten Strom den echten Modellnamen durch den Alias, entfernt den Anbieter und merkt sich den letzten usage-Block. */\nconst responseRewriter = (alias: string) => {\n const decoder = new TextDecoder();\n let pending = \"\";\n let usage: Usage | undefined;\n let overflow = false;\n const rewrite = (text: string): string => {\n let parsed: unknown;\n try { parsed = JSON.parse(text); }\n catch { return text; }\n if (!parsed || typeof parsed !== \"object\" || Array.isArray(parsed)) return text;\n const body = parsed as { model?: unknown; provider?: unknown; usage?: { prompt_tokens?: unknown; completion_tokens?: unknown } };\n if (body.usage && typeof body.usage === \"object\") {\n const number = (value: unknown) => typeof value === \"number\" ? value : undefined;\n usage = { prompt: number(body.usage.prompt_tokens), completion: number(body.usage.completion_tokens) };\n }\n if (typeof body.model !== \"string\" && body.provider === undefined) return text;\n const rest = Object.fromEntries(Object.entries(body).filter(([key]) => key !== \"provider\"));\n return JSON.stringify(typeof body.model === \"string\" ? { ...rest, model: alias } : rest);\n };\n const line = (text: string): string => text.startsWith(\"data: \") ? `data: ${rewrite(text.slice(6))}` : text;\n return {\n feed: (chunk: Buffer): string => {\n const text = decoder.decode(chunk, { stream: true });\n if (overflow) return text;\n pending += text;\n const lines = pending.split(\"\\n\");\n pending = lines.pop() ?? \"\";\n const forwarded = lines.map((entry) => `${line(entry)}\\n`).join(\"\");\n if (pending.length <= MAX_SCAN_BYTES) return forwarded;\n overflow = true;\n const remainder = pending;\n pending = \"\";\n return `${forwarded}${remainder}`;\n },\n finish: (): string => {\n const rest = overflow || !pending.trim() ? pending : pending.startsWith(\"data: \") ? line(pending) : rewrite(pending);\n pending = \"\";\n return rest;\n },\n usage: (): Usage | undefined => usage,\n };\n};\n\nconst openAiError = (message: string, type: string) => ({ error: { message, type } });\n\nconst forwardedHeaders = (request: IncomingMessage, apiKey: string): Record<string, string> => {\n const headers: Record<string, string> = {};\n for (const [name, value] of Object.entries(request.headers)) {\n if (DROPPED_HEADERS.has(name) || value === undefined) continue;\n headers[name] = Array.isArray(value) ? value.join(\", \") : value;\n }\n headers[\"content-type\"] = \"application/json\";\n headers.authorization = `Bearer ${apiKey}`;\n return headers;\n};\n\nexport interface RelayRouteOptions {\n aliases: () => readonly ResolvedAlias[];\n log: (line: string) => void;\n fetch?: typeof fetch;\n}\n\nconst modelsPath = `${RELAY_PATH_PREFIX}/models`;\nconst completionsPath = `${RELAY_PATH_PREFIX}/chat/completions`;\n\nexport const createRelayRoutes = (options: RelayRouteOptions): HttpRouteContribution[] => {\n const fetchImpl = options.fetch ?? fetch;\n return [\n {\n id: \"ragents.model-relay.models\",\n isApiPath: (pathname) => pathname.startsWith(`${RELAY_PATH_PREFIX}/`),\n matches: (request, url) => request.method === \"GET\" && url.pathname === modelsPath,\n requiredRights: [RELAY_RIGHT],\n handle: ({ response }) => {\n writeJson(response, 200, { object: \"list\", data: options.aliases().map(catalogEntryOf) });\n },\n },\n {\n id: \"ragents.model-relay.completions\",\n isApiPath: (pathname) => pathname.startsWith(`${RELAY_PATH_PREFIX}/`),\n matches: (request, url) => request.method === \"POST\" && url.pathname === completionsPath,\n requiredRights: [RELAY_RIGHT],\n handle: async ({ request, response, access }) => {\n const user = access.user?.id ?? \"anonym\";\n let text: string;\n try {\n text = await readBody(request, MAX_REQUEST_BYTES);\n } catch (error) {\n if (!(error instanceof PayloadTooLargeError)) throw error;\n writeJson(response, 413, openAiError(error.message, \"invalid_request_error\"));\n return;\n }\n let parsed: unknown;\n try { parsed = JSON.parse(text); }\n catch { parsed = undefined; }\n if (!parsed || typeof parsed !== \"object\" || Array.isArray(parsed)) {\n writeJson(response, 400, openAiError(\"Der Anfragek\u00F6rper ist kein JSON-Objekt\", \"invalid_request_error\"));\n return;\n }\n const alias = (parsed as { model?: unknown }).model;\n if (typeof alias !== \"string\" || !alias) {\n writeJson(response, 400, openAiError(\"Die Anfrage nennt kein Modell\", \"invalid_request_error\"));\n return;\n }\n const resolved = options.aliases().find((candidate) => candidate.alias === alias);\n if (!resolved) {\n writeJson(response, 404, openAiError(`Das Modell ${alias} ist auf diesem Relay unbekannt`, \"invalid_request_error\"));\n return;\n }\n const controller = new AbortController();\n response.once(\"close\", () => controller.abort());\n const target = `${resolved.upstream.baseUrl}/chat/completions`;\n let upstream: Response;\n try {\n upstream = await fetchImpl(target, {\n method: \"POST\",\n headers: forwardedHeaders(request, resolved.upstream.apiKey),\n body: JSON.stringify({ ...parsed, model: resolved.model.id }),\n signal: controller.signal,\n });\n } catch (error) {\n if (controller.signal.aborted) return;\n const reason = error instanceof Error ? error.message : String(error);\n options.log(`${user} ${alias} -> ${resolved.upstream.id}/${resolved.model.id}: nicht erreichbar (${reason})`);\n writeJson(response, 502, openAiError(`Der Anbieter hinter ${alias} ist nicht erreichbar`, \"server_error\"));\n return;\n }\n response.writeHead(upstream.status, {\n \"Content-Type\": upstream.headers.get(\"content-type\") ?? \"application/octet-stream\",\n \"Cache-Control\": \"no-store\",\n });\n const rewriter = responseRewriter(alias);\n if (upstream.body) {\n const source = Readable.fromWeb(upstream.body as ReadableStream<Uint8Array>);\n try {\n await pipeline(source, async function* (chunks: AsyncIterable<Buffer>) {\n for await (const chunk of chunks) {\n const forwarded = rewriter.feed(chunk);\n if (forwarded) yield forwarded;\n }\n const rest = rewriter.finish();\n if (rest) yield rest;\n }, response);\n } catch (error) {\n if (!controller.signal.aborted) throw error;\n }\n } else {\n response.end();\n }\n const usage = rewriter.usage();\n const tokens = usage ? ` tokens in=${usage.prompt ?? \"?\"} out=${usage.completion ?? \"?\"}` : \"\";\n options.log(`${user} ${alias} -> ${resolved.upstream.id}/${resolved.model.id}: ${upstream.status}${tokens}`);\n },\n },\n ];\n};\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,106 @@
1
+ # Orchestration through TypeScript
2
+
3
+ You coordinate this conversation and carry out the user's requested work. The user describes
4
+ an outcome; discover the available functions and choose the implementation yourself. A task
5
+ or skill start prompt need not prescribe actors, subscriptions, packages or a technical workflow.
6
+
7
+ ## The shared API
8
+
9
+ Use `typescript_api` to discover the available functions and obtain their exact input and
10
+ result types. Use `typescript_eval` to run a small TypeScript snippet: `code` is the body of an
11
+ async function with `context` and an optional `return`; `path` executes an existing source file
12
+ through the same path. Call registered functions as `context.functions.<name>(input)`.
13
+ Keep dependent calls and returned references together in code. Do not retype IDs or infer
14
+ result shapes from event names. Type errors identify a disagreement with the contract; fix
15
+ the assumption instead of hiding it with `any` or a double assertion.
16
+
17
+ A snippet can inspect data, call extension functions, create participants and arrange a run.
18
+ It needs no actor package, persistent setup actor or invented tests. Local variables end with
19
+ that execution. Use an actor program when later messages, events, persistent state or a view
20
+ are needed. Snippets and actor programs use the same registered functions and contracts.
21
+ Use the registered file functions for editing sources, with a root alias such as `@actors/`
22
+ instead of copied physical paths; `bash` takes such an alias path as `cwd`.
23
+
24
+ A snippet acts as its caller. A TypeScript actor's `onInput` acts as that actor. An actor
25
+ function owns its actor's state but invokes run functions as its caller: calling another
26
+ actor's function does not become that actor. In particular, `event_subscribe` subscribes the
27
+ acting caller. To let a persistent actor receive later events, arrange its subscription in
28
+ its own `onInput`; send it an ordinary input to begin that work.
29
+
30
+ Already completed function calls are not rolled back if a later call fails. Before retrying,
31
+ inspect the existing actors, programs and subscriptions and resume the missing work. A failed
32
+ snippet is not evidence that its earlier operations had no effect.
33
+
34
+ ## Actors and messages
35
+
36
+ A run contains actors, inputs, turns, events, subscriptions and artifacts. Actors are the user,
37
+ LLM agents or TypeScript actors. `actor_input` delivers ordinary text and explicitly attached
38
+ artifacts. The recipient does not receive your context.
39
+ Only LLM agents interpret arbitrary natural-language tasks. A TypeScript actor executes its
40
+ programmed input protocol; inspect its program or documented functions before addressing it.
41
+ Prefer its published functions for actions. A primary actor can be a TypeScript program;
42
+ primary does not mean conversational. Enqueueing confirms delivery to the queue, not processing
43
+ or task completion. Unknown program commands must fail explicitly instead of returning silently.
44
+
45
+ Use `actor_list` before creating participants. A prepared run or another actor may already
46
+ have created the required roles. Reuse suitable active actors even when they are not your
47
+ children. Reusing a name in `agent_spawn` creates another actor with a suffix; it does not
48
+ select the existing one. Inspect an unclear role before deciding to create another.
49
+
50
+ Do the work yourself unless a separate role, context or independent task has a concrete
51
+ benefit, or the user requests participants. Multiple files, languages or steps alone do not
52
+ require more actors. Pure deterministic forwarding and persistent bookkeeping belong in
53
+ TypeScript; `context.std.mediators.route` supports existing routing patterns. Use model
54
+ judgment where the task needs it, not for unchanged message forwarding.
55
+
56
+ Read `model_list` before the first spawn and select an actual profile or model from its
57
+ result. A new agent does not inherit your model. Pass its profile or model explicitly and
58
+ choose `tools` explicitly: `[]` for plain conversation, a named function selection for a
59
+ bounded task, or `null` for the full available function inventory. Tools are not a role label:
60
+ a critic who must inspect files needs the corresponding access; a plain advisor may need none.
61
+ Agents inherit the engine capabilities you may pass on. Use `withoutCapabilities` only when
62
+ an ability must deliberately be absent from a whole subtree.
63
+
64
+ `agent_spawn` creates an idle actor. Its prompt describes the lasting role and output rules;
65
+ its concrete assignment is an `actor_input`. Give it a `description` of a few words, such as
66
+ "checks the comment rule"; people pick addressees by it in a tree of who created whom. Prepare participants, required programs, views
67
+ and subscriptions before sending the first assignments. Subscribe to a needed reply before
68
+ requesting it. Never assume a failed creation produced an actor.
69
+
70
+ ## Events and turn boundaries
71
+
72
+ Ordinary model output, reasoning and function calls are journaled automatically. A subscription
73
+ observes matching new events and delivers each as a later ActorInput to its subscriber.
74
+ Inputs arriving during a turn wait for the next turn. A consumed input is not automatically
75
+ repeated after interruption. An actor program receives the structured source in `input.event`;
76
+ the event's `type` belongs to the event itself, not its payload.
77
+
78
+ Once subscriptions and assignments are in place, end the turn. Do not poll `event_query`, run
79
+ sleep loops or keep a snippet alive waiting for future model answers. A new matching input
80
+ starts the next turn. Use `event_query` for intentional history inspection or recovery, with
81
+ focused filters and a small limit. `event_subscription_list` lists subscriptions;
82
+ `event_unsubscribe` removes those no longer needed.
83
+
84
+ Subscribe to `model.output.completed` for answer text, or `turn.finished` when completion
85
+ status is sufficient. Subscribe to failures, interruption and stops only where the flow
86
+ needs an independent reaction. Combining answer and finish events routinely produces two
87
+ inputs for one result; when both are necessary, correlate by turn and act only once.
88
+ Keep `includeSelf` off unless an intentional self-trigger requires it.
89
+
90
+ LLM event inputs show a readable header and text, plus active subscription information.
91
+ TypeScript programs receive structured events. An actor remains addressable after a turn;
92
+ `actor_stop` stops it and the actors it spawned.
93
+ The primary actor can use `run_stop` to stop all work in its own run, including tools and plugin services. Use it immediately when the user requests a complete stop. It also interrupts the calling turn; no final reply is required. The conversation and files remain available.
94
+
95
+ ## Results for the user
96
+
97
+ Verify the actual outcome against the user's requirements. A successful typecheck or tests
98
+ written alongside the implementation do not prove the requested behavior. Keep meaningful
99
+ checks of output, state and effects; fix implementation errors rather than changing an
100
+ expectation merely to obtain a passing test.
101
+
102
+ Your model answer is already the user chat. Report concrete results and meaningful phase
103
+ changes; do not add a filler waiting message after assigning work. State only what happened,
104
+ never describe an unperformed step as done. Respect prescribed output formats. Use meaningful
105
+ actor names and keep the run's task list current when useful. Technical IDs and environment
106
+ variables belong in code, not in explanations to the user.
@@ -0,0 +1,194 @@
1
+ {
2
+ "format": 3,
3
+ "id": "ragents.orchestration",
4
+ "api": 6,
5
+ "hostNames": {
6
+ "server": {
7
+ "@ragents/engine": [
8
+ "DomainError",
9
+ "ScriptDriver",
10
+ "actorByHandle",
11
+ "actorInputSchema",
12
+ "defineRunFunction",
13
+ "defineToolAvailability",
14
+ "enqueueActorInput",
15
+ "eventResultSchemaOf",
16
+ "holdsUsable"
17
+ ],
18
+ "@ragents/engine/src/http/contracts": [
19
+ "handleKey"
20
+ ],
21
+ "@ragents/host/plugin-support/actor-programs/contract": [
22
+ "ACTOR_PROGRAMS_STATE_ID",
23
+ "resolveActorView"
24
+ ],
25
+ "@ragents/host/plugin-support/agent-tool": [
26
+ "toolDescriptorFrom"
27
+ ],
28
+ "@ragents/host/plugin-support/plugin-folder": [
29
+ "pluginAsset"
30
+ ],
31
+ "@ragents/host/plugin-support/prompt": [
32
+ "boundToTools",
33
+ "handlebarsPrompt"
34
+ ],
35
+ "@ragents/host/ragents/global-chat": [
36
+ "runManagementToken"
37
+ ],
38
+ "@ragents/host/ragents/host-services": [
39
+ "runtimeProviderToken"
40
+ ],
41
+ "typebox": [
42
+ "Type"
43
+ ]
44
+ },
45
+ "web": {
46
+ "@ragents/engine/src/http/contracts": [
47
+ "handleKey",
48
+ "runContracts"
49
+ ],
50
+ "@ragents/web/AccessContext": [
51
+ "useAccess"
52
+ ],
53
+ "@ragents/web/actor-conversation": [
54
+ "actorChatMessages",
55
+ "actorInputLabel"
56
+ ],
57
+ "@ragents/web/api": [
58
+ "interruptActorTurn",
59
+ "sendActorMessage"
60
+ ],
61
+ "@ragents/web/chat-view-settings": [
62
+ "ChatViewSwitches",
63
+ "useChatViewSettings"
64
+ ],
65
+ "@ragents/web/chat/chat-target": [
66
+ "programChatNotice",
67
+ "runIsWorking"
68
+ ],
69
+ "@ragents/web/chat/StoppedActorNotice": [
70
+ "StoppedActorNotice"
71
+ ],
72
+ "@ragents/web/chat/useAttachmentCapabilities": [
73
+ "useAttachmentCapabilities"
74
+ ],
75
+ "@ragents/web/lib/format": [
76
+ "formatBytes"
77
+ ],
78
+ "@ragents/web/lib/labels": [
79
+ "thinkingLabel"
80
+ ],
81
+ "@ragents/web/lib/local-storage-setting": [
82
+ "createLocalStorageSetting"
83
+ ],
84
+ "@ragents/web/PluginRegistry": [
85
+ "SurfaceControllerProvider",
86
+ "useActionRenderer",
87
+ "useSurfaceController",
88
+ "useToolRenderer"
89
+ ],
90
+ "@ragents/web/rpc": [
91
+ "rpc"
92
+ ],
93
+ "@ragents/web/run-panel/host": [
94
+ "useCenterElements",
95
+ "useRunPanelHost"
96
+ ],
97
+ "@ragents/web/run-view": [
98
+ "actorTone",
99
+ "chatPrimaryId",
100
+ "isPendingRunActorInput",
101
+ "runActorFrom",
102
+ "runArtifactContentUrl",
103
+ "runViewFrom"
104
+ ],
105
+ "@ragents/web/SourceCode": [
106
+ "SourceCode"
107
+ ],
108
+ "@ragents/web/StatusGroup": [
109
+ "StatusGroup"
110
+ ],
111
+ "@ragents/web/Toolbar": [
112
+ "ToolbarCopy",
113
+ "ToolbarItem",
114
+ "ToolbarLabel",
115
+ "ToolbarText"
116
+ ],
117
+ "@ragents/web/ui": [
118
+ "Alert",
119
+ "AlertDescription",
120
+ "Badge",
121
+ "Button",
122
+ "Empty",
123
+ "EmptyDescription",
124
+ "EmptyHeader",
125
+ "EmptyTitle",
126
+ "Input",
127
+ "Popover",
128
+ "PopoverContent",
129
+ "SectionLabel",
130
+ "Select",
131
+ "SelectContent",
132
+ "SelectItem",
133
+ "SelectTrigger",
134
+ "SelectValue",
135
+ "Spinner",
136
+ "StartupNotice",
137
+ "StopGlyph",
138
+ "Tabs",
139
+ "TabsContent",
140
+ "TabsList",
141
+ "TabsTrigger",
142
+ "cn"
143
+ ],
144
+ "quassel": [
145
+ "ChatInputToolbar",
146
+ "ChatMessages",
147
+ "ChatPanel"
148
+ ],
149
+ "react": [
150
+ "createContext",
151
+ "createElement",
152
+ "forwardRef",
153
+ "memo",
154
+ "useCallback",
155
+ "useContext",
156
+ "useEffect",
157
+ "useId",
158
+ "useLayoutEffect",
159
+ "useMemo",
160
+ "useRef",
161
+ "useState",
162
+ "useSyncExternalStore"
163
+ ],
164
+ "react-dom": [
165
+ "createPortal"
166
+ ],
167
+ "react/jsx-runtime": [
168
+ "Fragment",
169
+ "jsx",
170
+ "jsxs"
171
+ ]
172
+ }
173
+ },
174
+ "stand": "04d3cd3b2394dc698c36386e4e24a5f551d75207db44ceb6295e6b0aa688656d",
175
+ "sourceStand": "5a6693e08ee33318be87be978178ea0676191bc1ff8a60e0a26ff951ebc1ff11",
176
+ "server": "server/index.js",
177
+ "web": {
178
+ "entry": "web/index.js",
179
+ "classes": "web/classes.json"
180
+ },
181
+ "exports": {
182
+ "server": {},
183
+ "web": {
184
+ "web/surface-entities": "web/exports/web/surface-entities.js",
185
+ "web/program-slot": "web/exports/web/program-slot.js",
186
+ "web/tile-docking": "web/exports/web/tile-docking.js"
187
+ }
188
+ },
189
+ "uses": [],
190
+ "assets": [
191
+ "orchestration.hbs",
192
+ "surface.hbs"
193
+ ]
194
+ }
@@ -0,0 +1,277 @@
1
+ import { createRequire as __ragentsCreateRequire } from "node:module";
2
+ const require = __ragentsCreateRequire(import.meta.url);
3
+
4
+ // server/index.ts
5
+ import {
6
+ actorInputSchema,
7
+ enqueueActorInput,
8
+ eventResultSchemaOf,
9
+ ScriptDriver
10
+ } from "@ragents/engine";
11
+ import { runtimeProviderToken } from "@ragents/host/ragents/host-services.js";
12
+ import { pluginAsset } from "@ragents/host/plugin-support/plugin-folder.js";
13
+ import { boundToTools, handlebarsPrompt } from "@ragents/host/plugin-support/prompt.js";
14
+
15
+ // server/surface-tool.ts
16
+ import { Type } from "typebox";
17
+ import {
18
+ DomainError,
19
+ actorByHandle,
20
+ defineRunFunction,
21
+ defineToolAvailability,
22
+ holdsUsable
23
+ } from "@ragents/engine";
24
+ import { toolDescriptorFrom } from "@ragents/host/plugin-support/agent-tool.js";
25
+ import { ACTOR_PROGRAMS_STATE_ID, resolveActorView } from "@ragents/host/plugin-support/actor-programs/contract.js";
26
+
27
+ // contract.ts
28
+ import { handleKey } from "@ragents/engine/src/http/contracts";
29
+
30
+ // tiled-layout.ts
31
+ var MAX_SURFACE_TILE_DEPTH = 16;
32
+ var MAX_SURFACE_TILES = 64;
33
+ var surfaceTileNodeOf = (input) => {
34
+ const entities = /* @__PURE__ */ new Set();
35
+ const parse = (value, where, depth) => {
36
+ if (depth > MAX_SURFACE_TILE_DEPTH) throw new Error(`${where}: h\xF6chstens ${MAX_SURFACE_TILE_DEPTH} verschachtelte Teilungen sind erlaubt`);
37
+ if (typeof value !== "object" || value === null || Array.isArray(value)) throw new Error(`${where} muss eine Kachel oder Teilung sein`);
38
+ const node = value;
39
+ if (Object.hasOwn(node, "entity")) {
40
+ if (Object.keys(node).some((key2) => key2 !== "entity" && key2 !== "chatInput")) throw new Error(`${where}: eine Kachel tr\xE4gt nur entity und chatInput; eine Teilung direction, weights und children`);
41
+ if (typeof node.entity !== "string") throw new Error(`${where}.entity muss @handle oder app:<name>/<view> sein`);
42
+ const entity = surfaceEntityOf(node.entity);
43
+ const key = surfaceEntityKey(entity);
44
+ if (node.chatInput !== void 0 && (entity.kind !== "actor" || typeof node.chatInput !== "boolean")) {
45
+ throw new Error(`${where}.chatInput ist nur f\xFCr Actors als Wahrheitswert erlaubt`);
46
+ }
47
+ if (entities.has(key)) throw new Error(`${where}: ${key} ist mehr als einmal als Kachel platziert`);
48
+ entities.add(key);
49
+ if (entities.size > MAX_SURFACE_TILES) throw new Error(`H\xF6chstens ${MAX_SURFACE_TILES} Kacheln sind erlaubt`);
50
+ return node.chatInput === void 0 ? { entity: key } : { entity: key, chatInput: node.chatInput };
51
+ }
52
+ if (Object.keys(node).some((key) => !["direction", "weights", "children"].includes(key))) throw new Error(`${where}: eine Teilung tr\xE4gt nur direction, weights und children`);
53
+ if (node.direction !== "horizontal" && node.direction !== "vertical") throw new Error(`${where}.direction muss horizontal oder vertical sein`);
54
+ if (!Array.isArray(node.weights) || node.weights.length !== 2 || node.weights.some((weight) => typeof weight !== "number" || !Number.isFinite(weight) || weight <= 0)) {
55
+ throw new Error(`${where}.weights muss genau zwei endliche positive Zahlen enthalten`);
56
+ }
57
+ if (!Array.isArray(node.children) || node.children.length !== 2) throw new Error(`${where}.children muss genau zwei Kacheln oder Teilungen enthalten`);
58
+ return {
59
+ direction: node.direction,
60
+ weights: [node.weights[0], node.weights[1]],
61
+ children: [parse(node.children[0], `${where}.children[0]`, depth + 1), parse(node.children[1], `${where}.children[1]`, depth + 1)]
62
+ };
63
+ };
64
+ return parse(input, "root", 0);
65
+ };
66
+ var surfaceTileEntities = (root) => !root ? [] : "entity" in root ? [root.entity] : root.children.flatMap(surfaceTileEntities);
67
+ var mapSurfaceTileEntities = (root, resolve) => "entity" in root ? { ...root, entity: resolve(root.entity) } : {
68
+ ...root,
69
+ children: [mapSurfaceTileEntities(root.children[0], resolve), mapSurfaceTileEntities(root.children[1], resolve)]
70
+ };
71
+
72
+ // contract.ts
73
+ var ORCHESTRATION_PLUGIN_ID = "ragents.orchestration";
74
+ var isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
75
+ var surfaceEntityOf = (text) => {
76
+ const trimmed = text.trim();
77
+ if (trimmed.startsWith("@")) {
78
+ const handle = handleKey(trimmed);
79
+ if (!handle || /\s/.test(handle)) throw new Error(`Entit\xE4t ${JSON.stringify(text)}: nach dem @ fehlt ein Handle`);
80
+ return { kind: "actor", handle };
81
+ }
82
+ const match = /^app:(.+)$/s.exec(trimmed);
83
+ if (!match) {
84
+ throw new Error(`Entit\xE4t ${JSON.stringify(text)}: erwartet @handle oder app:<id>`);
85
+ }
86
+ const id = match[1].trim();
87
+ if (!id) throw new Error(`Entit\xE4t ${JSON.stringify(text)}: die ID nach dem Doppelpunkt ist leer`);
88
+ return { kind: "app", id };
89
+ };
90
+ var surfaceEntityKey = (entity) => entity.kind === "actor" ? `@${entity.handle}` : `app:${entity.id}`;
91
+ var LEGACY_KEYS = ["nodes", "shapes", "lines", "mode"];
92
+ var surfaceLayoutOf = (value) => {
93
+ if (!isRecord(value)) throw new Error("Die Anordnung muss ein Objekt mit root sein");
94
+ const legacy = LEGACY_KEYS.filter((key) => key in value);
95
+ if (legacy.length > 0) {
96
+ throw new Error(`Die Programmanordnung stammt aus der entfernten freien Fl\xE4che (${legacy.join(", ")}); canvas_layout_replace mit root setzt sie als Kachelaufteilung neu`);
97
+ }
98
+ if (!("root" in value)) throw new Error("root fehlt; erwartet wird eine Kachel, eine Teilung oder null");
99
+ return { root: value.root === null ? null : surfaceTileNodeOf(value.root) };
100
+ };
101
+
102
+ // server/surface-tool.ts
103
+ var surfaceToolMetadata = {
104
+ name: "canvas_layout_replace",
105
+ label: "Replace Surface Layout",
106
+ description: "Arrange actors and mini-apps as tiles on the viewport-filling work surface, using a binary tree of weighted splits.",
107
+ longDescription: "root is the whole arrangement and replaces the stored one. A tile is {entity:'@helper'} or {entity:'app:@workspace/main'}; a split is {direction:'horizontal',weights:[1,1],children:[tile,tile]}. horizontal means left/right, vertical means top/bottom, and weights give the ratio of the two children. App left, chat right at 50:50: {root:{direction:'horizontal',weights:[1,1],children:[{entity:'app:@workspace/main'},{entity:'@helper'}]}}. One tile above two tiles at 2:1: {root:{direction:'vertical',weights:[2,1],children:[{entity:'@lead'},{direction:'horizontal',weights:[1,1],children:[{entity:'@first'},{entity:'@second'}]}]}}. root:null clears the surface. Dividers are draggable, so do not resend a layout to fight a personal arrangement. Participants you do not place stay reachable through the run header."
108
+ };
109
+ var canDesignSurface = defineToolAvailability({
110
+ availability: "conditional",
111
+ availabilityDetail: "Nur f\xFCr Agenten und TypeScript-Actors mit der Capability plugin.state.write.",
112
+ requiredCapabilities: ["plugin.state.write"]
113
+ }, (actor) => actor.kind !== "human" && holdsUsable(actor, "plugin.state.write"));
114
+ var tileSchema = Type.Cyclic({
115
+ SurfaceTile: Type.Union([
116
+ Type.Object({
117
+ entity: Type.String({ minLength: 1, description: "Actor @handle or activated mini-app app:@handle/view-key or app:program-name/view-key; the server resolves the view ID" }),
118
+ chatInput: Type.Optional(Type.Boolean({ description: "Actor tiles only: false hides the chat composer in the tile; default true. Does not change permissions or the inspector" }))
119
+ }, { additionalProperties: false }),
120
+ Type.Object({
121
+ direction: Type.Union([Type.Literal("horizontal"), Type.Literal("vertical")]),
122
+ weights: Type.Tuple([Type.Number({ exclusiveMinimum: 0 }), Type.Number({ exclusiveMinimum: 0 })]),
123
+ children: Type.Tuple([Type.Ref("SurfaceTile"), Type.Ref("SurfaceTile")])
124
+ }, { additionalProperties: false })
125
+ ])
126
+ }, "SurfaceTile");
127
+ var surfaceLayoutSchema = Type.Object({
128
+ root: Type.Union([tileSchema, Type.Null()], { description: "The whole arrangement: a tile or a binary split. Maximum 64 unique tiles and 16 nested splits. null clears the surface" })
129
+ });
130
+ var invalid = (message) => new DomainError("invalid-surface-layout", message, 400);
131
+ var parsedLayout = (input) => {
132
+ try {
133
+ return surfaceLayoutOf(input);
134
+ } catch (caught) {
135
+ throw invalid(caught instanceof Error ? caught.message : String(caught));
136
+ }
137
+ };
138
+ var isStopped = (actor) => actor.kind !== "human" && actor.lifecycle.kind === "stopped";
139
+ var surfaceActorOf = (view, reference, where) => {
140
+ const entity = surfaceEntityOf(reference);
141
+ if (entity.kind !== "actor") throw invalid(`${where}: ${reference} ist kein Actor`);
142
+ const handle = entity.handle;
143
+ const found = actorByHandle(view.actors, handle);
144
+ if (!found) {
145
+ const known = view.actors.filter((actor) => actor.kind !== "human").map((actor) => `@${actor.handle}`);
146
+ throw invalid(`${where}: @${handle} ist kein Actor dieses Runs. Vorhanden: ${known.join(", ") || "keine"}`);
147
+ }
148
+ if (found.kind === "human") {
149
+ throw invalid(`${where}: @${handle} ist der Mensch im Chat; der Chat liegt fest links neben der Fl\xE4che`);
150
+ }
151
+ return found;
152
+ };
153
+ var isActorReference = (reference) => surfaceEntityOf(reference).kind === "actor";
154
+ var resolveAppReferences = (view, layout) => {
155
+ const programs = view.pluginStates.flatMap((entry) => {
156
+ if (entry.pluginId !== ACTOR_PROGRAMS_STATE_ID || entry.scope.kind !== "actor") return [];
157
+ const actorId = entry.scope.actorId;
158
+ const actor = view.actors.find((candidate) => candidate.id === actorId);
159
+ if (!actor || actor.kind === "human" || isStopped(actor)) return [];
160
+ const { program } = entry.state;
161
+ return program ? [program] : [];
162
+ });
163
+ const resolve = (reference, where) => {
164
+ const entity = surfaceEntityOf(reference);
165
+ if (entity.kind !== "app") return reference;
166
+ try {
167
+ return `app:${resolveActorView(programs, entity.id).view.id}`;
168
+ } catch (error) {
169
+ throw invalid(`${where}: ${reference}: ${error instanceof Error ? error.message : String(error)} Fl\xE4chenentit\xE4ten erhalten das Pr\xE4fix app:.`);
170
+ }
171
+ };
172
+ return parsedLayout({ root: layout.root ? mapSurfaceTileEntities(layout.root, (entity) => resolve(entity, "root")) : null });
173
+ };
174
+ var checkLayoutAgainstRun = (view, input) => {
175
+ const layout = resolveAppReferences(view, input);
176
+ for (const reference of surfaceTileEntities(layout.root)) {
177
+ if (isActorReference(reference)) surfaceActorOf(view, reference, "root");
178
+ }
179
+ return layout;
180
+ };
181
+ var createSurfaceTool = () => defineRunFunction({
182
+ ...surfaceToolMetadata,
183
+ schema: surfaceLayoutSchema,
184
+ resultSchema: Type.Null(),
185
+ available: canDesignSurface,
186
+ run: ({ runtime, caller, context }, toolCallId, input) => {
187
+ const view = runtime.view(caller.runId);
188
+ const layout = checkLayoutAgainstRun(view, parsedLayout(input));
189
+ runtime.replacePluginState(context(toolCallId), caller.runId, {
190
+ pluginId: ORCHESTRATION_PLUGIN_ID,
191
+ scope: { kind: "run" },
192
+ state: layout
193
+ });
194
+ return null;
195
+ }
196
+ });
197
+ var createSurfaceToolContributor = () => ({
198
+ name: "ragents.orchestration.surface",
199
+ descriptors: [toolDescriptorFrom(surfaceToolMetadata, canDesignSurface)],
200
+ tools: () => [createSurfaceTool()]
201
+ });
202
+
203
+ // server/run-stop-tool.ts
204
+ import { Type as Type2 } from "typebox";
205
+ import { defineRunFunction as defineRunFunction2, defineToolAvailability as defineToolAvailability2, holdsUsable as holdsUsable2 } from "@ragents/engine";
206
+ import { toolDescriptorFrom as toolDescriptorFrom2 } from "@ragents/host/plugin-support/agent-tool.js";
207
+ var available = defineToolAvailability2({
208
+ availability: "conditional",
209
+ availabilityDetail: "F\xFCr den Primary-Actor mit execution.stopOwned im eigenen Run.",
210
+ requiredCapabilities: ["execution.stopOwned"]
211
+ }, (actor, view) => actor.kind !== "human" && actor.id === view.primaryActorId && holdsUsable2(actor, "execution.stopOwned"));
212
+ var createRunStopContributor = (stop, onError) => {
213
+ const definition = defineRunFunction2({
214
+ name: "run_stop",
215
+ label: "Run stoppen",
216
+ description: "Leitet den vollst\xE4ndigen Stopp des eigenen Runs ein: laufende Turns, Werkzeuge, Unteragenten und Plugin-Dienste. Gespr\xE4ch und Dateien bleiben erhalten. Bricht auch den eigenen Turn ab; die Annahme ist keine Best\xE4tigung abgeschlossener Bereinigung. Bei Benutzerwunsch nach vollst\xE4ndigem Abbruch sofort verwenden, keine Abbruchnachricht an besch\xE4ftigte Agenten senden.",
217
+ schema: Type2.Object({}, { additionalProperties: false }),
218
+ resultSchema: Type2.Object({ requested: Type2.Literal(true) }, { additionalProperties: false }),
219
+ available,
220
+ run: ({ caller, signal }) => {
221
+ signal?.throwIfAborted();
222
+ void stop(caller.runId).catch(onError);
223
+ return { requested: true };
224
+ }
225
+ });
226
+ return {
227
+ name: "ragents.orchestration.run-stop",
228
+ descriptors: [toolDescriptorFrom2(definition, available)],
229
+ tools: () => [definition]
230
+ };
231
+ };
232
+
233
+ // server/index.ts
234
+ import { runManagementToken } from "@ragents/host/ragents/global-chat.js";
235
+ var orchestrationPlugin = {
236
+ manifest: { id: "ragents.orchestration" },
237
+ register: (host) => {
238
+ host.functions(createSurfaceToolContributor());
239
+ host.functions(createRunStopContributor(
240
+ (runId) => host.service(runManagementToken)().stop(runId),
241
+ (error) => console.error("Run-Stopp durch den Koordinator fehlgeschlagen", error)
242
+ ));
243
+ host.operations({
244
+ id: "actor_input",
245
+ label: "Actor-Input einreihen",
246
+ description: "Reiht f\xFCr einen Actor einen normalen Texteingang unter der gebundenen Identit\xE4t ein - als Agent oder, aus einer App-Aktion, als Besitzer des Runs. Best\xE4tigt nur das Einreihen. TypeScript-Actors verstehen ausschlie\xDFlich ihr programmiertes Eingabeprotokoll, keine freien Auftr\xE4ge.",
247
+ schema: actorInputSchema,
248
+ resultSchema: eventResultSchemaOf("actor.input.enqueued"),
249
+ operator: "direct",
250
+ execute: (context, input) => enqueueActorInput(host.service(runtimeProviderToken)(), {
251
+ actorId: context.principal.actorId,
252
+ commandId: context.invocationId,
253
+ ...context.principal.kind === "agent" && context.principal.turnId ? { turnId: context.principal.turnId } : {},
254
+ correlationId: context.invocationId,
255
+ causationId: context.invocationId
256
+ }, context.runId, input)
257
+ });
258
+ host.script({
259
+ id: "typescript",
260
+ create: (context) => ({
261
+ driver: new ScriptDriver({ runtime: context.runtime })
262
+ })
263
+ });
264
+ host.prompts(
265
+ handlebarsPrompt("ragents.orchestration.prompt", 600, pluginAsset("ragents.orchestration", "orchestration.hbs")),
266
+ boundToTools(
267
+ handlebarsPrompt("ragents.orchestration.surface", 650, pluginAsset("ragents.orchestration", "surface.hbs")),
268
+ "canvas_layout_replace"
269
+ )
270
+ );
271
+ }
272
+ };
273
+ var plugin = { create: () => orchestrationPlugin };
274
+ export {
275
+ plugin
276
+ };
277
+ //# sourceMappingURL=index.js.map