@schlenkr/ragents 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1052) hide show
  1. package/README.md +19 -11
  2. package/apps/server/package.json +8 -6
  3. package/apps/server/src/access-projection.ts +3 -3
  4. package/apps/server/src/access-service.ts +19 -8
  5. package/apps/server/src/access-session.ts +6 -2
  6. package/apps/server/src/api/contracts.ts +19 -18
  7. package/apps/server/src/api/core-methods.ts +45 -26
  8. package/apps/server/src/api/delivery.ts +4 -4
  9. package/apps/server/src/api/reference.ts +1 -1
  10. package/apps/server/src/api/rights.ts +86 -7
  11. package/apps/server/src/chat-context.ts +1 -1
  12. package/apps/server/src/chat-handler.ts +14 -7
  13. package/apps/server/src/config-file.ts +25 -6
  14. package/apps/server/src/config.ts +4 -4
  15. package/apps/server/src/data-directory.ts +1 -1
  16. package/apps/server/src/folder-install.ts +115 -0
  17. package/apps/server/src/host-api.json +1256 -0
  18. package/apps/server/src/host-api.ts +190 -0
  19. package/apps/server/src/host-resolution-hooks.mjs +50 -1
  20. package/apps/server/src/host-resolution.ts +26 -1
  21. package/apps/server/src/host-version.ts +41 -0
  22. package/apps/server/src/host-web.ts +59 -0
  23. package/apps/server/src/layout.ts +1 -1
  24. package/apps/server/src/main.ts +3 -2
  25. package/apps/server/src/missing-environment.ts +47 -0
  26. package/apps/server/src/parent-watch.ts +37 -0
  27. package/apps/server/src/plugin-build/build.ts +650 -0
  28. package/apps/server/src/plugin-build/host-api-names.ts +185 -0
  29. package/apps/server/src/plugin-build/plugin-description.ts +118 -0
  30. package/apps/server/src/plugin-build/typecheck.ts +66 -0
  31. package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/app-project.ts +16 -15
  32. package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/client-compiler.ts +4 -4
  33. package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/client-contracts.ts +4 -4
  34. package/apps/server/src/plugin-support/actor-programs/client-runtime.ts +27 -0
  35. package/{plugins/ragents.actor-programs → apps/server/src/plugin-support/actor-programs}/contract.ts +3 -3
  36. package/apps/server/src/plugin-support/actor-programs/service.ts +1 -1
  37. package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/tailwind.ts +2 -3
  38. package/{plugins/ragents.actor-programs → apps/server/src/plugin-support/actor-programs}/workflow/index.ts +48 -48
  39. package/apps/server/src/plugin-support/agent-tool.ts +10 -5
  40. package/apps/server/src/plugin-support/http.ts +1 -1
  41. package/apps/server/src/plugin-support/language-server/contract.ts +37 -6
  42. package/apps/server/src/plugin-support/language-server/plugin.ts +18 -8
  43. package/apps/server/src/plugin-support/language-server/snapshot-method.ts +32 -7
  44. package/apps/server/src/plugin-support/language-server/tools.ts +59 -15
  45. package/apps/server/src/plugin-support/model-aliases.ts +77 -0
  46. package/apps/server/src/plugin-support/model-choice.ts +17 -7
  47. package/apps/server/src/plugin-support/model-completion.ts +58 -0
  48. package/apps/server/src/plugin-support/model-upstreams.ts +2 -2
  49. package/apps/server/src/plugin-support/native-typescript-executor.ts +10 -7
  50. package/apps/server/src/plugin-support/plugin-config.ts +1 -1
  51. package/apps/server/src/plugin-support/plugin-folder.ts +4 -1
  52. package/apps/server/src/plugin-support/plugin-module.ts +1 -1
  53. package/apps/server/src/plugin-support/plugins-root.ts +6 -10
  54. package/apps/server/src/plugin-support/process-sandbox.ts +312 -0
  55. package/apps/server/src/plugin-support/product-model-settings-contract.ts +14 -5
  56. package/apps/server/src/plugin-support/product-model-settings.ts +10 -9
  57. package/{plugins/ragents.product/server/relay.ts → apps/server/src/plugin-support/product-relay.ts} +2 -2
  58. package/apps/server/src/plugin-support/product-start-options.ts +8 -3
  59. package/apps/server/src/plugin-support/prompt.ts +1 -1
  60. package/apps/server/src/plugin-support/provision.ts +6 -0
  61. package/apps/server/src/plugin-support/run-scripts.ts +16 -2
  62. package/apps/server/src/plugin-support/skills.ts +32 -16
  63. package/apps/server/src/plugin-support/start-entries-contract.ts +12 -3
  64. package/apps/server/src/plugin-support/start-options-contract.ts +5 -1
  65. package/apps/server/src/plugin-support/thinking-level.ts +6 -1
  66. package/apps/server/src/plugin-support/tool-availability.ts +1 -7
  67. package/apps/server/src/plugin-support/workspace-ownership.ts +12 -6
  68. package/apps/server/src/plugin-support/workspace-sandbox-host.ts +184 -37
  69. package/apps/server/src/profile/bundle-manifest.ts +183 -0
  70. package/apps/server/src/profile/compose.ts +19 -10
  71. package/apps/server/src/profile/plugin-discovery.ts +98 -46
  72. package/apps/server/src/profile/provisioning.ts +30 -26
  73. package/apps/server/src/profile-target.ts +3 -0
  74. package/apps/server/src/provider.ts +182 -99
  75. package/apps/server/src/ragents/actor-chat-history.ts +23 -22
  76. package/apps/server/src/ragents/chat-projection.ts +25 -14
  77. package/apps/server/src/ragents/chat-text-positions.ts +4 -4
  78. package/apps/server/src/ragents/coordinator.ts +27 -1
  79. package/apps/server/src/ragents/document-store.ts +1 -1
  80. package/apps/server/src/ragents/engine.ts +69 -36
  81. package/apps/server/src/ragents/global-chat.ts +26 -13
  82. package/apps/server/src/ragents/host-services.ts +15 -6
  83. package/apps/server/src/ragents/journal-chat-events.ts +31 -15
  84. package/apps/server/src/ragents/product-runtime.ts +1 -1
  85. package/apps/server/src/ragents/run-owner.ts +17 -0
  86. package/apps/server/src/ragents/runtime-bridge.ts +1 -1
  87. package/apps/server/src/ragents/session.ts +181 -82
  88. package/apps/server/src/ragents/start-option-state.ts +1 -1
  89. package/apps/server/src/ragents/typescript-tools.ts +35 -27
  90. package/apps/server/src/ragents/workspace-runtime.ts +74 -8
  91. package/apps/server/src/rpc/dispatcher.ts +17 -8
  92. package/apps/server/src/rpc/http-transport.ts +1 -3
  93. package/apps/server/src/rpc/stdio-transport.ts +1 -1
  94. package/apps/server/src/run-preparation-contract.ts +1 -1
  95. package/apps/server/src/run-preparation-input.ts +1 -1
  96. package/apps/server/src/run-preparation.ts +13 -20
  97. package/apps/server/src/run-transfer.ts +2 -2
  98. package/apps/server/src/server.ts +112 -33
  99. package/apps/server/src/settings.ts +7 -8
  100. package/apps/server/src/title-compactor.ts +5 -8
  101. package/apps/server/src/title-settings.ts +3 -3
  102. package/apps/server/src/web-bundles.ts +79 -0
  103. package/apps/server/src/web-stylesheet.ts +85 -0
  104. package/apps/server/tsconfig.json +4 -4
  105. package/apps/server/tsconfig.plugin.json +58 -0
  106. package/apps/web/dist/assets/highlighted-body-KPVGNVTW-B9qYBARS.js +1 -0
  107. package/apps/web/dist/assets/main-BCjvD2Hh.js +6 -0
  108. package/apps/web/dist/assets/mermaid-HWGCJPDP-BPn4aV2r.css +1 -0
  109. package/apps/web/dist/assets/mermaid-HWGCJPDP-CvYYFK_n.js +478 -0
  110. package/apps/web/dist/assets/runPanel-CG7kRMJh.js +21 -0
  111. package/apps/web/dist/help/guide-access.html +199 -0
  112. package/apps/web/dist/help/guide-access.md +84 -0
  113. package/apps/web/dist/help/guide-clients.html +421 -0
  114. package/apps/web/dist/help/guide-clients.md +336 -0
  115. package/apps/web/dist/help/guide-distributed.html +320 -0
  116. package/apps/web/dist/help/guide-distributed.md +225 -0
  117. package/apps/web/dist/help/guide-functions.html +231 -0
  118. package/apps/web/dist/help/guide-functions.md +127 -0
  119. package/apps/web/dist/help/guide-getting-started.html +230 -0
  120. package/apps/web/dist/help/guide-getting-started.md +123 -0
  121. package/apps/web/dist/help/guide-ideas.html +183 -0
  122. package/apps/web/dist/help/guide-ideas.md +71 -0
  123. package/apps/web/dist/help/guide-plugins.html +450 -0
  124. package/apps/web/dist/help/guide-plugins.md +341 -0
  125. package/apps/web/dist/help/guide-programs.html +359 -0
  126. package/apps/web/dist/help/guide-programs.md +271 -0
  127. package/apps/web/dist/help/guide-runtime.html +338 -0
  128. package/apps/web/dist/help/guide-runtime.md +225 -0
  129. package/apps/web/dist/help/guide.html +133 -0
  130. package/apps/web/dist/help/guide.md +13 -0
  131. package/apps/web/dist/help/homepage-bullets.js +12 -0
  132. package/apps/web/dist/help/homepage-distributed.js +261 -0
  133. package/apps/web/dist/help/homepage-plugins.js +30 -0
  134. package/apps/web/dist/help/homepage-scenes.js +368 -0
  135. package/apps/web/dist/help/homepage-stickers.js +69 -0
  136. package/apps/web/dist/help/homepage-story-nav.js +11 -0
  137. package/apps/web/dist/help/homepage-subnav.js +61 -0
  138. package/apps/web/dist/help/homepage.css +833 -0
  139. package/apps/web/dist/help/index.html +1167 -0
  140. package/apps/web/dist/help/mini-app.css +7056 -0
  141. package/apps/web/dist/help/mini-app.html +15 -0
  142. package/apps/web/dist/help/mini-app.js +131 -0
  143. package/apps/web/dist/help/screenshots/release-checklist-vscode.png +0 -0
  144. package/apps/web/dist/help/screenshots/release-checklist-web.png +0 -0
  145. package/apps/web/dist/help/scroll-vendor.js +73 -0
  146. package/apps/web/dist/help/site.css +63 -0
  147. package/apps/web/dist/help/site.js +103 -0
  148. package/apps/web/dist/host-web.json +143 -0
  149. package/apps/web/dist/index.html +15 -0
  150. package/apps/web/dist/run-panel.html +15 -0
  151. package/apps/web/package.json +2 -2
  152. package/apps/web/src/App.tsx +8 -6
  153. package/apps/web/src/Overview.tsx +5 -5
  154. package/apps/web/src/PluginActivation.ts +25 -5
  155. package/apps/web/src/PluginChat.tsx +163 -129
  156. package/apps/web/src/PluginFailureNotice.tsx +15 -0
  157. package/apps/web/src/PluginRegistry.tsx +106 -68
  158. package/apps/web/src/RunPreparationChat.tsx +40 -28
  159. package/apps/web/src/RunStore.ts +2 -2
  160. package/apps/web/src/SettingsModal.tsx +37 -37
  161. package/apps/web/src/StartOptions.tsx +81 -26
  162. package/apps/web/src/StartSelection.tsx +111 -0
  163. package/apps/web/src/StartTiles.tsx +73 -0
  164. package/apps/web/src/{CanvasShortcuts.tsx → SurfaceShortcuts.tsx} +2 -2
  165. package/apps/web/src/ThemeSettings.tsx +1 -1
  166. package/apps/web/src/WorkspacePanel.tsx +4 -4
  167. package/apps/web/src/access-session.ts +4 -1
  168. package/{plugins/ragents.orchestration/web → apps/web/src}/actor-conversation.ts +3 -3
  169. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/DataTable.tsx +9 -9
  170. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/FilePicker.tsx +4 -4
  171. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/FlowDiagram.tsx +16 -14
  172. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/FlowDiagramRenderer.tsx +3 -3
  173. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/Form.tsx +12 -12
  174. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/Layout.tsx +1 -1
  175. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/MessageList.tsx +5 -5
  176. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/Viewers.tsx +8 -7
  177. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/WorkflowDiagram.tsx +1 -1
  178. package/apps/web/src/actor-programs/client-ui/chat-contracts.d.ts +64 -0
  179. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/contracts.d.ts +2 -2
  180. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/file-selection.ts +5 -5
  181. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/index.tsx +22 -16
  182. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/layout-contracts.d.ts +1 -1
  183. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/message-list-contracts.d.ts +2 -2
  184. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/workflow-diagram-contracts.d.ts +1 -1
  185. package/apps/web/src/api.ts +43 -22
  186. package/apps/web/src/chat/QuasselHost.tsx +12 -0
  187. package/apps/web/src/chat/StoppedActorNotice.tsx +39 -0
  188. package/apps/web/src/chat/chat-target.ts +14 -5
  189. package/apps/web/src/chat/requests.ts +13 -5
  190. package/apps/web/src/chat/useAttachmentCapabilities.ts +2 -2
  191. package/apps/web/src/chat/useChat.ts +8 -7
  192. package/apps/web/src/chat/user-location.ts +1 -1
  193. package/apps/web/src/chat-view-settings.tsx +49 -0
  194. package/apps/web/src/host-modules.ts +90 -0
  195. package/apps/web/src/language-server/api.ts +24 -0
  196. package/{plugins/ragents.lsp-roslyn/web → apps/web/src/language-server}/language-server-plugin.tsx +133 -6
  197. package/apps/web/src/main.tsx +4 -2
  198. package/apps/web/src/offered-machines.ts +11 -0
  199. package/apps/web/src/panel/ConnectionsPage.tsx +117 -0
  200. package/apps/web/src/panel/LoginForm.tsx +9 -9
  201. package/apps/web/src/panel/PanelDialogs.tsx +44 -27
  202. package/apps/web/src/panel/PanelHeader.tsx +11 -0
  203. package/apps/web/src/panel/PanelPage.tsx +8 -5
  204. package/apps/web/src/panel/RunLine.tsx +48 -0
  205. package/apps/web/src/panel/RunsPage.tsx +84 -0
  206. package/apps/web/src/panel/StartPage.tsx +163 -0
  207. package/apps/web/src/panel/connection-state.ts +40 -0
  208. package/apps/web/src/panel/contract.ts +64 -21
  209. package/apps/web/src/panel/page-props.ts +6 -0
  210. package/apps/web/src/plugin-bootstrap.ts +60 -31
  211. package/{plugins/ragents.product/web → apps/web/src/product}/ModelControl.tsx +3 -3
  212. package/{plugins/ragents.product/web → apps/web/src/product}/ProductModelSettings.tsx +7 -7
  213. package/{plugins/ragents.product/web → apps/web/src/product}/SystemPromptControl.tsx +3 -3
  214. package/{plugins/ragents.product/web → apps/web/src/product}/model-settings.ts +3 -3
  215. package/{plugins/ragents.product/web → apps/web/src/product}/start-options.tsx +2 -2
  216. package/apps/web/src/rpc/client.ts +28 -6
  217. package/apps/web/src/run-panel/RunPanelApp.tsx +334 -0
  218. package/apps/web/src/{column/ColumnRunHeader.tsx → run-panel/RunPanelHeader.tsx} +2 -2
  219. package/apps/web/src/{column/ColumnMenu.tsx → run-panel/RunPanelMenu.tsx} +4 -4
  220. package/apps/web/src/run-panel/RunPanelRail.tsx +38 -0
  221. package/apps/web/src/run-panel/RunPanelWorkspace.tsx +55 -0
  222. package/apps/web/src/{column → run-panel}/clipboard.ts +21 -10
  223. package/apps/web/src/run-panel/host-contract.ts +123 -0
  224. package/apps/web/src/{column → run-panel}/host.ts +31 -23
  225. package/apps/web/src/run-panel/input-bridge.ts +75 -0
  226. package/apps/web/src/run-panel/keyboard.ts +53 -0
  227. package/apps/web/src/run-panel/run-panel-location.ts +35 -0
  228. package/apps/web/src/{column → run-panel}/use-session-list.ts +3 -3
  229. package/apps/web/src/run-panel/workspace-state.ts +43 -0
  230. package/apps/web/src/{column.tsx → run-panel.tsx} +20 -13
  231. package/apps/web/src/run-preparation.ts +1 -1
  232. package/{plugins/ragents.orchestration/web → apps/web/src}/run-view.ts +25 -7
  233. package/apps/web/src/settings-contributions.ts +16 -18
  234. package/apps/web/src/title-model-settings.ts +1 -1
  235. package/apps/web/src/toolLine.ts +1 -1
  236. package/apps/web/src/ui/ListDetail.tsx +1 -1
  237. package/apps/web/src/ui/dialog.tsx +5 -5
  238. package/apps/web/src/ui/frame.css +1 -0
  239. package/apps/web/src/ui/index.ts +5 -0
  240. package/apps/web/src/ui/popover.tsx +2 -2
  241. package/apps/web/src/ui/quassel.css +41 -0
  242. package/apps/web/src/ui/relative-time.ts +36 -0
  243. package/apps/web/src/ui/startup-notice.tsx +22 -0
  244. package/apps/web/src/ui/state-icon.tsx +60 -0
  245. package/apps/web/src/ui/state-vocabulary.ts +31 -0
  246. package/apps/web/src/ui/stop-button.tsx +22 -0
  247. package/apps/web/src/ui/tailwind.css +2 -3
  248. package/apps/web/src/ui/theme.css +19 -19
  249. package/apps/web/tsconfig.json +4 -5
  250. package/apps/web/tsconfig.plugin.json +44 -0
  251. package/bundles/ragents.activity/ragents-bundle.json +38 -0
  252. package/bundles/ragents.activity/server/index.js +14 -0
  253. package/bundles/ragents.activity/server/index.js.map +7 -0
  254. package/bundles/ragents.activity/web/classes.json +1 -0
  255. package/bundles/ragents.activity/web/index.js +2 -0
  256. package/bundles/ragents.activity/web/index.js.map +7 -0
  257. package/bundles/ragents.actor-programs/prompt.hbs +80 -0
  258. package/bundles/ragents.actor-programs/ragents-bundle.json +214 -0
  259. package/bundles/ragents.actor-programs/server/index.js +2071 -0
  260. package/bundles/ragents.actor-programs/server/index.js.map +7 -0
  261. package/bundles/ragents.actor-programs/summary.hbs +17 -0
  262. package/bundles/ragents.actor-programs/web/classes.json +1 -0
  263. package/bundles/ragents.actor-programs/web/index.js +27 -0
  264. package/bundles/ragents.actor-programs/web/index.js.map +7 -0
  265. package/bundles/ragents.ask/ask.hbs +4 -0
  266. package/bundles/ragents.ask/ragents-bundle.json +97 -0
  267. package/bundles/ragents.ask/server/chunks/chunk-PDJO75SQ.js +13 -0
  268. package/bundles/ragents.ask/server/chunks/chunk-PDJO75SQ.js.map +7 -0
  269. package/bundles/ragents.ask/server/exports/server/contract.js +11 -0
  270. package/bundles/ragents.ask/server/exports/server/contract.js.map +7 -0
  271. package/bundles/ragents.ask/server/index.js +279 -0
  272. package/bundles/ragents.ask/server/index.js.map +7 -0
  273. package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js +2 -0
  274. package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js.map +7 -0
  275. package/bundles/ragents.ask/web/chunks/chunk-HGFDGTNC.js +2 -0
  276. package/bundles/ragents.ask/web/chunks/chunk-HGFDGTNC.js.map +7 -0
  277. package/bundles/ragents.ask/web/chunks/chunk-V7W3QDVS.js +25 -0
  278. package/bundles/ragents.ask/web/chunks/chunk-V7W3QDVS.js.map +7 -0
  279. package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js +2 -0
  280. package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js.map +7 -0
  281. package/bundles/ragents.ask/web/classes.json +1 -0
  282. package/bundles/ragents.ask/web/exports/ask-payload.js +2 -0
  283. package/bundles/ragents.ask/web/exports/ask-payload.js.map +7 -0
  284. package/bundles/ragents.ask/web/exports/web/QuestionCard.js +2 -0
  285. package/bundles/ragents.ask/web/exports/web/QuestionCard.js.map +7 -0
  286. package/bundles/ragents.ask/web/exports/web/api.js +2 -0
  287. package/bundles/ragents.ask/web/exports/web/api.js.map +7 -0
  288. package/bundles/ragents.ask/web/index.js +2 -0
  289. package/bundles/ragents.ask/web/index.js.map +7 -0
  290. package/bundles/ragents.browser/ragents-bundle.json +53 -0
  291. package/bundles/ragents.browser/server/chunks/chunk-2GKLLCBE.js +11 -0
  292. package/bundles/ragents.browser/server/chunks/chunk-2GKLLCBE.js.map +7 -0
  293. package/bundles/ragents.browser/server/exports/server/contract.js +9 -0
  294. package/bundles/ragents.browser/server/exports/server/contract.js.map +7 -0
  295. package/bundles/ragents.browser/server/index.js +479 -0
  296. package/bundles/ragents.browser/server/index.js.map +7 -0
  297. package/bundles/ragents.browser/skills/browser-testing/SKILL.md +38 -0
  298. package/bundles/ragents.documents/prompt.hbs +18 -0
  299. package/bundles/ragents.documents/ragents-bundle.json +120 -0
  300. package/bundles/ragents.documents/server/chunks/chunk-QIECRZ7C.js +37 -0
  301. package/bundles/ragents.documents/server/chunks/chunk-QIECRZ7C.js.map +7 -0
  302. package/bundles/ragents.documents/server/exports/contract.js +11 -0
  303. package/bundles/ragents.documents/server/exports/contract.js.map +7 -0
  304. package/bundles/ragents.documents/server/index.js +290 -0
  305. package/bundles/ragents.documents/server/index.js.map +7 -0
  306. package/bundles/ragents.documents/web/classes.json +1 -0
  307. package/bundles/ragents.documents/web/index.js +26 -0
  308. package/bundles/ragents.documents/web/index.js.map +7 -0
  309. package/bundles/ragents.lsp-fsharp/ragents-bundle.json +49 -0
  310. package/bundles/ragents.lsp-fsharp/server/index.js +82 -0
  311. package/bundles/ragents.lsp-fsharp/server/index.js.map +7 -0
  312. package/bundles/ragents.lsp-fsharp/web/classes.json +1 -0
  313. package/bundles/ragents.lsp-fsharp/web/index.js +2 -0
  314. package/bundles/ragents.lsp-fsharp/web/index.js.map +7 -0
  315. package/bundles/ragents.lsp-roslyn/ragents-bundle.json +61 -0
  316. package/bundles/ragents.lsp-roslyn/server/index.js +208 -0
  317. package/bundles/ragents.lsp-roslyn/server/index.js.map +7 -0
  318. package/bundles/ragents.lsp-roslyn/web/classes.json +1 -0
  319. package/bundles/ragents.lsp-roslyn/web/index.js +2 -0
  320. package/bundles/ragents.lsp-roslyn/web/index.js.map +7 -0
  321. package/bundles/ragents.lsp-typescript/ragents-bundle.json +36 -0
  322. package/bundles/ragents.lsp-typescript/server/index.js +13 -0
  323. package/bundles/ragents.lsp-typescript/server/index.js.map +7 -0
  324. package/bundles/ragents.lsp-typescript/web/classes.json +1 -0
  325. package/bundles/ragents.lsp-typescript/web/index.js +2 -0
  326. package/bundles/ragents.lsp-typescript/web/index.js.map +7 -0
  327. package/bundles/ragents.model-relay/ragents-bundle.json +33 -0
  328. package/bundles/ragents.model-relay/server/index.js +230 -0
  329. package/bundles/ragents.model-relay/server/index.js.map +7 -0
  330. package/bundles/ragents.orchestration/orchestration.hbs +106 -0
  331. package/bundles/ragents.orchestration/ragents-bundle.json +194 -0
  332. package/bundles/ragents.orchestration/server/index.js +277 -0
  333. package/bundles/ragents.orchestration/server/index.js.map +7 -0
  334. package/bundles/ragents.orchestration/web/chunks/chunk-ODMMQGX2.js +2 -0
  335. package/bundles/ragents.orchestration/web/chunks/chunk-ODMMQGX2.js.map +7 -0
  336. package/bundles/ragents.orchestration/web/chunks/chunk-OQYCNYXN.js +2 -0
  337. package/bundles/ragents.orchestration/web/chunks/chunk-OQYCNYXN.js.map +7 -0
  338. package/bundles/ragents.orchestration/web/chunks/chunk-OSKPH6SZ.js +2 -0
  339. package/bundles/ragents.orchestration/web/chunks/chunk-OSKPH6SZ.js.map +7 -0
  340. package/bundles/ragents.orchestration/web/chunks/chunk-XGPPQCZR.js +2 -0
  341. package/bundles/ragents.orchestration/web/chunks/chunk-XGPPQCZR.js.map +7 -0
  342. package/bundles/ragents.orchestration/web/classes.json +1 -0
  343. package/bundles/ragents.orchestration/web/exports/web/program-slot.js +2 -0
  344. package/bundles/ragents.orchestration/web/exports/web/program-slot.js.map +7 -0
  345. package/bundles/ragents.orchestration/web/exports/web/surface-entities.js +2 -0
  346. package/bundles/ragents.orchestration/web/exports/web/surface-entities.js.map +7 -0
  347. package/bundles/ragents.orchestration/web/exports/web/tile-docking.js +2 -0
  348. package/bundles/ragents.orchestration/web/exports/web/tile-docking.js.map +7 -0
  349. package/bundles/ragents.orchestration/web/index.js +51 -0
  350. package/bundles/ragents.orchestration/web/index.js.map +7 -0
  351. package/bundles/ragents.overseer/ragents-bundle.json +144 -0
  352. package/bundles/ragents.overseer/server/index.js +652 -0
  353. package/bundles/ragents.overseer/server/index.js.map +7 -0
  354. package/bundles/ragents.overseer/web/classes.json +1 -0
  355. package/bundles/ragents.overseer/web/index.js +25 -0
  356. package/bundles/ragents.overseer/web/index.js.map +7 -0
  357. package/bundles/ragents.processes/ragents-bundle.json +93 -0
  358. package/bundles/ragents.processes/server/index.js +204 -0
  359. package/bundles/ragents.processes/server/index.js.map +7 -0
  360. package/bundles/ragents.processes/web/classes.json +1 -0
  361. package/bundles/ragents.processes/web/index.js +4 -0
  362. package/bundles/ragents.processes/web/index.js.map +7 -0
  363. package/bundles/ragents.product/preamble.hbs +9 -0
  364. package/bundles/ragents.product/ragents-bundle.json +93 -0
  365. package/bundles/ragents.product/server/index.js +208 -0
  366. package/bundles/ragents.product/server/index.js.map +7 -0
  367. package/bundles/ragents.product/web/classes.json +1 -0
  368. package/bundles/ragents.product/web/index.js +2 -0
  369. package/bundles/ragents.product/web/index.js.map +7 -0
  370. package/bundles/ragents.profile-distribution/ragents-bundle.json +64 -0
  371. package/bundles/ragents.profile-distribution/server/index.js +241 -0
  372. package/bundles/ragents.profile-distribution/server/index.js.map +7 -0
  373. package/bundles/ragents.reference/ragents-bundle.json +39 -0
  374. package/bundles/ragents.reference/run-scripts/balcony-wizard/RUN.md +27 -0
  375. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/package.json +10 -0
  376. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +80 -0
  377. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/conversation.ts +82 -0
  378. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/tests/conversation.test.ts +154 -0
  379. package/bundles/ragents.reference/run-scripts/balcony-wizard/package.json +9 -0
  380. package/bundles/ragents.reference/run-scripts/balcony-wizard/src/server.ts +32 -0
  381. package/bundles/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +59 -0
  382. package/bundles/ragents.reference/run-scripts/conversation-circle/RUN.md +13 -0
  383. package/bundles/ragents.reference/run-scripts/conversation-circle/package.json +9 -0
  384. package/bundles/ragents.reference/run-scripts/conversation-circle/src/server.ts +81 -0
  385. package/bundles/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +26 -0
  386. package/bundles/ragents.reference/run-scripts/conversation-circle/tests/program.test.ts +34 -0
  387. package/bundles/ragents.reference/run-scripts/learning-afternoon/RUN.md +24 -0
  388. package/bundles/ragents.reference/run-scripts/learning-afternoon/package.json +10 -0
  389. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/experiment.md +1 -0
  390. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/helper.md +5 -0
  391. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/quiz.md +1 -0
  392. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/client.tsx +27 -0
  393. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/server.ts +137 -0
  394. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/state.ts +38 -0
  395. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/view.tsx +42 -0
  396. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/workflow.ts +38 -0
  397. package/bundles/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +218 -0
  398. package/bundles/ragents.reference/run-scripts/moderated-round/RUN.md +12 -0
  399. package/bundles/ragents.reference/run-scripts/moderated-round/package.json +9 -0
  400. package/bundles/ragents.reference/run-scripts/moderated-round/src/server.ts +60 -0
  401. package/bundles/ragents.reference/run-scripts/moderated-round/tests/helpers.ts +26 -0
  402. package/bundles/ragents.reference/run-scripts/moderated-round/tests/program.test.ts +24 -0
  403. package/bundles/ragents.reference/run-scripts/shared-actor-list/RUN.md +18 -0
  404. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/package.json +16 -0
  405. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/client.tsx +39 -0
  406. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/contract.ts +15 -0
  407. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/server.ts +14 -0
  408. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/tests/program.test.ts +13 -0
  409. package/bundles/ragents.reference/run-scripts/shared-actor-list/package.json +9 -0
  410. package/bundles/ragents.reference/run-scripts/shared-actor-list/src/server.ts +65 -0
  411. package/bundles/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +26 -0
  412. package/bundles/ragents.reference/run-scripts/shared-actor-list/tests/program.test.ts +42 -0
  413. package/bundles/ragents.reference/run-scripts/word-game/RUN.md +25 -0
  414. package/bundles/ragents.reference/run-scripts/word-game/package.json +11 -0
  415. package/bundles/ragents.reference/run-scripts/word-game/src/client.tsx +27 -0
  416. package/bundles/ragents.reference/run-scripts/word-game/src/contract.ts +23 -0
  417. package/bundles/ragents.reference/run-scripts/word-game/src/server.ts +105 -0
  418. package/bundles/ragents.reference/run-scripts/word-game/src/state.ts +22 -0
  419. package/bundles/ragents.reference/run-scripts/word-game/src/view.tsx +54 -0
  420. package/bundles/ragents.reference/run-scripts/word-game/tests/program.test.ts +252 -0
  421. package/bundles/ragents.reference/server/index.js +16 -0
  422. package/bundles/ragents.reference/server/index.js.map +7 -0
  423. package/bundles/ragents.reference/skills/100-shared-actor-list/SKILL.md +12 -0
  424. package/bundles/ragents.reference/skills/110-all-card-slots/SKILL.md +12 -0
  425. package/bundles/ragents.reference/skills/150-editorial-workbench/SKILL.md +12 -0
  426. package/bundles/ragents.reference/skills/160-learning-companion/SKILL.md +12 -0
  427. package/bundles/ragents.reference/skills/170-photo-collection/SKILL.md +12 -0
  428. package/bundles/ragents.reference/skills/180-decision-workbench/SKILL.md +12 -0
  429. package/bundles/ragents.reference/skills/190-review-queue/SKILL.md +12 -0
  430. package/bundles/ragents.reference/skills/20-circle-of-four/SKILL.md +12 -0
  431. package/bundles/ragents.reference/skills/200-typescript-diagnostics/SKILL.md +12 -0
  432. package/bundles/ragents.reference/skills/210-moderator-handover/SKILL.md +12 -0
  433. package/bundles/ragents.reference/skills/220-actor-approval-list/SKILL.md +12 -0
  434. package/bundles/ragents.reference/skills/230-shared-state-views/SKILL.md +12 -0
  435. package/bundles/ragents.reference/skills/240-live-result-list/SKILL.md +12 -0
  436. package/bundles/ragents.reference/skills/250-balcony-wizard/SKILL.md +12 -0
  437. package/bundles/ragents.reference/skills/30-llm-without-runtime-knowledge/SKILL.md +12 -0
  438. package/bundles/ragents.reference/skills/35-actor-input-fifo/SKILL.md +12 -0
  439. package/bundles/ragents.reference/skills/40-subscription-matrix/SKILL.md +12 -0
  440. package/bundles/ragents.reference/skills/50-subscription-removal/SKILL.md +12 -0
  441. package/bundles/ragents.reference/skills/60-stop-in-the-circle/SKILL.md +12 -0
  442. package/bundles/ragents.reference/skills/65-artifact-least-privilege/SKILL.md +12 -0
  443. package/bundles/ragents.reference/skills/70-headless-counter/SKILL.md +12 -0
  444. package/bundles/ragents.reference/skills/75-lsp-demo/SKILL.md +12 -0
  445. package/bundles/ragents.reference/skills/80-actor-text-analysis/SKILL.md +12 -0
  446. package/bundles/ragents.reference/skills/90-actor-notes/SKILL.md +12 -0
  447. package/bundles/ragents.reference/skills/95-hello-world/SKILL.md +12 -0
  448. package/bundles/ragents.reference/skills/decision-brief/SKILL.md +33 -0
  449. package/bundles/ragents.reference/skills/learning-sprint/SKILL.md +33 -0
  450. package/bundles/ragents.reference/web/classes.json +1 -0
  451. package/bundles/ragents.reference/web/index.js +2 -0
  452. package/bundles/ragents.reference/web/index.js.map +7 -0
  453. package/bundles/ragents.todo/ragents-bundle.json +48 -0
  454. package/bundles/ragents.todo/server/index.js +108 -0
  455. package/bundles/ragents.todo/server/index.js.map +7 -0
  456. package/bundles/ragents.todo/web/classes.json +1 -0
  457. package/bundles/ragents.todo/web/index.js +2 -0
  458. package/bundles/ragents.todo/web/index.js.map +7 -0
  459. package/bundles/ragents.transcript/ragents-bundle.json +34 -0
  460. package/bundles/ragents.transcript/server/index.js +102 -0
  461. package/bundles/ragents.transcript/server/index.js.map +7 -0
  462. package/bundles/ragents.watch/ragents-bundle.json +39 -0
  463. package/bundles/ragents.watch/server/chunks/chunk-FHAM6OML.js +11 -0
  464. package/bundles/ragents.watch/server/chunks/chunk-FHAM6OML.js.map +7 -0
  465. package/bundles/ragents.watch/server/chunks/chunk-RPBX3J4P.js +10 -0
  466. package/bundles/ragents.watch/server/chunks/chunk-RPBX3J4P.js.map +7 -0
  467. package/bundles/ragents.watch/server/exports/contract.js +9 -0
  468. package/bundles/ragents.watch/server/exports/contract.js.map +7 -0
  469. package/bundles/ragents.watch/server/exports/server/contract.js +9 -0
  470. package/bundles/ragents.watch/server/exports/server/contract.js.map +7 -0
  471. package/bundles/ragents.watch/server/index.js +482 -0
  472. package/bundles/ragents.watch/server/index.js.map +7 -0
  473. package/bundles/ragents.workspace/prompt.hbs +7 -0
  474. package/bundles/ragents.workspace/ragents-bundle.json +148 -0
  475. package/bundles/ragents.workspace/server/index.js +1049 -0
  476. package/bundles/ragents.workspace/server/index.js.map +7 -0
  477. package/bundles/ragents.workspace/web/classes.json +1 -0
  478. package/bundles/ragents.workspace/web/index.js +39 -0
  479. package/bundles/ragents.workspace/web/index.js.map +7 -0
  480. package/package.json +5 -16
  481. package/packages/agent/dist/core/agent-session-runtime.d.ts +33 -0
  482. package/packages/agent/dist/core/agent-session-services.d.ts +35 -0
  483. package/packages/agent/dist/core/agent-session.d.ts +234 -0
  484. package/packages/agent/dist/core/agent-settings.d.ts +27 -0
  485. package/packages/agent/dist/core/auth-guidance.d.ts +4 -0
  486. package/packages/agent/dist/core/compaction/compaction.d.ts +116 -0
  487. package/packages/agent/dist/core/compaction/index.d.ts +6 -0
  488. package/packages/agent/dist/core/compaction/utils.d.ts +39 -0
  489. package/packages/agent/dist/core/defaults.d.ts +3 -0
  490. package/packages/agent/dist/core/extensions/index.d.ts +11 -0
  491. package/packages/agent/dist/core/extensions/loader.d.ts +12 -0
  492. package/packages/agent/dist/core/extensions/runner.d.ts +39 -0
  493. package/packages/agent/dist/core/extensions/types.d.ts +156 -0
  494. package/packages/agent/dist/core/extensions/wrapper.d.ts +12 -0
  495. package/packages/agent/dist/core/messages.d.ts +37 -0
  496. package/packages/agent/dist/core/model-runtime.d.ts +32 -0
  497. package/packages/agent/dist/core/provider-composer.d.ts +25 -0
  498. package/packages/agent/dist/core/resource-loader.d.ts +39 -0
  499. package/packages/agent/dist/core/sdk.d.ts +38 -0
  500. package/packages/agent/dist/core/session-manager.d.ts +189 -0
  501. package/packages/agent/dist/core/skills.d.ts +20 -0
  502. package/packages/agent/dist/core/source-info.d.ts +16 -0
  503. package/packages/agent/dist/core/system-prompt.d.ts +21 -0
  504. package/packages/agent/dist/core/tools/bash.d.ts +63 -0
  505. package/packages/agent/dist/core/tools/edit-diff.d.ts +98 -0
  506. package/packages/agent/dist/core/tools/edit.d.ts +41 -0
  507. package/packages/agent/dist/core/tools/file-mutation-queue.d.ts +6 -0
  508. package/packages/agent/dist/core/tools/index.d.ts +5 -0
  509. package/packages/agent/dist/core/tools/output-accumulator.d.ts +58 -0
  510. package/packages/agent/dist/core/tools/path-utils.d.ts +8 -0
  511. package/packages/agent/dist/core/tools/read.d.ts +33 -0
  512. package/packages/agent/dist/core/tools/truncate.d.ts +61 -0
  513. package/packages/agent/dist/core/tools/write.d.ts +23 -0
  514. package/packages/agent/dist/index.d.ts +13 -0
  515. package/packages/agent/dist/loop/agent-loop.d.ts +13 -0
  516. package/packages/agent/dist/loop/agent.d.ts +103 -0
  517. package/packages/agent/dist/loop/index.d.ts +5 -0
  518. package/packages/agent/dist/loop/types.d.ts +333 -0
  519. package/packages/agent/dist/loop/uuid.d.ts +2 -0
  520. package/packages/agent/dist/utils/child-process.d.ts +17 -0
  521. package/packages/agent/dist/utils/exif-orientation.d.ts +5 -0
  522. package/packages/agent/dist/utils/frontmatter.d.ts +8 -0
  523. package/packages/agent/dist/utils/image-convert.d.ts +2 -0
  524. package/packages/agent/dist/utils/image-process.d.ts +18 -0
  525. package/packages/agent/dist/utils/image-resize-core.d.ts +30 -0
  526. package/packages/agent/dist/utils/image-resize-worker.d.ts +2 -0
  527. package/packages/agent/dist/utils/image-resize.d.ts +16 -0
  528. package/packages/agent/dist/utils/mime.d.ts +3 -0
  529. package/packages/agent/dist/utils/paths.d.ts +15 -0
  530. package/packages/agent/dist/utils/photon.d.ts +21 -0
  531. package/packages/agent/dist/utils/shell.d.ts +17 -0
  532. package/packages/agent/dist/utils/sleep.d.ts +5 -0
  533. package/packages/agent/package.json +3 -32
  534. package/packages/agent/src/core/agent-session-runtime.ts +15 -469
  535. package/packages/agent/src/core/agent-session-services.ts +17 -167
  536. package/packages/agent/src/core/agent-session.ts +154 -2403
  537. package/packages/agent/src/core/agent-settings.ts +20 -0
  538. package/packages/agent/src/core/auth-guidance.ts +0 -4
  539. package/packages/agent/src/core/compaction/compaction.ts +4 -33
  540. package/packages/agent/src/core/compaction/index.ts +0 -1
  541. package/packages/agent/src/core/compaction/utils.ts +2 -2
  542. package/packages/agent/src/core/defaults.ts +1 -1
  543. package/packages/agent/src/core/extensions/index.ts +6 -117
  544. package/packages/agent/src/core/extensions/loader.ts +21 -605
  545. package/packages/agent/src/core/extensions/runner.ts +48 -969
  546. package/packages/agent/src/core/extensions/types.ts +35 -1298
  547. package/packages/agent/src/core/extensions/wrapper.ts +13 -34
  548. package/packages/agent/src/core/messages.ts +5 -109
  549. package/packages/agent/src/core/model-runtime.ts +109 -467
  550. package/packages/agent/src/core/provider-composer.ts +21 -451
  551. package/packages/agent/src/core/resource-loader.ts +18 -822
  552. package/packages/agent/src/core/sdk.ts +46 -281
  553. package/packages/agent/src/core/session-manager.ts +11 -891
  554. package/packages/agent/src/core/skills.ts +8 -440
  555. package/packages/agent/src/core/source-info.ts +0 -12
  556. package/packages/agent/src/core/system-prompt.ts +2 -41
  557. package/packages/agent/src/core/tools/bash.ts +20 -32
  558. package/packages/agent/src/core/tools/edit-diff.ts +0 -60
  559. package/packages/agent/src/core/tools/edit.ts +2 -18
  560. package/packages/agent/src/core/tools/index.ts +4 -130
  561. package/packages/agent/src/core/tools/output-accumulator.ts +33 -5
  562. package/packages/agent/src/core/tools/path-utils.ts +2 -49
  563. package/packages/agent/src/core/tools/read.ts +4 -12
  564. package/packages/agent/src/core/tools/truncate.ts +0 -15
  565. package/packages/agent/src/core/tools/write.ts +1 -8
  566. package/packages/agent/src/index.ts +11 -272
  567. package/packages/{agent-core/src → agent/src/loop}/agent-loop.ts +127 -273
  568. package/packages/{agent-core/src → agent/src/loop}/agent.ts +12 -164
  569. package/packages/{agent-core/src → agent/src/loop}/types.ts +6 -105
  570. package/packages/agent/src/utils/child-process.ts +0 -13
  571. package/packages/agent/src/utils/image-convert.ts +0 -25
  572. package/packages/agent/src/utils/paths.ts +1 -71
  573. package/packages/agent/src/utils/shell.ts +13 -156
  574. package/packages/ai/dist/api/ai-sdk-messages.d.ts +9 -0
  575. package/packages/ai/dist/api/ai-sdk-transport.d.ts +13 -0
  576. package/packages/ai/dist/api/ai-sdk.d.ts +13 -0
  577. package/packages/ai/dist/api/ai-sdk.lazy.d.ts +3 -0
  578. package/packages/ai/dist/api/lazy.d.ts +15 -0
  579. package/packages/ai/dist/api/simple-options.d.ts +4 -0
  580. package/packages/ai/dist/api/transform-messages.d.ts +8 -0
  581. package/packages/ai/dist/api-registry.d.ts +25 -0
  582. package/packages/ai/dist/auth/context.d.ts +4 -0
  583. package/packages/ai/dist/auth/helpers.d.ts +4 -0
  584. package/packages/ai/dist/auth/resolve.d.ts +19 -0
  585. package/packages/ai/dist/auth/types.d.ts +51 -0
  586. package/packages/ai/dist/env-api-keys.d.ts +8 -0
  587. package/packages/ai/dist/index.d.ts +19 -0
  588. package/packages/ai/dist/models.d.ts +71 -0
  589. package/packages/ai/dist/models.generated.d.ts +8021 -0
  590. package/packages/ai/dist/providers/all.d.ts +15 -0
  591. package/packages/ai/dist/providers/faux.d.ts +97 -0
  592. package/packages/ai/dist/providers/openrouter.d.ts +3 -0
  593. package/packages/ai/dist/providers/openrouter.models.d.ts +8019 -0
  594. package/packages/ai/dist/types.d.ts +541 -0
  595. package/packages/ai/dist/utils/diagnostics.d.ts +13 -0
  596. package/packages/ai/dist/utils/error-body.d.ts +25 -0
  597. package/packages/ai/dist/utils/estimate.d.ts +17 -0
  598. package/packages/ai/dist/utils/event-stream.d.ts +21 -0
  599. package/packages/ai/dist/utils/headers.d.ts +2 -0
  600. package/packages/ai/dist/utils/json-parse.d.ts +16 -0
  601. package/packages/ai/dist/utils/overflow.d.ts +54 -0
  602. package/packages/ai/dist/utils/provider-env.d.ts +7 -0
  603. package/packages/ai/dist/utils/retry.d.ts +12 -0
  604. package/packages/ai/dist/utils/sanitize-unicode.d.ts +22 -0
  605. package/packages/ai/dist/utils/typebox-helpers.d.ts +17 -0
  606. package/packages/ai/dist/utils/validation.d.ts +10 -0
  607. package/packages/ai/package.json +2 -6
  608. package/packages/ai/src/api/ai-sdk-transport.ts +2 -2
  609. package/packages/ai/src/api/simple-options.ts +0 -34
  610. package/packages/ai/src/api-registry.ts +1 -12
  611. package/packages/ai/src/auth/context.ts +1 -30
  612. package/packages/ai/src/auth/helpers.ts +3 -34
  613. package/packages/ai/src/auth/resolve.ts +10 -108
  614. package/packages/ai/src/auth/types.ts +9 -176
  615. package/packages/ai/src/index.ts +1 -13
  616. package/packages/ai/src/models.ts +41 -407
  617. package/packages/ai/src/providers/all.ts +3 -31
  618. package/packages/ai/src/providers/openrouter.models.ts +14 -0
  619. package/packages/ai/src/types.ts +0 -104
  620. package/packages/ai/src/utils/diagnostics.ts +0 -32
  621. package/packages/ai/src/utils/headers.ts +0 -11
  622. package/packages/ai/src/utils/overflow.ts +0 -7
  623. package/packages/ai/src/utils/validation.ts +0 -15
  624. package/packages/ragents/package.json +3 -6
  625. package/packages/ragents/src/access.ts +2 -1
  626. package/packages/ragents/src/agents/actor-input.ts +14 -18
  627. package/packages/ragents/src/agents/catalog.ts +3 -3
  628. package/packages/ragents/src/agents/plugins.ts +0 -4
  629. package/packages/ragents/src/agents/scheduler.ts +232 -78
  630. package/packages/ragents/src/agents/schemas.ts +1 -36
  631. package/packages/ragents/src/agents/tool-orientation.ts +1 -1
  632. package/packages/ragents/src/agents/tools.ts +72 -73
  633. package/packages/ragents/src/agents/toolset.ts +5 -5
  634. package/packages/ragents/src/agents/turn.ts +2 -14
  635. package/packages/ragents/src/agents/workspaces.ts +18 -0
  636. package/packages/ragents/src/domain/actor-reference.ts +22 -0
  637. package/packages/ragents/src/domain/driver.ts +0 -9
  638. package/packages/ragents/src/domain/event-semantics.ts +62 -74
  639. package/packages/ragents/src/domain/event-validation.ts +22 -21
  640. package/packages/ragents/src/domain/events.ts +19 -7
  641. package/packages/ragents/src/domain/json.ts +2 -0
  642. package/packages/ragents/src/domain/model.ts +40 -18
  643. package/packages/ragents/src/domain/projection.ts +43 -15
  644. package/packages/ragents/src/domain/schema-errors.ts +3 -3
  645. package/packages/ragents/src/drivers/agent-hooks.ts +40 -0
  646. package/packages/ragents/src/drivers/agent-runtime.ts +118 -186
  647. package/packages/ragents/src/drivers/agent.ts +5 -20
  648. package/packages/ragents/src/drivers/attachments.ts +4 -24
  649. package/packages/ragents/src/drivers/skill-preload.ts +4 -16
  650. package/packages/ragents/src/drivers/types.ts +20 -3
  651. package/packages/ragents/src/http/contracts.ts +16 -3
  652. package/packages/ragents/src/http/methods.ts +32 -33
  653. package/packages/ragents/src/index.ts +5 -15
  654. package/packages/ragents/src/plugin-host.ts +151 -105
  655. package/packages/ragents/src/plugin-types.ts +86 -23
  656. package/packages/ragents/src/rpc/peer.ts +6 -0
  657. package/packages/ragents/src/runtime/decisions/actions.ts +40 -37
  658. package/packages/ragents/src/runtime/decisions/actors.ts +90 -51
  659. package/packages/ragents/src/runtime/decisions/artifacts.ts +2 -2
  660. package/packages/ragents/src/runtime/decisions/inputs.ts +3 -3
  661. package/packages/ragents/src/runtime/decisions/subscriptions.ts +9 -7
  662. package/packages/ragents/src/runtime/decisions/turns.ts +37 -4
  663. package/packages/ragents/src/runtime/guards.ts +12 -21
  664. package/packages/ragents/src/runtime/journal-storage.ts +4 -2
  665. package/packages/ragents/src/runtime/journal.ts +1 -1
  666. package/packages/ragents/src/runtime/orchestration.ts +31 -14
  667. package/packages/ragents/src/runtime/serial-queue.ts +24 -0
  668. package/packages/ragents/src/runtime/stop.ts +19 -44
  669. package/packages/ragents/src/script/mediators.ts +4 -5
  670. package/packages/ragents/src/typescript/index.ts +2 -0
  671. package/packages/ragents/src/typescript/run-context.ts +10 -8
  672. package/packages/ragents/src/typescript/snippet.ts +7 -6
  673. package/packages/workspace-executor/package.json +2 -2
  674. package/packages/workspace-executor/src/bash-launch.ts +45 -0
  675. package/packages/workspace-executor/src/browser/contract.ts +71 -0
  676. package/packages/workspace-executor/src/browser/module.ts +74 -0
  677. package/packages/workspace-executor/src/browser/pages.ts +298 -0
  678. package/packages/workspace-executor/src/browser/playwright.ts +52 -0
  679. package/packages/workspace-executor/src/commands.ts +170 -0
  680. package/packages/workspace-executor/src/context.ts +34 -6
  681. package/packages/workspace-executor/src/errors.ts +12 -0
  682. package/packages/workspace-executor/src/executor.ts +62 -104
  683. package/packages/workspace-executor/src/files.ts +287 -0
  684. package/packages/workspace-executor/src/index.ts +82 -18
  685. package/packages/workspace-executor/src/language-server/adapters/roslyn.ts +1 -0
  686. package/packages/workspace-executor/src/language-server/contract.ts +14 -0
  687. package/packages/workspace-executor/src/language-server/host.ts +82 -26
  688. package/packages/workspace-executor/src/language-server/module.ts +107 -0
  689. package/packages/workspace-executor/src/language-server/workspace-solutions.ts +90 -0
  690. package/packages/workspace-executor/src/managed-process.ts +1 -1
  691. package/packages/workspace-executor/src/module.ts +35 -0
  692. package/packages/workspace-executor/src/modules.ts +25 -0
  693. package/packages/workspace-executor/src/paths.ts +57 -5
  694. package/packages/workspace-executor/src/process-sandbox.ts +16 -0
  695. package/packages/workspace-executor/src/processes/module.ts +48 -0
  696. package/{plugins/ragents.processes/server → packages/workspace-executor/src/processes}/process-table.ts +80 -57
  697. package/packages/workspace-executor/src/processes/scanner.ts +106 -0
  698. package/{plugins/ragents.processes/server → packages/workspace-executor/src/processes}/snapshot.ts +23 -11
  699. package/{plugins/ragents.processes/server → packages/workspace-executor/src/processes}/terminator.ts +19 -20
  700. package/packages/workspace-executor/src/run-folders.ts +33 -0
  701. package/packages/workspace-executor/src/safe-environment.ts +14 -0
  702. package/packages/workspace-executor/src/sandbox-tools.ts +206 -36
  703. package/packages/workspace-executor/src/shell-platform.ts +2 -2
  704. package/plugins/package.json +1 -1
  705. package/plugins/ragents.activity/ragents-plugin.json +3 -0
  706. package/plugins/ragents.activity/server/index.ts +2 -2
  707. package/plugins/ragents.activity/web/ActivityHeader.tsx +2 -2
  708. package/plugins/ragents.activity/web/activity.ts +1 -1
  709. package/plugins/ragents.activity/web/index.tsx +1 -1
  710. package/plugins/ragents.actor-programs/prompt.hbs +8 -7
  711. package/plugins/ragents.actor-programs/ragents-plugin.json +3 -0
  712. package/plugins/ragents.actor-programs/server/agent-tools.ts +3 -3
  713. package/{apps/server/src/plugin-support/actor-programs → plugins/ragents.actor-programs/server}/capability-resolver.ts +1 -16
  714. package/plugins/ragents.actor-programs/server/controls-template.ts +5 -18
  715. package/plugins/ragents.actor-programs/server/controls-tool.ts +8 -11
  716. package/plugins/ragents.actor-programs/server/index.ts +10 -10
  717. package/{apps/server/src/plugin-support/actor-programs → plugins/ragents.actor-programs/server}/limits.ts +4 -4
  718. package/plugins/ragents.actor-programs/server/methods.ts +2 -2
  719. package/{apps/server/src/plugin-support/actor-programs → plugins/ragents.actor-programs/server}/operations.ts +2 -4
  720. package/plugins/ragents.actor-programs/server/project-diagnostics.ts +65 -70
  721. package/plugins/ragents.actor-programs/server/prompts.ts +4 -4
  722. package/plugins/ragents.actor-programs/server/routes.ts +14 -8
  723. package/plugins/ragents.actor-programs/server/runtime.ts +132 -55
  724. package/plugins/ragents.actor-programs/server/templates.ts +35 -80
  725. package/plugins/ragents.actor-programs/server/test-report.ts +106 -0
  726. package/plugins/ragents.actor-programs/server/tool-contributor.ts +4 -4
  727. package/plugins/ragents.actor-programs/summary.hbs +1 -1
  728. package/plugins/ragents.actor-programs/web/ActorViewFrame.tsx +15 -10
  729. package/plugins/ragents.actor-programs/web/AppsPanel.tsx +47 -30
  730. package/plugins/ragents.actor-programs/web/EmbeddedApps.tsx +15 -17
  731. package/plugins/ragents.actor-programs/web/FullscreenHost.tsx +3 -3
  732. package/plugins/ragents.actor-programs/web/FunctionForm.tsx +3 -3
  733. package/plugins/ragents.actor-programs/web/ProgramSource.tsx +12 -3
  734. package/plugins/ragents.actor-programs/web/api.ts +5 -5
  735. package/plugins/ragents.actor-programs/web/bridge.ts +2 -3
  736. package/plugins/ragents.actor-programs/web/chat-state.ts +9 -8
  737. package/plugins/ragents.actor-programs/web/index.tsx +7 -17
  738. package/plugins/ragents.actor-programs/web/program-state.ts +3 -3
  739. package/plugins/ragents.actor-programs/web/state-revision.ts +2 -2
  740. package/plugins/ragents.ask/ask-payload.ts +25 -0
  741. package/plugins/ragents.ask/contract.ts +2 -2
  742. package/plugins/ragents.ask/ragents-plugin.json +7 -0
  743. package/plugins/ragents.ask/server/answer-method.ts +1 -1
  744. package/plugins/ragents.ask/server/ask-service.ts +43 -19
  745. package/plugins/ragents.ask/server/ask-tool.ts +2 -2
  746. package/plugins/ragents.ask/server/contract.ts +9 -1
  747. package/plugins/ragents.ask/server/index.ts +8 -10
  748. package/plugins/ragents.ask/server/tool-contributor.ts +3 -3
  749. package/plugins/ragents.ask/web/AskActionView.tsx +36 -0
  750. package/{apps/web/src/chat → plugins/ragents.ask/web}/QuestionCard.tsx +7 -5
  751. package/plugins/ragents.ask/web/QuestionSection.tsx +22 -21
  752. package/plugins/ragents.ask/web/api.ts +1 -1
  753. package/plugins/ragents.ask/web/index.tsx +11 -8
  754. package/plugins/ragents.browser/provision.ts +9 -8
  755. package/plugins/ragents.browser/ragents-plugin.json +6 -0
  756. package/plugins/ragents.browser/server/browser.ts +165 -286
  757. package/plugins/ragents.browser/server/contract.ts +8 -19
  758. package/plugins/ragents.browser/server/index.ts +8 -7
  759. package/plugins/ragents.browser/server/tools.ts +29 -37
  760. package/plugins/ragents.browser/skills/browser-testing/SKILL.md +3 -1
  761. package/plugins/ragents.documents/contract.ts +4 -2
  762. package/plugins/ragents.documents/ragents-plugin.json +6 -0
  763. package/plugins/ragents.documents/server/config.ts +1 -1
  764. package/plugins/ragents.documents/server/document-write-tool.ts +2 -2
  765. package/plugins/ragents.documents/server/files-route.ts +2 -3
  766. package/plugins/ragents.documents/server/index.ts +10 -11
  767. package/plugins/ragents.documents/server/show-document-tool.ts +2 -2
  768. package/plugins/ragents.documents/server/store.ts +3 -3
  769. package/plugins/ragents.documents/server/tool-contributor.ts +3 -3
  770. package/plugins/ragents.documents/web/DocumentViewer.tsx +5 -6
  771. package/plugins/ragents.documents/web/api.ts +1 -1
  772. package/plugins/ragents.documents/web/index.tsx +4 -4
  773. package/plugins/ragents.lsp-fsharp/provision.ts +2 -2
  774. package/plugins/ragents.lsp-fsharp/ragents-plugin.json +3 -0
  775. package/plugins/ragents.lsp-fsharp/server/index.ts +3 -3
  776. package/plugins/ragents.lsp-fsharp/web/index.tsx +1 -1
  777. package/plugins/ragents.lsp-roslyn/provision.ts +2 -2
  778. package/plugins/ragents.lsp-roslyn/ragents-plugin.json +3 -0
  779. package/plugins/ragents.lsp-roslyn/server/index.ts +47 -8
  780. package/plugins/ragents.lsp-roslyn/server/solution-on-start.ts +145 -0
  781. package/plugins/ragents.lsp-roslyn/web/index.tsx +1 -1
  782. package/plugins/ragents.lsp-typescript/ragents-plugin.json +3 -0
  783. package/plugins/ragents.lsp-typescript/server/index.ts +3 -3
  784. package/plugins/ragents.lsp-typescript/web/index.tsx +1 -1
  785. package/plugins/ragents.model-relay/ragents-plugin.json +3 -0
  786. package/plugins/ragents.model-relay/server/config.ts +5 -31
  787. package/plugins/ragents.model-relay/server/index.ts +5 -6
  788. package/plugins/ragents.model-relay/server/relay.ts +8 -9
  789. package/plugins/ragents.orchestration/contract.ts +13 -14
  790. package/plugins/ragents.orchestration/orchestration.hbs +4 -3
  791. package/plugins/ragents.orchestration/ragents-plugin.json +6 -0
  792. package/plugins/ragents.orchestration/server/index.ts +13 -16
  793. package/plugins/ragents.orchestration/server/run-stop-tool.ts +4 -4
  794. package/plugins/ragents.orchestration/server/{canvas-tool.ts → surface-tool.ts} +42 -43
  795. package/plugins/ragents.orchestration/surface.hbs +34 -0
  796. package/plugins/ragents.orchestration/tiled-layout.ts +16 -16
  797. package/plugins/ragents.orchestration/web/ActorChat.tsx +16 -14
  798. package/plugins/ragents.orchestration/web/ActorChatControls.tsx +23 -26
  799. package/plugins/ragents.orchestration/web/ActorChatPreview.tsx +5 -6
  800. package/plugins/ragents.orchestration/web/ActorPopout.tsx +7 -5
  801. package/plugins/ragents.orchestration/web/ActorShortcut.tsx +16 -16
  802. package/plugins/ragents.orchestration/web/{ActorCanvasControls.tsx → ActorSurfaceControls.tsx} +23 -28
  803. package/plugins/ragents.orchestration/web/ActorTile.tsx +2 -2
  804. package/plugins/ragents.orchestration/web/Center.tsx +47 -55
  805. package/plugins/ragents.orchestration/web/DocumentsSection.tsx +4 -4
  806. package/plugins/ragents.orchestration/web/ExecutionsPanel.tsx +7 -7
  807. package/plugins/ragents.orchestration/web/FlowInspector.tsx +24 -42
  808. package/plugins/ragents.orchestration/web/JournalStatus.tsx +8 -8
  809. package/plugins/ragents.orchestration/web/MaterialBody.tsx +5 -5
  810. package/plugins/ragents.orchestration/web/StopRunButton.tsx +6 -6
  811. package/plugins/ragents.orchestration/web/SurfaceStartup.tsx +8 -0
  812. package/plugins/ragents.orchestration/web/{CanvasTiles.tsx → SurfaceTiles.tsx} +18 -18
  813. package/plugins/ragents.orchestration/web/{TiledCanvas.tsx → TiledSurface.tsx} +22 -22
  814. package/plugins/ragents.orchestration/web/actor-header-settings.ts +2 -2
  815. package/plugins/ragents.orchestration/web/api.ts +4 -10
  816. package/plugins/ragents.orchestration/web/constants.ts +0 -1
  817. package/plugins/ragents.orchestration/web/executions.ts +3 -3
  818. package/plugins/ragents.orchestration/web/index.tsx +19 -124
  819. package/plugins/ragents.orchestration/web/program-slot.ts +14 -0
  820. package/plugins/ragents.orchestration/web/run-panel/AddresseeControl.tsx +95 -0
  821. package/plugins/ragents.orchestration/web/run-panel/AddresseeTree.tsx +109 -0
  822. package/plugins/ragents.orchestration/web/{column/RunColumn.tsx → run-panel/RunPanel.tsx} +211 -83
  823. package/plugins/ragents.orchestration/web/{column/ColumnSettings.tsx → run-panel/RunPanelSettings.tsx} +13 -13
  824. package/plugins/ragents.orchestration/web/run-panel/addressee-tree.ts +165 -0
  825. package/plugins/ragents.orchestration/web/{column/column-actors.ts → run-panel/run-panel-actors.ts} +14 -13
  826. package/plugins/ragents.orchestration/web/run-panel/run-panel-settings.ts +47 -0
  827. package/plugins/ragents.orchestration/web/run-panel/run-panel-startup.ts +30 -0
  828. package/plugins/ragents.orchestration/web/run-panel/run-panel-state.ts +71 -0
  829. package/plugins/ragents.orchestration/web/{column → run-panel}/sheet-status.ts +4 -4
  830. package/plugins/ragents.orchestration/web/{canvas-stage.ts → surface-entities.ts} +2 -2
  831. package/plugins/ragents.orchestration/web/{canvas-startup.ts → surface-startup.ts} +7 -10
  832. package/plugins/ragents.orchestration/web/surface-view-settings.ts +42 -0
  833. package/plugins/ragents.orchestration/web/tile-docking.ts +14 -14
  834. package/plugins/ragents.orchestration/web/tiled-view-settings.ts +26 -26
  835. package/plugins/ragents.overseer/contract.ts +20 -14
  836. package/plugins/ragents.overseer/ragents-plugin.json +3 -0
  837. package/plugins/ragents.overseer/server/api.ts +34 -23
  838. package/plugins/ragents.overseer/server/coordinator-prompt.ts +3 -3
  839. package/plugins/ragents.overseer/server/coordinator.ts +19 -0
  840. package/plugins/ragents.overseer/server/index.ts +39 -27
  841. package/plugins/ragents.overseer/server/orientation.ts +4 -5
  842. package/plugins/ragents.overseer/server/quick-answer.ts +5 -4
  843. package/plugins/ragents.overseer/server/reset-method.ts +4 -3
  844. package/plugins/ragents.overseer/server/run-directory.ts +5 -5
  845. package/plugins/ragents.overseer/server/settings-method.ts +1 -1
  846. package/plugins/ragents.overseer/server/settings.ts +6 -6
  847. package/plugins/ragents.overseer/server/user-location.ts +20 -19
  848. package/plugins/ragents.overseer/web/ModelSettings.tsx +4 -4
  849. package/plugins/ragents.overseer/web/chat-display.ts +1 -1
  850. package/plugins/ragents.overseer/web/index.tsx +51 -26
  851. package/plugins/ragents.overseer/web/model-settings.ts +1 -1
  852. package/plugins/ragents.overseer/web/quick-answers.ts +2 -2
  853. package/plugins/ragents.processes/contract.ts +5 -5
  854. package/plugins/ragents.processes/ragents-plugin.json +3 -0
  855. package/plugins/ragents.processes/server/index.ts +13 -19
  856. package/plugins/ragents.processes/server/methods.ts +18 -20
  857. package/plugins/ragents.processes/server/observer.ts +64 -104
  858. package/plugins/ragents.processes/server/run-processes.ts +24 -0
  859. package/plugins/ragents.processes/web/ProcessHeader.tsx +13 -16
  860. package/plugins/ragents.processes/web/index.tsx +2 -1
  861. package/plugins/ragents.processes/web/processes.ts +1 -1
  862. package/plugins/ragents.product/ragents-plugin.json +3 -0
  863. package/plugins/ragents.product/server/config.ts +12 -13
  864. package/plugins/ragents.product/server/index.ts +15 -16
  865. package/plugins/ragents.product/server/runtime.ts +2 -2
  866. package/plugins/ragents.product/web/index.tsx +3 -3
  867. package/plugins/ragents.profile-distribution/contract.ts +6 -9
  868. package/plugins/ragents.profile-distribution/ragents-plugin.json +3 -0
  869. package/plugins/ragents.profile-distribution/server/archive.ts +26 -51
  870. package/plugins/ragents.profile-distribution/server/config.ts +2 -2
  871. package/plugins/ragents.profile-distribution/server/index.ts +9 -16
  872. package/plugins/ragents.reference/examples.ts +1 -1
  873. package/plugins/ragents.reference/ragents-plugin.json +3 -0
  874. package/plugins/ragents.reference/run-scripts/balcony-wizard/RUN.md +2 -2
  875. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +1 -1
  876. package/plugins/ragents.reference/run-scripts/balcony-wizard/src/server.ts +1 -1
  877. package/plugins/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +4 -4
  878. package/plugins/ragents.reference/run-scripts/conversation-circle/RUN.md +1 -1
  879. package/plugins/ragents.reference/run-scripts/conversation-circle/src/server.ts +1 -1
  880. package/plugins/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +1 -1
  881. package/plugins/ragents.reference/run-scripts/learning-afternoon/RUN.md +2 -2
  882. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/client.tsx +1 -1
  883. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/server.ts +1 -1
  884. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/state.ts +2 -2
  885. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/view.tsx +11 -11
  886. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/workflow.ts +15 -15
  887. package/plugins/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +3 -8
  888. package/plugins/ragents.reference/run-scripts/moderated-round/src/server.ts +1 -1
  889. package/plugins/ragents.reference/run-scripts/moderated-round/tests/helpers.ts +1 -1
  890. package/plugins/ragents.reference/run-scripts/moderated-round/tests/program.test.ts +2 -2
  891. package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/client.tsx +6 -6
  892. package/plugins/ragents.reference/run-scripts/shared-actor-list/src/server.ts +3 -3
  893. package/plugins/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +1 -1
  894. package/plugins/ragents.reference/run-scripts/word-game/RUN.md +1 -1
  895. package/plugins/ragents.reference/run-scripts/word-game/src/client.tsx +1 -1
  896. package/plugins/ragents.reference/run-scripts/word-game/src/server.ts +1 -2
  897. package/plugins/ragents.reference/run-scripts/word-game/src/state.ts +6 -6
  898. package/plugins/ragents.reference/run-scripts/word-game/src/view.tsx +14 -14
  899. package/plugins/ragents.reference/run-scripts/word-game/tests/program.test.ts +4 -5
  900. package/plugins/ragents.reference/server/index.ts +2 -2
  901. package/plugins/ragents.reference/skills/160-learning-companion/SKILL.md +1 -1
  902. package/plugins/ragents.reference/skills/240-live-result-list/SKILL.md +1 -1
  903. package/plugins/ragents.reference/skills/250-balcony-wizard/SKILL.md +1 -1
  904. package/plugins/ragents.reference/skills/90-actor-notes/SKILL.md +1 -1
  905. package/plugins/ragents.reference/skills/95-hello-world/SKILL.md +2 -2
  906. package/plugins/ragents.reference/skills/decision-brief/SKILL.md +2 -2
  907. package/plugins/ragents.reference/walkthroughs.ts +26 -26
  908. package/plugins/ragents.reference/web/StartGuides.tsx +2 -2
  909. package/plugins/ragents.reference/web/index.tsx +1 -1
  910. package/plugins/ragents.todo/ragents-plugin.json +3 -0
  911. package/plugins/ragents.todo/server/index.ts +2 -2
  912. package/plugins/ragents.todo/server/todo-tool.ts +4 -5
  913. package/plugins/ragents.todo/server/tool-contributor.ts +2 -2
  914. package/plugins/ragents.todo/web/TodoSection.tsx +3 -3
  915. package/plugins/ragents.todo/web/index.ts +1 -1
  916. package/plugins/ragents.transcript/ragents-plugin.json +3 -0
  917. package/plugins/ragents.transcript/server/index.ts +4 -4
  918. package/plugins/ragents.transcript/server/transcript.ts +2 -3
  919. package/plugins/ragents.watch/ragents-plugin.json +6 -0
  920. package/plugins/ragents.watch/server/condition.ts +2 -2
  921. package/plugins/ragents.watch/server/contract.ts +1 -1
  922. package/plugins/ragents.watch/server/functions.ts +3 -3
  923. package/plugins/ragents.watch/server/index.ts +3 -3
  924. package/plugins/ragents.watch/server/observation.ts +6 -6
  925. package/plugins/ragents.watch/server/service.ts +5 -5
  926. package/plugins/ragents.workspace/client/workspace-client.ts +129 -58
  927. package/plugins/ragents.workspace/contract.ts +98 -35
  928. package/plugins/ragents.workspace/prompt.hbs +1 -8
  929. package/plugins/ragents.workspace/ragents-plugin.json +3 -0
  930. package/plugins/ragents.workspace/server/binding.ts +122 -39
  931. package/plugins/ragents.workspace/server/browse-route.ts +96 -103
  932. package/plugins/ragents.workspace/server/clients.ts +236 -68
  933. package/plugins/ragents.workspace/server/config.ts +30 -0
  934. package/plugins/ragents.workspace/server/index.ts +61 -26
  935. package/plugins/ragents.workspace/server/runtime.ts +271 -46
  936. package/{apps/server/src/plugin-support → plugins/ragents.workspace/server}/shell-platform.ts +3 -5
  937. package/{apps/server/src/plugin-support → plugins/ragents.workspace/server}/workspace-tool-naming.ts +7 -1
  938. package/plugins/ragents.workspace/web/FileBrowser.tsx +11 -8
  939. package/plugins/ragents.workspace/web/WorkspaceBinding.tsx +115 -61
  940. package/plugins/ragents.workspace/web/api.ts +1 -1
  941. package/plugins/ragents.workspace/web/index.tsx +1 -1
  942. package/ragents.config.core.ts +2 -8
  943. package/ragents.config.showcase.ts +61 -0
  944. package/scripts/agent/agent-cli.ts +265 -107
  945. package/scripts/agent/journal.ts +3 -1
  946. package/scripts/agent/turn-control.ts +19 -0
  947. package/scripts/package/build-package.ts +70 -15
  948. package/scripts/package/ragents.mjs +4 -2
  949. package/scripts/plugin/build-builtin-plugins.ts +52 -0
  950. package/scripts/plugin/plugin-cli.ts +99 -0
  951. package/scripts/provision/run-provision.ts +20 -18
  952. package/scripts/remote/connect.ts +75 -53
  953. package/scripts/remote/start.ts +3 -4
  954. package/scripts/workspace-client/run-workspace-client.ts +15 -9
  955. package/apps/server/agent-home/settings.json +0 -3
  956. package/apps/server/src/chat-attachments.ts +0 -52
  957. package/apps/server/src/chat-events.ts +0 -185
  958. package/apps/server/src/plugin-support/asset-path.ts +0 -4
  959. package/apps/server/src/profile/plugin-list.ts +0 -19
  960. package/apps/server/src/web-build.ts +0 -82
  961. package/apps/web/column.html +0 -12
  962. package/apps/web/index.html +0 -12
  963. package/apps/web/src/StartSurface.tsx +0 -161
  964. package/apps/web/src/chat/ChatInputToolbar.tsx +0 -488
  965. package/apps/web/src/chat/ChatMessages.tsx +0 -666
  966. package/apps/web/src/chat/ChatPanel.tsx +0 -61
  967. package/apps/web/src/chat/DetailModeSwitch.tsx +0 -58
  968. package/apps/web/src/chat/Markdown.tsx +0 -104
  969. package/apps/web/src/chat/StepPopover.tsx +0 -82
  970. package/apps/web/src/chat/WorkingScenes.tsx +0 -235
  971. package/apps/web/src/chat/attachments.ts +0 -53
  972. package/apps/web/src/chat/chat-scroll.ts +0 -41
  973. package/apps/web/src/chat/texts.ts +0 -61
  974. package/apps/web/src/chat/types.ts +0 -26
  975. package/apps/web/src/column/ColumnApp.tsx +0 -234
  976. package/apps/web/src/column/column-location.ts +0 -30
  977. package/apps/web/src/column/host-contract.ts +0 -93
  978. package/apps/web/src/panel/OverviewPage.tsx +0 -215
  979. package/apps/web/src/panel/SettingsPage.tsx +0 -98
  980. package/apps/web/src/panel/target-state.ts +0 -78
  981. package/apps/web/src/plugin-discovery.ts +0 -5
  982. package/apps/web/src/virtual-plugins.d.ts +0 -3
  983. package/apps/web/vite.config.ts +0 -140
  984. package/packages/agent/src/config.ts +0 -161
  985. package/packages/agent/src/core/auth-storage.ts +0 -271
  986. package/packages/agent/src/core/bash-executor.ts +0 -156
  987. package/packages/agent/src/core/compaction/branch-summarization.ts +0 -372
  988. package/packages/agent/src/core/diagnostics.ts +0 -15
  989. package/packages/agent/src/core/event-bus.ts +0 -33
  990. package/packages/agent/src/core/exec.ts +0 -107
  991. package/packages/agent/src/core/experimental.ts +0 -3
  992. package/packages/agent/src/core/footer-data-provider.ts +0 -388
  993. package/packages/agent/src/core/http-dispatcher.ts +0 -106
  994. package/packages/agent/src/core/index.ts +0 -78
  995. package/packages/agent/src/core/model-config.ts +0 -287
  996. package/packages/agent/src/core/model-registry.ts +0 -126
  997. package/packages/agent/src/core/model-resolver.ts +0 -675
  998. package/packages/agent/src/core/output-guard.ts +0 -108
  999. package/packages/agent/src/core/package-manager.ts +0 -2441
  1000. package/packages/agent/src/core/prompt-templates.ts +0 -284
  1001. package/packages/agent/src/core/resolve-config-value.ts +0 -287
  1002. package/packages/agent/src/core/runtime-credentials.ts +0 -48
  1003. package/packages/agent/src/core/session-cwd.ts +0 -59
  1004. package/packages/agent/src/core/settings-manager.ts +0 -1212
  1005. package/packages/agent/src/core/slash-commands.ts +0 -41
  1006. package/packages/agent/src/core/timings.ts +0 -50
  1007. package/packages/agent/src/core/tools/tool-definition-wrapper.ts +0 -45
  1008. package/packages/agent/src/core/trust-manager.ts +0 -244
  1009. package/packages/agent/src/utils/ansi.ts +0 -60
  1010. package/packages/agent/src/utils/fs-watch.ts +0 -30
  1011. package/packages/agent/src/utils/git.ts +0 -226
  1012. package/packages/agent/src/utils/json.ts +0 -6
  1013. package/packages/agent/src/utils/tools-manager.ts +0 -63
  1014. package/packages/agent-core/package.json +0 -32
  1015. package/packages/ai/src/api/openrouter-images.lazy.ts +0 -10
  1016. package/packages/ai/src/api/openrouter-images.ts +0 -98
  1017. package/packages/ai/src/auth/credential-store.ts +0 -51
  1018. package/packages/ai/src/compat/extension-oauth-types.ts +0 -45
  1019. package/packages/ai/src/image-models.generated.ts +0 -533
  1020. package/packages/ai/src/images-models.ts +0 -274
  1021. package/packages/ai/src/models-store.ts +0 -38
  1022. package/packages/ai/src/oauth.ts +0 -10
  1023. package/packages/ai/src/providers/openrouter-images.ts +0 -14
  1024. package/packages/ai/src/session-resources.ts +0 -24
  1025. package/packages/ai/src/utils/abort-signals.ts +0 -41
  1026. package/packages/ai/src/utils/deferred-tools.ts +0 -39
  1027. package/packages/ai/src/utils/hash.ts +0 -13
  1028. package/packages/ai/src/utils/node-http-proxy.ts +0 -112
  1029. package/plugins/ragents.actor-programs/server/client-runtime.ts +0 -16
  1030. package/plugins/ragents.ask/web/constants.ts +0 -1
  1031. package/plugins/ragents.lsp-roslyn/web/api.ts +0 -10
  1032. package/plugins/ragents.orchestration/web/CanvasStartup.tsx +0 -14
  1033. package/plugins/ragents.orchestration/web/canvas-view-settings.ts +0 -42
  1034. package/plugins/ragents.orchestration/web/column/AddresseeControl.tsx +0 -116
  1035. package/plugins/ragents.orchestration/web/column/column-settings.ts +0 -47
  1036. package/plugins/ragents.orchestration/web/column/column-state.ts +0 -68
  1037. package/plugins/ragents.orchestration/web/contract.ts +0 -25
  1038. package/plugins/ragents.product/model-settings-contract.ts +0 -10
  1039. package/plugins/ragents.profile-distribution/server/web.ts +0 -24
  1040. /package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/authoring-contracts.ts +0 -0
  1041. /package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/runtime-libraries.ts +0 -0
  1042. /package/{plugins/ragents.actor-programs → apps/server/src/plugin-support/actor-programs}/workflow/prompt-reader.ts +0 -0
  1043. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/file-contracts.d.ts +0 -0
  1044. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/flow-diagram-contracts.d.ts +0 -0
  1045. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/flow-diagram.css +0 -0
  1046. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/form-contracts.d.ts +0 -0
  1047. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/frame-layout.ts +0 -0
  1048. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/table-contracts.d.ts +0 -0
  1049. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/viewer-contracts.d.ts +0 -0
  1050. /package/{plugins/ragents.orchestration/canvas.hbs → bundles/ragents.orchestration/surface.hbs} +0 -0
  1051. /package/packages/{agent-core/src → agent/src/loop}/index.ts +0 -0
  1052. /package/packages/{agent-core/src → agent/src/loop}/uuid.ts +0 -0
@@ -0,0 +1,208 @@
1
+ import { createRequire as __ragentsCreateRequire } from "node:module";
2
+ const require = __ragentsCreateRequire(import.meta.url);
3
+
4
+ // server/index.ts
5
+ import { roslynAdapter, ROSLYN_SERVER_VARIABLE } from "@ragents/workspace-executor";
6
+ import { declaredEnvironment } from "@ragents/host/plugin-support/plugin-config.js";
7
+ import { createLanguageServerPlugin } from "@ragents/host/plugin-support/language-server/plugin.js";
8
+ import { sandboxServicesToken } from "@ragents/host/plugin-support/workspace-sandbox-host.js";
9
+ import { runtimeProviderToken } from "@ragents/host/ragents/host-services.js";
10
+ import { askServiceToken } from "@ragents/plugins/ragents.ask/server/contract";
11
+
12
+ // server/solution-on-start.ts
13
+ import {
14
+ languageServerOpenOperation,
15
+ languageServerSolutionsOperation
16
+ } from "@ragents/workspace-executor";
17
+ import { DISMISSED_ANSWER } from "@ragents/plugins/ragents.ask/server/contract";
18
+ var SOLUTION_ON_START_VARIABLE = "ROSLYN_SOLUTION_ON_START";
19
+ var NO_SOLUTION = "Keine laden";
20
+ var SOLUTION_QUESTION = "Welche Solution soll Roslyn f\xFCr die Diagnostik laden?";
21
+ var solutionStartStep = (listing) => {
22
+ if (listing.opened || listing.solutions.length === 0) return { kind: "none" };
23
+ if (listing.solutions.length === 1) return { kind: "open", path: listing.solutions[0].path };
24
+ return { kind: "ask", options: [...listing.solutions.map((solution) => solution.path), NO_SOLUTION] };
25
+ };
26
+ var solutionAnswer = (options, answer) => {
27
+ const chosen = answer.trim().replaceAll("\\", "/");
28
+ if (chosen === NO_SOLUTION || answer === DISMISSED_ANSWER) return { kind: "none" };
29
+ return options.includes(chosen) ? { kind: "open", path: chosen } : { kind: "forward" };
30
+ };
31
+ var messageOf = (error) => error instanceof Error ? error.message : String(error);
32
+ var createSolutionOnStart = (options) => {
33
+ const running = /* @__PURE__ */ new Map();
34
+ const openTool = languageServerOpenOperation(options.adapterId);
35
+ const questionCommand = (runId) => `${options.pluginId}.solution-question:${runId}`;
36
+ const marked = (runId) => options.runtime().view(runId).pluginStates.some((entry) => entry.pluginId === options.pluginId && entry.scope.kind === "run");
37
+ const load = async (runId, path2, ifNoneOpen, signal) => {
38
+ await options.sandbox().execute(runId, openTool, { root: path2, ifNoneOpen }, { signal });
39
+ };
40
+ const answered = async (runId, coordinatorId, choices, answer, signal) => {
41
+ const outcome = solutionAnswer(choices, answer);
42
+ if (outcome.kind === "open") return load(runId, outcome.path, false, signal);
43
+ if (outcome.kind === "none") return;
44
+ const runtime = options.runtime();
45
+ runtime.enqueueInput(
46
+ { actorId: runtime.state(runId).ownerId, commandId: `${options.pluginId}.solution-answer:${runId}` },
47
+ runId,
48
+ { actorId: coordinatorId, content: `Antwort auf die Frage: ${SOLUTION_QUESTION}
49
+ Antwort: ${answer}
50
+ ${openTool} l\xE4dt eine Solution.` }
51
+ );
52
+ };
53
+ const begin = async (runId, ownerId, coordinatorId, signal) => {
54
+ const listing = await options.sandbox().execute(runId, languageServerSolutionsOperation(options.adapterId), null, { signal });
55
+ const step = solutionStartStep(listing);
56
+ if (step.kind === "none") return { rest: Promise.resolve() };
57
+ if (step.kind === "open") return { rest: load(runId, step.path, true, signal) };
58
+ const answer = options.ask().ask(
59
+ { runId, agentId: ownerId, turnId: null, commandId: questionCommand(runId) },
60
+ {
61
+ question: SOLUTION_QUESTION,
62
+ description: "Im Arbeitsbereich liegen mehrere Solutions; die gew\xE4hlte l\xE4dt Roslyn f\xFCr die Diagnostik ohne Build.",
63
+ options: [...step.options],
64
+ recipient: coordinatorId
65
+ },
66
+ signal
67
+ );
68
+ return { rest: answer.then((text) => answered(runId, coordinatorId, step.options, text, signal)) };
69
+ };
70
+ const finish = (runId, controller, error) => {
71
+ if (error !== void 0 && !controller.signal.aborted) {
72
+ console.error(`${options.pluginId}: Solution beim Start von ${runId} nicht geladen: ${messageOf(error)}`);
73
+ }
74
+ if (running.get(runId) === controller) running.delete(runId);
75
+ };
76
+ const stop = ({ runId }) => {
77
+ running.get(runId)?.abort(new Error("Der Run wurde gestoppt"));
78
+ running.delete(runId);
79
+ };
80
+ const opened = (runId) => {
81
+ try {
82
+ const proposed = options.runtime().events(runId).find((event) => event.type === "action.proposed" && event.commandId === questionCommand(runId));
83
+ if (proposed?.type === "action.proposed") options.ask().withdraw(runId, proposed.payload.actionId);
84
+ } catch (error) {
85
+ console.error(`${options.pluginId}: Startfrage von ${runId} nicht verworfen: ${messageOf(error)}`);
86
+ }
87
+ };
88
+ const lifecycle = {
89
+ id: `${options.pluginId}.solution-on-start`,
90
+ sessionStarted: async ({ runId, startEntry }) => {
91
+ if (marked(runId)) return;
92
+ const runtime = options.runtime();
93
+ const { ownerId, primaryActorId } = runtime.state(runId);
94
+ runtime.replacePluginState(
95
+ { actorId: ownerId, commandId: `${options.pluginId}.solution-on-start:${runId}` },
96
+ runId,
97
+ { pluginId: options.pluginId, scope: { kind: "run" }, state: { version: 1, startEntry: startEntry?.id ?? null } }
98
+ );
99
+ if (startEntry?.action === "script") return;
100
+ if (!primaryActorId) throw new Error(`Der Run ${runId} hat beim Start keinen Koordinator, dem eine Antwort zugehen k\xF6nnte`);
101
+ const controller = new AbortController();
102
+ running.set(runId, controller);
103
+ try {
104
+ const { rest } = await begin(runId, ownerId, primaryActorId, controller.signal);
105
+ void rest.then(() => finish(runId, controller), (error) => finish(runId, controller, error));
106
+ } catch (error) {
107
+ finish(runId, controller, error);
108
+ }
109
+ },
110
+ stopSession: stop,
111
+ deleteSession: stop
112
+ };
113
+ return { lifecycle, opened };
114
+ };
115
+
116
+ // server/index.ts
117
+ var roslynConfigDescriptors = [
118
+ { key: ROSLYN_SERVER_VARIABLE, source: "environment" },
119
+ { key: SOLUTION_ON_START_VARIABLE, source: "environment" }
120
+ ];
121
+ var PLUGIN_ID = "ragents.lsp-roslyn";
122
+ var env = declaredEnvironment(roslynConfigDescriptors);
123
+ var solutionOnStart = () => {
124
+ const mode = env.optional(SOLUTION_ON_START_VARIABLE) ?? "off";
125
+ if (mode !== "on" && mode !== "off") {
126
+ throw new Error(`${SOLUTION_ON_START_VARIABLE} in der Sektion ragents.lsp-roslyn ist "on" oder "off", nicht "${mode}"`);
127
+ }
128
+ return mode === "on";
129
+ };
130
+ var plugin = {
131
+ requires: ["ragents.ask"],
132
+ create: () => {
133
+ let startup;
134
+ const languageServer = createLanguageServerPlugin({
135
+ id: PLUGIN_ID,
136
+ adapter: roslynAdapter,
137
+ configDescriptors: roslynConfigDescriptors,
138
+ onOpened: (runId) => startup?.opened(runId)
139
+ });
140
+ return {
141
+ manifest: languageServer.manifest,
142
+ register: (host) => {
143
+ languageServer.register(host);
144
+ if (!solutionOnStart()) return;
145
+ startup = createSolutionOnStart({
146
+ pluginId: PLUGIN_ID,
147
+ adapterId: roslynAdapter.id,
148
+ sandbox: () => host.service(sandboxServicesToken),
149
+ runtime: () => host.service(runtimeProviderToken)(),
150
+ ask: () => host.service(askServiceToken)
151
+ });
152
+ host.lifecycle(startup.lifecycle);
153
+ }
154
+ };
155
+ }
156
+ };
157
+
158
+ // provision.ts
159
+ import { stat } from "node:fs/promises";
160
+ import path from "node:path";
161
+ import { ROSLYN_SERVER_FILE } from "@ragents/workspace-executor";
162
+ import {
163
+ DOTNET_INSTRUCTION,
164
+ downloadArchive,
165
+ dotnetRuntimeMajors,
166
+ provisionGap,
167
+ provisionReady,
168
+ readProvisionStamp,
169
+ unpackArchive,
170
+ writeProvisionStamp
171
+ } from "@ragents/host/plugin-support/provision.js";
172
+ var ROSLYN_VERSION = "5.4.0-2.26179.14";
173
+ var FEED = "https://pkgs.dev.azure.com/azure-public/vside/_packaging/vs-impl/nuget/v3/flat2";
174
+ var PACKAGE = "microsoft.codeanalysis.languageserver.neutral";
175
+ var PREFIX = "content/LanguageServer/neutral/";
176
+ var roslynArchiveUrl = `${FEED}/${PACKAGE}/${ROSLYN_VERSION}/${PACKAGE}.${ROSLYN_VERSION}.nupkg`;
177
+ var createRoslynProvision = (download = downloadArchive, runtimes = dotnetRuntimeMajors) => {
178
+ const serverFile = (target) => path.join(target, ...ROSLYN_SERVER_FILE.split("/"));
179
+ const check = async (target) => {
180
+ if (await runtimes() === void 0) return provisionGap("dotnet", DOTNET_INSTRUCTION, false);
181
+ const installed = await stat(serverFile(target)).catch(() => void 0);
182
+ if (installed?.isFile() && await readProvisionStamp(target) === ROSLYN_VERSION) return provisionReady;
183
+ return provisionGap("roslyn", `Microsoft.CodeAnalysis.LanguageServer ${ROSLYN_VERSION} fehlt unter ${serverFile(target)}`, true);
184
+ };
185
+ return {
186
+ check,
187
+ apply: async (target, log) => {
188
+ const state = await check(target);
189
+ if (state.kind === "ready") return;
190
+ if (!state.installable) throw new Error(state.instruction);
191
+ log(`Roslyn ${ROSLYN_VERSION} laden`);
192
+ const files = await unpackArchive(await download(roslynArchiveUrl), PREFIX, target, "roslyn");
193
+ if (!(await stat(serverFile(target)).catch(() => void 0))?.isFile()) {
194
+ throw new Error(`Das Paket ${PACKAGE} ${ROSLYN_VERSION} enth\xE4lt ${ROSLYN_SERVER_FILE} nicht`);
195
+ }
196
+ await writeProvisionStamp(target, ROSLYN_VERSION);
197
+ log(`${files} Dateien nach ${path.join(target, "roslyn")}`);
198
+ }
199
+ };
200
+ };
201
+ var provision = createRoslynProvision();
202
+ export {
203
+ plugin,
204
+ provision,
205
+ roslynConfigDescriptors,
206
+ solutionOnStart
207
+ };
208
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../plugins/ragents.lsp-roslyn/server/index.ts", "../../../plugins/ragents.lsp-roslyn/server/solution-on-start.ts", "../../../plugins/ragents.lsp-roslyn/provision.ts"],
4
+ "sourcesContent": ["import { roslynAdapter, ROSLYN_SERVER_VARIABLE } from \"@ragents/workspace-executor\";\nimport { declaredEnvironment } from \"@ragents/host/plugin-support/plugin-config.js\";\nimport { createLanguageServerPlugin } from \"@ragents/host/plugin-support/language-server/plugin.js\";\nimport type { PluginModule } from \"@ragents/host/plugin-support/plugin-module.js\";\nimport { sandboxServicesToken } from \"@ragents/host/plugin-support/workspace-sandbox-host.js\";\nimport { runtimeProviderToken } from \"@ragents/host/ragents/host-services.js\";\nimport { askServiceToken } from \"@ragents/plugins/ragents.ask/server/contract.js\";\nimport { createSolutionOnStart, SOLUTION_ON_START_VARIABLE, type SolutionOnStart } from \"./solution-on-start.js\";\n\nexport const roslynConfigDescriptors = [\n { key: ROSLYN_SERVER_VARIABLE, source: \"environment\" },\n { key: SOLUTION_ON_START_VARIABLE, source: \"environment\" },\n] as const;\n\nconst PLUGIN_ID = \"ragents.lsp-roslyn\";\n\nconst env = declaredEnvironment(roslynConfigDescriptors);\n\n/** Ohne Angabe l\u00E4dt ein neuer Run nichts von selbst; einschalten geht nur ausdr\u00FCcklich mit \"on\". */\nexport const solutionOnStart = (): boolean => {\n const mode = env.optional(SOLUTION_ON_START_VARIABLE) ?? \"off\";\n if (mode !== \"on\" && mode !== \"off\") {\n throw new Error(`${SOLUTION_ON_START_VARIABLE} in der Sektion ragents.lsp-roslyn ist \"on\" oder \"off\", nicht \"${mode}\"`);\n }\n return mode === \"on\";\n};\n\nexport const plugin: PluginModule = {\n requires: [\"ragents.ask\"],\n create: () => {\n let startup: SolutionOnStart | undefined;\n const languageServer = createLanguageServerPlugin({\n id: PLUGIN_ID,\n adapter: roslynAdapter,\n configDescriptors: roslynConfigDescriptors,\n onOpened: (runId) => startup?.opened(runId),\n });\n return {\n manifest: languageServer.manifest,\n register: (host) => {\n languageServer.register(host);\n if (!solutionOnStart()) return;\n startup = createSolutionOnStart({\n pluginId: PLUGIN_ID,\n adapterId: roslynAdapter.id,\n sandbox: () => host.service(sandboxServicesToken),\n runtime: () => host.service(runtimeProviderToken)(),\n ask: () => host.service(askServiceToken),\n });\n host.lifecycle(startup.lifecycle);\n },\n };\n },\n};\n", "import type { Orchestration, SessionLifecycleContribution } from \"@ragents/engine\";\nimport {\n languageServerOpenOperation,\n languageServerSolutionsOperation,\n type LanguageServerSolutions,\n} from \"@ragents/workspace-executor\";\nimport type { SandboxServices } from \"@ragents/host/plugin-support/workspace-sandbox-host.js\";\nimport { DISMISSED_ANSWER, type AskService } from \"@ragents/plugins/ragents.ask/server/contract.js\";\n\nexport const SOLUTION_ON_START_VARIABLE = \"ROSLYN_SOLUTION_ON_START\";\nexport const NO_SOLUTION = \"Keine laden\";\nexport const SOLUTION_QUESTION = \"Welche Solution soll Roslyn f\u00FCr die Diagnostik laden?\";\n\nexport type SolutionStartStep =\n | { kind: \"none\" }\n | { kind: \"open\"; path: string }\n | { kind: \"ask\"; options: readonly string[] };\n\nexport type SolutionAnswer =\n | { kind: \"none\" }\n | { kind: \"open\"; path: string }\n | { kind: \"forward\" };\n\n/** Was jemand schon ge\u00F6ffnet hat oder gerade \u00F6ffnet, bleibt ohne Frage und ohne zweites Laden. */\nexport const solutionStartStep = (listing: LanguageServerSolutions): SolutionStartStep => {\n if (listing.opened || listing.solutions.length === 0) return { kind: \"none\" };\n if (listing.solutions.length === 1) return { kind: \"open\", path: listing.solutions[0].path };\n return { kind: \"ask\", options: [...listing.solutions.map((solution) => solution.path), NO_SOLUTION] };\n};\n\n/** Eine frei formulierte Antwort bekommt der Koordinator, damit sie nicht verloren geht. */\nexport const solutionAnswer = (options: readonly string[], answer: string): SolutionAnswer => {\n const chosen = answer.trim().replaceAll(\"\\\\\", \"/\");\n if (chosen === NO_SOLUTION || answer === DISMISSED_ANSWER) return { kind: \"none\" };\n return options.includes(chosen) ? { kind: \"open\", path: chosen } : { kind: \"forward\" };\n};\n\nexport interface SolutionOnStartOptions {\n pluginId: string;\n adapterId: string;\n sandbox: () => SandboxServices;\n runtime: () => Orchestration;\n ask: () => AskService;\n}\n\nconst messageOf = (error: unknown): string => error instanceof Error ? error.message : String(error);\n\n/** L\u00E4dt beim Start ohne Run-Script die einzige Solution oder fragt bei mehreren; der Merker im Journal l\u00E4sst das je Run h\u00F6chstens einmal zu. */\nexport interface SolutionOnStart {\n lifecycle: SessionLifecycleContribution;\n /** Jemand hat eine Instanz ge\u00F6ffnet; eine noch offene Startfrage erledigt sich damit ohne Laden und ohne Input. */\n opened: (runId: string) => void;\n}\n\nexport const createSolutionOnStart = (options: SolutionOnStartOptions): SolutionOnStart => {\n const running = new Map<string, AbortController>();\n const openTool = languageServerOpenOperation(options.adapterId);\n const questionCommand = (runId: string): string => `${options.pluginId}.solution-question:${runId}`;\n\n const marked = (runId: string): boolean => options.runtime().view(runId).pluginStates\n .some((entry) => entry.pluginId === options.pluginId && entry.scope.kind === \"run\");\n\n const load = async (runId: string, path: string, ifNoneOpen: boolean, signal: AbortSignal): Promise<void> => {\n await options.sandbox().execute(runId, openTool, { root: path, ifNoneOpen }, { signal });\n };\n\n const answered = async (runId: string, coordinatorId: string, choices: readonly string[], answer: string, signal: AbortSignal) => {\n const outcome = solutionAnswer(choices, answer);\n if (outcome.kind === \"open\") return load(runId, outcome.path, false, signal);\n if (outcome.kind === \"none\") return;\n const runtime = options.runtime();\n runtime.enqueueInput(\n { actorId: runtime.state(runId).ownerId, commandId: `${options.pluginId}.solution-answer:${runId}` },\n runId,\n { actorId: coordinatorId, content: `Antwort auf die Frage: ${SOLUTION_QUESTION}\\nAntwort: ${answer}\\n${openTool} l\u00E4dt eine Solution.` },\n );\n };\n\n const begin = async (runId: string, ownerId: string, coordinatorId: string, signal: AbortSignal): Promise<{ rest: Promise<void> }> => {\n const listing = await options.sandbox().execute(runId, languageServerSolutionsOperation(options.adapterId), null, { signal }) as LanguageServerSolutions;\n const step = solutionStartStep(listing);\n if (step.kind === \"none\") return { rest: Promise.resolve() };\n if (step.kind === \"open\") return { rest: load(runId, step.path, true, signal) };\n const answer = options.ask().ask(\n { runId, agentId: ownerId, turnId: null, commandId: questionCommand(runId) },\n {\n question: SOLUTION_QUESTION,\n description: \"Im Arbeitsbereich liegen mehrere Solutions; die gew\u00E4hlte l\u00E4dt Roslyn f\u00FCr die Diagnostik ohne Build.\",\n options: [...step.options],\n recipient: coordinatorId,\n },\n signal,\n );\n return { rest: answer.then((text) => answered(runId, coordinatorId, step.options, text, signal)) };\n };\n\n const finish = (runId: string, controller: AbortController, error?: unknown): void => {\n if (error !== undefined && !controller.signal.aborted) {\n console.error(`${options.pluginId}: Solution beim Start von ${runId} nicht geladen: ${messageOf(error)}`);\n }\n if (running.get(runId) === controller) running.delete(runId);\n };\n\n const stop = ({ runId }: { runId: string }): void => {\n running.get(runId)?.abort(new Error(\"Der Run wurde gestoppt\"));\n running.delete(runId);\n };\n\n const opened = (runId: string): void => {\n try {\n const proposed = options.runtime().events(runId).find((event) =>\n event.type === \"action.proposed\" && event.commandId === questionCommand(runId));\n if (proposed?.type === \"action.proposed\") options.ask().withdraw(runId, proposed.payload.actionId);\n } catch (error) {\n console.error(`${options.pluginId}: Startfrage von ${runId} nicht verworfen: ${messageOf(error)}`);\n }\n };\n\n const lifecycle: SessionLifecycleContribution = {\n id: `${options.pluginId}.solution-on-start`,\n sessionStarted: async ({ runId, startEntry }) => {\n if (marked(runId)) return;\n const runtime = options.runtime();\n const { ownerId, primaryActorId } = runtime.state(runId);\n runtime.replacePluginState(\n { actorId: ownerId, commandId: `${options.pluginId}.solution-on-start:${runId}` },\n runId,\n { pluginId: options.pluginId, scope: { kind: \"run\" }, state: { version: 1, startEntry: startEntry?.id ?? null } },\n );\n if (startEntry?.action === \"script\") return;\n if (!primaryActorId) throw new Error(`Der Run ${runId} hat beim Start keinen Koordinator, dem eine Antwort zugehen k\u00F6nnte`);\n const controller = new AbortController();\n running.set(runId, controller);\n try {\n const { rest } = await begin(runId, ownerId, primaryActorId, controller.signal);\n void rest.then(() => finish(runId, controller), (error: unknown) => finish(runId, controller, error));\n } catch (error) {\n finish(runId, controller, error);\n }\n },\n stopSession: stop,\n deleteSession: stop,\n };\n return { lifecycle, opened };\n};\n", "import { stat } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { ROSLYN_SERVER_FILE } from \"@ragents/workspace-executor\";\nimport {\n DOTNET_INSTRUCTION,\n downloadArchive,\n dotnetRuntimeMajors,\n provisionGap,\n provisionReady,\n readProvisionStamp,\n unpackArchive,\n writeProvisionStamp,\n type ArchiveDownload,\n type PluginProvision,\n type ProvisionState,\n} from \"@ragents/host/plugin-support/provision.js\";\n\nexport const ROSLYN_VERSION = \"5.4.0-2.26179.14\";\n\nconst FEED = \"https://pkgs.dev.azure.com/azure-public/vside/_packaging/vs-impl/nuget/v3/flat2\";\nconst PACKAGE = \"microsoft.codeanalysis.languageserver.neutral\";\nconst PREFIX = \"content/LanguageServer/neutral/\";\n\nexport const roslynArchiveUrl = `${FEED}/${PACKAGE}/${ROSLYN_VERSION}/${PACKAGE}.${ROSLYN_VERSION}.nupkg`;\n\nexport const createRoslynProvision = (\n download: ArchiveDownload = downloadArchive,\n runtimes: () => Promise<readonly number[] | undefined> = dotnetRuntimeMajors,\n): PluginProvision => {\n const serverFile = (target: string): string => path.join(target, ...ROSLYN_SERVER_FILE.split(\"/\"));\n const check = async (target: string): Promise<ProvisionState> => {\n if (await runtimes() === undefined) return provisionGap(\"dotnet\", DOTNET_INSTRUCTION, false);\n const installed = await stat(serverFile(target)).catch(() => undefined);\n if (installed?.isFile() && await readProvisionStamp(target) === ROSLYN_VERSION) return provisionReady;\n return provisionGap(\"roslyn\", `Microsoft.CodeAnalysis.LanguageServer ${ROSLYN_VERSION} fehlt unter ${serverFile(target)}`, true);\n };\n return {\n check,\n apply: async (target, log) => {\n const state = await check(target);\n if (state.kind === \"ready\") return;\n if (!state.installable) throw new Error(state.instruction);\n log(`Roslyn ${ROSLYN_VERSION} laden`);\n const files = await unpackArchive(await download(roslynArchiveUrl), PREFIX, target, \"roslyn\");\n if (!(await stat(serverFile(target)).catch(() => undefined))?.isFile()) {\n throw new Error(`Das Paket ${PACKAGE} ${ROSLYN_VERSION} enth\u00E4lt ${ROSLYN_SERVER_FILE} nicht`);\n }\n await writeProvisionStamp(target, ROSLYN_VERSION);\n log(`${files} Dateien nach ${path.join(target, \"roslyn\")}`);\n },\n };\n};\n\nexport const provision = createRoslynProvision();\n"],
5
+ "mappings": "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",
6
+ "names": ["path"]
7
+ }
@@ -0,0 +1 @@
1
+ ["aria-hidden","className","const","export","font-bold","font-mono","from","function","import","languageServerWebPlugin","lsp-roslyn","return","text-[12px]","true","webPlugin"]
@@ -0,0 +1,2 @@
1
+ var e=(r,t)=>{let n=globalThis.__ragentsHostModules?.[r];if(n===void 0)throw new Error(`Der Host stellt ${r} nicht bereit`);if(!(t in n))throw new Error(`Der Host stellt ${t} aus ${r} nicht bereit; das Bundle ist gegen einen neueren Host gebaut`);return n[t]};var o=e("@ragents/web/language-server/language-server-plugin","languageServerWebPlugin");var a=e("react/jsx-runtime","jsx");var c=o("ragents.lsp-roslyn",s);function s(){return a("span",{"aria-hidden":"true",className:"font-mono text-[12px] font-bold",children:"C#"})}export{c as webPlugin};
2
+ //# sourceMappingURL=/plugins/ragents.lsp-roslyn/web/index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["ragents-host-read:read", "ragents-host-value:@ragents/web/language-server/language-server-plugin#languageServerWebPlugin", "ragents-host-value:react/jsx-runtime#jsx", "../../../plugins/ragents.lsp-roslyn/web/index.tsx"],
4
+ "sourcesContent": ["export const read = (specifier, name) => {\n const module = globalThis[\"__ragentsHostModules\"]?.[specifier];\n if (module === undefined) throw new Error(`Der Host stellt ${specifier} nicht bereit`);\n if (!(name in module)) throw new Error(`Der Host stellt ${name} aus ${specifier} nicht bereit; das Bundle ist gegen einen neueren Host gebaut`);\n return module[name];\n};", "import { read } from \"ragents-host-read:read\";\nexport default read(\"@ragents/web/language-server/language-server-plugin\", \"languageServerWebPlugin\");\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"react/jsx-runtime\", \"jsx\");\n", "import { languageServerWebPlugin } from \"@ragents/web/language-server/language-server-plugin\";\n\nexport const webPlugin = languageServerWebPlugin(\"ragents.lsp-roslyn\", LanguageIcon);\n\nfunction LanguageIcon() {\n return <span aria-hidden=\"true\" className=\"font-mono text-[12px] font-bold\">C#</span>;\n}\n"],
5
+ "mappings": "AAAO,IAAMA,EAAO,CAACC,EAAWC,IAAS,CACvC,IAAMC,EAAS,WAAW,uBAA0BF,CAAS,EAC7D,GAAIE,IAAW,OAAW,MAAM,IAAI,MAAM,mBAAmBF,CAAS,eAAe,EACrF,GAAI,EAAEC,KAAQC,GAAS,MAAM,IAAI,MAAM,mBAAmBD,CAAI,QAAQD,CAAS,+DAA+D,EAC9I,OAAOE,EAAOD,CAAI,CACpB,ECJA,IAAOE,EAAQC,EAAK,sDAAuD,yBAAyB,ECApG,IAAOC,EAAQC,EAAK,oBAAqB,KAAK,ECCvC,IAAMC,EAAYC,EAAwB,qBAAsBC,CAAY,EAEnF,SAASA,GAAe,CACtB,OAAOC,EAAC,QAAK,cAAY,OAAO,UAAU,kCAAkC,cAAE,CAChF",
6
+ "names": ["read", "specifier", "name", "module", "language_server_plugin_languageServerWebPlugin_default", "read", "jsx_runtime_jsx_default", "read", "webPlugin", "language_server_plugin_languageServerWebPlugin_default", "LanguageIcon", "jsx_runtime_jsx_default"]
7
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "format": 3,
3
+ "id": "ragents.lsp-typescript",
4
+ "api": 6,
5
+ "hostNames": {
6
+ "server": {
7
+ "@ragents/host/plugin-support/language-server/plugin": [
8
+ "createLanguageServerPlugin"
9
+ ],
10
+ "@ragents/workspace-executor": [
11
+ "typescriptAdapter"
12
+ ]
13
+ },
14
+ "web": {
15
+ "@ragents/web/language-server/language-server-plugin": [
16
+ "languageServerWebPlugin"
17
+ ],
18
+ "react/jsx-runtime": [
19
+ "jsx"
20
+ ]
21
+ }
22
+ },
23
+ "stand": "b808c9dcfbf9f8a766b8704e6ff5284057a5f36d44726eb2a365fc0a9fff0448",
24
+ "sourceStand": "13dc48c6cb6e42487d03f0cd916a893071b9b48702777a3e4fda8fbb8cf76f2e",
25
+ "server": "server/index.js",
26
+ "web": {
27
+ "entry": "web/index.js",
28
+ "classes": "web/classes.json"
29
+ },
30
+ "exports": {
31
+ "server": {},
32
+ "web": {}
33
+ },
34
+ "uses": [],
35
+ "assets": []
36
+ }
@@ -0,0 +1,13 @@
1
+ import { createRequire as __ragentsCreateRequire } from "node:module";
2
+ const require = __ragentsCreateRequire(import.meta.url);
3
+
4
+ // server/index.ts
5
+ import { typescriptAdapter } from "@ragents/workspace-executor";
6
+ import { createLanguageServerPlugin } from "@ragents/host/plugin-support/language-server/plugin.js";
7
+ var plugin = {
8
+ create: () => createLanguageServerPlugin({ id: "ragents.lsp-typescript", adapter: typescriptAdapter })
9
+ };
10
+ export {
11
+ plugin
12
+ };
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../plugins/ragents.lsp-typescript/server/index.ts"],
4
+ "sourcesContent": ["import { typescriptAdapter } from \"@ragents/workspace-executor\";\nimport { createLanguageServerPlugin } from \"@ragents/host/plugin-support/language-server/plugin.js\";\nimport type { PluginModule } from \"@ragents/host/plugin-support/plugin-module.js\";\n\nexport const plugin: PluginModule = {\n create: () => createLanguageServerPlugin({ id: \"ragents.lsp-typescript\", adapter: typescriptAdapter }),\n};\n"],
5
+ "mappings": ";;;;AAAA,SAAS,yBAAyB;AAClC,SAAS,kCAAkC;AAGpC,IAAM,SAAuB;AAAA,EAClC,QAAQ,MAAM,2BAA2B,EAAE,IAAI,0BAA0B,SAAS,kBAAkB,CAAC;AACvG;",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ ["aria-hidden","className","const","export","font-bold","font-mono","from","function","import","languageServerWebPlugin","lsp-typescript","return","text-[12px]","true","webPlugin"]
@@ -0,0 +1,2 @@
1
+ var e=(r,t)=>{let n=globalThis.__ragentsHostModules?.[r];if(n===void 0)throw new Error(`Der Host stellt ${r} nicht bereit`);if(!(t in n))throw new Error(`Der Host stellt ${t} aus ${r} nicht bereit; das Bundle ist gegen einen neueren Host gebaut`);return n[t]};var o=e("@ragents/web/language-server/language-server-plugin","languageServerWebPlugin");var a=e("react/jsx-runtime","jsx");var c=o("ragents.lsp-typescript",s);function s(){return a("span",{"aria-hidden":"true",className:"font-mono text-[12px] font-bold",children:"TS"})}export{c as webPlugin};
2
+ //# sourceMappingURL=/plugins/ragents.lsp-typescript/web/index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["ragents-host-read:read", "ragents-host-value:@ragents/web/language-server/language-server-plugin#languageServerWebPlugin", "ragents-host-value:react/jsx-runtime#jsx", "../../../plugins/ragents.lsp-typescript/web/index.tsx"],
4
+ "sourcesContent": ["export const read = (specifier, name) => {\n const module = globalThis[\"__ragentsHostModules\"]?.[specifier];\n if (module === undefined) throw new Error(`Der Host stellt ${specifier} nicht bereit`);\n if (!(name in module)) throw new Error(`Der Host stellt ${name} aus ${specifier} nicht bereit; das Bundle ist gegen einen neueren Host gebaut`);\n return module[name];\n};", "import { read } from \"ragents-host-read:read\";\nexport default read(\"@ragents/web/language-server/language-server-plugin\", \"languageServerWebPlugin\");\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"react/jsx-runtime\", \"jsx\");\n", "import { languageServerWebPlugin } from \"@ragents/web/language-server/language-server-plugin\";\n\nexport const webPlugin = languageServerWebPlugin(\"ragents.lsp-typescript\", LanguageIcon);\n\nfunction LanguageIcon() {\n return <span aria-hidden=\"true\" className=\"font-mono text-[12px] font-bold\">TS</span>;\n}\n"],
5
+ "mappings": "AAAO,IAAMA,EAAO,CAACC,EAAWC,IAAS,CACvC,IAAMC,EAAS,WAAW,uBAA0BF,CAAS,EAC7D,GAAIE,IAAW,OAAW,MAAM,IAAI,MAAM,mBAAmBF,CAAS,eAAe,EACrF,GAAI,EAAEC,KAAQC,GAAS,MAAM,IAAI,MAAM,mBAAmBD,CAAI,QAAQD,CAAS,+DAA+D,EAC9I,OAAOE,EAAOD,CAAI,CACpB,ECJA,IAAOE,EAAQC,EAAK,sDAAuD,yBAAyB,ECApG,IAAOC,EAAQC,EAAK,oBAAqB,KAAK,ECCvC,IAAMC,EAAYC,EAAwB,yBAA0BC,CAAY,EAEvF,SAASA,GAAe,CACtB,OAAOC,EAAC,QAAK,cAAY,OAAO,UAAU,kCAAkC,cAAE,CAChF",
6
+ "names": ["read", "specifier", "name", "module", "language_server_plugin_languageServerWebPlugin_default", "read", "jsx_runtime_jsx_default", "read", "webPlugin", "language_server_plugin_languageServerWebPlugin_default", "LanguageIcon", "jsx_runtime_jsx_default"]
7
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "format": 3,
3
+ "id": "ragents.model-relay",
4
+ "api": 6,
5
+ "hostNames": {
6
+ "server": {
7
+ "@ragents/host/plugin-support/http": [
8
+ "PayloadTooLargeError",
9
+ "readBody",
10
+ "writeJson"
11
+ ],
12
+ "@ragents/host/plugin-support/model-aliases": [
13
+ "configuredModelAliases"
14
+ ],
15
+ "@ragents/host/plugin-support/model-upstreams": [
16
+ "modelUpstreamsToken"
17
+ ],
18
+ "@ragents/host/protocol": [
19
+ "Protocol"
20
+ ]
21
+ },
22
+ "web": {}
23
+ },
24
+ "stand": "b490de948673e6cf227a3ec4fbff5d4abe86b44c4eb26effa552dfbad803ae9a",
25
+ "sourceStand": "26a30dcdedbbf1e4c7e5f8a083fe15cfb7fd4fe486adfc20c0193ffd2bd83810",
26
+ "server": "server/index.js",
27
+ "exports": {
28
+ "server": {},
29
+ "web": {}
30
+ },
31
+ "uses": [],
32
+ "assets": []
33
+ }
@@ -0,0 +1,230 @@
1
+ import { createRequire as __ragentsCreateRequire } from "node:module";
2
+ const require = __ragentsCreateRequire(import.meta.url);
3
+
4
+ // server/index.ts
5
+ import { modelUpstreamsToken } from "@ragents/host/plugin-support/model-upstreams.js";
6
+ import { Protocol } from "@ragents/host/protocol.js";
7
+
8
+ // server/config.ts
9
+ import { configuredModelAliases } from "@ragents/host/plugin-support/model-aliases.js";
10
+ var relayAliases = (aliases) => {
11
+ if (aliases.length === 0) throw new Error('ragents.model-relay braucht MODEL_ALIASES im Abschnitt host; erwartet wird eine Liste "alias=anbieter/modell"');
12
+ return aliases;
13
+ };
14
+ var modelRelayConfig = Object.freeze({
15
+ aliases: () => relayAliases(configuredModelAliases())
16
+ });
17
+
18
+ // server/relay.ts
19
+ import { Readable } from "node:stream";
20
+ import { pipeline } from "node:stream/promises";
21
+ import { PayloadTooLargeError, readBody, writeJson } from "@ragents/host/plugin-support/http.js";
22
+ var RELAY_PATH_PREFIX = "/relay/v1";
23
+ var RELAY_RIGHT = "models.use";
24
+ var MAX_REQUEST_BYTES = 64 * 1024 * 1024;
25
+ var MAX_SCAN_BYTES = 8 * 1024 * 1024;
26
+ var DROPPED_HEADERS = /* @__PURE__ */ new Set(["host", "authorization", "cookie", "content-length", "connection", "transfer-encoding", "accept-encoding", "expect"]);
27
+ var resolveAliases = (aliases, upstreams) => aliases.map((entry) => {
28
+ const upstream = upstreams.find((candidate) => candidate.id === entry.upstream);
29
+ if (!upstream) {
30
+ const available = upstreams.map((candidate) => candidate.id).join(", ") || "keiner";
31
+ throw new Error(`MODEL_ALIASES: der Anbieter ${entry.upstream} hinter ${entry.alias} ist auf diesem Server nicht konfiguriert (verf\xFCgbar: ${available})`);
32
+ }
33
+ const model = upstream.models.find((candidate) => candidate.id === entry.model);
34
+ if (!model) throw new Error(`MODEL_ALIASES: das Modell ${entry.model} hinter ${entry.alias} fehlt im Katalog von ${entry.upstream}`);
35
+ return { alias: entry.alias, upstream, model };
36
+ });
37
+ var catalogEntryOf = (resolved) => ({
38
+ id: resolved.alias,
39
+ object: "model",
40
+ owned_by: "relay",
41
+ catalog: {
42
+ reasoning: resolved.model.reasoning,
43
+ ...resolved.model.thinkingLevelMap ? { thinkingLevelMap: resolved.model.thinkingLevelMap } : {},
44
+ input: [...resolved.model.input],
45
+ contextWindow: resolved.model.contextWindow,
46
+ maxTokens: resolved.model.maxTokens,
47
+ ...resolved.model.compat ? { compat: resolved.model.compat } : {}
48
+ }
49
+ });
50
+ var responseRewriter = (alias) => {
51
+ const decoder = new TextDecoder();
52
+ let pending = "";
53
+ let usage;
54
+ let overflow = false;
55
+ const rewrite = (text) => {
56
+ let parsed;
57
+ try {
58
+ parsed = JSON.parse(text);
59
+ } catch {
60
+ return text;
61
+ }
62
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) return text;
63
+ const body = parsed;
64
+ if (body.usage && typeof body.usage === "object") {
65
+ const number = (value) => typeof value === "number" ? value : void 0;
66
+ usage = { prompt: number(body.usage.prompt_tokens), completion: number(body.usage.completion_tokens) };
67
+ }
68
+ if (typeof body.model !== "string" && body.provider === void 0) return text;
69
+ const rest = Object.fromEntries(Object.entries(body).filter(([key]) => key !== "provider"));
70
+ return JSON.stringify(typeof body.model === "string" ? { ...rest, model: alias } : rest);
71
+ };
72
+ const line = (text) => text.startsWith("data: ") ? `data: ${rewrite(text.slice(6))}` : text;
73
+ return {
74
+ feed: (chunk) => {
75
+ const text = decoder.decode(chunk, { stream: true });
76
+ if (overflow) return text;
77
+ pending += text;
78
+ const lines = pending.split("\n");
79
+ pending = lines.pop() ?? "";
80
+ const forwarded = lines.map((entry) => `${line(entry)}
81
+ `).join("");
82
+ if (pending.length <= MAX_SCAN_BYTES) return forwarded;
83
+ overflow = true;
84
+ const remainder = pending;
85
+ pending = "";
86
+ return `${forwarded}${remainder}`;
87
+ },
88
+ finish: () => {
89
+ const rest = overflow || !pending.trim() ? pending : pending.startsWith("data: ") ? line(pending) : rewrite(pending);
90
+ pending = "";
91
+ return rest;
92
+ },
93
+ usage: () => usage
94
+ };
95
+ };
96
+ var openAiError = (message, type) => ({ error: { message, type } });
97
+ var forwardedHeaders = (request, apiKey) => {
98
+ const headers = {};
99
+ for (const [name, value] of Object.entries(request.headers)) {
100
+ if (DROPPED_HEADERS.has(name) || value === void 0) continue;
101
+ headers[name] = Array.isArray(value) ? value.join(", ") : value;
102
+ }
103
+ headers["content-type"] = "application/json";
104
+ headers.authorization = `Bearer ${apiKey}`;
105
+ return headers;
106
+ };
107
+ var modelsPath = `${RELAY_PATH_PREFIX}/models`;
108
+ var completionsPath = `${RELAY_PATH_PREFIX}/chat/completions`;
109
+ var createRelayRoutes = (options) => {
110
+ const fetchImpl = options.fetch ?? fetch;
111
+ return [
112
+ {
113
+ id: "ragents.model-relay.models",
114
+ isApiPath: (pathname) => pathname.startsWith(`${RELAY_PATH_PREFIX}/`),
115
+ matches: (request, url) => request.method === "GET" && url.pathname === modelsPath,
116
+ requiredRights: [RELAY_RIGHT],
117
+ handle: ({ response }) => {
118
+ writeJson(response, 200, { object: "list", data: options.aliases().map(catalogEntryOf) });
119
+ }
120
+ },
121
+ {
122
+ id: "ragents.model-relay.completions",
123
+ isApiPath: (pathname) => pathname.startsWith(`${RELAY_PATH_PREFIX}/`),
124
+ matches: (request, url) => request.method === "POST" && url.pathname === completionsPath,
125
+ requiredRights: [RELAY_RIGHT],
126
+ handle: async ({ request, response, access }) => {
127
+ const user = access.user?.id ?? "anonym";
128
+ let text;
129
+ try {
130
+ text = await readBody(request, MAX_REQUEST_BYTES);
131
+ } catch (error) {
132
+ if (!(error instanceof PayloadTooLargeError)) throw error;
133
+ writeJson(response, 413, openAiError(error.message, "invalid_request_error"));
134
+ return;
135
+ }
136
+ let parsed;
137
+ try {
138
+ parsed = JSON.parse(text);
139
+ } catch {
140
+ parsed = void 0;
141
+ }
142
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
143
+ writeJson(response, 400, openAiError("Der Anfragek\xF6rper ist kein JSON-Objekt", "invalid_request_error"));
144
+ return;
145
+ }
146
+ const alias = parsed.model;
147
+ if (typeof alias !== "string" || !alias) {
148
+ writeJson(response, 400, openAiError("Die Anfrage nennt kein Modell", "invalid_request_error"));
149
+ return;
150
+ }
151
+ const resolved = options.aliases().find((candidate) => candidate.alias === alias);
152
+ if (!resolved) {
153
+ writeJson(response, 404, openAiError(`Das Modell ${alias} ist auf diesem Relay unbekannt`, "invalid_request_error"));
154
+ return;
155
+ }
156
+ const controller = new AbortController();
157
+ response.once("close", () => controller.abort());
158
+ const target = `${resolved.upstream.baseUrl}/chat/completions`;
159
+ let upstream;
160
+ try {
161
+ upstream = await fetchImpl(target, {
162
+ method: "POST",
163
+ headers: forwardedHeaders(request, resolved.upstream.apiKey),
164
+ body: JSON.stringify({ ...parsed, model: resolved.model.id }),
165
+ signal: controller.signal
166
+ });
167
+ } catch (error) {
168
+ if (controller.signal.aborted) return;
169
+ const reason = error instanceof Error ? error.message : String(error);
170
+ options.log(`${user} ${alias} -> ${resolved.upstream.id}/${resolved.model.id}: nicht erreichbar (${reason})`);
171
+ writeJson(response, 502, openAiError(`Der Anbieter hinter ${alias} ist nicht erreichbar`, "server_error"));
172
+ return;
173
+ }
174
+ response.writeHead(upstream.status, {
175
+ "Content-Type": upstream.headers.get("content-type") ?? "application/octet-stream",
176
+ "Cache-Control": "no-store"
177
+ });
178
+ const rewriter = responseRewriter(alias);
179
+ if (upstream.body) {
180
+ const source = Readable.fromWeb(upstream.body);
181
+ try {
182
+ await pipeline(source, async function* (chunks) {
183
+ for await (const chunk of chunks) {
184
+ const forwarded = rewriter.feed(chunk);
185
+ if (forwarded) yield forwarded;
186
+ }
187
+ const rest = rewriter.finish();
188
+ if (rest) yield rest;
189
+ }, response);
190
+ } catch (error) {
191
+ if (!controller.signal.aborted) throw error;
192
+ }
193
+ } else {
194
+ response.end();
195
+ }
196
+ const usage = rewriter.usage();
197
+ const tokens = usage ? ` tokens in=${usage.prompt ?? "?"} out=${usage.completion ?? "?"}` : "";
198
+ options.log(`${user} ${alias} -> ${resolved.upstream.id}/${resolved.model.id}: ${upstream.status}${tokens}`);
199
+ }
200
+ }
201
+ ];
202
+ };
203
+
204
+ // server/index.ts
205
+ var modelRelayPlugin = {
206
+ manifest: { id: "ragents.model-relay" },
207
+ register: (host) => {
208
+ const upstreams = host.service(modelUpstreamsToken);
209
+ let resolved;
210
+ const aliases = () => resolved ??= resolveAliases(modelRelayConfig.aliases(), upstreams());
211
+ const log = new Protocol(host.storage.root("relay.log"));
212
+ host.lifecycle({
213
+ id: "ragents.model-relay",
214
+ initialize: () => {
215
+ const list = aliases();
216
+ log.write(`=== Start: ${list.map((entry) => `${entry.alias}=${entry.upstream.id}/${entry.model.id}`).join(", ")} ===`);
217
+ console.log(`Modell-Relay: ${list.length} Aliasse unter /relay/v1 (${list.map((entry) => entry.alias).join(", ")})`);
218
+ },
219
+ shutdown: () => log.close()
220
+ });
221
+ host.http(...createRelayRoutes({ aliases, log: (line) => log.write(line) }));
222
+ }
223
+ };
224
+ var plugin = {
225
+ create: () => modelRelayPlugin
226
+ };
227
+ export {
228
+ plugin
229
+ };
230
+ //# sourceMappingURL=index.js.map