@schlenkr/ragents 0.1.5 → 0.1.7

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 (1049) hide show
  1. package/README.md +18 -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 +16 -7
  13. package/apps/server/src/config-file.ts +25 -6
  14. package/apps/server/src/config.ts +10 -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 +1257 -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 +0 -15
  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 +12 -8
  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 +212 -106
  75. package/apps/server/src/ragents/actor-chat-history.ts +24 -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 +68 -43
  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 +33 -15
  84. package/apps/server/src/ragents/product-runtime.ts +1 -1
  85. package/apps/server/src/ragents/run-owner.ts +18 -0
  86. package/apps/server/src/ragents/runtime-bridge.ts +1 -1
  87. package/apps/server/src/ragents/session.ts +184 -85
  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 +18 -29
  97. package/apps/server/src/run-transfer.ts +66 -5
  98. package/apps/server/src/server.ts +112 -33
  99. package/apps/server/src/settings.ts +9 -12
  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-CFhTJEmH.js +1 -0
  107. package/apps/web/dist/assets/main-DlzW4t4c.js +6 -0
  108. package/apps/web/dist/assets/mermaid-HWGCJPDP-BPn4aV2r.css +1 -0
  109. package/apps/web/dist/assets/mermaid-HWGCJPDP-kxkB991i.js +478 -0
  110. package/apps/web/dist/assets/runPanel-BJEFQ__w.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 +430 -0
  114. package/apps/web/dist/help/guide-clients.md +346 -0
  115. package/apps/web/dist/help/guide-distributed.html +325 -0
  116. package/apps/web/dist/help/guide-distributed.md +230 -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 +344 -0
  128. package/apps/web/dist/help/guide-runtime.md +232 -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 +7076 -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/SessionList.tsx +16 -8
  161. package/apps/web/src/SettingsModal.tsx +37 -37
  162. package/apps/web/src/StartOptions.tsx +81 -26
  163. package/apps/web/src/StartSelection.tsx +111 -0
  164. package/apps/web/src/StartTiles.tsx +73 -0
  165. package/apps/web/src/{CanvasShortcuts.tsx → SurfaceShortcuts.tsx} +2 -2
  166. package/apps/web/src/ThemeSettings.tsx +1 -1
  167. package/apps/web/src/WorkspacePanel.tsx +4 -4
  168. package/apps/web/src/access-session.ts +4 -1
  169. package/{plugins/ragents.orchestration/web → apps/web/src}/actor-conversation.ts +3 -3
  170. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/DataTable.tsx +9 -9
  171. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/FilePicker.tsx +4 -4
  172. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/FlowDiagram.tsx +16 -14
  173. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/FlowDiagramRenderer.tsx +3 -3
  174. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/Form.tsx +12 -12
  175. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/Layout.tsx +1 -1
  176. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/MessageList.tsx +5 -5
  177. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/Viewers.tsx +8 -7
  178. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/WorkflowDiagram.tsx +1 -1
  179. package/apps/web/src/actor-programs/client-ui/chat-contracts.d.ts +64 -0
  180. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/contracts.d.ts +2 -2
  181. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/file-selection.ts +5 -5
  182. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/index.tsx +22 -16
  183. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/layout-contracts.d.ts +1 -1
  184. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/message-list-contracts.d.ts +2 -2
  185. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/workflow-diagram-contracts.d.ts +1 -1
  186. package/apps/web/src/api.ts +45 -22
  187. package/apps/web/src/chat/QuasselHost.tsx +12 -0
  188. package/apps/web/src/chat/StoppedActorNotice.tsx +39 -0
  189. package/apps/web/src/chat/chat-target.ts +14 -5
  190. package/apps/web/src/chat/requests.ts +13 -5
  191. package/apps/web/src/chat/useAttachmentCapabilities.ts +2 -2
  192. package/apps/web/src/chat/useChat.ts +8 -7
  193. package/apps/web/src/chat/user-location.ts +1 -1
  194. package/apps/web/src/chat-view-settings.tsx +49 -0
  195. package/apps/web/src/host-modules.ts +90 -0
  196. package/apps/web/src/language-server/api.ts +24 -0
  197. package/{plugins/ragents.lsp-roslyn/web → apps/web/src/language-server}/language-server-plugin.tsx +133 -6
  198. package/apps/web/src/main.tsx +4 -2
  199. package/apps/web/src/offered-machines.ts +11 -0
  200. package/apps/web/src/panel/ConnectionsPage.tsx +117 -0
  201. package/apps/web/src/panel/LoginForm.tsx +9 -9
  202. package/apps/web/src/panel/PanelDialogs.tsx +44 -27
  203. package/apps/web/src/panel/PanelHeader.tsx +11 -0
  204. package/apps/web/src/panel/PanelPage.tsx +8 -5
  205. package/apps/web/src/panel/RunLine.tsx +50 -0
  206. package/apps/web/src/panel/RunsPage.tsx +84 -0
  207. package/apps/web/src/panel/StartPage.tsx +163 -0
  208. package/apps/web/src/panel/connection-state.ts +40 -0
  209. package/apps/web/src/panel/contract.ts +66 -21
  210. package/apps/web/src/panel/page-props.ts +6 -0
  211. package/apps/web/src/plugin-bootstrap.ts +60 -31
  212. package/{plugins/ragents.product/web → apps/web/src/product}/ModelControl.tsx +3 -3
  213. package/{plugins/ragents.product/web → apps/web/src/product}/ProductModelSettings.tsx +7 -7
  214. package/{plugins/ragents.product/web → apps/web/src/product}/SystemPromptControl.tsx +3 -3
  215. package/{plugins/ragents.product/web → apps/web/src/product}/model-settings.ts +3 -3
  216. package/{plugins/ragents.product/web → apps/web/src/product}/start-options.tsx +2 -2
  217. package/apps/web/src/rpc/client.ts +28 -6
  218. package/apps/web/src/run-panel/RunPanelApp.tsx +334 -0
  219. package/apps/web/src/{column/ColumnRunHeader.tsx → run-panel/RunPanelHeader.tsx} +2 -2
  220. package/apps/web/src/{column/ColumnMenu.tsx → run-panel/RunPanelMenu.tsx} +4 -4
  221. package/apps/web/src/run-panel/RunPanelRail.tsx +38 -0
  222. package/apps/web/src/run-panel/RunPanelWorkspace.tsx +55 -0
  223. package/apps/web/src/{column → run-panel}/clipboard.ts +21 -10
  224. package/apps/web/src/run-panel/host-contract.ts +123 -0
  225. package/apps/web/src/{column → run-panel}/host.ts +31 -23
  226. package/apps/web/src/run-panel/input-bridge.ts +75 -0
  227. package/apps/web/src/run-panel/keyboard.ts +53 -0
  228. package/apps/web/src/run-panel/run-panel-location.ts +35 -0
  229. package/apps/web/src/{column → run-panel}/use-session-list.ts +3 -3
  230. package/apps/web/src/run-panel/workspace-state.ts +43 -0
  231. package/apps/web/src/{column.tsx → run-panel.tsx} +20 -13
  232. package/apps/web/src/run-preparation.ts +1 -1
  233. package/{plugins/ragents.orchestration/web → apps/web/src}/run-view.ts +25 -7
  234. package/apps/web/src/settings-contributions.ts +16 -18
  235. package/apps/web/src/title-model-settings.ts +1 -1
  236. package/apps/web/src/toolLine.ts +1 -1
  237. package/apps/web/src/ui/ListDetail.tsx +1 -1
  238. package/apps/web/src/ui/dialog.tsx +5 -5
  239. package/apps/web/src/ui/frame.css +1 -0
  240. package/apps/web/src/ui/index.ts +5 -0
  241. package/apps/web/src/ui/popover.tsx +2 -2
  242. package/apps/web/src/ui/quassel.css +41 -0
  243. package/apps/web/src/ui/relative-time.ts +36 -0
  244. package/apps/web/src/ui/startup-notice.tsx +22 -0
  245. package/apps/web/src/ui/state-icon.tsx +60 -0
  246. package/apps/web/src/ui/state-vocabulary.ts +31 -0
  247. package/apps/web/src/ui/stop-button.tsx +22 -0
  248. package/apps/web/src/ui/tailwind.css +2 -3
  249. package/apps/web/src/ui/theme.css +19 -19
  250. package/apps/web/tsconfig.json +4 -5
  251. package/apps/web/tsconfig.plugin.json +44 -0
  252. package/bundles/ragents.activity/ragents-bundle.json +38 -0
  253. package/bundles/ragents.activity/server/index.js +14 -0
  254. package/bundles/ragents.activity/server/index.js.map +7 -0
  255. package/bundles/ragents.activity/web/classes.json +1 -0
  256. package/bundles/ragents.activity/web/index.js +2 -0
  257. package/bundles/ragents.activity/web/index.js.map +7 -0
  258. package/bundles/ragents.actor-programs/prompt.hbs +80 -0
  259. package/bundles/ragents.actor-programs/ragents-bundle.json +214 -0
  260. package/bundles/ragents.actor-programs/server/index.js +2071 -0
  261. package/bundles/ragents.actor-programs/server/index.js.map +7 -0
  262. package/bundles/ragents.actor-programs/summary.hbs +17 -0
  263. package/bundles/ragents.actor-programs/web/classes.json +1 -0
  264. package/bundles/ragents.actor-programs/web/index.js +27 -0
  265. package/bundles/ragents.actor-programs/web/index.js.map +7 -0
  266. package/bundles/ragents.ask/ask.hbs +4 -0
  267. package/bundles/ragents.ask/ragents-bundle.json +97 -0
  268. package/bundles/ragents.ask/server/chunks/chunk-PDJO75SQ.js +13 -0
  269. package/bundles/ragents.ask/server/chunks/chunk-PDJO75SQ.js.map +7 -0
  270. package/bundles/ragents.ask/server/exports/server/contract.js +11 -0
  271. package/bundles/ragents.ask/server/exports/server/contract.js.map +7 -0
  272. package/bundles/ragents.ask/server/index.js +279 -0
  273. package/bundles/ragents.ask/server/index.js.map +7 -0
  274. package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js +2 -0
  275. package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js.map +7 -0
  276. package/bundles/ragents.ask/web/chunks/chunk-HGFDGTNC.js +2 -0
  277. package/bundles/ragents.ask/web/chunks/chunk-HGFDGTNC.js.map +7 -0
  278. package/bundles/ragents.ask/web/chunks/chunk-V7W3QDVS.js +25 -0
  279. package/bundles/ragents.ask/web/chunks/chunk-V7W3QDVS.js.map +7 -0
  280. package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js +2 -0
  281. package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js.map +7 -0
  282. package/bundles/ragents.ask/web/classes.json +1 -0
  283. package/bundles/ragents.ask/web/exports/ask-payload.js +2 -0
  284. package/bundles/ragents.ask/web/exports/ask-payload.js.map +7 -0
  285. package/bundles/ragents.ask/web/exports/web/QuestionCard.js +2 -0
  286. package/bundles/ragents.ask/web/exports/web/QuestionCard.js.map +7 -0
  287. package/bundles/ragents.ask/web/exports/web/api.js +2 -0
  288. package/bundles/ragents.ask/web/exports/web/api.js.map +7 -0
  289. package/bundles/ragents.ask/web/index.js +2 -0
  290. package/bundles/ragents.ask/web/index.js.map +7 -0
  291. package/bundles/ragents.browser/ragents-bundle.json +53 -0
  292. package/bundles/ragents.browser/server/chunks/chunk-2GKLLCBE.js +11 -0
  293. package/bundles/ragents.browser/server/chunks/chunk-2GKLLCBE.js.map +7 -0
  294. package/bundles/ragents.browser/server/exports/server/contract.js +9 -0
  295. package/bundles/ragents.browser/server/exports/server/contract.js.map +7 -0
  296. package/bundles/ragents.browser/server/index.js +479 -0
  297. package/bundles/ragents.browser/server/index.js.map +7 -0
  298. package/bundles/ragents.browser/skills/browser-testing/SKILL.md +38 -0
  299. package/bundles/ragents.documents/prompt.hbs +18 -0
  300. package/bundles/ragents.documents/ragents-bundle.json +120 -0
  301. package/bundles/ragents.documents/server/chunks/chunk-QIECRZ7C.js +37 -0
  302. package/bundles/ragents.documents/server/chunks/chunk-QIECRZ7C.js.map +7 -0
  303. package/bundles/ragents.documents/server/exports/contract.js +11 -0
  304. package/bundles/ragents.documents/server/exports/contract.js.map +7 -0
  305. package/bundles/ragents.documents/server/index.js +290 -0
  306. package/bundles/ragents.documents/server/index.js.map +7 -0
  307. package/bundles/ragents.documents/web/classes.json +1 -0
  308. package/bundles/ragents.documents/web/index.js +26 -0
  309. package/bundles/ragents.documents/web/index.js.map +7 -0
  310. package/bundles/ragents.lsp-fsharp/ragents-bundle.json +49 -0
  311. package/bundles/ragents.lsp-fsharp/server/index.js +82 -0
  312. package/bundles/ragents.lsp-fsharp/server/index.js.map +7 -0
  313. package/bundles/ragents.lsp-fsharp/web/classes.json +1 -0
  314. package/bundles/ragents.lsp-fsharp/web/index.js +2 -0
  315. package/bundles/ragents.lsp-fsharp/web/index.js.map +7 -0
  316. package/bundles/ragents.lsp-roslyn/ragents-bundle.json +61 -0
  317. package/bundles/ragents.lsp-roslyn/server/index.js +208 -0
  318. package/bundles/ragents.lsp-roslyn/server/index.js.map +7 -0
  319. package/bundles/ragents.lsp-roslyn/web/classes.json +1 -0
  320. package/bundles/ragents.lsp-roslyn/web/index.js +2 -0
  321. package/bundles/ragents.lsp-roslyn/web/index.js.map +7 -0
  322. package/bundles/ragents.lsp-typescript/ragents-bundle.json +36 -0
  323. package/bundles/ragents.lsp-typescript/server/index.js +13 -0
  324. package/bundles/ragents.lsp-typescript/server/index.js.map +7 -0
  325. package/bundles/ragents.lsp-typescript/web/classes.json +1 -0
  326. package/bundles/ragents.lsp-typescript/web/index.js +2 -0
  327. package/bundles/ragents.lsp-typescript/web/index.js.map +7 -0
  328. package/bundles/ragents.model-relay/ragents-bundle.json +33 -0
  329. package/bundles/ragents.model-relay/server/index.js +230 -0
  330. package/bundles/ragents.model-relay/server/index.js.map +7 -0
  331. package/bundles/ragents.orchestration/orchestration.hbs +106 -0
  332. package/bundles/ragents.orchestration/ragents-bundle.json +194 -0
  333. package/bundles/ragents.orchestration/server/index.js +277 -0
  334. package/bundles/ragents.orchestration/server/index.js.map +7 -0
  335. package/bundles/ragents.orchestration/web/chunks/chunk-ODMMQGX2.js +2 -0
  336. package/bundles/ragents.orchestration/web/chunks/chunk-ODMMQGX2.js.map +7 -0
  337. package/bundles/ragents.orchestration/web/chunks/chunk-OQYCNYXN.js +2 -0
  338. package/bundles/ragents.orchestration/web/chunks/chunk-OQYCNYXN.js.map +7 -0
  339. package/bundles/ragents.orchestration/web/chunks/chunk-OSKPH6SZ.js +2 -0
  340. package/bundles/ragents.orchestration/web/chunks/chunk-OSKPH6SZ.js.map +7 -0
  341. package/bundles/ragents.orchestration/web/chunks/chunk-XGPPQCZR.js +2 -0
  342. package/bundles/ragents.orchestration/web/chunks/chunk-XGPPQCZR.js.map +7 -0
  343. package/bundles/ragents.orchestration/web/classes.json +1 -0
  344. package/bundles/ragents.orchestration/web/exports/web/program-slot.js +2 -0
  345. package/bundles/ragents.orchestration/web/exports/web/program-slot.js.map +7 -0
  346. package/bundles/ragents.orchestration/web/exports/web/surface-entities.js +2 -0
  347. package/bundles/ragents.orchestration/web/exports/web/surface-entities.js.map +7 -0
  348. package/bundles/ragents.orchestration/web/exports/web/tile-docking.js +2 -0
  349. package/bundles/ragents.orchestration/web/exports/web/tile-docking.js.map +7 -0
  350. package/bundles/ragents.orchestration/web/index.js +51 -0
  351. package/bundles/ragents.orchestration/web/index.js.map +7 -0
  352. package/bundles/ragents.overseer/ragents-bundle.json +144 -0
  353. package/bundles/ragents.overseer/server/index.js +652 -0
  354. package/bundles/ragents.overseer/server/index.js.map +7 -0
  355. package/bundles/ragents.overseer/web/classes.json +1 -0
  356. package/bundles/ragents.overseer/web/index.js +25 -0
  357. package/bundles/ragents.overseer/web/index.js.map +7 -0
  358. package/bundles/ragents.processes/ragents-bundle.json +93 -0
  359. package/bundles/ragents.processes/server/index.js +204 -0
  360. package/bundles/ragents.processes/server/index.js.map +7 -0
  361. package/bundles/ragents.processes/web/classes.json +1 -0
  362. package/bundles/ragents.processes/web/index.js +4 -0
  363. package/bundles/ragents.processes/web/index.js.map +7 -0
  364. package/bundles/ragents.product/preamble.hbs +9 -0
  365. package/bundles/ragents.product/ragents-bundle.json +93 -0
  366. package/bundles/ragents.product/server/index.js +208 -0
  367. package/bundles/ragents.product/server/index.js.map +7 -0
  368. package/bundles/ragents.product/web/classes.json +1 -0
  369. package/bundles/ragents.product/web/index.js +2 -0
  370. package/bundles/ragents.product/web/index.js.map +7 -0
  371. package/bundles/ragents.profile-distribution/ragents-bundle.json +64 -0
  372. package/bundles/ragents.profile-distribution/server/index.js +241 -0
  373. package/bundles/ragents.profile-distribution/server/index.js.map +7 -0
  374. package/bundles/ragents.reference/ragents-bundle.json +39 -0
  375. package/bundles/ragents.reference/run-scripts/balcony-wizard/RUN.md +27 -0
  376. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/package.json +10 -0
  377. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +80 -0
  378. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/conversation.ts +82 -0
  379. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/tests/conversation.test.ts +154 -0
  380. package/bundles/ragents.reference/run-scripts/balcony-wizard/package.json +9 -0
  381. package/bundles/ragents.reference/run-scripts/balcony-wizard/src/server.ts +32 -0
  382. package/bundles/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +59 -0
  383. package/bundles/ragents.reference/run-scripts/conversation-circle/RUN.md +13 -0
  384. package/bundles/ragents.reference/run-scripts/conversation-circle/package.json +9 -0
  385. package/bundles/ragents.reference/run-scripts/conversation-circle/src/server.ts +81 -0
  386. package/bundles/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +26 -0
  387. package/bundles/ragents.reference/run-scripts/conversation-circle/tests/program.test.ts +34 -0
  388. package/bundles/ragents.reference/run-scripts/learning-afternoon/RUN.md +24 -0
  389. package/bundles/ragents.reference/run-scripts/learning-afternoon/package.json +10 -0
  390. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/experiment.md +1 -0
  391. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/helper.md +5 -0
  392. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/quiz.md +1 -0
  393. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/client.tsx +27 -0
  394. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/server.ts +137 -0
  395. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/state.ts +38 -0
  396. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/view.tsx +42 -0
  397. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/workflow.ts +38 -0
  398. package/bundles/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +218 -0
  399. package/bundles/ragents.reference/run-scripts/moderated-round/RUN.md +12 -0
  400. package/bundles/ragents.reference/run-scripts/moderated-round/package.json +9 -0
  401. package/bundles/ragents.reference/run-scripts/moderated-round/src/server.ts +60 -0
  402. package/bundles/ragents.reference/run-scripts/moderated-round/tests/helpers.ts +26 -0
  403. package/bundles/ragents.reference/run-scripts/moderated-round/tests/program.test.ts +24 -0
  404. package/bundles/ragents.reference/run-scripts/shared-actor-list/RUN.md +18 -0
  405. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/package.json +16 -0
  406. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/client.tsx +39 -0
  407. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/contract.ts +15 -0
  408. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/server.ts +14 -0
  409. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/tests/program.test.ts +13 -0
  410. package/bundles/ragents.reference/run-scripts/shared-actor-list/package.json +9 -0
  411. package/bundles/ragents.reference/run-scripts/shared-actor-list/src/server.ts +65 -0
  412. package/bundles/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +26 -0
  413. package/bundles/ragents.reference/run-scripts/shared-actor-list/tests/program.test.ts +42 -0
  414. package/bundles/ragents.reference/run-scripts/word-game/RUN.md +25 -0
  415. package/bundles/ragents.reference/run-scripts/word-game/package.json +11 -0
  416. package/bundles/ragents.reference/run-scripts/word-game/src/client.tsx +27 -0
  417. package/bundles/ragents.reference/run-scripts/word-game/src/contract.ts +23 -0
  418. package/bundles/ragents.reference/run-scripts/word-game/src/server.ts +105 -0
  419. package/bundles/ragents.reference/run-scripts/word-game/src/state.ts +22 -0
  420. package/bundles/ragents.reference/run-scripts/word-game/src/view.tsx +54 -0
  421. package/bundles/ragents.reference/run-scripts/word-game/tests/program.test.ts +252 -0
  422. package/bundles/ragents.reference/server/index.js +16 -0
  423. package/bundles/ragents.reference/server/index.js.map +7 -0
  424. package/bundles/ragents.reference/skills/100-shared-actor-list/SKILL.md +12 -0
  425. package/bundles/ragents.reference/skills/110-all-card-slots/SKILL.md +12 -0
  426. package/bundles/ragents.reference/skills/150-editorial-workbench/SKILL.md +12 -0
  427. package/bundles/ragents.reference/skills/160-learning-companion/SKILL.md +12 -0
  428. package/bundles/ragents.reference/skills/170-photo-collection/SKILL.md +12 -0
  429. package/bundles/ragents.reference/skills/180-decision-workbench/SKILL.md +12 -0
  430. package/bundles/ragents.reference/skills/190-review-queue/SKILL.md +12 -0
  431. package/bundles/ragents.reference/skills/20-circle-of-four/SKILL.md +12 -0
  432. package/bundles/ragents.reference/skills/200-typescript-diagnostics/SKILL.md +12 -0
  433. package/bundles/ragents.reference/skills/210-moderator-handover/SKILL.md +12 -0
  434. package/bundles/ragents.reference/skills/220-actor-approval-list/SKILL.md +12 -0
  435. package/bundles/ragents.reference/skills/230-shared-state-views/SKILL.md +12 -0
  436. package/bundles/ragents.reference/skills/240-live-result-list/SKILL.md +12 -0
  437. package/bundles/ragents.reference/skills/250-balcony-wizard/SKILL.md +12 -0
  438. package/bundles/ragents.reference/skills/30-llm-without-runtime-knowledge/SKILL.md +12 -0
  439. package/bundles/ragents.reference/skills/35-actor-input-fifo/SKILL.md +12 -0
  440. package/bundles/ragents.reference/skills/40-subscription-matrix/SKILL.md +12 -0
  441. package/bundles/ragents.reference/skills/50-subscription-removal/SKILL.md +12 -0
  442. package/bundles/ragents.reference/skills/60-stop-in-the-circle/SKILL.md +12 -0
  443. package/bundles/ragents.reference/skills/65-artifact-least-privilege/SKILL.md +12 -0
  444. package/bundles/ragents.reference/skills/70-headless-counter/SKILL.md +12 -0
  445. package/bundles/ragents.reference/skills/75-lsp-demo/SKILL.md +12 -0
  446. package/bundles/ragents.reference/skills/80-actor-text-analysis/SKILL.md +12 -0
  447. package/bundles/ragents.reference/skills/90-actor-notes/SKILL.md +12 -0
  448. package/bundles/ragents.reference/skills/95-hello-world/SKILL.md +12 -0
  449. package/bundles/ragents.reference/skills/decision-brief/SKILL.md +33 -0
  450. package/bundles/ragents.reference/skills/learning-sprint/SKILL.md +33 -0
  451. package/bundles/ragents.reference/web/classes.json +1 -0
  452. package/bundles/ragents.reference/web/index.js +2 -0
  453. package/bundles/ragents.reference/web/index.js.map +7 -0
  454. package/bundles/ragents.todo/ragents-bundle.json +48 -0
  455. package/bundles/ragents.todo/server/index.js +108 -0
  456. package/bundles/ragents.todo/server/index.js.map +7 -0
  457. package/bundles/ragents.todo/web/classes.json +1 -0
  458. package/bundles/ragents.todo/web/index.js +2 -0
  459. package/bundles/ragents.todo/web/index.js.map +7 -0
  460. package/bundles/ragents.transcript/ragents-bundle.json +34 -0
  461. package/bundles/ragents.transcript/server/index.js +102 -0
  462. package/bundles/ragents.transcript/server/index.js.map +7 -0
  463. package/bundles/ragents.watch/ragents-bundle.json +39 -0
  464. package/bundles/ragents.watch/server/chunks/chunk-FHAM6OML.js +11 -0
  465. package/bundles/ragents.watch/server/chunks/chunk-FHAM6OML.js.map +7 -0
  466. package/bundles/ragents.watch/server/chunks/chunk-RPBX3J4P.js +10 -0
  467. package/bundles/ragents.watch/server/chunks/chunk-RPBX3J4P.js.map +7 -0
  468. package/bundles/ragents.watch/server/exports/contract.js +9 -0
  469. package/bundles/ragents.watch/server/exports/contract.js.map +7 -0
  470. package/bundles/ragents.watch/server/exports/server/contract.js +9 -0
  471. package/bundles/ragents.watch/server/exports/server/contract.js.map +7 -0
  472. package/bundles/ragents.watch/server/index.js +482 -0
  473. package/bundles/ragents.watch/server/index.js.map +7 -0
  474. package/bundles/ragents.workspace/prompt.hbs +7 -0
  475. package/bundles/ragents.workspace/ragents-bundle.json +148 -0
  476. package/bundles/ragents.workspace/server/index.js +1049 -0
  477. package/bundles/ragents.workspace/server/index.js.map +7 -0
  478. package/bundles/ragents.workspace/web/classes.json +1 -0
  479. package/bundles/ragents.workspace/web/index.js +39 -0
  480. package/bundles/ragents.workspace/web/index.js.map +7 -0
  481. package/package.json +4 -15
  482. package/packages/agent/dist/core/agent-settings.d.ts +27 -0
  483. package/packages/agent/dist/core/compaction/compaction.d.ts +82 -0
  484. package/packages/agent/dist/core/compaction/index.d.ts +6 -0
  485. package/packages/agent/dist/core/compaction/utils.d.ts +39 -0
  486. package/packages/agent/dist/core/context-log.d.ts +25 -0
  487. package/packages/agent/dist/core/messages.d.ts +30 -0
  488. package/packages/agent/dist/core/model-runtime.d.ts +32 -0
  489. package/packages/agent/dist/core/provider-composer.d.ts +25 -0
  490. package/packages/agent/dist/core/skills.d.ts +20 -0
  491. package/packages/agent/dist/core/tool-definition.d.ts +17 -0
  492. package/packages/agent/dist/core/tools/bash.d.ts +58 -0
  493. package/packages/agent/dist/core/tools/edit-diff.d.ts +98 -0
  494. package/packages/agent/dist/core/tools/edit.d.ts +41 -0
  495. package/packages/agent/dist/core/tools/file-mutation-queue.d.ts +6 -0
  496. package/packages/agent/dist/core/tools/index.d.ts +5 -0
  497. package/packages/agent/dist/core/tools/output-accumulator.d.ts +58 -0
  498. package/packages/agent/dist/core/tools/path-utils.d.ts +8 -0
  499. package/packages/agent/dist/core/tools/read.d.ts +33 -0
  500. package/packages/agent/dist/core/tools/truncate.d.ts +61 -0
  501. package/packages/agent/dist/core/tools/write.d.ts +23 -0
  502. package/packages/agent/dist/index.d.ts +12 -0
  503. package/packages/agent/dist/loop/agent-loop.d.ts +13 -0
  504. package/packages/agent/dist/loop/agent.d.ts +99 -0
  505. package/packages/agent/dist/loop/index.d.ts +5 -0
  506. package/packages/agent/dist/loop/types.d.ts +333 -0
  507. package/packages/agent/dist/loop/uuid.d.ts +2 -0
  508. package/packages/agent/dist/utils/child-process.d.ts +17 -0
  509. package/packages/agent/dist/utils/exif-orientation.d.ts +5 -0
  510. package/packages/agent/dist/utils/frontmatter.d.ts +8 -0
  511. package/packages/agent/dist/utils/image-convert.d.ts +2 -0
  512. package/packages/agent/dist/utils/image-process.d.ts +18 -0
  513. package/packages/agent/dist/utils/image-resize-core.d.ts +30 -0
  514. package/packages/agent/dist/utils/image-resize-worker.d.ts +2 -0
  515. package/packages/agent/dist/utils/image-resize.d.ts +16 -0
  516. package/packages/agent/dist/utils/mime.d.ts +3 -0
  517. package/packages/agent/dist/utils/paths.d.ts +15 -0
  518. package/packages/agent/dist/utils/photon.d.ts +21 -0
  519. package/packages/agent/dist/utils/shell.d.ts +17 -0
  520. package/packages/agent/dist/utils/sleep.d.ts +5 -0
  521. package/packages/agent/package.json +3 -32
  522. package/packages/agent/src/core/agent-settings.ts +20 -0
  523. package/packages/agent/src/core/compaction/compaction.ts +53 -208
  524. package/packages/agent/src/core/compaction/index.ts +0 -1
  525. package/packages/agent/src/core/compaction/utils.ts +2 -2
  526. package/packages/agent/src/core/context-log.ts +49 -0
  527. package/packages/agent/src/core/messages.ts +9 -119
  528. package/packages/agent/src/core/model-runtime.ts +109 -467
  529. package/packages/agent/src/core/provider-composer.ts +21 -451
  530. package/packages/agent/src/core/skills.ts +8 -440
  531. package/packages/agent/src/core/tool-definition.ts +29 -0
  532. package/packages/agent/src/core/tools/bash.ts +22 -41
  533. package/packages/agent/src/core/tools/edit-diff.ts +0 -60
  534. package/packages/agent/src/core/tools/edit.ts +4 -29
  535. package/packages/agent/src/core/tools/index.ts +4 -130
  536. package/packages/agent/src/core/tools/output-accumulator.ts +33 -5
  537. package/packages/agent/src/core/tools/path-utils.ts +2 -49
  538. package/packages/agent/src/core/tools/read.ts +6 -29
  539. package/packages/agent/src/core/tools/truncate.ts +0 -15
  540. package/packages/agent/src/core/tools/write.ts +2 -13
  541. package/packages/agent/src/index.ts +23 -270
  542. package/packages/{agent-core/src → agent/src/loop}/agent-loop.ts +128 -275
  543. package/packages/{agent-core/src → agent/src/loop}/agent.ts +20 -166
  544. package/packages/{agent-core/src → agent/src/loop}/types.ts +6 -105
  545. package/packages/agent/src/utils/child-process.ts +0 -13
  546. package/packages/agent/src/utils/image-convert.ts +0 -25
  547. package/packages/agent/src/utils/paths.ts +1 -71
  548. package/packages/agent/src/utils/shell.ts +13 -156
  549. package/packages/ai/dist/api/ai-sdk-messages.d.ts +9 -0
  550. package/packages/ai/dist/api/ai-sdk-transport.d.ts +13 -0
  551. package/packages/ai/dist/api/ai-sdk.d.ts +15 -0
  552. package/packages/ai/dist/api/ai-sdk.lazy.d.ts +3 -0
  553. package/packages/ai/dist/api/lazy.d.ts +15 -0
  554. package/packages/ai/dist/api/simple-options.d.ts +4 -0
  555. package/packages/ai/dist/api/transform-messages.d.ts +8 -0
  556. package/packages/ai/dist/api-registry.d.ts +25 -0
  557. package/packages/ai/dist/auth/context.d.ts +4 -0
  558. package/packages/ai/dist/auth/helpers.d.ts +4 -0
  559. package/packages/ai/dist/auth/resolve.d.ts +19 -0
  560. package/packages/ai/dist/auth/types.d.ts +51 -0
  561. package/packages/ai/dist/env-api-keys.d.ts +8 -0
  562. package/packages/ai/dist/index.d.ts +19 -0
  563. package/packages/ai/dist/models.d.ts +71 -0
  564. package/packages/ai/dist/models.generated.d.ts +8021 -0
  565. package/packages/ai/dist/providers/all.d.ts +15 -0
  566. package/packages/ai/dist/providers/faux.d.ts +97 -0
  567. package/packages/ai/dist/providers/openrouter.d.ts +3 -0
  568. package/packages/ai/dist/providers/openrouter.models.d.ts +8019 -0
  569. package/packages/ai/dist/types.d.ts +543 -0
  570. package/packages/ai/dist/utils/diagnostics.d.ts +13 -0
  571. package/packages/ai/dist/utils/error-body.d.ts +25 -0
  572. package/packages/ai/dist/utils/estimate.d.ts +17 -0
  573. package/packages/ai/dist/utils/event-stream.d.ts +21 -0
  574. package/packages/ai/dist/utils/headers.d.ts +2 -0
  575. package/packages/ai/dist/utils/json-parse.d.ts +16 -0
  576. package/packages/ai/dist/utils/overflow.d.ts +54 -0
  577. package/packages/ai/dist/utils/provider-env.d.ts +7 -0
  578. package/packages/ai/dist/utils/retry.d.ts +12 -0
  579. package/packages/ai/dist/utils/sanitize-unicode.d.ts +22 -0
  580. package/packages/ai/dist/utils/typebox-helpers.d.ts +17 -0
  581. package/packages/ai/dist/utils/validation.d.ts +10 -0
  582. package/packages/ai/package.json +2 -6
  583. package/packages/ai/src/api/ai-sdk-messages.ts +15 -10
  584. package/packages/ai/src/api/ai-sdk-transport.ts +2 -2
  585. package/packages/ai/src/api/ai-sdk.ts +11 -0
  586. package/packages/ai/src/api/simple-options.ts +0 -34
  587. package/packages/ai/src/api/transform-messages.ts +1 -1
  588. package/packages/ai/src/api-registry.ts +1 -12
  589. package/packages/ai/src/auth/context.ts +1 -30
  590. package/packages/ai/src/auth/helpers.ts +3 -34
  591. package/packages/ai/src/auth/resolve.ts +10 -108
  592. package/packages/ai/src/auth/types.ts +9 -176
  593. package/packages/ai/src/index.ts +1 -13
  594. package/packages/ai/src/models.ts +41 -407
  595. package/packages/ai/src/providers/all.ts +3 -31
  596. package/packages/ai/src/providers/openrouter.models.ts +14 -0
  597. package/packages/ai/src/types.ts +2 -104
  598. package/packages/ai/src/utils/diagnostics.ts +0 -32
  599. package/packages/ai/src/utils/headers.ts +0 -11
  600. package/packages/ai/src/utils/overflow.ts +0 -7
  601. package/packages/ai/src/utils/retry.ts +14 -0
  602. package/packages/ai/src/utils/validation.ts +0 -15
  603. package/packages/ragents/package.json +3 -6
  604. package/packages/ragents/src/access.ts +2 -1
  605. package/packages/ragents/src/agents/actor-input.ts +29 -18
  606. package/packages/ragents/src/agents/catalog.ts +3 -3
  607. package/packages/ragents/src/agents/model-context.ts +360 -0
  608. package/packages/ragents/src/agents/plugins.ts +0 -4
  609. package/packages/ragents/src/agents/scheduler.ts +233 -83
  610. package/packages/ragents/src/agents/schemas.ts +1 -36
  611. package/packages/ragents/src/agents/tool-orientation.ts +1 -1
  612. package/packages/ragents/src/agents/tools.ts +74 -75
  613. package/packages/ragents/src/agents/toolset.ts +51 -24
  614. package/packages/ragents/src/agents/turn.ts +2 -14
  615. package/packages/ragents/src/agents/workspaces.ts +12 -0
  616. package/packages/ragents/src/domain/actor-reference.ts +22 -0
  617. package/packages/ragents/src/domain/driver.ts +0 -9
  618. package/packages/ragents/src/domain/event-semantics.ts +111 -72
  619. package/packages/ragents/src/domain/event-validation.ts +188 -21
  620. package/packages/ragents/src/domain/events.ts +91 -7
  621. package/packages/ragents/src/domain/json.ts +2 -0
  622. package/packages/ragents/src/domain/model.ts +42 -18
  623. package/packages/ragents/src/domain/projection.ts +52 -15
  624. package/packages/ragents/src/domain/schema-errors.ts +3 -3
  625. package/packages/ragents/src/domain/tool-result-text.ts +9 -0
  626. package/packages/ragents/src/drivers/agent-hooks.ts +27 -0
  627. package/packages/ragents/src/drivers/agent-runtime.ts +137 -1020
  628. package/packages/ragents/src/drivers/agent-turn.ts +735 -0
  629. package/packages/ragents/src/drivers/agent.ts +13 -26
  630. package/packages/ragents/src/drivers/attachments.ts +4 -24
  631. package/packages/ragents/src/drivers/skill-preload.ts +56 -78
  632. package/packages/ragents/src/drivers/types.ts +39 -6
  633. package/packages/ragents/src/http/contracts.ts +16 -3
  634. package/packages/ragents/src/http/methods.ts +32 -33
  635. package/packages/ragents/src/index.ts +12 -21
  636. package/packages/ragents/src/plugin-host.ts +150 -105
  637. package/packages/ragents/src/plugin-types.ts +86 -23
  638. package/packages/ragents/src/rpc/peer.ts +6 -0
  639. package/packages/ragents/src/runtime/decisions/actions.ts +40 -37
  640. package/packages/ragents/src/runtime/decisions/actors.ts +100 -51
  641. package/packages/ragents/src/runtime/decisions/artifacts.ts +2 -2
  642. package/packages/ragents/src/runtime/decisions/inputs.ts +3 -3
  643. package/packages/ragents/src/runtime/decisions/subscriptions.ts +9 -7
  644. package/packages/ragents/src/runtime/decisions/turns.ts +101 -9
  645. package/packages/ragents/src/runtime/guards.ts +12 -21
  646. package/packages/ragents/src/runtime/journal-storage.ts +8 -3
  647. package/packages/ragents/src/runtime/journal.ts +36 -1
  648. package/packages/ragents/src/runtime/orchestration.ts +167 -19
  649. package/packages/ragents/src/runtime/serial-queue.ts +24 -0
  650. package/packages/ragents/src/runtime/stop.ts +19 -44
  651. package/packages/ragents/src/script/mediators.ts +4 -5
  652. package/packages/ragents/src/typescript/index.ts +2 -0
  653. package/packages/ragents/src/typescript/run-context.ts +10 -8
  654. package/packages/ragents/src/typescript/snippet.ts +7 -6
  655. package/packages/workspace-executor/package.json +2 -2
  656. package/packages/workspace-executor/src/bash-launch.ts +45 -0
  657. package/packages/workspace-executor/src/browser/contract.ts +71 -0
  658. package/packages/workspace-executor/src/browser/module.ts +74 -0
  659. package/packages/workspace-executor/src/browser/pages.ts +298 -0
  660. package/packages/workspace-executor/src/browser/playwright.ts +52 -0
  661. package/packages/workspace-executor/src/commands.ts +170 -0
  662. package/packages/workspace-executor/src/context.ts +34 -6
  663. package/packages/workspace-executor/src/errors.ts +12 -0
  664. package/packages/workspace-executor/src/executor.ts +62 -104
  665. package/packages/workspace-executor/src/files.ts +287 -0
  666. package/packages/workspace-executor/src/index.ts +82 -18
  667. package/packages/workspace-executor/src/language-server/adapters/roslyn.ts +1 -0
  668. package/packages/workspace-executor/src/language-server/contract.ts +14 -0
  669. package/packages/workspace-executor/src/language-server/host.ts +82 -26
  670. package/packages/workspace-executor/src/language-server/module.ts +107 -0
  671. package/packages/workspace-executor/src/language-server/workspace-solutions.ts +90 -0
  672. package/packages/workspace-executor/src/managed-process.ts +1 -1
  673. package/packages/workspace-executor/src/module.ts +35 -0
  674. package/packages/workspace-executor/src/modules.ts +25 -0
  675. package/packages/workspace-executor/src/paths.ts +57 -5
  676. package/packages/workspace-executor/src/process-sandbox.ts +16 -0
  677. package/packages/workspace-executor/src/processes/module.ts +48 -0
  678. package/{plugins/ragents.processes/server → packages/workspace-executor/src/processes}/process-table.ts +80 -57
  679. package/packages/workspace-executor/src/processes/scanner.ts +106 -0
  680. package/{plugins/ragents.processes/server → packages/workspace-executor/src/processes}/snapshot.ts +23 -11
  681. package/{plugins/ragents.processes/server → packages/workspace-executor/src/processes}/terminator.ts +19 -20
  682. package/packages/workspace-executor/src/run-folders.ts +33 -0
  683. package/packages/workspace-executor/src/safe-environment.ts +14 -0
  684. package/packages/workspace-executor/src/sandbox-tools.ts +212 -43
  685. package/packages/workspace-executor/src/shell-platform.ts +2 -2
  686. package/plugins/package.json +1 -1
  687. package/plugins/ragents.activity/ragents-plugin.json +3 -0
  688. package/plugins/ragents.activity/server/index.ts +2 -2
  689. package/plugins/ragents.activity/web/ActivityHeader.tsx +2 -2
  690. package/plugins/ragents.activity/web/activity.ts +1 -1
  691. package/plugins/ragents.activity/web/index.tsx +1 -1
  692. package/plugins/ragents.actor-programs/prompt.hbs +8 -7
  693. package/plugins/ragents.actor-programs/ragents-plugin.json +3 -0
  694. package/plugins/ragents.actor-programs/server/agent-tools.ts +3 -3
  695. package/{apps/server/src/plugin-support/actor-programs → plugins/ragents.actor-programs/server}/capability-resolver.ts +1 -16
  696. package/plugins/ragents.actor-programs/server/controls-template.ts +5 -18
  697. package/plugins/ragents.actor-programs/server/controls-tool.ts +8 -11
  698. package/plugins/ragents.actor-programs/server/index.ts +10 -10
  699. package/{apps/server/src/plugin-support/actor-programs → plugins/ragents.actor-programs/server}/limits.ts +4 -4
  700. package/plugins/ragents.actor-programs/server/methods.ts +2 -2
  701. package/{apps/server/src/plugin-support/actor-programs → plugins/ragents.actor-programs/server}/operations.ts +2 -4
  702. package/plugins/ragents.actor-programs/server/project-diagnostics.ts +65 -70
  703. package/plugins/ragents.actor-programs/server/prompts.ts +4 -4
  704. package/plugins/ragents.actor-programs/server/routes.ts +14 -8
  705. package/plugins/ragents.actor-programs/server/runtime.ts +132 -55
  706. package/plugins/ragents.actor-programs/server/templates.ts +35 -80
  707. package/plugins/ragents.actor-programs/server/test-report.ts +106 -0
  708. package/plugins/ragents.actor-programs/server/tool-contributor.ts +4 -4
  709. package/plugins/ragents.actor-programs/summary.hbs +1 -1
  710. package/plugins/ragents.actor-programs/web/ActorViewFrame.tsx +15 -10
  711. package/plugins/ragents.actor-programs/web/AppsPanel.tsx +47 -30
  712. package/plugins/ragents.actor-programs/web/EmbeddedApps.tsx +15 -17
  713. package/plugins/ragents.actor-programs/web/FullscreenHost.tsx +3 -3
  714. package/plugins/ragents.actor-programs/web/FunctionForm.tsx +3 -3
  715. package/plugins/ragents.actor-programs/web/ProgramSource.tsx +12 -3
  716. package/plugins/ragents.actor-programs/web/api.ts +5 -5
  717. package/plugins/ragents.actor-programs/web/bridge.ts +2 -3
  718. package/plugins/ragents.actor-programs/web/chat-state.ts +9 -8
  719. package/plugins/ragents.actor-programs/web/index.tsx +7 -17
  720. package/plugins/ragents.actor-programs/web/program-state.ts +3 -3
  721. package/plugins/ragents.actor-programs/web/state-revision.ts +2 -2
  722. package/plugins/ragents.ask/ask-payload.ts +25 -0
  723. package/plugins/ragents.ask/contract.ts +2 -2
  724. package/plugins/ragents.ask/ragents-plugin.json +7 -0
  725. package/plugins/ragents.ask/server/answer-method.ts +1 -1
  726. package/plugins/ragents.ask/server/ask-service.ts +43 -19
  727. package/plugins/ragents.ask/server/ask-tool.ts +2 -2
  728. package/plugins/ragents.ask/server/contract.ts +9 -1
  729. package/plugins/ragents.ask/server/index.ts +8 -10
  730. package/plugins/ragents.ask/server/tool-contributor.ts +3 -3
  731. package/plugins/ragents.ask/web/AskActionView.tsx +36 -0
  732. package/{apps/web/src/chat → plugins/ragents.ask/web}/QuestionCard.tsx +7 -5
  733. package/plugins/ragents.ask/web/QuestionSection.tsx +22 -21
  734. package/plugins/ragents.ask/web/api.ts +1 -1
  735. package/plugins/ragents.ask/web/index.tsx +11 -8
  736. package/plugins/ragents.browser/provision.ts +9 -8
  737. package/plugins/ragents.browser/ragents-plugin.json +6 -0
  738. package/plugins/ragents.browser/server/browser.ts +165 -286
  739. package/plugins/ragents.browser/server/contract.ts +8 -19
  740. package/plugins/ragents.browser/server/index.ts +8 -7
  741. package/plugins/ragents.browser/server/tools.ts +29 -37
  742. package/plugins/ragents.browser/skills/browser-testing/SKILL.md +3 -1
  743. package/plugins/ragents.documents/contract.ts +4 -2
  744. package/plugins/ragents.documents/ragents-plugin.json +6 -0
  745. package/plugins/ragents.documents/server/config.ts +1 -1
  746. package/plugins/ragents.documents/server/document-write-tool.ts +2 -2
  747. package/plugins/ragents.documents/server/files-route.ts +2 -3
  748. package/plugins/ragents.documents/server/index.ts +10 -11
  749. package/plugins/ragents.documents/server/show-document-tool.ts +2 -2
  750. package/plugins/ragents.documents/server/store.ts +3 -3
  751. package/plugins/ragents.documents/server/tool-contributor.ts +3 -3
  752. package/plugins/ragents.documents/web/DocumentViewer.tsx +5 -6
  753. package/plugins/ragents.documents/web/api.ts +1 -1
  754. package/plugins/ragents.documents/web/index.tsx +4 -4
  755. package/plugins/ragents.lsp-fsharp/provision.ts +2 -2
  756. package/plugins/ragents.lsp-fsharp/ragents-plugin.json +3 -0
  757. package/plugins/ragents.lsp-fsharp/server/index.ts +3 -3
  758. package/plugins/ragents.lsp-fsharp/web/index.tsx +1 -1
  759. package/plugins/ragents.lsp-roslyn/provision.ts +2 -2
  760. package/plugins/ragents.lsp-roslyn/ragents-plugin.json +3 -0
  761. package/plugins/ragents.lsp-roslyn/server/index.ts +47 -8
  762. package/plugins/ragents.lsp-roslyn/server/solution-on-start.ts +145 -0
  763. package/plugins/ragents.lsp-roslyn/web/index.tsx +1 -1
  764. package/plugins/ragents.lsp-typescript/ragents-plugin.json +3 -0
  765. package/plugins/ragents.lsp-typescript/server/index.ts +3 -3
  766. package/plugins/ragents.lsp-typescript/web/index.tsx +1 -1
  767. package/plugins/ragents.model-relay/ragents-plugin.json +3 -0
  768. package/plugins/ragents.model-relay/server/config.ts +5 -31
  769. package/plugins/ragents.model-relay/server/index.ts +5 -6
  770. package/plugins/ragents.model-relay/server/relay.ts +8 -9
  771. package/plugins/ragents.orchestration/contract.ts +13 -14
  772. package/plugins/ragents.orchestration/orchestration.hbs +4 -3
  773. package/plugins/ragents.orchestration/ragents-plugin.json +6 -0
  774. package/plugins/ragents.orchestration/server/index.ts +13 -16
  775. package/plugins/ragents.orchestration/server/run-stop-tool.ts +4 -4
  776. package/plugins/ragents.orchestration/server/{canvas-tool.ts → surface-tool.ts} +42 -43
  777. package/plugins/ragents.orchestration/surface.hbs +34 -0
  778. package/plugins/ragents.orchestration/tiled-layout.ts +16 -16
  779. package/plugins/ragents.orchestration/web/ActorChat.tsx +16 -14
  780. package/plugins/ragents.orchestration/web/ActorChatControls.tsx +23 -26
  781. package/plugins/ragents.orchestration/web/ActorChatPreview.tsx +5 -6
  782. package/plugins/ragents.orchestration/web/ActorPopout.tsx +7 -5
  783. package/plugins/ragents.orchestration/web/ActorShortcut.tsx +16 -16
  784. package/plugins/ragents.orchestration/web/{ActorCanvasControls.tsx → ActorSurfaceControls.tsx} +23 -28
  785. package/plugins/ragents.orchestration/web/ActorTile.tsx +2 -2
  786. package/plugins/ragents.orchestration/web/Center.tsx +47 -55
  787. package/plugins/ragents.orchestration/web/DocumentsSection.tsx +4 -4
  788. package/plugins/ragents.orchestration/web/ExecutionsPanel.tsx +7 -7
  789. package/plugins/ragents.orchestration/web/FlowInspector.tsx +24 -42
  790. package/plugins/ragents.orchestration/web/JournalStatus.tsx +8 -8
  791. package/plugins/ragents.orchestration/web/MaterialBody.tsx +5 -5
  792. package/plugins/ragents.orchestration/web/StopRunButton.tsx +6 -6
  793. package/plugins/ragents.orchestration/web/SurfaceStartup.tsx +8 -0
  794. package/plugins/ragents.orchestration/web/{CanvasTiles.tsx → SurfaceTiles.tsx} +18 -18
  795. package/plugins/ragents.orchestration/web/{TiledCanvas.tsx → TiledSurface.tsx} +22 -22
  796. package/plugins/ragents.orchestration/web/actor-header-settings.ts +2 -2
  797. package/plugins/ragents.orchestration/web/api.ts +4 -10
  798. package/plugins/ragents.orchestration/web/constants.ts +0 -1
  799. package/plugins/ragents.orchestration/web/executions.ts +3 -3
  800. package/plugins/ragents.orchestration/web/index.tsx +19 -124
  801. package/plugins/ragents.orchestration/web/program-slot.ts +14 -0
  802. package/plugins/ragents.orchestration/web/run-panel/AddresseeControl.tsx +95 -0
  803. package/plugins/ragents.orchestration/web/run-panel/AddresseeTree.tsx +109 -0
  804. package/plugins/ragents.orchestration/web/{column/RunColumn.tsx → run-panel/RunPanel.tsx} +211 -83
  805. package/plugins/ragents.orchestration/web/{column/ColumnSettings.tsx → run-panel/RunPanelSettings.tsx} +13 -13
  806. package/plugins/ragents.orchestration/web/run-panel/addressee-tree.ts +165 -0
  807. package/plugins/ragents.orchestration/web/{column/column-actors.ts → run-panel/run-panel-actors.ts} +14 -13
  808. package/plugins/ragents.orchestration/web/run-panel/run-panel-settings.ts +47 -0
  809. package/plugins/ragents.orchestration/web/run-panel/run-panel-startup.ts +30 -0
  810. package/plugins/ragents.orchestration/web/run-panel/run-panel-state.ts +71 -0
  811. package/plugins/ragents.orchestration/web/{column → run-panel}/sheet-status.ts +4 -4
  812. package/plugins/ragents.orchestration/web/{canvas-stage.ts → surface-entities.ts} +2 -2
  813. package/plugins/ragents.orchestration/web/{canvas-startup.ts → surface-startup.ts} +7 -10
  814. package/plugins/ragents.orchestration/web/surface-view-settings.ts +42 -0
  815. package/plugins/ragents.orchestration/web/tile-docking.ts +14 -14
  816. package/plugins/ragents.orchestration/web/tiled-view-settings.ts +26 -26
  817. package/plugins/ragents.overseer/contract.ts +20 -14
  818. package/plugins/ragents.overseer/ragents-plugin.json +3 -0
  819. package/plugins/ragents.overseer/server/api.ts +34 -23
  820. package/plugins/ragents.overseer/server/coordinator-prompt.ts +3 -3
  821. package/plugins/ragents.overseer/server/coordinator.ts +19 -0
  822. package/plugins/ragents.overseer/server/index.ts +39 -27
  823. package/plugins/ragents.overseer/server/orientation.ts +4 -5
  824. package/plugins/ragents.overseer/server/quick-answer.ts +5 -4
  825. package/plugins/ragents.overseer/server/reset-method.ts +4 -3
  826. package/plugins/ragents.overseer/server/run-directory.ts +5 -5
  827. package/plugins/ragents.overseer/server/settings-method.ts +1 -1
  828. package/plugins/ragents.overseer/server/settings.ts +6 -6
  829. package/plugins/ragents.overseer/server/user-location.ts +20 -19
  830. package/plugins/ragents.overseer/web/ModelSettings.tsx +4 -4
  831. package/plugins/ragents.overseer/web/chat-display.ts +1 -1
  832. package/plugins/ragents.overseer/web/index.tsx +51 -26
  833. package/plugins/ragents.overseer/web/model-settings.ts +1 -1
  834. package/plugins/ragents.overseer/web/quick-answers.ts +2 -2
  835. package/plugins/ragents.processes/contract.ts +5 -5
  836. package/plugins/ragents.processes/ragents-plugin.json +3 -0
  837. package/plugins/ragents.processes/server/index.ts +13 -19
  838. package/plugins/ragents.processes/server/methods.ts +18 -20
  839. package/plugins/ragents.processes/server/observer.ts +64 -104
  840. package/plugins/ragents.processes/server/run-processes.ts +24 -0
  841. package/plugins/ragents.processes/web/ProcessHeader.tsx +13 -16
  842. package/plugins/ragents.processes/web/index.tsx +2 -1
  843. package/plugins/ragents.processes/web/processes.ts +1 -1
  844. package/plugins/ragents.product/ragents-plugin.json +3 -0
  845. package/plugins/ragents.product/server/config.ts +12 -13
  846. package/plugins/ragents.product/server/index.ts +15 -16
  847. package/plugins/ragents.product/server/runtime.ts +2 -2
  848. package/plugins/ragents.product/web/index.tsx +3 -3
  849. package/plugins/ragents.profile-distribution/contract.ts +6 -9
  850. package/plugins/ragents.profile-distribution/ragents-plugin.json +3 -0
  851. package/plugins/ragents.profile-distribution/server/archive.ts +26 -51
  852. package/plugins/ragents.profile-distribution/server/config.ts +2 -2
  853. package/plugins/ragents.profile-distribution/server/index.ts +9 -16
  854. package/plugins/ragents.reference/examples.ts +1 -1
  855. package/plugins/ragents.reference/ragents-plugin.json +3 -0
  856. package/plugins/ragents.reference/run-scripts/balcony-wizard/RUN.md +2 -2
  857. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +1 -1
  858. package/plugins/ragents.reference/run-scripts/balcony-wizard/src/server.ts +1 -1
  859. package/plugins/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +4 -4
  860. package/plugins/ragents.reference/run-scripts/conversation-circle/RUN.md +1 -1
  861. package/plugins/ragents.reference/run-scripts/conversation-circle/src/server.ts +1 -1
  862. package/plugins/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +1 -1
  863. package/plugins/ragents.reference/run-scripts/learning-afternoon/RUN.md +2 -2
  864. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/client.tsx +1 -1
  865. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/server.ts +1 -1
  866. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/state.ts +2 -2
  867. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/view.tsx +11 -11
  868. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/workflow.ts +15 -15
  869. package/plugins/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +4 -9
  870. package/plugins/ragents.reference/run-scripts/moderated-round/src/server.ts +1 -1
  871. package/plugins/ragents.reference/run-scripts/moderated-round/tests/helpers.ts +1 -1
  872. package/plugins/ragents.reference/run-scripts/moderated-round/tests/program.test.ts +2 -2
  873. package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/client.tsx +6 -6
  874. package/plugins/ragents.reference/run-scripts/shared-actor-list/src/server.ts +3 -3
  875. package/plugins/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +1 -1
  876. package/plugins/ragents.reference/run-scripts/word-game/RUN.md +1 -1
  877. package/plugins/ragents.reference/run-scripts/word-game/src/client.tsx +1 -1
  878. package/plugins/ragents.reference/run-scripts/word-game/src/server.ts +1 -2
  879. package/plugins/ragents.reference/run-scripts/word-game/src/state.ts +6 -6
  880. package/plugins/ragents.reference/run-scripts/word-game/src/view.tsx +14 -14
  881. package/plugins/ragents.reference/run-scripts/word-game/tests/program.test.ts +7 -8
  882. package/plugins/ragents.reference/server/index.ts +2 -2
  883. package/plugins/ragents.reference/skills/160-learning-companion/SKILL.md +1 -1
  884. package/plugins/ragents.reference/skills/240-live-result-list/SKILL.md +1 -1
  885. package/plugins/ragents.reference/skills/250-balcony-wizard/SKILL.md +1 -1
  886. package/plugins/ragents.reference/skills/90-actor-notes/SKILL.md +1 -1
  887. package/plugins/ragents.reference/skills/95-hello-world/SKILL.md +2 -2
  888. package/plugins/ragents.reference/skills/decision-brief/SKILL.md +2 -2
  889. package/plugins/ragents.reference/walkthroughs.ts +19 -19
  890. package/plugins/ragents.reference/web/StartGuides.tsx +2 -2
  891. package/plugins/ragents.reference/web/index.tsx +1 -1
  892. package/plugins/ragents.todo/ragents-plugin.json +3 -0
  893. package/plugins/ragents.todo/server/index.ts +2 -2
  894. package/plugins/ragents.todo/server/todo-tool.ts +4 -5
  895. package/plugins/ragents.todo/server/tool-contributor.ts +2 -2
  896. package/plugins/ragents.todo/web/TodoSection.tsx +3 -3
  897. package/plugins/ragents.todo/web/index.ts +1 -1
  898. package/plugins/ragents.transcript/ragents-plugin.json +3 -0
  899. package/plugins/ragents.transcript/server/index.ts +4 -4
  900. package/plugins/ragents.transcript/server/transcript.ts +2 -3
  901. package/plugins/ragents.watch/ragents-plugin.json +6 -0
  902. package/plugins/ragents.watch/server/condition.ts +2 -2
  903. package/plugins/ragents.watch/server/contract.ts +1 -1
  904. package/plugins/ragents.watch/server/functions.ts +3 -3
  905. package/plugins/ragents.watch/server/index.ts +3 -3
  906. package/plugins/ragents.watch/server/observation.ts +6 -6
  907. package/plugins/ragents.watch/server/service.ts +5 -5
  908. package/plugins/ragents.workspace/client/workspace-client.ts +129 -58
  909. package/plugins/ragents.workspace/contract.ts +98 -35
  910. package/plugins/ragents.workspace/prompt.hbs +1 -8
  911. package/plugins/ragents.workspace/ragents-plugin.json +3 -0
  912. package/plugins/ragents.workspace/server/binding.ts +122 -39
  913. package/plugins/ragents.workspace/server/browse-route.ts +96 -103
  914. package/plugins/ragents.workspace/server/clients.ts +236 -68
  915. package/plugins/ragents.workspace/server/config.ts +30 -0
  916. package/plugins/ragents.workspace/server/index.ts +61 -26
  917. package/plugins/ragents.workspace/server/runtime.ts +271 -46
  918. package/{apps/server/src/plugin-support → plugins/ragents.workspace/server}/shell-platform.ts +3 -5
  919. package/{apps/server/src/plugin-support → plugins/ragents.workspace/server}/workspace-tool-naming.ts +7 -1
  920. package/plugins/ragents.workspace/web/FileBrowser.tsx +11 -8
  921. package/plugins/ragents.workspace/web/WorkspaceBinding.tsx +115 -61
  922. package/plugins/ragents.workspace/web/api.ts +1 -1
  923. package/plugins/ragents.workspace/web/index.tsx +1 -1
  924. package/ragents.config.core.ts +2 -7
  925. package/ragents.config.showcase.ts +2 -5
  926. package/scripts/agent/agent-cli.ts +265 -107
  927. package/scripts/agent/journal.ts +8 -4
  928. package/scripts/agent/turn-control.ts +19 -0
  929. package/scripts/package/build-package.ts +68 -13
  930. package/scripts/package/ragents.mjs +4 -2
  931. package/scripts/plugin/build-builtin-plugins.ts +52 -0
  932. package/scripts/plugin/plugin-cli.ts +99 -0
  933. package/scripts/provision/run-provision.ts +20 -18
  934. package/scripts/remote/connect.ts +75 -53
  935. package/scripts/remote/start.ts +2 -3
  936. package/scripts/workspace-client/run-workspace-client.ts +15 -9
  937. package/apps/server/agent-home/settings.json +0 -3
  938. package/apps/server/src/chat-attachments.ts +0 -52
  939. package/apps/server/src/chat-events.ts +0 -185
  940. package/apps/server/src/plugin-support/asset-path.ts +0 -4
  941. package/apps/server/src/profile/plugin-list.ts +0 -19
  942. package/apps/server/src/web-build.ts +0 -82
  943. package/apps/web/column.html +0 -12
  944. package/apps/web/index.html +0 -12
  945. package/apps/web/src/StartSurface.tsx +0 -161
  946. package/apps/web/src/chat/ChatInputToolbar.tsx +0 -488
  947. package/apps/web/src/chat/ChatMessages.tsx +0 -666
  948. package/apps/web/src/chat/ChatPanel.tsx +0 -61
  949. package/apps/web/src/chat/DetailModeSwitch.tsx +0 -58
  950. package/apps/web/src/chat/Markdown.tsx +0 -104
  951. package/apps/web/src/chat/StepPopover.tsx +0 -82
  952. package/apps/web/src/chat/WorkingScenes.tsx +0 -235
  953. package/apps/web/src/chat/attachments.ts +0 -53
  954. package/apps/web/src/chat/chat-scroll.ts +0 -41
  955. package/apps/web/src/chat/texts.ts +0 -61
  956. package/apps/web/src/chat/types.ts +0 -26
  957. package/apps/web/src/column/ColumnApp.tsx +0 -234
  958. package/apps/web/src/column/column-location.ts +0 -30
  959. package/apps/web/src/column/host-contract.ts +0 -93
  960. package/apps/web/src/panel/OverviewPage.tsx +0 -215
  961. package/apps/web/src/panel/SettingsPage.tsx +0 -98
  962. package/apps/web/src/panel/target-state.ts +0 -78
  963. package/apps/web/src/plugin-discovery.ts +0 -5
  964. package/apps/web/src/virtual-plugins.d.ts +0 -3
  965. package/apps/web/vite.config.ts +0 -140
  966. package/packages/agent/src/config.ts +0 -161
  967. package/packages/agent/src/core/agent-session-runtime.ts +0 -548
  968. package/packages/agent/src/core/agent-session-services.ts +0 -224
  969. package/packages/agent/src/core/agent-session.ts +0 -3357
  970. package/packages/agent/src/core/auth-guidance.ts +0 -18
  971. package/packages/agent/src/core/auth-storage.ts +0 -271
  972. package/packages/agent/src/core/bash-executor.ts +0 -156
  973. package/packages/agent/src/core/compaction/branch-summarization.ts +0 -372
  974. package/packages/agent/src/core/defaults.ts +0 -3
  975. package/packages/agent/src/core/diagnostics.ts +0 -15
  976. package/packages/agent/src/core/event-bus.ts +0 -33
  977. package/packages/agent/src/core/exec.ts +0 -107
  978. package/packages/agent/src/core/experimental.ts +0 -3
  979. package/packages/agent/src/core/extensions/index.ts +0 -149
  980. package/packages/agent/src/core/extensions/loader.ts +0 -709
  981. package/packages/agent/src/core/extensions/runner.ts +0 -1132
  982. package/packages/agent/src/core/extensions/types.ts +0 -1460
  983. package/packages/agent/src/core/extensions/wrapper.ts +0 -45
  984. package/packages/agent/src/core/footer-data-provider.ts +0 -388
  985. package/packages/agent/src/core/http-dispatcher.ts +0 -106
  986. package/packages/agent/src/core/index.ts +0 -78
  987. package/packages/agent/src/core/model-config.ts +0 -287
  988. package/packages/agent/src/core/model-registry.ts +0 -126
  989. package/packages/agent/src/core/model-resolver.ts +0 -675
  990. package/packages/agent/src/core/output-guard.ts +0 -108
  991. package/packages/agent/src/core/package-manager.ts +0 -2441
  992. package/packages/agent/src/core/prompt-templates.ts +0 -284
  993. package/packages/agent/src/core/resolve-config-value.ts +0 -287
  994. package/packages/agent/src/core/resource-loader.ts +0 -946
  995. package/packages/agent/src/core/runtime-credentials.ts +0 -48
  996. package/packages/agent/src/core/sdk.ts +0 -358
  997. package/packages/agent/src/core/session-cwd.ts +0 -59
  998. package/packages/agent/src/core/session-manager.ts +0 -1623
  999. package/packages/agent/src/core/settings-manager.ts +0 -1212
  1000. package/packages/agent/src/core/slash-commands.ts +0 -41
  1001. package/packages/agent/src/core/source-info.ts +0 -40
  1002. package/packages/agent/src/core/system-prompt.ts +0 -147
  1003. package/packages/agent/src/core/timings.ts +0 -50
  1004. package/packages/agent/src/core/tools/tool-definition-wrapper.ts +0 -45
  1005. package/packages/agent/src/core/trust-manager.ts +0 -244
  1006. package/packages/agent/src/utils/ansi.ts +0 -60
  1007. package/packages/agent/src/utils/fs-watch.ts +0 -30
  1008. package/packages/agent/src/utils/git.ts +0 -226
  1009. package/packages/agent/src/utils/json.ts +0 -6
  1010. package/packages/agent/src/utils/tools-manager.ts +0 -63
  1011. package/packages/agent-core/package.json +0 -32
  1012. package/packages/ai/src/api/openrouter-images.lazy.ts +0 -10
  1013. package/packages/ai/src/api/openrouter-images.ts +0 -98
  1014. package/packages/ai/src/auth/credential-store.ts +0 -51
  1015. package/packages/ai/src/compat/extension-oauth-types.ts +0 -45
  1016. package/packages/ai/src/image-models.generated.ts +0 -533
  1017. package/packages/ai/src/images-models.ts +0 -274
  1018. package/packages/ai/src/models-store.ts +0 -38
  1019. package/packages/ai/src/oauth.ts +0 -10
  1020. package/packages/ai/src/providers/openrouter-images.ts +0 -14
  1021. package/packages/ai/src/session-resources.ts +0 -24
  1022. package/packages/ai/src/utils/abort-signals.ts +0 -41
  1023. package/packages/ai/src/utils/deferred-tools.ts +0 -39
  1024. package/packages/ai/src/utils/hash.ts +0 -13
  1025. package/packages/ai/src/utils/node-http-proxy.ts +0 -112
  1026. package/plugins/ragents.actor-programs/server/client-runtime.ts +0 -16
  1027. package/plugins/ragents.ask/web/constants.ts +0 -1
  1028. package/plugins/ragents.lsp-roslyn/web/api.ts +0 -10
  1029. package/plugins/ragents.orchestration/web/CanvasStartup.tsx +0 -14
  1030. package/plugins/ragents.orchestration/web/canvas-view-settings.ts +0 -42
  1031. package/plugins/ragents.orchestration/web/column/AddresseeControl.tsx +0 -116
  1032. package/plugins/ragents.orchestration/web/column/column-settings.ts +0 -47
  1033. package/plugins/ragents.orchestration/web/column/column-state.ts +0 -68
  1034. package/plugins/ragents.orchestration/web/contract.ts +0 -25
  1035. package/plugins/ragents.product/model-settings-contract.ts +0 -10
  1036. package/plugins/ragents.profile-distribution/server/web.ts +0 -24
  1037. /package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/authoring-contracts.ts +0 -0
  1038. /package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/runtime-libraries.ts +0 -0
  1039. /package/{plugins/ragents.actor-programs → apps/server/src/plugin-support/actor-programs}/workflow/prompt-reader.ts +0 -0
  1040. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/file-contracts.d.ts +0 -0
  1041. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/flow-diagram-contracts.d.ts +0 -0
  1042. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/flow-diagram.css +0 -0
  1043. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/form-contracts.d.ts +0 -0
  1044. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/frame-layout.ts +0 -0
  1045. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/table-contracts.d.ts +0 -0
  1046. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/viewer-contracts.d.ts +0 -0
  1047. /package/{plugins/ragents.orchestration/canvas.hbs → bundles/ragents.orchestration/surface.hbs} +0 -0
  1048. /package/packages/{agent-core/src → agent/src/loop}/index.ts +0 -0
  1049. /package/packages/{agent-core/src → agent/src/loop}/uuid.ts +0 -0
@@ -0,0 +1,325 @@
1
+ <!doctype html>
2
+ <html lang="en" data-theme="light"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="description" content="Distributed work: public documentation for RAgents."><title>Distributed work - RAgents</title><link rel="alternate" type="text/markdown" href="guide-distributed.md"><style>/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
3
+ :root, :host {
4
+ --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
5
+ }
6
+ :root {
7
+ color-scheme: light;
8
+ --radius: 0.5rem;
9
+ --background: #f3f2f7;
10
+ --foreground: #34303d;
11
+ --card: #e7eaf2;
12
+ --primary: #79638d;
13
+ --primary-foreground: #ffffff;
14
+ --secondary: #e1ddeb;
15
+ --muted-foreground: #62586e;
16
+ --accent: #dcd0e8;
17
+ --destructive: #a94360;
18
+ --destructive-soft: #f5e1e9;
19
+ --success: #3b705f;
20
+ --success-soft: #e1eee8;
21
+ --warning: #925d37;
22
+ --warning-soft: #f3e4d8;
23
+ --info: #4b648a;
24
+ --teal: #356c70;
25
+ --env-lightness: 0.55;
26
+ --env-chroma: 0.12;
27
+ --border: #c9c4d5;
28
+ --border-soft: #dad6e3;
29
+ --border-strong: #a397b2;
30
+ --shell: #cbd6e4;
31
+ --app: #dce3ed;
32
+ --surface: #e8e2e6;
33
+ --surface-dot: #79aab43b;
34
+ --surface-glow-mint: #92cfbfad;
35
+ --surface-glow-blue: #8bbfe5a6;
36
+ --surface-light: #ffffffb3;
37
+ --surface-backdrop: radial-gradient(ellipse at 48% 38%, #ffffff80, transparent 48%),
38
+ radial-gradient(ellipse at 4% 88%, #9ccfc5b3, transparent 58%),
39
+ radial-gradient(ellipse at 96% 12%, #9ec6e4b3, transparent 56%),
40
+ radial-gradient(ellipse at 28% 0%, #c4b0dfb3, transparent 58%),
41
+ radial-gradient(ellipse at 88% 100%, #efd3c6a6, transparent 52%),
42
+ linear-gradient(135deg, #edf0f2, #e1dbe8);
43
+ --backdrop: #00000066;
44
+ --glass-agent: #eec4b1;
45
+ --glass-primary: #dcd0e8;
46
+ --glass-script: #e9dca1;
47
+ --glass-app: #e7edf2;
48
+ --glass-edge: #a498aa;
49
+ --glass-icon: #e8dfed;
50
+ --glass-head: #ede5ef;
51
+ --glass-group: #e7edf240;
52
+ --bar-shadow: 0 2px 5px #49384e14, 0 8px 20px #49384e12;
53
+ --status-shadow: 0 -2px 5px #49384e14, 0 -8px 20px #49384e12;
54
+ --pop-shadow: 0 12px 36px #49384e26;
55
+ --card-shadow: 0 12px 22px #49384e2c;
56
+ --workspace-shadow: -2px 0 5px #49384e14, -8px 0 20px #49384e1f;
57
+ --glass-icon-shadow: 1px 2px 4px #51465725;
58
+ }
59
+ :root[data-theme="dark"] {
60
+ color-scheme: dark;
61
+ --background: #292735;
62
+ --foreground: #e9e2ed;
63
+ --card: #2b303e;
64
+ --primary: #bda6cf;
65
+ --primary-foreground: #2d2235;
66
+ --secondary: #373247;
67
+ --muted-foreground: #b6a9bd;
68
+ --accent: #4b3d59;
69
+ --destructive: #ffa2b0;
70
+ --destructive-soft: #482d3b;
71
+ --success: #8dceae;
72
+ --success-soft: #233f37;
73
+ --warning: #e7bd81;
74
+ --warning-soft: #43382b;
75
+ --info: #9dbade;
76
+ --teal: #8ec9c4;
77
+ --env-lightness: 0.79;
78
+ --env-chroma: 0.1;
79
+ --border: #555065;
80
+ --border-soft: #403c50;
81
+ --border-strong: #8e809f;
82
+ --shell: #242e40;
83
+ --app: #212632;
84
+ --surface: #29232e;
85
+ --surface-dot: #7cafbc30;
86
+ --surface-glow-mint: #317d686b;
87
+ --surface-glow-blue: #417daa80;
88
+ --surface-light: #80bfc71f;
89
+ --surface-backdrop: radial-gradient(ellipse at 48% 38%, #64577333, transparent 48%),
90
+ radial-gradient(ellipse at 4% 88%, #2c625e99, transparent 58%),
91
+ radial-gradient(ellipse at 96% 12%, #355674a6, transparent 56%),
92
+ radial-gradient(ellipse at 28% 0%, #59446f99, transparent 58%),
93
+ radial-gradient(ellipse at 88% 100%, #694c443d, transparent 52%),
94
+ linear-gradient(135deg, #252b35, #302735);
95
+ --backdrop: #00000099;
96
+ --glass-agent: #594039;
97
+ --glass-primary: #47394f;
98
+ --glass-script: #4d462b;
99
+ --glass-app: #303943;
100
+ --glass-edge: #8a7994;
101
+ --glass-icon: #47394f;
102
+ --glass-head: #39303f;
103
+ --glass-group: #bda6cf08;
104
+ --bar-shadow: 0 2px 5px #00000033, 0 8px 20px #00000040;
105
+ --status-shadow: 0 -2px 5px #00000033, 0 -8px 20px #00000040;
106
+ --pop-shadow: 0 12px 36px #00000055;
107
+ --card-shadow: 0 12px 22px #00000055;
108
+ --workspace-shadow: -2px 0 5px #00000033, -8px 0 20px #0000004d;
109
+ --glass-icon-shadow: 1px 2px 4px #00000040;
110
+ }
111
+ @layer base {
112
+ body {
113
+ background: var(--app);
114
+ color: var(--foreground);
115
+ font-family: var(--font-sans);
116
+ font-size: 14px;
117
+ line-height: 1.5;
118
+ }
119
+ }
120
+
121
+
122
+ *{box-sizing:border-box}body{margin:0;background:var(--app);color:var(--foreground);font:16px/1.65 var(--font-sans)}a{color:#1467b0;text-underline-offset:4px}a:hover{color:var(--foreground)}:focus-visible{outline:3px solid var(--primary);outline-offset:4px}main,body>footer{padding-block:24px}nav{display:flex;gap:12px 24px;flex-wrap:wrap}h1{font-size:clamp(38px,7vw,66px);line-height:1.1;letter-spacing:-.04em;margin:16px 0 24px}h2{font-size:30px;line-height:1.2;margin:0 0 20px;letter-spacing:-.02em}h3{font-size:20px;line-height:1.4}p{max-width:76ch}.intro{padding:36px 0 44px}.eyebrow{font:12px var(--font-mono);text-transform:uppercase;letter-spacing:.1em}.lead{font-size:20px;line-height:1.6}.stats{font:13px var(--font-mono);margin:24px 0}.section-nav{border-top:1px solid var(--border);padding:20px 0}main>section{padding:44px 0;border-top:1px solid var(--border)}article{min-width:0;padding:24px 0;border-top:1px solid var(--border-soft)}article h3{margin:0 0 8px;overflow-wrap:anywhere}.meta,.example-context{font:12px/1.7 var(--font-mono);color:#536b80;overflow-wrap:anywhere}details{margin:14px 0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--background)}summary{cursor:pointer;padding:12px 16px;font-weight:600}details>p,details>div,details>table{margin:16px}pre{max-width:100%;overflow:auto;padding:20px;background:var(--card);font:12px/1.7 var(--font-mono);tab-size:2;margin:0}code{font-family:var(--font-mono);font-size:.9em;overflow-wrap:anywhere}pre code{font-size:inherit;overflow-wrap:normal}label{display:block;font-weight:600;margin-bottom:6px}input[type=search],select{font:inherit;color:inherit;border:1px solid var(--border);border-radius:6px;background:var(--background);padding:10px 12px;max-width:100%}input[type=search]{width:100%}.tool-label{display:block;font-size:13px;font-weight:400;color:#536b80;margin-top:3px}[data-tool]{padding:0;border:0}[data-tool]>details{margin:8px 0}[data-tool]>details>a{display:inline-block;margin:0 16px 16px}[data-tool]>details>details{margin:16px}.filter-row{display:flex;gap:16px;flex-wrap:wrap;align-items:end}.filter-row>div:first-child{flex:1;min-width:min(280px,100%)}.note{padding:16px 20px;background:var(--card);border-left:3px solid var(--primary)}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:10px;overflow-wrap:anywhere}th{font-weight:600}.table-wrap{overflow:auto}body>footer{padding-top:30px;padding-bottom:60px;border-top:1px solid var(--border)}[hidden]{display:none!important}@media(max-width:600px){h2{font-size:26px}main>section{padding:32px 0}pre{padding:14px;font-size:11px}.lead{font-size:18px}}
123
+ </style><style>
124
+ .guide-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:44px;align-items:start;padding-block:12px 32px}.guide-sidebar{position:sticky;top:calc(var(--header-height,80px) + 16px);max-height:calc(100dvh - var(--header-height,80px) - 32px);overflow:auto}.guide-chapters{display:grid;gap:16px;font-size:13px;line-height:1.4}.guide-chapters a{display:block;padding:6px 10px;text-decoration:none;border-radius:6px}.guide-nav-group{display:grid;gap:2px}.guide-nav-group>p{margin:0 10px 4px;font-size:11px;font-weight:700;color:#536b80}.guide-chapters [aria-current]{background:var(--card);color:var(--foreground);font-weight:600}.guide-mobile-nav{display:none}.guide-body{padding:0;border:0}.guide-title{margin:0 0 20px}.guide-title h1{font-size:32px;line-height:1.2;letter-spacing:-.025em;margin:6px 0 10px}.guide-title p{margin:0;font-size:15px}.guide-title .eyebrow{font-size:11px}.guide-body h2{font-size:24px;margin-top:32px;scroll-margin-top:20px}.guide-body h3{margin-top:24px}.guide-body pre{margin:20px 0}.guide-body li{margin-block:8px}.guide-body table{display:block;overflow:auto}.guide-body blockquote{margin-inline:0;padding:8px 20px;border-left:3px solid var(--primary);background:var(--card)}.guide-source{margin-top:40px;font-size:13px;color:#536b80}.guide-next{justify-content:space-between;border-top:1px solid var(--border);padding:20px 0;margin-top:24px}.guide-index{max-width:80ch;padding-left:24px}.guide-index li{padding:8px 0 16px 8px;border-bottom:1px solid var(--border)}.guide-index h2{font-size:20px;margin:0 0 6px}.guide-index p{margin-block:0}.guide-page-nav{margin:0 0 24px;font-size:13px}.guide-page-nav summary{padding:8px 12px}.guide-page-nav nav{display:grid;gap:8px;padding:4px 12px 12px}@media(max-width:850px){.guide-layout{grid-template-columns:1fr;gap:18px;padding-top:0}.guide-sidebar{display:none}.guide-mobile-nav{display:block;margin:0}.guide-mobile-nav summary{padding:10px 12px;font-size:14px}.guide-mobile-nav .guide-chapters{padding:0 12px 12px}.guide-title h1{font-size:28px}.guide-body h2{margin-top:28px}}@media print{.guide-layout{display:block}.guide-sidebar,.guide-mobile-nav,.guide-next{display:none}}
125
+ </style><link rel="stylesheet" href="site.css"><script src="site.js" defer></script></head><body><a class="skip" href="#main">Skip to content</a><header class="masthead shell">
126
+ <a class="brand" href="index.html#main" aria-label="RAgents, back to top"><svg class="brand-icon" aria-hidden="true" viewBox="0 0 787 787"><path id="ragents-mark" fill="currentColor" fill-rule="evenodd" d="M368.5 750.9C366.3 750.3 358.9 749.5 352.0 749.0C334.5 747.8 322.0 743.4 307.5 733.2C296.2 725.2 206.9 639.0 201.7 630.9C200.6 629.3 199.4 623.8 198.5 617.4C197.2 607.2 196.5 596.8 194.0 550.5C193.5 540.6 192.8 531.5 192.4 530.3C192.1 529.0 189.5 526.4 186.8 524.5C179.8 519.4 178.0 515.1 178.0 502.4L178.0 492.2L175.0 491.0C170.5 489.1 161.0 478.4 156.8 470.5C146.0 449.8 138.5 409.7 139.2 375.7C139.5 357.1 140.3 354.0 146.7 344.8C149.7 340.4 149.4 339.7 142.3 334.9C135.2 330.0 134.7 328.1 134.2 306.9C133.6 281.6 134.5 280.0 151.6 277.7L160.1 276.5L159.3 268.5C157.8 253.3 158.4 210.6 160.3 198.0C167.2 153.3 183.0 118.8 207.4 95.3C239.3 64.4 297.6 42.0 359.3 37.0C375.9 35.7 410.4 35.7 426.7 37.1C490.2 42.4 550.0 66.4 582.7 99.6C606.6 123.9 623.1 163.0 628.1 206.9C629.1 215.8 628.9 264.5 627.8 274.0C627.5 276.3 627.8 276.5 635.7 277.6C653.6 280.2 656.2 286.2 653.0 316.8C651.8 328.2 650.5 330.8 643.5 336.0C640.5 338.2 638.0 340.3 638.0 340.6C638.0 340.8 639.5 343.3 641.4 346.0C647.7 355.1 648.5 359.2 648.4 380.0C648.1 433.8 633.2 480.1 612.8 490.9L608.5 493.2L608.8 501.8C609.3 513.1 607.6 517.5 600.5 523.7C593.7 529.5 593.4 530.7 592.0 559.6C589.8 605.2 588.0 625.3 585.4 630.3C582.2 636.4 502.3 715.1 484.3 729.7C469.1 742.1 452.8 748.3 430.5 750.2C413.2 751.6 373.5 752.1 368.5 750.9ZM411.7 734.7C412.4 734.3 412.6 733.0 412.1 731.2L411.4 728.5L393.2 728.2C375.6 728.0 375.0 728.0 374.9 730.0C374.8 731.1 374.7 732.5 374.6 733.2C374.5 733.9 375.6 734.7 377.0 735.1C380.2 736.1 410.1 735.7 411.7 734.7ZM361.1 715.3C363.8 704.6 366.2 696.8 367.2 695.8C368.8 694.2 371.4 694.0 393.2 694.0C406.6 694.0 418.0 694.4 418.6 694.8C420.6 696.1 421.7 699.4 425.6 715.9C428.0 726.3 429.9 732.4 430.8 732.8C435.2 734.5 460.2 724.8 467.5 718.5L470.5 716.0L467.5 717.2C462.2 719.2 446.2 718.7 440.8 716.3C435.2 713.8 433.9 711.9 429.9 700.9C423.5 683.1 417.8 669.1 416.7 668.1C415.2 666.9 377.6 665.4 373.7 666.4C369.9 667.3 368.8 669.5 360.6 690.9C356.5 701.4 352.5 711.1 351.5 712.6C348.4 717.4 342.1 719.3 330.4 718.8C324.8 718.6 320.4 718.8 320.6 719.2C321.8 721.1 335.0 727.5 342.8 730.1C357.4 734.8 356.1 735.9 361.1 715.3ZM407.3 711.0C406.8 709.0 406.1 709.0 393.1 709.2C381.1 709.5 379.5 709.7 379.2 711.2C378.9 712.9 380.1 713.0 393.3 713.0C407.4 713.0 407.8 712.9 407.3 711.0ZM337.9 700.6C338.4 700.0 341.8 691.6 345.4 682.0C353.4 660.8 355.7 656.2 359.3 653.6C362.0 651.6 363.7 651.5 392.3 651.2C432.3 650.9 429.1 649.1 439.5 677.0C443.1 686.6 446.6 695.8 447.2 697.3C447.8 698.8 449.7 700.8 451.3 701.7L454.4 703.3L451.7 700.1C447.8 695.4 446.8 690.7 447.2 678.8C447.5 668.7 447.7 667.9 450.8 663.5L454.0 658.9L454.0 645.1C454.0 621.2 457.4 606.9 464.3 601.9L468.3 599.0L464.9 599.6C463.0 600.0 460.3 601.3 458.8 602.6C455.2 605.6 451.1 606.8 441.5 607.9C437.1 608.4 431.5 609.6 429.0 610.6C424.2 612.4 414.2 612.7 376.5 611.9C360.0 611.5 358.2 611.3 354.7 609.2C351.9 607.6 349.3 607.0 345.2 607.0C337.6 607.0 332.3 605.4 327.8 601.9C325.7 600.3 322.9 599.0 321.3 599.0L318.5 599.0L321.6 600.9C328.8 605.3 331.9 617.0 332.7 643.0C333.2 657.4 333.5 659.9 335.2 662.3C342.1 672.0 341.5 690.9 334.0 700.1L331.0 703.9L333.9 702.9C335.6 702.3 337.3 701.3 337.9 700.6ZM286.2 664.0C287.6 661.5 290.8 658.1 293.2 656.3C300.5 651.1 302.7 640.5 299.5 626.0C298.7 622.4 298.1 616.0 298.0 611.7C298.0 604.3 298.2 603.7 300.9 600.9C303.5 598.4 304.6 598.0 309.7 598.0L315.5 598.0L312.2 596.3C310.4 595.5 307.7 593.3 306.1 591.5C304.5 589.7 302.2 587.9 300.9 587.5C296.2 586.1 290.2 582.0 288.2 578.8L286.1 575.5L284.7 579.0C281.7 586.4 281.7 586.8 284.7 587.2C287.3 587.5 287.5 587.8 287.8 592.9C288.0 595.9 287.6 599.5 287.0 601.0C286.0 603.3 286.5 605.2 290.0 614.6C294.1 625.2 294.2 625.8 293.8 635.0C293.4 644.0 293.0 645.3 287.3 658.5C279.2 677.0 278.3 680.6 280.7 683.2C282.5 685.2 282.5 685.0 283.0 676.9C283.4 670.2 284.0 667.6 286.2 664.0ZM506.5 677.2C505.9 674.6 502.8 666.6 499.7 659.4C490.6 638.2 490.1 632.9 495.6 617.5C497.5 612.0 500.5 603.7 502.2 599.0C505.4 590.1 505.3 587.2 502.0 578.6L500.9 575.7L498.6 579.1C496.3 582.4 487.7 588.0 484.8 588.0C484.0 588.0 482.4 589.4 481.1 591.1C479.9 592.7 477.5 594.9 475.9 595.9L472.9 597.7L478.5 598.2C489.1 599.1 491.0 605.4 487.0 626.5C484.8 638.3 484.9 640.5 487.6 649.2C488.7 652.6 490.1 654.5 492.5 656.0C499.6 660.4 504.0 669.4 504.0 679.8C504.0 685.1 504.1 685.3 505.9 683.6C507.6 682.0 507.7 681.4 506.5 677.2ZM547.0 643.3C559.3 630.8 569.8 619.1 570.5 617.5C572.0 614.0 573.5 599.2 575.1 572.5C576.9 540.7 576.0 540.1 571.6 570.5C569.5 585.4 567.1 599.1 566.3 601.0C565.4 603.2 556.0 613.2 540.4 628.5L515.8 652.5L518.4 658.7C519.8 662.2 521.0 665.7 521.0 666.5C521.0 669.4 524.5 666.3 547.0 643.3ZM267.4 659.9C268.8 656.3 270.0 652.9 270.0 652.3C270.0 651.7 259.2 640.7 245.9 627.9C232.7 615.1 221.2 603.4 220.5 601.9C219.7 600.5 217.5 588.8 215.6 575.9C209.8 537.9 210.0 538.8 210.6 554.0C211.3 573.9 213.9 607.7 215.1 613.6C216.0 618.5 217.0 619.6 240.2 642.8C253.5 656.1 264.4 666.9 264.6 666.7C264.7 666.6 265.9 663.5 267.4 659.9ZM531.9 606.2C532.5 603.2 533.0 598.9 533.0 596.8L533.0 593.0L527.0 593.0C521.3 593.0 521.0 593.1 521.0 595.5C521.0 596.9 518.3 605.3 515.1 614.3C511.8 623.2 508.9 631.4 508.5 632.5C508.1 633.6 512.9 629.4 519.3 623.1C530.2 612.3 530.8 611.5 531.9 606.2ZM272.5 617.4C269.4 609.2 266.6 600.4 266.3 597.8L265.7 593.0L259.9 593.0C256.7 593.0 253.9 593.4 253.6 593.9C253.2 594.4 253.5 598.4 254.1 602.7L255.3 610.5L266.3 621.7C272.4 627.9 277.5 632.8 277.7 632.6C277.9 632.4 275.5 625.6 272.5 617.4ZM417.7 596.4C422.2 595.5 423.0 593.5 423.0 583.0L423.0 573.2L413.2 573.7C399.8 574.4 400.9 573.3 401.2 585.2C401.5 595.0 401.6 595.5 404.0 596.7C406.3 597.9 411.1 597.8 417.7 596.4ZM384.2 595.3C386.4 593.3 386.9 575.2 384.8 574.5C384.1 574.3 378.9 573.9 373.2 573.5L363.0 572.9L363.0 581.4C363.0 594.7 364.8 596.8 376.4 596.9C380.6 597.0 382.9 596.5 384.2 595.3ZM240.3 574.9C241.2 571.9 243.6 566.8 245.6 563.5L249.2 557.5L248.0 550.0C245.6 534.6 238.0 490.3 236.9 485.2L235.9 480.0L230.9 480.0C223.9 480.0 219.4 477.8 212.5 471.0L206.5 465.1L206.4 471.9L206.3 478.8L210.2 479.3C223.5 481.1 230.3 496.7 225.4 514.1C223.9 519.4 223.9 520.6 226.0 535.1C231.4 573.4 234.2 589.6 235.8 592.0C237.5 594.5 237.5 594.4 238.1 587.4C238.5 583.5 239.5 577.9 240.3 574.9ZM552.0 589.2C552.6 587.2 555.3 570.5 558.0 552.2C562.6 520.3 562.8 518.7 561.3 514.4C559.0 507.6 559.9 493.6 562.9 488.6C565.9 483.9 571.7 480.0 576.9 479.3L581.0 478.7L581.0 471.6L581.0 464.5L575.7 470.1C568.4 477.9 565.9 479.3 557.7 479.9L550.6 480.5L548.8 490.5C547.8 496.0 544.8 513.3 542.1 529.0L537.1 557.5L540.0 561.9C545.0 569.4 548.7 582.3 549.0 592.8C549.0 595.2 550.9 593.0 552.0 589.2ZM447.0 588.5C449.2 586.2 449.5 585.0 449.9 576.9L450.2 567.9L446.4 568.6C437.7 570.2 438.0 569.7 438.0 581.6L438.0 592.2L441.2 591.6C443.0 591.2 445.6 589.8 447.0 588.5ZM348.0 580.6C348.0 569.1 348.5 569.8 340.6 568.4L336.8 567.7L337.1 577.0C337.5 585.6 337.7 586.3 340.3 588.6C341.8 589.9 344.2 591.0 345.6 591.0C348.0 591.0 348.0 591.0 348.0 580.6ZM467.9 578.7C469.3 576.6 470.8 561.0 469.7 561.0C469.4 561.0 467.9 561.5 466.5 562.2C464.1 563.3 464.0 563.6 464.0 572.6C464.0 582.4 464.8 583.7 467.9 578.7ZM321.8 562.5C321.6 562.4 320.4 561.9 319.1 561.5L316.8 560.8L317.1 568.8C317.4 575.0 317.9 577.3 319.5 579.0L321.5 581.2L321.8 572.0C321.9 566.9 321.9 562.6 321.8 562.5ZM267.9 575.0C268.9 571.9 268.4 566.0 267.0 566.0C266.1 566.0 259.0 575.0 259.0 576.1C259.0 576.9 261.4 577.7 264.7 577.9C266.2 578.0 267.1 577.1 267.9 575.0ZM527.4 577.2C528.1 576.0 520.8 566.0 519.5 566.4C518.1 566.8 517.7 572.1 518.9 575.3C519.8 577.5 520.6 578.0 523.4 578.0C525.3 578.0 527.1 577.6 527.4 577.2ZM487.0 558.2C487.0 554.3 486.6 552.9 485.8 553.2C484.9 553.5 484.4 556.2 484.3 561.1C484.0 568.0 484.1 568.3 485.5 566.0C486.3 564.6 486.9 561.1 487.0 558.2ZM302.0 559.5C302.0 555.8 301.6 553.0 301.0 553.0C299.9 553.0 299.7 560.1 300.6 563.8C301.6 567.5 302.0 566.3 302.0 559.5ZM284.6 548.2C283.2 522.4 282.9 499.0 284.0 497.1C286.5 492.4 297.7 490.6 306.6 493.5C308.5 494.1 308.8 493.3 311.5 481.8C314.8 467.9 314.8 467.1 312.4 463.5C309.3 458.7 308.6 458.7 288.4 465.2C278.0 468.5 269.1 471.5 268.7 472.0C268.2 472.4 271.3 491.9 275.4 515.4C279.6 538.9 283.0 558.3 283.0 558.5C283.0 558.8 283.5 559.0 284.1 559.0C284.8 559.0 284.9 555.5 284.6 548.2ZM385.8 550.0C386.5 531.9 384.1 527.7 372.5 526.5C366.5 525.8 365.5 526.0 364.3 527.6C362.5 530.1 362.4 554.3 364.2 555.8C365.7 556.9 377.9 558.9 382.5 558.6L385.5 558.5L385.8 550.0ZM419.8 557.1L422.5 556.4L422.8 542.6C423.1 525.9 422.9 525.6 415.1 526.5C402.6 527.9 401.0 530.3 401.0 547.5L401.0 559.2L409.1 558.5C413.6 558.1 418.4 557.5 419.8 557.1ZM506.4 542.8C507.9 533.8 511.4 514.4 514.1 499.5C516.8 484.7 518.6 472.3 518.2 471.9C517.8 471.5 509.0 468.5 498.6 465.1C484.4 460.6 479.2 459.3 477.9 460.1C475.5 461.3 473.0 466.2 473.0 469.5C473.0 471.7 477.0 489.5 478.5 493.7C478.8 494.6 479.7 494.6 482.4 493.5C489.8 490.4 500.0 492.2 502.5 497.1C504.5 500.8 504.6 534.2 502.7 537.9C501.4 540.5 501.5 559.0 502.9 559.0C503.3 559.0 504.9 551.7 506.4 542.8ZM347.5 526.3C346.8 523.5 339.6 521.0 337.7 522.9C336.0 524.6 335.4 546.6 337.0 548.5C337.7 549.4 340.3 550.6 342.9 551.4L347.5 552.7L347.8 540.6C347.9 533.9 347.8 527.5 347.5 526.3ZM444.1 551.9C449.6 550.0 449.8 549.5 450.2 536.3C450.5 522.1 450.1 521.2 444.3 523.0C438.4 524.9 438.0 525.9 438.0 540.2C438.0 554.2 437.9 553.9 444.1 551.9ZM471.4 539.5C472.2 537.3 472.2 517.5 471.3 516.7C470.9 516.3 469.4 517.2 467.8 518.7C465.1 521.3 465.0 521.6 465.0 532.7L465.0 544.1L467.9 542.6C469.5 541.7 471.0 540.3 471.4 539.5ZM318.9 518.4C317.6 517.1 316.3 516.0 315.8 516.0C314.8 516.0 314.7 538.1 315.8 539.6C316.2 540.2 317.4 541.2 318.5 541.8C320.4 542.8 320.5 542.5 320.8 531.8C321.0 521.5 320.9 520.5 318.9 518.4ZM488.8 518.7C489.0 510.2 488.9 509.7 487.6 512.0C485.6 515.3 485.3 531.1 487.2 529.2C488.0 528.4 488.6 524.4 488.8 518.7ZM299.1 511.2C298.3 510.0 298.1 511.5 298.0 517.2C298.0 527.7 299.4 530.6 299.8 520.7C300.0 516.5 299.6 512.2 299.1 511.2ZM408.2 511.5C414.4 510.7 421.8 510.0 424.5 510.0C427.2 510.0 432.4 509.1 435.8 508.0C439.3 506.9 445.0 506.0 448.5 506.0C452.6 506.0 455.1 505.5 455.9 504.6C456.5 503.8 458.3 502.7 459.9 502.0L462.7 500.9L460.3 491.2C457.5 479.5 456.3 463.2 457.9 457.3C460.5 448.0 467.9 443.1 479.6 443.0C485.7 443.0 489.8 444.0 507.1 449.6C540.9 460.4 554.0 464.1 555.8 463.1C556.8 462.6 565.1 454.5 574.3 445.2C586.8 432.6 590.9 427.9 590.4 426.6C589.8 425.1 589.5 425.1 588.1 426.3C585.0 429.1 572.0 435.0 564.8 436.9C540.1 443.5 497.9 443.1 473.8 435.9C438.4 425.4 417.1 399.2 405.0 351.2C403.6 345.9 400.2 343.5 393.9 343.5C386.0 343.5 384.3 345.6 379.9 360.1C362.0 419.5 331.1 442.0 267.3 442.0C237.5 442.0 213.7 436.7 199.8 426.8C197.0 424.9 197.0 424.9 197.0 426.9C197.0 428.9 227.3 461.0 231.1 463.1C232.9 464.0 251.2 458.9 288.3 447.1C302.2 442.6 312.1 441.7 318.3 444.4C322.6 446.1 327.6 452.0 328.9 456.7C331.3 465.2 329.4 483.0 324.4 499.2C324.1 500.4 324.4 501.0 325.3 501.0C326.1 501.0 327.9 501.9 329.3 503.0C331.0 504.4 333.3 505.0 336.8 505.0C339.5 505.0 345.7 506.1 350.4 507.5C355.2 508.9 361.6 510.0 364.9 510.0C371.8 510.0 389.3 512.5 391.7 513.9C392.8 514.5 394.1 514.5 395.2 513.9C396.1 513.4 401.9 512.3 408.2 511.5ZM366.2 486.0C361.0 484.8 359.6 482.8 353.6 468.6C345.8 450.0 345.8 449.6 355.9 424.9C370.3 389.6 375.9 376.7 377.5 375.1C378.7 373.8 382.0 373.4 392.9 373.2C406.2 372.9 406.8 372.9 409.3 375.2C411.1 376.8 415.9 387.4 425.4 410.9C442.1 451.9 441.8 449.5 432.9 469.8C425.9 485.9 425.7 486.0 413.5 486.8C404.6 487.3 405.2 487.6 398.5 479.2C394.6 474.5 392.1 475.0 386.5 481.5L381.8 487.0L375.7 486.9C372.3 486.8 368.0 486.4 366.2 486.0ZM190.6 468.1C188.8 454.9 177.0 428.2 169.5 420.3C165.1 415.8 165.0 415.7 163.0 417.5C159.8 420.4 159.8 422.1 163.0 434.6C167.3 451.4 173.3 463.5 181.1 471.2L187.2 477.4L189.2 475.0C190.8 473.0 191.1 471.6 190.6 468.1ZM607.1 471.1C615.1 462.8 624.5 440.6 626.6 425.2C627.1 421.4 626.8 420.0 625.3 418.1C623.4 415.8 623.3 415.8 620.7 417.5C611.3 423.6 593.7 465.1 597.1 473.2C598.8 477.3 601.7 476.7 607.1 471.1ZM382.5 461.4L385.9 460.8L386.2 451.6L386.5 442.5L393.5 442.5L400.5 442.5L401.0 451.4C401.5 460.3 401.5 460.4 404.4 461.1C406.0 461.6 408.8 463.4 410.6 465.1C412.5 466.9 414.2 468.2 414.4 467.9C414.6 467.7 416.4 463.5 418.4 458.7L422.1 449.8L410.4 421.2C396.1 385.9 397.7 388.8 393.4 389.2C389.3 389.5 390.6 387.0 374.5 426.7L365.1 449.9L368.1 457.2C369.8 461.2 371.6 465.5 372.1 466.8C373.0 469.1 373.0 469.1 376.1 465.6C378.0 463.4 380.4 461.8 382.5 461.4ZM172.2 391.0C165.9 377.7 165.8 377.6 158.5 381.9C155.6 383.6 155.5 383.9 155.8 389.6C156.3 400.4 155.9 400.0 164.8 400.0C171.5 400.0 173.3 400.4 177.7 402.9C177.8 403.0 175.3 397.6 172.2 391.0ZM623.3 400.0L630.7 400.0L631.4 395.4C632.8 384.6 632.5 383.7 626.7 380.8L621.5 378.2L615.5 390.5L609.5 402.8L612.7 401.4C614.5 400.6 619.3 400.0 623.3 400.0ZM609.6 357.0C618.5 333.9 621.0 329.6 629.5 322.7C636.4 317.2 636.5 317.0 637.4 306.5C638.4 294.2 638.6 294.4 611.4 291.5C586.2 288.9 551.7 289.9 516.6 294.3C507.3 295.4 508.8 295.5 540.1 295.5C568.5 295.5 574.5 295.8 580.2 297.2C593.1 300.5 599.9 305.1 604.3 313.4C606.2 316.9 606.5 319.5 606.8 332.2C607.2 348.3 605.2 362.2 600.6 375.6C599.3 379.4 597.9 383.4 597.5 384.5C594.8 392.9 603.3 373.5 609.6 357.0ZM187.5 377.9C182.9 365.1 180.6 351.7 180.6 336.0C180.5 313.9 183.5 307.2 196.4 301.1C207.4 295.8 217.4 294.7 251.0 295.2L280.5 295.5L266.5 293.8C244.1 291.1 226.7 290.0 207.4 290.0C184.6 290.0 153.3 293.3 150.6 296.0C149.4 297.2 149.7 311.4 151.1 315.7C151.6 317.4 153.3 319.6 154.7 320.5C164.9 327.2 169.0 333.8 177.6 356.9C182.9 371.1 189.0 385.3 189.6 384.7C189.8 384.6 188.8 381.5 187.5 377.9ZM430.5 368.4C425.2 352.0 424.3 327.1 428.8 319.7C433.0 313.0 441.1 308.7 457.5 304.4C470.5 301.1 466.7 301.5 440.1 306.2C417.0 310.4 416.1 310.5 394.0 310.5C372.0 310.5 371.0 310.4 347.7 306.2C320.6 301.4 317.7 301.1 330.9 304.5C349.1 309.2 357.7 315.0 360.5 324.4C363.3 333.8 361.6 355.1 357.0 368.4C355.9 371.7 355.2 374.5 355.4 374.7C355.9 375.3 362.6 357.2 365.0 348.5C370.0 330.4 374.6 327.0 394.0 327.0C412.4 327.0 417.6 330.8 422.0 347.2C424.2 355.4 431.9 376.4 432.5 375.8C432.7 375.6 431.8 372.3 430.5 368.4ZM155.8 316.0C153.2 314.0 153.0 313.3 153.0 307.2C153.0 297.4 154.7 296.0 166.3 296.0C177.0 296.0 179.0 297.7 179.0 306.9C179.0 316.1 177.6 317.4 166.6 317.8C159.5 318.1 158.2 317.9 155.8 316.0ZM612.5 316.8C609.0 314.9 608.0 312.8 608.0 306.9C608.0 297.7 609.6 296.5 621.5 296.5C630.5 296.5 631.3 296.7 633.1 298.9C636.9 303.5 635.2 314.7 630.3 316.9C627.2 318.3 615.1 318.3 612.5 316.8ZM409.4 293.9C409.7 293.7 410.3 289.8 410.9 285.2C412.9 269.2 416.5 266.2 448.6 253.5C489.0 237.5 529.6 225.0 541.3 225.0L545.5 225.0L550.3 196.4C553.0 180.7 554.9 167.5 554.6 167.2C554.3 166.9 554.0 167.8 554.0 169.2C554.0 173.3 549.8 180.1 546.0 182.1C539.3 185.7 518.3 184.3 509.4 179.7C505.1 177.5 500.3 171.7 499.1 167.3C497.2 160.6 497.8 137.8 500.2 123.5C502.2 111.0 502.3 110.6 500.5 109.5C499.5 109.0 497.0 107.1 495.1 105.3C491.5 102.2 491.5 102.1 491.5 94.2C491.5 81.0 495.3 77.5 508.7 78.2C517.9 78.6 521.0 81.2 521.0 88.4C521.0 98.4 521.1 98.5 534.3 105.1C557.6 116.8 558.0 117.3 558.0 133.8C558.0 140.0 557.5 148.2 556.9 152.1C554.7 166.6 556.7 160.4 559.9 142.8C563.7 122.4 564.0 121.6 568.2 118.0L571.2 115.4L563.7 108.3C545.4 90.9 514.8 74.9 480.1 64.6L475.0 63.1L469.7 73.8L464.4 84.5L467.7 90.5C472.8 99.9 472.5 102.0 461.7 134.5C450.7 167.5 450.1 168.6 441.5 177.0L434.9 183.5L428.7 183.5C425.3 183.5 406.8 183.4 387.7 183.2L352.8 183.0L346.4 176.8C342.8 173.4 339.1 169.2 338.0 167.5C337.0 165.8 331.8 151.6 326.6 136.0C315.4 102.9 315.0 99.9 320.0 90.0L323.0 84.1L318.0 73.6C314.4 65.9 312.6 63.0 311.3 63.0C310.3 63.0 303.0 65.2 295.0 67.9C263.2 78.5 239.2 91.8 220.8 108.8L215.0 114.2L219.1 117.9C222.9 121.2 223.3 122.2 225.1 130.9C227.3 141.7 238.3 203.4 240.2 216.0L241.5 224.5L246.0 224.8C258.3 225.5 266.7 227.5 297.5 237.7C320.3 245.2 340.6 253.0 355.8 260.1C371.7 267.5 375.3 272.2 376.7 287.4C377.2 293.4 377.5 293.9 379.9 294.4C383.3 294.9 408.7 294.6 409.4 293.9ZM361.0 289.8C361.0 289.1 360.0 286.7 358.7 284.5C356.1 279.7 347.1 274.9 324.0 265.7C298.1 255.5 252.9 241.0 246.8 241.0C241.7 241.0 214.0 267.6 214.0 272.6C214.0 273.3 219.2 273.9 229.5 274.4C257.6 275.6 302.8 281.0 341.5 287.9C360.5 291.3 361.0 291.4 361.0 289.8ZM447.8 287.5C493.8 279.8 529.3 275.6 557.5 274.4C566.0 274.0 573.0 273.4 573.0 273.0C573.0 269.2 569.4 264.8 556.8 253.5L542.7 240.8L538.6 241.4C526.1 243.4 453.0 269.3 437.2 277.4C431.5 280.3 428.2 283.7 427.0 287.8C426.5 289.6 426.4 291.0 426.7 291.0C426.9 291.0 436.5 289.4 447.8 287.5ZM192.0 274.0L197.7 274.0L198.4 268.1C198.8 264.9 200.0 259.7 201.0 256.6C206.3 241.7 199.6 182.4 191.5 172.4L189.1 169.5L186.1 172.5C178.1 180.3 171.8 228.4 174.9 257.5C176.9 276.3 176.5 275.3 181.8 274.6C184.3 274.3 188.9 274.0 192.0 274.0ZM610.4 272.8C614.9 252.2 613.5 212.8 607.4 188.0C603.6 172.7 600.2 168.0 596.1 172.4C587.2 181.8 580.7 242.9 586.8 259.7C588.0 263.1 589.0 267.7 589.0 269.9L589.0 273.9L596.8 274.3C601.0 274.4 605.7 274.7 607.2 274.8C609.3 275.0 610.1 274.5 610.4 272.8ZM360.2 257.2C359.1 256.3 355.5 251.0 352.1 245.6C346.9 237.1 346.0 235.0 346.0 230.9C346.0 224.7 347.7 223.0 353.8 223.0C359.8 223.0 359.6 222.8 366.4 233.8L372.3 243.0L393.7 243.0L415.0 243.0L417.8 238.4C425.5 225.3 427.2 223.5 432.2 223.2C439.5 222.7 441.0 224.0 441.0 230.7C441.0 235.9 440.5 237.0 434.4 246.7C430.7 252.4 426.9 257.5 425.9 258.0C424.9 258.6 411.2 259.0 393.2 259.0C365.1 259.0 362.0 258.8 360.2 257.2ZM224.9 233.7C226.0 232.3 225.4 221.0 224.3 221.0C224.0 221.0 222.5 221.9 220.9 223.1C218.2 225.0 218.0 225.6 218.0 232.1L218.0 239.1L220.8 237.1C222.4 236.0 224.2 234.5 224.9 233.7ZM566.3 223.4C563.1 220.8 562.6 221.3 561.6 228.0C560.9 232.2 561.1 232.6 564.7 235.6L568.5 238.8L568.8 232.2C569.1 226.1 568.9 225.5 566.3 223.4ZM220.3 196.7C208.7 128.4 207.3 123.9 200.9 134.3C198.1 138.6 191.0 152.5 191.0 153.5C191.0 153.8 192.5 154.0 194.4 154.0C204.6 154.0 211.4 167.1 215.1 194.3L216.3 203.1L218.5 201.0C219.9 199.7 220.6 198.1 220.3 196.7ZM575.1 178.5C579.2 161.4 584.8 154.0 593.6 154.0L596.0 154.0L592.9 147.8C591.2 144.3 588.2 138.9 586.3 135.7L582.8 129.9L580.5 132.0C578.1 134.3 577.0 138.9 570.0 178.5C566.5 198.4 566.5 198.8 568.7 201.3C570.4 203.1 570.5 202.9 571.7 195.4C572.4 191.0 574.0 183.4 575.1 178.5ZM244.5 183.0C240.8 181.9 237.5 179.0 235.5 175.0C233.3 170.8 230.0 150.4 229.3 136.9C228.3 118.2 229.9 116.2 256.1 103.5C261.2 101.0 265.7 98.4 266.2 97.7C266.6 97.1 267.0 93.5 267.0 89.8C267.0 83.6 267.2 83.0 270.1 80.6C272.8 78.3 274.0 78.0 281.4 78.0C290.7 78.0 293.4 79.2 295.6 84.6C299.1 93.0 296.4 103.6 289.7 108.0C286.1 110.3 285.9 110.7 286.4 114.0C290.5 138.3 290.9 160.2 287.5 168.7C283.8 178.0 273.7 183.0 257.5 183.6C252.0 183.8 246.1 183.5 244.5 183.0ZM536.1 166.4L538.5 163.8L532.0 157.7C528.4 154.3 522.7 150.0 519.2 148.2L513.0 144.9L513.0 149.7C513.1 159.3 517.4 164.9 526.7 167.5C533.3 169.3 533.4 169.3 536.1 166.4ZM265.3 165.2C268.1 164.0 270.7 161.9 271.9 160.0C274.0 156.5 275.6 147.2 274.3 145.9C273.0 144.6 261.5 151.6 254.9 157.7L248.9 163.3L251.2 165.7C253.9 168.6 257.9 168.5 265.3 165.2ZM430.8 161.6L436.8 155.2L445.4 129.2L454.1 103.1L452.1 99.3C448.2 91.6 448.8 91.9 431.9 90.4C408.2 88.3 353.5 89.0 341.5 91.5C340.3 91.7 338.3 94.1 336.6 97.3L333.7 102.6L342.0 127.6C350.9 154.6 351.7 156.4 358.2 162.7L362.5 167.0L385.0 167.3C397.4 167.4 411.4 167.6 416.1 167.8L424.8 168.0L430.8 161.6ZM263.2 130.7C271.9 126.6 272.0 126.5 271.5 123.5C270.1 116.5 270.8 116.6 259.7 122.1C246.1 128.9 245.0 130.0 245.0 136.7L245.0 142.0L249.7 138.4C252.2 136.5 258.3 133.0 263.2 130.7ZM542.9 134.7C543.0 130.9 540.2 128.6 528.7 122.5C518.3 117.1 517.6 117.1 516.7 123.2L516.1 127.0L523.4 130.3C527.4 132.2 533.1 135.3 536.1 137.4C542.0 141.3 542.8 141.0 542.9 134.7ZM367.6 73.9C392.0 72.8 436.6 73.8 445.9 75.6C448.5 76.1 448.8 75.8 452.4 67.6C454.6 62.8 456.1 58.8 455.9 58.6C455.0 57.7 428.4 54.0 415.5 52.9C393.1 51.0 358.3 52.9 337.0 57.1C333.7 57.7 331.0 58.4 331.0 58.5C331.0 58.6 332.8 62.6 335.1 67.4C337.8 73.2 339.6 76.0 340.5 75.6C341.2 75.4 353.4 74.6 367.6 73.9Z"/></svg>RAgents</a>
127
+ <nav id="main-navigation" aria-label="Main navigation">
128
+ <a href="index.html">Product</a>
129
+ <a href="guide.html" aria-current="page">Guide</a>
130
+ <a class="nav-github" href="https://github.com/SchlenkR/RAgents" aria-label="GitHub"><svg class="gh-icon" viewBox="0 0 24 24" aria-hidden="true"><path fill="currentColor" d="M12 2a10 10 0 0 0-3.2 19.5c.5.1.7-.2.7-.5v-1.7c-2.8.6-3.4-1.3-3.4-1.3-.5-1.2-1.1-1.5-1.1-1.5-.9-.6.1-.6.1-.6 1 .1 1.5 1 1.5 1 .9 1.6 2.4 1.1 3 .9.1-.7.4-1.1.6-1.4-2.2-.3-4.6-1.1-4.6-5 0-1.1.4-2 1-2.7-.1-.3-.4-1.3.1-2.7 0 0 .8-.3 2.8 1a9.6 9.6 0 0 1 5 0c1.9-1.3 2.8-1 2.8-1 .5 1.4.2 2.4.1 2.7.6.7 1 1.6 1 2.7 0 3.9-2.4 4.7-4.6 5 .4.3.7.9.7 1.9V21c0 .3.2.6.7.5A10 10 0 0 0 12 2Z"/></svg><span class="gh-label">GitHub</span></a>
131
+ </nav>
132
+ <button class="nav-menu" type="button" aria-expanded="false" aria-controls="main-navigation"><span data-menu-label>Menu</span><svg viewBox="0 0 24 24" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></button>
133
+ </header><main class="shell" id="main"><div class="guide-layout"><aside class="guide-sidebar"><nav class="guide-chapters" aria-label="Guide navigation"><a href="guide.html">Overview</a><div class="guide-nav-group"><p>Understand</p><a href="guide-ideas.html">Core ideas</a><a href="guide-runtime.html">Actors and messages</a></div><div class="guide-nav-group"><p>Use</p><a href="guide-getting-started.html">Get started</a><a href="guide-clients.html">Web and VS Code</a><a href="guide-distributed.html" aria-current="page">Distributed work</a></div><div class="guide-nav-group"><p>Build</p><a href="guide-functions.html">Work with TypeScript</a><a href="guide-programs.html">Build mini-apps</a><a href="guide-plugins.html">Plugins and skills</a></div><div class="guide-nav-group"><p>Access</p><a href="guide-access.html">Assign permissions</a></div></nav></aside><details class="guide-mobile-nav"><summary>Guide: Distributed work</summary><nav class="guide-chapters" aria-label="Guide navigation"><a href="guide.html">Overview</a><div class="guide-nav-group"><p>Understand</p><a href="guide-ideas.html">Core ideas</a><a href="guide-runtime.html">Actors and messages</a></div><div class="guide-nav-group"><p>Use</p><a href="guide-getting-started.html">Get started</a><a href="guide-clients.html">Web and VS Code</a><a href="guide-distributed.html" aria-current="page">Distributed work</a></div><div class="guide-nav-group"><p>Build</p><a href="guide-functions.html">Work with TypeScript</a><a href="guide-programs.html">Build mini-apps</a><a href="guide-plugins.html">Plugins and skills</a></div><div class="guide-nav-group"><p>Access</p><a href="guide-access.html">Assign permissions</a></div></nav></details><article class="guide-body"><header class="guide-title"><p class="eyebrow"><a href="guide.html">Guide</a></p><h1>Distributed work</h1><p>Run the host locally or remotely, keep tools beside the project, and move runs between servers.</p></header><details class="guide-page-nav"><summary>On this page</summary><nav aria-label="On this page"><a href="#work-without-a-checkout">Work without a checkout</a><a href="#connect-to-a-server">Connect to a server</a><a href="#transfer-a-run">Transfer a run</a><a href="#work-on-windows">Work on Windows</a></nav></details><h2 id="work-without-a-checkout">Work without a checkout</h2>
134
+ <p>Using RAgents does not require a repository. <code>pnpm build:package</code> creates the npm package
135
+ <code>@schlenkr/ragents</code> from this checkout in <code>dist/ragents</code>; with <code>--pack</code>, it also creates
136
+ <code>dist/schlenkr-ragents-&lt;version&gt;.tgz</code>. The package contains the server, engine, executor, all
137
+ plugins, and the scripts behind its subcommands. From the documentation it includes only
138
+ <code>LICENSE</code> and a separate English <code>README.md</code> for the npm listing, sourced from
139
+ <code>scripts/package/README.md</code>. It carries the finished web interface and every built-in plugin as a
140
+ bundle, so nothing is built on the user&#39;s machine. Its <code>package.json</code> records the source commit as
141
+ <code>ragents.hostVersion</code>. Install it like any other npm package:</p>
142
+ <pre><code class="language-sh">npm install -g @schlenkr/ragents
143
+ RAGENTS_TOKEN=&lt;token&gt; ragents connect https://ragents.example.com
144
+ </code></pre>
145
+ <p>Only Node 22 is required: no Git, pnpm, <code>pnpm install</code>, or build. The subcommands are:</p>
146
+ <ul>
147
+ <li><code>ragents run &lt;folder&gt; &quot;&lt;task&gt;&quot;</code>, <code>send</code>, <code>journal</code>, and <code>stop</code> let an agent work on a project.</li>
148
+ <li><code>ragents connect &lt;server-url&gt;</code> fetches a client profile with its plugin bundles, provisions
149
+ tools, and starts a server. It supports <code>--port &lt;n&gt;</code>, <code>--clean</code>, and <code>--no-start</code>, like
150
+ <code>pnpm connect</code>.</li>
151
+ <li><code>ragents start &lt;profile|path&gt;</code> starts an included profile (<code>core</code>, <code>developer</code>, or <code>showcase</code>),
152
+ a custom <code>ragents.config.&lt;profile&gt;.ts</code> anywhere on disk, or a previously fetched version.</li>
153
+ <li><code>ragents provision [&lt;profile&gt;|--workspace]</code> installs only the required tools.</li>
154
+ <li><code>ragents workspace-client &lt;server-url&gt; [folders ...]</code> registers this machine as a workspace.</li>
155
+ <li><code>ragents plugin build &lt;folder...&gt;</code> builds plugin sources into bundles, with type checks; see
156
+ <a href="guide-plugins.html">Build and ship a plugin</a>.</li>
157
+ </ul>
158
+ <p>The package runs like the checkout, with the same files in the same places and TypeScript loaded
159
+ at runtime through <code>tsx</code>. On first use, the command creates the <code>node_modules/@ragents/*</code>
160
+ links that pnpm supplies in a checkout. This is idempotent and requires no elevated privileges.</p>
161
+ <h3 id="custom-profiles-and-plugins">Custom profiles and plugins</h3>
162
+ <p>A developer will usually keep a custom profile and plugins somewhere on disk. <code>ragents start &lt;path&gt;</code> starts it from the package, while <code>ragents run --profile &lt;path&gt;</code> runs it without an
163
+ interface for an agent. Both resolve the path in the same way:</p>
164
+ <pre><code class="language-sh">ragents start ~/projects/mine/ragents.config.mine.ts
165
+ ragents run ~/projects/mine &quot;Build this&quot; --profile ~/projects/mine/ragents.config.mine.ts
166
+ </code></pre>
167
+ <p>The file must be named <code>ragents.config.&lt;profile&gt;.ts</code>; that name becomes the profile name. Startup
168
+ provisions the plugin tools and then starts the server. Nothing is built: the package carries the
169
+ finished web interface, which is the same for every profile, and the server loads the web halves
170
+ of the profile&#39;s plugins from their bundles at runtime.</p>
171
+ <p>The server loads plugins only as bundles. The package carries its built-in plugins as bundles
172
+ under <code>bundles/</code>; a custom plugin is built first with <code>ragents plugin build &lt;source-folder...&gt;</code>,
173
+ which writes <code>./dist/plugins/&lt;custom-plugin-id&gt;</code> by default. The package brings everything this
174
+ build needs, including the type checks against the host API. The profile names that bundle by a
175
+ path relative to the profile file, such as <code>&quot;./dist/plugins/&lt;custom-plugin-id&gt;&quot;</code>; a source folder
176
+ in the profile stops the start and names the build command. A bundle imports from the host only
177
+ the modules of the host API list, resolved by <code>apps/server/src/host-resolution-hooks.mjs</code>, and
178
+ must be rebuilt when the host API changes. Its <code>web/</code> half is served under <code>/plugins/&lt;id&gt;/web/</code>
179
+ and loaded by the browser; its Tailwind classes join the one stylesheet the server compiles at
180
+ startup. The build tool bundles libraries such as <code>lucide-react</code> from the host, so the package
181
+ also includes the dependencies declared by <code>apps/web/package.json</code>. The host does not check
182
+ whether such a bundle still matches its sources; rebuild it before starting.</p>
183
+ <p>An external plugin project can use a <code>host</code> symlink to access host tools. With a package
184
+ installation, that link points to the package instead of a checkout. Set <code>RAGENTS_HOST</code> to the
185
+ appropriate location:</p>
186
+ <pre><code class="language-sh">export RAGENTS_HOST=&quot;$(npm root -g)/@schlenkr/ragents&quot;
187
+ </code></pre>
188
+ <p>A script in the external repository can create the <code>host</code> symlink from that value. If that script
189
+ identifies a checkout by <code>pnpm-workspace.yaml</code>, it should test for something the package shares
190
+ instead, such as <code>apps/server/src/main.ts</code> beside <code>package.json</code>. Start with <code>ragents start &lt;path-to-profile&gt;</code>;
191
+ the symlink is used only by scripts and tsconfig files in the external repository.</p>
192
+ <p>The VS Code extension starts the same profile from the same package. Set <code>ragents.hostPath</code> to
193
+ the package directory (<code>&lt;npm-prefix&gt;/lib/node_modules/@schlenkr/ragents</code>) rather than a checkout.
194
+ If the setting is empty and the extension is not running from a checkout, it fetches the package
195
+ itself as described under Run panel and VS Code extension.</p>
196
+ <h2 id="connect-to-a-server">Connect to a server</h2>
197
+ <p>A developer can run RAgents locally with the profile and models of a central server. This
198
+ requires a local host with the same host API as that server: either the <code>@schlenkr/ragents</code>
199
+ package, which needs only Node, or this checkout with Git, Node, pnpm, <code>pnpm install</code>,
200
+ <code>pnpm build:agent</code>, <code>pnpm build:plugins</code>, and <code>pnpm build:web</code>. It also requires a personal token
201
+ for a user in the server profile with <code>profile.fetch</code> and <code>models.use</code> permissions:</p>
202
+ <pre><code class="language-sh">RAGENTS_TOKEN=&lt;token&gt; ragents connect https://ragents.example.com
203
+ RAGENTS_TOKEN=&lt;token&gt; ragents connect https://ragents.example.com --port 4720 --clean
204
+ RAGENTS_TOKEN=&lt;token&gt; ragents connect https://ragents.example.com --no-start
205
+ </code></pre>
206
+ <p>In a checkout, the same command is <code>pnpm connect &lt;server-url&gt;</code> and uses the same implementation.</p>
207
+ <p><code>connect</code> fetches the client-profile description and checks the local host before it downloads
208
+ anything. The host must offer the host API number the server&#39;s bundles were built against, and it
209
+ must have a built-in bundle for every plugin the profile names by ID. The same commit is not
210
+ required. On a mismatch, <code>connect</code> stops and names the fix: <code>npm install -g @schlenkr/ragents@&lt;version&gt;</code> for the package, where the server supplies the version, or the
211
+ server&#39;s commit plus <code>pnpm build:plugins</code> and <code>pnpm build:web</code> in a checkout. It then downloads
212
+ the archive, which holds only the profile file and the finished bundles it names by path,
213
+ verifies its SHA-256, stores the version under
214
+ <code>~/.local/share/ragents/remote/&lt;host&gt;/&lt;profile&gt;/profiles/&lt;version&gt;/</code>, and starts the server with
215
+ that profile. Data goes to <code>~/.local/share/ragents/remote/&lt;host&gt;/&lt;profile&gt;/data/</code>, and the web
216
+ interface is the local host&#39;s own; nothing is built or installed on the developer machine.
217
+ Existing versions are not downloaded again. <code>--clean</code> removes older ones, <code>--no-start</code> stops after
218
+ fetching and reports the profile and data paths, and <code>--port &lt;n&gt;</code> overrides the profile port.
219
+ <code>ragents start &lt;profile&gt;</code> can restart an included profile or the latest fetched version without
220
+ contacting the server. Personal <code>env(...)</code> values from the client profile, such as the relay
221
+ token, must exist in the shell. Between download and startup, <code>connect</code> provisions language
222
+ servers and the browser; a prerequisite it cannot install, such as <code>dotnet</code> or a separate Chrome,
223
+ stops with instructions.</p>
224
+ <p>The server needs <code>ragents.profile-distribution</code> with <code>CLIENT_PROFILE_FILE</code>, plus
225
+ <code>ragents.model-relay</code> with <code>MODEL_ALIASES</code> in its <code>host</code> section for models. Plugins the client profile names by path
226
+ must be bundles built with <code>ragents plugin build</code>; the server checks them at startup. Users
227
+ receive <code>token: env(&quot;...&quot;)</code> and the two permissions. Relay responses and all client-profile
228
+ content, including prompts, skills, run scripts, bundles, and configuration, are present on the
229
+ developer machine. Only the provider, actual model, and key remain secret. The relay replaces
230
+ <code>model</code> with the alias and removes <code>provider</code>, so model context, journal, catalog, and interface
231
+ expose only the alias.</p>
232
+ <h3 id="common-first-run-pitfalls">Common first-run pitfalls</h3>
233
+ <ul>
234
+ <li>Two environment variables, often with the same value, are needed: <code>connect</code> reads
235
+ <code>RAGENTS_TOKEN</code>, while the name used by <code>RELAY_TOKEN: env(&quot;...&quot;)</code> must also be set.</li>
236
+ <li><code>COMPACTION_PROVIDER: &quot;relay&quot;</code> with an empty <code>COMPACTION_MODEL</code> can start without a text model
237
+ at reasoning level <code>off</code>; automatic titles stay disabled and Settings explains why. An
238
+ explicitly named alias must be such a model or startup fails.</li>
239
+ <li>The relay must be reachable when the local server starts because it fetches the alias catalog
240
+ once. Alias changes require restarting the local server.</li>
241
+ <li>Revoking access affects the next model request immediately, not the running server process.
242
+ The run then ends as failed and records the relay response in the journal.</li>
243
+ <li>Rejected requests appear in the relay server&#39;s <code>logs/server.log</code>, not <code>relay.log</code>. The latter
244
+ records only forwarded calls with user, alias, target, status, and token count.</li>
245
+ <li>The archive carries no web interface. After updating the host package, a fetched version
246
+ starts with the new web interface as long as the host API stays the same. Otherwise the start
247
+ refuses the fetched bundles, and <code>connect</code> names the version to install.</li>
248
+ </ul>
249
+ <h2 id="transfer-a-run">Transfer a run</h2>
250
+ <p>A run can move from one server to another and continue there, for example from a notebook to an
251
+ always-on machine or from a central server to a developer for local inspection.</p>
252
+ <pre><code class="language-sh">RAGENTS_TOKEN=&lt;token&gt; pnpm run-transfer http://localhost:4723 http://server.example:4724 &lt;runId&gt;
253
+ RAGENTS_TOKEN=&lt;token&gt; pnpm run-transfer &lt;source&gt; &lt;target&gt; &lt;runId&gt; --workspace /path/to/project
254
+ </code></pre>
255
+ <p>The script exports the run from the source with <code>ragents.runs.export</code> and imports it on the target
256
+ with <code>ragents.runs.import</code>. If each side uses a different token, set <code>RAGENTS_SOURCE_TOKEN</code> and
257
+ <code>RAGENTS_TARGET_TOKEN</code>. The transfer includes the journal and payloads, which also hold the model
258
+ contexts of the run&#39;s agents, the stored contents the run refers to (attachments and the media of
259
+ the model contexts), actor programs, and all plugin storage for the run, including
260
+ <code>ragents.documents</code> files and the new folder of a run that works on the server. A folder on a workstation stays there, and the
261
+ run keeps its binding to that workstation. Running processes, language servers, and
262
+ browsers are not transferred; they are recreated on the target when next used.</p>
263
+ <p>The transfer enforces these prerequisites:</p>
264
+ <ul>
265
+ <li>Both servers use the same host version and workspace executor. There is no override.</li>
266
+ <li>The run is stopped, with no active turn or waiting input.</li>
267
+ <li>Its ID is unused on the target. An existing run, folder, or archive entry rejects the import.</li>
268
+ <li>A run bound to a source project folder needs <code>--workspace &lt;path&gt;</code> pointing to an existing
269
+ target folder, given as an absolute path on the target server. A workspace binding is retained; that workspace reconnects to the target with
270
+ the same ID and as the run owner, or anonymously for an ownerless run.</li>
271
+ <li>The archive must stay below 16 MiB because it travels as Base64 through the message layer.
272
+ A workspace containing <code>node_modules</code> will exceed this; an existing folder on the server usually will not.</li>
273
+ <li>Symbolic links travel only when they are relative and stay inside the run&#39;s storage. Links under
274
+ <code>node_modules</code> that point elsewhere, such as a package manager&#39;s absolute links, are left out
275
+ and come back with the next install in the workspace. Any other link pointing outside stops the
276
+ export with <code>run-transfer-link</code> and names the links; replace them with files or relative links.</li>
277
+ </ul>
278
+ <p>Export copies the run. It remains on the source and must be deleted there explicitly after a
279
+ real move, otherwise two journals with the same ID diverge. On the target, the run appears
280
+ stopped and continues with the next message. Its model context still contains absolute source
281
+ paths; reusing one fails at the workspace boundary, while a relative path reaches the target.
282
+ After transfer, inspect the journal with <code>pnpm driver journal &lt;runId&gt;</code> and plugin storage under
283
+ <code>${DATA_DIR}/sessions/&lt;runId&gt;/plugins/</code>.</p>
284
+ <h2 id="work-on-windows">Work on Windows</h2>
285
+ <p>The local host and workspace also run on Windows. Requirements are:</p>
286
+ <ul>
287
+ <li><strong>The VS Code extension for Windows</strong> brings its own bash. The Marketplace delivers a
288
+ <code>win32-x64</code> or <code>win32-arm64</code> build that contains a slim bash with the GNU tools (coreutils,
289
+ <code>grep</code>, <code>sed</code>, <code>awk</code>, <code>find</code>, <code>diff</code>, <code>patch</code>, <code>tar</code>, <code>unzip</code>, <code>cygpath</code> and more), taken from
290
+ a fixed Git for Windows release. The <code>bash</code> tool uses only this bash, for the workspace and for
291
+ the local host; an installed Git Bash or a <code>bash.exe</code> on <code>PATH</code> is never used. PowerShell and
292
+ <code>cmd.exe</code> are not used either.</li>
293
+ <li><strong>Git</strong> is your own <code>git.exe</code> on <code>PATH</code>, for example from Git for Windows. The bundled bash
294
+ contains no git, so your login works as usual: Git Credential Manager, <code>~/.gitconfig</code> and
295
+ <code>~/.ssh</code>. On your own machine the bash inherits your whole environment, except the variables of
296
+ VS Code itself and <code>BASH_ENV</code>/<code>ENV</code>.</li>
297
+ <li><strong>Without the extension</strong> (<code>ragents start</code> or <code>ragents workspace-client</code> from the npm package)
298
+ set <code>RAGENTS_BASH</code> to the <code>bash.exe</code> of such a bundle, for example
299
+ <code>&lt;extension folder&gt;\dist\bash\win32-x64\usr\bin\bash.exe</code>. Without it every <code>bash</code> call fails
300
+ and names what is missing.</li>
301
+ <li><strong>Node.js</strong> is enough with <code>@schlenkr/ragents</code>. A checkout additionally needs <strong>pnpm</strong>, and
302
+ <code>pnpm install</code>, <code>pnpm build:agent</code>, and <code>scripts/start.sh</code> need a bash of your own, such as
303
+ Git Bash.</li>
304
+ <li>The <strong>.NET SDK</strong> is required when the profile includes Roslyn or FSAC. Provisioning downloads
305
+ the language servers; the TypeScript server comes from the host directory.</li>
306
+ <li>A <strong>server</strong> on Windows has no process sandbox. Its profile file must switch it off explicitly
307
+ with <code>PROCESS_SANDBOX: &quot;off&quot;</code> in the <code>ragents.workspace</code> section, otherwise startup fails. A
308
+ Windows workstation connected to a server needs nothing, because the sandbox applies only to
309
+ the server.</li>
310
+ </ul>
311
+ <p>The data directory is <code>%LOCALAPPDATA%\ragents\&lt;profile&gt;</code> and server-provided profiles use
312
+ <code>%LOCALAPPDATA%\ragents\remote\&lt;host&gt;\&lt;profile&gt;\</code>. <code>DATA_DIR</code> overrides this. Startup fails when
313
+ <code>LOCALAPPDATA</code> is absent. Unix permissions 0700 and 0711 do not apply on Windows, where isolation
314
+ per run depends on the user account.</p>
315
+ <p>Windows has no process group for command termination, so RAgents ends the process tree with
316
+ <code>taskkill /T /F</code>. This is forceful and has no grace period. There is also no process table: for
317
+ runs using a Windows workspace, the process rail explains this limitation. Stopping a run still
318
+ terminates Bash process trees, while a deliberately detached service continues. Workspace tools
319
+ do not depend on the process rail.</p>
320
+ <p>Windows support has not yet been exercised on a physical Windows machine. It is implemented and
321
+ covered by unit tests that simulate the platform. A first real run should verify <code>pnpm connect</code>,
322
+ <code>read</code>, <code>edit</code>, <code>bash</code> output and cancellation, diagnostics, and a workspace through
323
+ <code>pnpm workspace-client</code>, and with the bundled bash <code>git fetch</code> and <code>git push</code> over HTTPS with Git
324
+ Credential Manager and over SSH.</p>
325
+ <p class="guide-source">Source: <a href="https://github.com/SchlenkR/RAgents/blob/main/docs/operations.md">docs/operations.md</a>. <a href="guide-distributed.md">This chapter as Markdown</a>.</p><p><a href="guide-access.html">Assign tokens and permissions</a></p><nav class="guide-next" aria-label="Continue reading"><a href="guide-clients.html">Previous: Web and VS Code</a><a href="guide-functions.html">Next: Work with TypeScript</a></nav></article></div></main><footer class="shell"><p>Generated from public documentation. Rebuild with <code>pnpm generate:homepage</code>. Verify with <code>pnpm check:homepage</code>.</p><nav aria-label="More pages"><a href="index.html">Homepage</a><a href="guide.html">Guide</a></nav></footer></body></html>
@@ -0,0 +1,230 @@
1
+ # Distributed work
2
+
3
+ Run the host locally or remotely, keep tools beside the project, and move runs between servers.
4
+
5
+ ## Work without a checkout
6
+
7
+ Using RAgents does not require a repository. `pnpm build:package` creates the npm package
8
+ `@schlenkr/ragents` from this checkout in `dist/ragents`; with `--pack`, it also creates
9
+ `dist/schlenkr-ragents-<version>.tgz`. The package contains the server, engine, executor, all
10
+ plugins, and the scripts behind its subcommands. From the documentation it includes only
11
+ `LICENSE` and a separate English `README.md` for the npm listing, sourced from
12
+ `scripts/package/README.md`. It carries the finished web interface and every built-in plugin as a
13
+ bundle, so nothing is built on the user's machine. Its `package.json` records the source commit as
14
+ `ragents.hostVersion`. Install it like any other npm package:
15
+
16
+ ```sh
17
+ npm install -g @schlenkr/ragents
18
+ RAGENTS_TOKEN=<token> ragents connect https://ragents.example.com
19
+ ```
20
+
21
+ Only Node 22 is required: no Git, pnpm, `pnpm install`, or build. The subcommands are:
22
+
23
+ - `ragents run <folder> "<task>"`, `send`, `journal`, and `stop` let an agent work on a project.
24
+ - `ragents connect <server-url>` fetches a client profile with its plugin bundles, provisions
25
+ tools, and starts a server. It supports `--port <n>`, `--clean`, and `--no-start`, like
26
+ `pnpm connect`.
27
+ - `ragents start <profile|path>` starts an included profile (`core`, `developer`, or `showcase`),
28
+ a custom `ragents.config.<profile>.ts` anywhere on disk, or a previously fetched version.
29
+ - `ragents provision [<profile>|--workspace]` installs only the required tools.
30
+ - `ragents workspace-client <server-url> [folders ...]` registers this machine as a workspace.
31
+ - `ragents plugin build <folder...>` builds plugin sources into bundles, with type checks; see
32
+ [Build and ship a plugin](guide-plugins.html).
33
+
34
+ The package runs like the checkout, with the same files in the same places and TypeScript loaded
35
+ at runtime through `tsx`. On first use, the command creates the `node_modules/@ragents/*`
36
+ links that pnpm supplies in a checkout. This is idempotent and requires no elevated privileges.
37
+
38
+ ### Custom profiles and plugins
39
+
40
+ A developer will usually keep a custom profile and plugins somewhere on disk. `ragents start
41
+ <path>` starts it from the package, while `ragents run --profile <path>` runs it without an
42
+ interface for an agent. Both resolve the path in the same way:
43
+
44
+ ```sh
45
+ ragents start ~/projects/mine/ragents.config.mine.ts
46
+ ragents run ~/projects/mine "Build this" --profile ~/projects/mine/ragents.config.mine.ts
47
+ ```
48
+
49
+ The file must be named `ragents.config.<profile>.ts`; that name becomes the profile name. Startup
50
+ provisions the plugin tools and then starts the server. Nothing is built: the package carries the
51
+ finished web interface, which is the same for every profile, and the server loads the web halves
52
+ of the profile's plugins from their bundles at runtime.
53
+
54
+ The server loads plugins only as bundles. The package carries its built-in plugins as bundles
55
+ under `bundles/`; a custom plugin is built first with `ragents plugin build <source-folder...>`,
56
+ which writes `./dist/plugins/<custom-plugin-id>` by default. The package brings everything this
57
+ build needs, including the type checks against the host API. The profile names that bundle by a
58
+ path relative to the profile file, such as `"./dist/plugins/<custom-plugin-id>"`; a source folder
59
+ in the profile stops the start and names the build command. A bundle imports from the host only
60
+ the modules of the host API list, resolved by `apps/server/src/host-resolution-hooks.mjs`, and
61
+ must be rebuilt when the host API changes. Its `web/` half is served under `/plugins/<id>/web/`
62
+ and loaded by the browser; its Tailwind classes join the one stylesheet the server compiles at
63
+ startup. The build tool bundles libraries such as `lucide-react` from the host, so the package
64
+ also includes the dependencies declared by `apps/web/package.json`. The host does not check
65
+ whether such a bundle still matches its sources; rebuild it before starting.
66
+
67
+ An external plugin project can use a `host` symlink to access host tools. With a package
68
+ installation, that link points to the package instead of a checkout. Set `RAGENTS_HOST` to the
69
+ appropriate location:
70
+
71
+ ```sh
72
+ export RAGENTS_HOST="$(npm root -g)/@schlenkr/ragents"
73
+ ```
74
+
75
+ A script in the external repository can create the `host` symlink from that value. If that script
76
+ identifies a checkout by `pnpm-workspace.yaml`, it should test for something the package shares
77
+ instead, such as `apps/server/src/main.ts` beside `package.json`. Start with `ragents start <path-to-profile>`;
78
+ the symlink is used only by scripts and tsconfig files in the external repository.
79
+
80
+ The VS Code extension starts the same profile from the same package. Set `ragents.hostPath` to
81
+ the package directory (`<npm-prefix>/lib/node_modules/@schlenkr/ragents`) rather than a checkout.
82
+ If the setting is empty and the extension is not running from a checkout, it fetches the package
83
+ itself as described under Run panel and VS Code extension.
84
+
85
+ ## Connect to a server
86
+
87
+ A developer can run RAgents locally with the profile and models of a central server. This
88
+ requires a local host with the same host API as that server: either the `@schlenkr/ragents`
89
+ package, which needs only Node, or this checkout with Git, Node, pnpm, `pnpm install`,
90
+ `pnpm build:agent`, `pnpm build:plugins`, and `pnpm build:web`. It also requires a personal token
91
+ for a user in the server profile with `profile.fetch` and `models.use` permissions:
92
+
93
+ ```sh
94
+ RAGENTS_TOKEN=<token> ragents connect https://ragents.example.com
95
+ RAGENTS_TOKEN=<token> ragents connect https://ragents.example.com --port 4720 --clean
96
+ RAGENTS_TOKEN=<token> ragents connect https://ragents.example.com --no-start
97
+ ```
98
+
99
+ In a checkout, the same command is `pnpm connect <server-url>` and uses the same implementation.
100
+
101
+ `connect` fetches the client-profile description and checks the local host before it downloads
102
+ anything. The host must offer the host API number the server's bundles were built against, and it
103
+ must have a built-in bundle for every plugin the profile names by ID. The same commit is not
104
+ required. On a mismatch, `connect` stops and names the fix: `npm install -g
105
+ @schlenkr/ragents@<version>` for the package, where the server supplies the version, or the
106
+ server's commit plus `pnpm build:plugins` and `pnpm build:web` in a checkout. It then downloads
107
+ the archive, which holds only the profile file and the finished bundles it names by path,
108
+ verifies its SHA-256, stores the version under
109
+ `~/.local/share/ragents/remote/<host>/<profile>/profiles/<version>/`, and starts the server with
110
+ that profile. Data goes to `~/.local/share/ragents/remote/<host>/<profile>/data/`, and the web
111
+ interface is the local host's own; nothing is built or installed on the developer machine.
112
+ Existing versions are not downloaded again. `--clean` removes older ones, `--no-start` stops after
113
+ fetching and reports the profile and data paths, and `--port <n>` overrides the profile port.
114
+ `ragents start <profile>` can restart an included profile or the latest fetched version without
115
+ contacting the server. Personal `env(...)` values from the client profile, such as the relay
116
+ token, must exist in the shell. Between download and startup, `connect` provisions language
117
+ servers and the browser; a prerequisite it cannot install, such as `dotnet` or a separate Chrome,
118
+ stops with instructions.
119
+
120
+ The server needs `ragents.profile-distribution` with `CLIENT_PROFILE_FILE`, plus
121
+ `ragents.model-relay` with `MODEL_ALIASES` in its `host` section for models. Plugins the client profile names by path
122
+ must be bundles built with `ragents plugin build`; the server checks them at startup. Users
123
+ receive `token: env("...")` and the two permissions. Relay responses and all client-profile
124
+ content, including prompts, skills, run scripts, bundles, and configuration, are present on the
125
+ developer machine. Only the provider, actual model, and key remain secret. The relay replaces
126
+ `model` with the alias and removes `provider`, so model context, journal, catalog, and interface
127
+ expose only the alias.
128
+
129
+ ### Common first-run pitfalls
130
+
131
+ - Two environment variables, often with the same value, are needed: `connect` reads
132
+ `RAGENTS_TOKEN`, while the name used by `RELAY_TOKEN: env("...")` must also be set.
133
+ - `COMPACTION_PROVIDER: "relay"` with an empty `COMPACTION_MODEL` can start without a text model
134
+ at reasoning level `off`; automatic titles stay disabled and Settings explains why. An
135
+ explicitly named alias must be such a model or startup fails.
136
+ - The relay must be reachable when the local server starts because it fetches the alias catalog
137
+ once. Alias changes require restarting the local server.
138
+ - Revoking access affects the next model request immediately, not the running server process.
139
+ The run then ends as failed and records the relay response in the journal.
140
+ - Rejected requests appear in the relay server's `logs/server.log`, not `relay.log`. The latter
141
+ records only forwarded calls with user, alias, target, status, and token count.
142
+ - The archive carries no web interface. After updating the host package, a fetched version
143
+ starts with the new web interface as long as the host API stays the same. Otherwise the start
144
+ refuses the fetched bundles, and `connect` names the version to install.
145
+
146
+ ## Transfer a run
147
+
148
+ A run can move from one server to another and continue there, for example from a notebook to an
149
+ always-on machine or from a central server to a developer for local inspection.
150
+
151
+ ```sh
152
+ RAGENTS_TOKEN=<token> pnpm run-transfer http://localhost:4723 http://server.example:4724 <runId>
153
+ RAGENTS_TOKEN=<token> pnpm run-transfer <source> <target> <runId> --workspace /path/to/project
154
+ ```
155
+
156
+ The script exports the run from the source with `ragents.runs.export` and imports it on the target
157
+ with `ragents.runs.import`. If each side uses a different token, set `RAGENTS_SOURCE_TOKEN` and
158
+ `RAGENTS_TARGET_TOKEN`. The transfer includes the journal and payloads, which also hold the model
159
+ contexts of the run's agents, the stored contents the run refers to (attachments and the media of
160
+ the model contexts), actor programs, and all plugin storage for the run, including
161
+ `ragents.documents` files and the new folder of a run that works on the server. A folder on a workstation stays there, and the
162
+ run keeps its binding to that workstation. Running processes, language servers, and
163
+ browsers are not transferred; they are recreated on the target when next used.
164
+
165
+ The transfer enforces these prerequisites:
166
+
167
+ - Both servers use the same host version and workspace executor. There is no override.
168
+ - The run is stopped, with no active turn or waiting input.
169
+ - Its ID is unused on the target. An existing run, folder, or archive entry rejects the import.
170
+ - A run bound to a source project folder needs `--workspace <path>` pointing to an existing
171
+ target folder, given as an absolute path on the target server. A workspace binding is retained; that workspace reconnects to the target with
172
+ the same ID and as the run owner, or anonymously for an ownerless run.
173
+ - The archive must stay below 16 MiB because it travels as Base64 through the message layer.
174
+ A workspace containing `node_modules` will exceed this; an existing folder on the server usually will not.
175
+ - Symbolic links travel only when they are relative and stay inside the run's storage. Links under
176
+ `node_modules` that point elsewhere, such as a package manager's absolute links, are left out
177
+ and come back with the next install in the workspace. Any other link pointing outside stops the
178
+ export with `run-transfer-link` and names the links; replace them with files or relative links.
179
+
180
+ Export copies the run. It remains on the source and must be deleted there explicitly after a
181
+ real move, otherwise two journals with the same ID diverge. On the target, the run appears
182
+ stopped and continues with the next message. Its model context still contains absolute source
183
+ paths; reusing one fails at the workspace boundary, while a relative path reaches the target.
184
+ After transfer, inspect the journal with `pnpm driver journal <runId>` and plugin storage under
185
+ `${DATA_DIR}/sessions/<runId>/plugins/`.
186
+
187
+ ## Work on Windows
188
+
189
+ The local host and workspace also run on Windows. Requirements are:
190
+
191
+ - **The VS Code extension for Windows** brings its own bash. The Marketplace delivers a
192
+ `win32-x64` or `win32-arm64` build that contains a slim bash with the GNU tools (coreutils,
193
+ `grep`, `sed`, `awk`, `find`, `diff`, `patch`, `tar`, `unzip`, `cygpath` and more), taken from
194
+ a fixed Git for Windows release. The `bash` tool uses only this bash, for the workspace and for
195
+ the local host; an installed Git Bash or a `bash.exe` on `PATH` is never used. PowerShell and
196
+ `cmd.exe` are not used either.
197
+ - **Git** is your own `git.exe` on `PATH`, for example from Git for Windows. The bundled bash
198
+ contains no git, so your login works as usual: Git Credential Manager, `~/.gitconfig` and
199
+ `~/.ssh`. On your own machine the bash inherits your whole environment, except the variables of
200
+ VS Code itself and `BASH_ENV`/`ENV`.
201
+ - **Without the extension** (`ragents start` or `ragents workspace-client` from the npm package)
202
+ set `RAGENTS_BASH` to the `bash.exe` of such a bundle, for example
203
+ `<extension folder>\dist\bash\win32-x64\usr\bin\bash.exe`. Without it every `bash` call fails
204
+ and names what is missing.
205
+ - **Node.js** is enough with `@schlenkr/ragents`. A checkout additionally needs **pnpm**, and
206
+ `pnpm install`, `pnpm build:agent`, and `scripts/start.sh` need a bash of your own, such as
207
+ Git Bash.
208
+ - The **.NET SDK** is required when the profile includes Roslyn or FSAC. Provisioning downloads
209
+ the language servers; the TypeScript server comes from the host directory.
210
+ - A **server** on Windows has no process sandbox. Its profile file must switch it off explicitly
211
+ with `PROCESS_SANDBOX: "off"` in the `ragents.workspace` section, otherwise startup fails. A
212
+ Windows workstation connected to a server needs nothing, because the sandbox applies only to
213
+ the server.
214
+
215
+ The data directory is `%LOCALAPPDATA%\ragents\<profile>` and server-provided profiles use
216
+ `%LOCALAPPDATA%\ragents\remote\<host>\<profile>\`. `DATA_DIR` overrides this. Startup fails when
217
+ `LOCALAPPDATA` is absent. Unix permissions 0700 and 0711 do not apply on Windows, where isolation
218
+ per run depends on the user account.
219
+
220
+ Windows has no process group for command termination, so RAgents ends the process tree with
221
+ `taskkill /T /F`. This is forceful and has no grace period. There is also no process table: for
222
+ runs using a Windows workspace, the process rail explains this limitation. Stopping a run still
223
+ terminates Bash process trees, while a deliberately detached service continues. Workspace tools
224
+ do not depend on the process rail.
225
+
226
+ Windows support has not yet been exercised on a physical Windows machine. It is implemented and
227
+ covered by unit tests that simulate the platform. A first real run should verify `pnpm connect`,
228
+ `read`, `edit`, `bash` output and cancellation, diagnostics, and a workspace through
229
+ `pnpm workspace-client`, and with the bundled bash `git fetch` and `git push` over HTTPS with Git
230
+ Credential Manager and over SSH.