@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,12 @@
1
+ ---
2
+ name: 75-lsp-demo
3
+ start: true
4
+ disable-model-invocation: true
5
+ title: "Fehler in C# und TypeScript finden"
6
+ description: "Zeigt echte Sprachdiagnosen in C# und TypeScript und wie die gemeldeten Fehler nach ihrer Korrektur verschwinden."
7
+ category: "Code und Diagnose"
8
+ order: 75
9
+ tags: "Konzeptdemo, Sprachprüfung"
10
+ ---
11
+
12
+ Ich hätte gern eine kleine Vorführung der eingebauten Sprachprüfung: Lege zwei winzige Wegwerf-Projekte an, eines in C# und eines in TypeScript, und baue in beide einen absichtlichen Fehler ein. Zeig mir, wie die Sprachprüfung die Fehler findet und was sie genau meldet. Danach behebst Du beide Fehler, zeigst, dass nichts mehr angemeckert wird, und räumst die Projekte wieder weg.
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: 80-actor-text-analysis
3
+ start: true
4
+ disable-model-invocation: true
5
+ title: "Zeichen, Wörter und Zeilen zählen"
6
+ description: "Zeigt, wie Chat und Mini-App dieselbe TypeScript-Funktion und denselben Aufrufzähler nutzen. Ausblenden erhält den Actor-Zustand."
7
+ category: "Mini-Apps"
8
+ order: 10
9
+ tags: "Anwendungsfall, Konzeptdemo, TypeScript-Actors, Actor-Funktionen, Actor-Zustand, Mini-Apps, Automatische View-Platzierung, View-Sichtbarkeit"
10
+ ---
11
+
12
+ Ich hätte gern eine Textanalyse mit Textfeld, Zählknopf und verständlichen Fehlern. Ein TypeScript-Actor zählt Zeichen, Wörter, Zeilen und seine Aufrufe ohne KI. Prüfe "Die Welt ist groß." und "Und schön." als zwei Zeilen: 6 Wörter. Die Oberfläche zeigt denselben Aufrufzähler. Blende sie aus und wieder ein; der Zustand bleibt. Nutze gemeinsame Layout- und Formularbausteine: Eingabe und Ergebnis nebeneinander, bei wenig Platz untereinander.
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: 90-actor-notes
3
+ start: true
4
+ disable-model-invocation: true
5
+ title: "Notizen ausblenden und wiederfinden"
6
+ description: "Zeigt eine automatisch platzierte Mini-App mit Notizauswahl. Beim Ausblenden und Wiederanzeigen bleiben Actor und Notizen erhalten."
7
+ category: "Mini-Apps"
8
+ order: 90
9
+ tags: "Anwendungsfall, Konzeptdemo, TypeScript-Actors, Actor-Funktionen, Actor-Zustand, Mini-Apps, Automatische View-Platzierung, View-Sichtbarkeit"
10
+ ---
11
+
12
+ Ich hätte gern einen TypeScript-Actor für meine Notizen. Seine Oberfläche mit Eingabe und Zähler soll von selbst auf der Fläche erscheinen: links eine durchsuchbare Titelliste, rechts die ausgewählte Notiz. Ergänze eine erste Notiz über seine Funktion. Blende die Oberfläche kurz aus und wieder ein, ohne den Actor zu löschen oder Notizen zurückzusetzen. Lass sie zum Eintragen meiner nächsten Idee offen.
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: 95-hello-world
3
+ start: true
4
+ disable-model-invocation: true
5
+ title: "Hallo Welt auf der Fläche"
6
+ description: "Zeigt den kleinsten Aufbau einer Mini-App am vorhandenen Actor: eine reine Anzeige ohne neuen Actor oder Serverfunktion."
7
+ category: "Mini-Apps"
8
+ order: 5
9
+ tags: "Konzeptdemo, Mini-Apps"
10
+ ---
11
+
12
+ Ich hätte gern an Deinem vorhandenen Actor eine kleine Oberfläche auf der Fläche, die einfach nur Hallo Welt sagt. Sie soll sonst nichts tun. Lege dafür keinen neuen Actor und keine Serverfunktion an.
@@ -0,0 +1,33 @@
1
+ ---
2
+ start: true
3
+ title: "Entscheidung klären"
4
+ category: "Zusammenarbeit"
5
+ prompt: "Ich hätte gern Hilfe dabei, eine offene Entscheidung zu klären und den nächsten Schritt festzuhalten."
6
+ order: 20
7
+ tags: "Anwendungsfall, Konzeptdemo, Skills"
8
+ name: decision-brief
9
+ description: "Zeigt, wie eine wiederverwendbare Skill-Anleitung eine Entscheidung im Chat von Kriterien zur Auswahl führt, ohne zusätzliche Actors oder Scripts anzulegen."
10
+ ---
11
+
12
+ # Entscheidung klären
13
+
14
+ Nutze diesen Ablauf für eine konkrete Alltags- oder Projektentscheidung. Er ist eine
15
+ Arbeitsanweisung für den Koordinator und erstellt keine zusätzlichen Agenten oder Scripts.
16
+
17
+ 1. Frage nach der Entscheidung, den bekannten Alternativen und der wichtigsten Einschränkung.
18
+ Fehlt noch der Gegenstand, beginne nur mit dieser Frage und beende den Turn bis zur Antwort.
19
+ Erfinde keine persönlichen Prioritäten. Als freiwilliges Beispiel eignet sich die Frage,
20
+ ob eine Nachbarschaftsveranstaltung drinnen oder draußen stattfinden soll.
21
+ 2. Formuliere die Entscheidung in einem Satz. Schlage höchstens drei überprüfbare Kriterien vor,
22
+ die zur Antwort passen. Lass den Benutzer fehlende Kriterien ergänzen oder Prioritäten ändern.
23
+ 3. Stelle die Alternativen in einer kurzen Tabelle gegenüber. Trenne bekannte Angaben und
24
+ Annahmen; bewerte unbekannte Kosten oder Eigenschaften nicht als Fakten. Externe Informationen
25
+ recherchierst du nur mit tatsächlich verfügbaren Werkzeugen und kennzeichnest ihre Quellen.
26
+ 4. Frage nach genau der offenen Information, die das Ergebnis am ehesten ändern würde.
27
+ Wenn der Benutzer ohne diese Information entscheiden will, halte die Unsicherheit fest.
28
+ 5. Schreibe nach seiner Auswahl einen kurzen Entscheidungsvermerk: Frage, Kriterien, gewählte
29
+ Option, verbleibende Unsicherheit und ein konkreter nächster Schritt. Die Entscheidung bleibt
30
+ beim Benutzer. Erkläre danach knapp, welche Schritte dieser wiederverwendbare Ablauf geführt hat.
31
+
32
+ Der Abschluss ist der Vermerk im Chat. Es wird nichts gebucht, verschickt oder außerhalb des
33
+ Gesprächs verändert. Behaupte keinen Abschluss, solange die Auswahl noch offen ist.
@@ -0,0 +1,33 @@
1
+ ---
2
+ start: true
3
+ title: "Lernziel in Etappen"
4
+ category: "Zusammenarbeit"
5
+ prompt: "Ich hätte gern eine kurze Lerneinheit mit einer passenden Übung und einem nächsten Lernschritt."
6
+ order: 30
7
+ tags: "Anwendungsfall, Konzeptdemo, Skills"
8
+ name: learning-sprint
9
+ description: "Zeigt, wie eine wiederverwendbare Skill-Anleitung eine Lerneinheit im Chat an tatsächliche Antworten anpasst, ohne zusätzliche Actors oder Scripts anzulegen."
10
+ ---
11
+
12
+ # Lernziel in Etappen
13
+
14
+ Nutze diesen Ablauf für eine kurze interaktive Lerneinheit. Er ist eine Arbeitsanweisung für
15
+ den Koordinator, kein vorgebautes Agententeam und keine automatische Bewertung einer Person.
16
+
17
+ 1. Frage nach dem Thema, einem konkreten Lernziel und der verfügbaren Zeit. Bei einem leeren
18
+ Einstieg frage zunächst nur nach dem Thema und warte auf die Antwort. Biete bei Bedarf
19
+ Prozentrechnung im Alltag oder das verständliche Erklären eines Fachbegriffs als Beispiele an.
20
+ 2. Stelle eine kleine Einstiegsaufgabe, die ohne Hilfsmittel lösbar ist. Gib die Lösung nicht
21
+ vor der Antwort preis. Überspringe diesen Schritt, wenn der Benutzer seinen Stand bereits
22
+ mit einem eigenen Beispiel gezeigt hat.
23
+ 3. Leite aus der tatsächlichen Antwort genau einen nächsten Übungsschritt ab. Erkläre das
24
+ benötigte Prinzip an einem neuen kurzen Beispiel. Kennzeichne Unsicherheit über Fachfragen;
25
+ erfinde keine Quellen oder Lernergebnisse.
26
+ 4. Stelle eine zweite Aufgabe mit verändertem Kontext. Warte wieder auf die Antwort. Gib
27
+ konkretes Feedback zur Lösung und bei Bedarf einen Hinweis vor der vollständigen Lösung.
28
+ 5. Fasse zusammen, was in diesen Antworten bereits gelang und was noch Übung braucht. Vereinbare
29
+ einen kleinen nächsten Schritt. Erkläre kurz, dass derselbe Ablauf auch für ein anderes
30
+ Lernziel verwendet werden kann.
31
+
32
+ Beende jeden Turn nach einer offenen Aufgabe. Keine erfundenen Benutzerantworten, keine
33
+ Noten oder Diagnosen aus einer einzelnen Antwort und kein automatisches Weitersenden.
@@ -0,0 +1 @@
1
+ ["[&>span]:font-semibold","[overflow-wrap:anywhere]","actionsClass","an","aria-label","auf","aus","autoFocus","autofrei","beginnt","beide","bg-secondary","bis","bringt","className","const","conversation-circle","count","dem","der","des","die","diesen","disabled","durch","eine","einem","erster","etwas","eure","export","fasst","fieldClass","firstEntry","flex","flex-wrap","formClass","from","function","gap-0","gap-2.5","gap-3.5","gap-5.5","gap-6","gap-[7px]","grid","grid-cols-2","grid-cols-3","guides","h-full","hintClass","id","if","ihr","import","in","introClass","justify-end","key","leading-[1.4]","leading-[1.5]","leading-[1.6]","length","list-decimal","max","max-sm:gap-2","max-sm:grid-cols-1","max-sm:p-4.5","max-w-25","max-w-[820px]","maxLength","mb-4.5","min","min-w-0","mit","mt-3","mt-5.5","mx-auto","nach","name","neugierig","number","oder","onChange","onClick","onComplete","onSubmit","outline","p-3.5","p-5","p-6","pl-5.5","pro","pt-2","react","reference","required","return","role","rounded-lg","rounds","rows","sein","seiner","setFirstEntry","setRounds","setTitle","setTopic","shared-actor-list","soll","starten","step","submit","text-[0.85rem]","text-[1.05rem]","text-foreground","text-muted-foreground","title","topic","type","und","unser","useState","valid","value","variant","webPlugin","whitespace-pre-wrap","wollt"]
@@ -0,0 +1,2 @@
1
+ var t=(l,n)=>{let a=globalThis.__ragentsHostModules?.[l];if(a===void 0)throw new Error(`Der Host stellt ${l} nicht bereit`);if(!(n in a))throw new Error(`Der Host stellt ${n} aus ${l} nicht bereit; das Bundle ist gegen einen neueren Host gebaut`);return a[n]};var d=t("react","useState");var m=t("@ragents/web/ui","Button");var b=t("@ragents/web/ui","Card");var i=t("@ragents/web/ui","Input");var p=t("@ragents/web/ui","Textarea");var e=t("react/jsx-runtime","jsx");var r=t("react/jsx-runtime","jsxs");var h="grid gap-5.5 mx-auto max-w-[820px] p-6 text-foreground max-sm:p-4.5",v="leading-[1.6] text-muted-foreground",x="grid min-w-0 gap-2.5 [&>span]:font-semibold",S="leading-[1.5] text-muted-foreground",C="flex flex-wrap justify-end gap-2.5 pt-2";function y({onCancel:l,onComplete:n}){let[a,g]=d("Sollten Innenst\xE4dte autofrei werden?"),[f,c]=d("2"),u=Number(f),s=a.trim().length>0&&Number.isInteger(u)&&u>=1&&u<=5;return r("form",{className:h,onSubmit:o=>{o.preventDefault(),s&&n({topic:a.trim(),rounds:u})},children:[e("p",{className:v,children:"Drei Perspektiven auf eine Frage. Der Koordinator f\xFChrt durch die Runde und fasst die Ergebnisse zusammen."}),r("label",{className:x,children:[e("span",{children:"Wor\xFCber soll die Runde sprechen?"}),e(p,{autoFocus:!0,maxLength:160,onChange:o=>g(o.target.value),required:!0,rows:3,value:a})]}),e("div",{"aria-label":"Gespr\xE4chspartner",className:"grid grid-cols-3 gap-3.5 max-sm:grid-cols-1 max-sm:gap-2",children:[{name:"Mira",role:"Fragt neugierig nach"},{name:"Jon",role:"Widerspricht h\xF6flich"},{name:"Ada",role:"Sucht Gemeinsamkeiten"}].map(o=>r("div",{className:"grid gap-[7px] rounded-lg bg-secondary p-3.5",children:[e("strong",{children:o.name}),e("span",{className:"text-[0.85rem] leading-[1.4] text-muted-foreground",children:o.role})]},o.name))}),r("label",{className:x,children:[e("span",{children:"Runden"}),e(i,{className:"max-w-25",max:5,min:1,onChange:o=>c(o.target.value),required:!0,step:1,type:"number",value:f}),e("small",{className:S,children:"1 bis 5 Runden, mit einem Beitrag pro Person und Runde."})]}),r("div",{className:C,children:[e(m,{onClick:l,variant:"outline",children:"Abbrechen"}),e(m,{disabled:!s,type:"submit",children:"Gespr\xE4ch starten"})]})]})}function w({onCancel:l,onComplete:n}){let[a,g]=d("Ideen f\xFCr unser Teamfr\xFChst\xFCck"),[f,c]=d("Jeder bringt etwas aus seiner Lieblingsk\xFCche mit."),u=a.trim().length>0&&f.trim().length>0;return r("form",{className:h,onSubmit:s=>{s.preventDefault(),u&&n({title:a.trim(),firstEntry:f.trim()})},children:[e("p",{className:v,children:"Sammelt Ideen, Fragen oder Aufgaben an einem Ort. Du erg\xE4nzt die Liste in seiner View, der Listenhelfer \xFCber sein Werkzeug."}),r("div",{className:"grid grid-cols-2 gap-6 max-sm:grid-cols-1",children:[r("div",{className:"grid min-w-0 gap-5.5",children:[r("label",{className:x,children:[e("span",{children:"Was wollt ihr sammeln?"}),e(i,{autoFocus:!0,maxLength:160,onChange:s=>g(s.target.value),required:!0,value:a})]}),r("label",{className:x,children:[e("span",{children:"Erster Eintrag"}),e(p,{maxLength:2e3,onChange:s=>c(s.target.value),required:!0,rows:5,value:f})]})]}),e("aside",{"aria-label":"Vorschau des Sammelboards",children:r(b,{className:"h-full gap-0 bg-secondary p-5 [overflow-wrap:anywhere]",children:[e("small",{className:S,children:"So beginnt eure Sammlung"}),e("h3",{className:"mt-3 mb-4.5 text-[1.05rem]",children:a.trim()||"Titel der Sammlung"}),e("ol",{className:"list-decimal pl-5.5 leading-[1.6] whitespace-pre-wrap",children:e("li",{children:f.trim()||"Dein erster Eintrag"})}),e("p",{className:"mt-5.5 text-[0.85rem] leading-[1.5] text-muted-foreground",children:"Der Listenhelfer tr\xE4gt diesen Eintrag nach dem Start ein. Danach k\xF6nnt ihr beide erg\xE4nzen."})]})})]}),r("div",{className:C,children:[e(m,{onClick:l,variant:"outline",children:"Abbrechen"}),e(m,{disabled:!u,type:"submit",children:"Sammelboard starten"})]})]})}var ee={id:"ragents.reference",guides:[{id:"ragents.reference.conversation-circle",Guide:y},{id:"ragents.reference.shared-actor-list",Guide:w}]};export{ee as webPlugin};
2
+ //# sourceMappingURL=/plugins/ragents.reference/web/index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["ragents-host-read:read", "ragents-host-value:react#useState", "ragents-host-value:@ragents/web/ui#Button", "ragents-host-value:@ragents/web/ui#Card", "ragents-host-value:@ragents/web/ui#Input", "ragents-host-value:@ragents/web/ui#Textarea", "ragents-host-value:react/jsx-runtime#jsx", "ragents-host-value:react/jsx-runtime#jsxs", "../../../plugins/ragents.reference/web/StartGuides.tsx", "../../../plugins/ragents.reference/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(\"react\", \"useState\");\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"@ragents/web/ui\", \"Button\");\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"@ragents/web/ui\", \"Card\");\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"@ragents/web/ui\", \"Input\");\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"@ragents/web/ui\", \"Textarea\");\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"react/jsx-runtime\", \"jsx\");\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"react/jsx-runtime\", \"jsxs\");\n", "import { useState } from \"react\";\nimport type { EntryGuideContext } from \"@ragents/web/PluginRegistry\";\nimport { Button, Card, Input, Textarea } from \"@ragents/web/ui\";\n\nconst formClass = \"grid gap-5.5 mx-auto max-w-[820px] p-6 text-foreground max-sm:p-4.5\";\nconst introClass = \"leading-[1.6] text-muted-foreground\";\nconst fieldClass = \"grid min-w-0 gap-2.5 [&>span]:font-semibold\";\nconst hintClass = \"leading-[1.5] text-muted-foreground\";\nconst actionsClass = \"flex flex-wrap justify-end gap-2.5 pt-2\";\n\nexport function ConversationGuide({ onCancel, onComplete }: EntryGuideContext) {\n const [topic, setTopic] = useState(\"Sollten Innenst\u00E4dte autofrei werden?\");\n const [rounds, setRounds] = useState(\"2\");\n const count = Number(rounds);\n const valid = topic.trim().length > 0 && Number.isInteger(count) && count >= 1 && count <= 5;\n\n return (\n <form className={formClass} onSubmit={(event) => {\n event.preventDefault();\n if (valid) onComplete({ topic: topic.trim(), rounds: count });\n }}>\n <p className={introClass}>Drei Perspektiven auf eine Frage. Der Koordinator f\u00FChrt durch die Runde und fasst die Ergebnisse zusammen.</p>\n <label className={fieldClass}>\n <span>Wor\u00FCber soll die Runde sprechen?</span>\n <Textarea autoFocus maxLength={160} onChange={(event) => setTopic(event.target.value)} required rows={3} value={topic} />\n </label>\n <div aria-label=\"Gespr\u00E4chspartner\" className=\"grid grid-cols-3 gap-3.5 max-sm:grid-cols-1 max-sm:gap-2\">\n {[\n { name: \"Mira\", role: \"Fragt neugierig nach\" },\n { name: \"Jon\", role: \"Widerspricht h\u00F6flich\" },\n { name: \"Ada\", role: \"Sucht Gemeinsamkeiten\" },\n ].map((partner) => (\n <div className=\"grid gap-[7px] rounded-lg bg-secondary p-3.5\" key={partner.name}>\n <strong>{partner.name}</strong>\n <span className=\"text-[0.85rem] leading-[1.4] text-muted-foreground\">{partner.role}</span>\n </div>\n ))}\n </div>\n <label className={fieldClass}>\n <span>Runden</span>\n <Input className=\"max-w-25\" max={5} min={1} onChange={(event) => setRounds(event.target.value)} required step={1} type=\"number\" value={rounds} />\n <small className={hintClass}>1 bis 5 Runden, mit einem Beitrag pro Person und Runde.</small>\n </label>\n <div className={actionsClass}>\n <Button onClick={onCancel} variant=\"outline\">Abbrechen</Button>\n <Button disabled={!valid} type=\"submit\">Gespr\u00E4ch starten</Button>\n </div>\n </form>\n );\n}\n\nexport function SharedBoardGuide({ onCancel, onComplete }: EntryGuideContext) {\n const [title, setTitle] = useState(\"Ideen f\u00FCr unser Teamfr\u00FChst\u00FCck\");\n const [firstEntry, setFirstEntry] = useState(\"Jeder bringt etwas aus seiner Lieblingsk\u00FCche mit.\");\n const valid = title.trim().length > 0 && firstEntry.trim().length > 0;\n\n return (\n <form className={formClass} onSubmit={(event) => {\n event.preventDefault();\n if (valid) onComplete({ title: title.trim(), firstEntry: firstEntry.trim() });\n }}>\n <p className={introClass}>Sammelt Ideen, Fragen oder Aufgaben an einem Ort. Du erg\u00E4nzt die Liste in seiner View, der Listenhelfer \u00FCber sein Werkzeug.</p>\n <div className=\"grid grid-cols-2 gap-6 max-sm:grid-cols-1\">\n <div className=\"grid min-w-0 gap-5.5\">\n <label className={fieldClass}>\n <span>Was wollt ihr sammeln?</span>\n <Input autoFocus maxLength={160} onChange={(event) => setTitle(event.target.value)} required value={title} />\n </label>\n <label className={fieldClass}>\n <span>Erster Eintrag</span>\n <Textarea maxLength={2000} onChange={(event) => setFirstEntry(event.target.value)} required rows={5} value={firstEntry} />\n </label>\n </div>\n <aside aria-label=\"Vorschau des Sammelboards\">\n <Card className=\"h-full gap-0 bg-secondary p-5 [overflow-wrap:anywhere]\">\n <small className={hintClass}>So beginnt eure Sammlung</small>\n <h3 className=\"mt-3 mb-4.5 text-[1.05rem]\">{title.trim() || \"Titel der Sammlung\"}</h3>\n <ol className=\"list-decimal pl-5.5 leading-[1.6] whitespace-pre-wrap\"><li>{firstEntry.trim() || \"Dein erster Eintrag\"}</li></ol>\n <p className=\"mt-5.5 text-[0.85rem] leading-[1.5] text-muted-foreground\">Der Listenhelfer tr\u00E4gt diesen Eintrag nach dem Start ein. Danach k\u00F6nnt ihr beide erg\u00E4nzen.</p>\n </Card>\n </aside>\n </div>\n <div className={actionsClass}>\n <Button onClick={onCancel} variant=\"outline\">Abbrechen</Button>\n <Button disabled={!valid} type=\"submit\">Sammelboard starten</Button>\n </div>\n </form>\n );\n}\n", "import type { WebPlugin } from \"@ragents/web/PluginRegistry\";\nimport { ConversationGuide, SharedBoardGuide } from \"./StartGuides\";\n\nexport const webPlugin: WebPlugin = {\n id: \"ragents.reference\",\n guides: [\n { id: \"ragents.reference.conversation-circle\", Guide: ConversationGuide },\n { id: \"ragents.reference.shared-actor-list\", Guide: SharedBoardGuide },\n ],\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["read", "specifier", "name", "module", "react_useState_default", "read", "ui_Button_default", "read", "ui_Card_default", "read", "ui_Input_default", "read", "ui_Textarea_default", "read", "jsx_runtime_jsx_default", "read", "jsx_runtime_jsxs_default", "read", "formClass", "introClass", "fieldClass", "hintClass", "actionsClass", "ConversationGuide", "onCancel", "onComplete", "topic", "setTopic", "react_useState_default", "rounds", "setRounds", "count", "valid", "jsx_runtime_jsxs_default", "event", "jsx_runtime_jsx_default", "ui_Textarea_default", "partner", "ui_Input_default", "ui_Button_default", "SharedBoardGuide", "title", "setTitle", "firstEntry", "setFirstEntry", "ui_Card_default", "webPlugin", "ConversationGuide", "SharedBoardGuide"]
7
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "format": 3,
3
+ "id": "ragents.todo",
4
+ "api": 6,
5
+ "hostNames": {
6
+ "server": {
7
+ "@ragents/engine": [
8
+ "DomainError",
9
+ "defineRunFunction",
10
+ "defineToolAvailability",
11
+ "holdsUsable"
12
+ ],
13
+ "@ragents/host/plugin-support/agent-tool": [
14
+ "toolDescriptorFrom"
15
+ ],
16
+ "typebox": [
17
+ "Type"
18
+ ]
19
+ },
20
+ "web": {
21
+ "@ragents/web/run-view": [
22
+ "actorPluginState",
23
+ "runActorFrom",
24
+ "runViewFrom"
25
+ ],
26
+ "@ragents/web/ui": [
27
+ "SectionLabel"
28
+ ],
29
+ "react/jsx-runtime": [
30
+ "jsx",
31
+ "jsxs"
32
+ ]
33
+ }
34
+ },
35
+ "stand": "3dd3347780b8ddbe369e9024096d5da94ba34cf37b1003b55e03e3cbc8cd4779",
36
+ "sourceStand": "645e499eed8fb1fb1848f82407f093c05acf7d0f217819910d53db047c1b19e0",
37
+ "server": "server/index.js",
38
+ "web": {
39
+ "entry": "web/index.js",
40
+ "classes": "web/classes.json"
41
+ },
42
+ "exports": {
43
+ "server": {},
44
+ "web": {}
45
+ },
46
+ "uses": [],
47
+ "assets": []
48
+ }
@@ -0,0 +1,108 @@
1
+ import { createRequire as __ragentsCreateRequire } from "node:module";
2
+ const require = __ragentsCreateRequire(import.meta.url);
3
+
4
+ // server/tool-contributor.ts
5
+ import { toolDescriptorFrom } from "@ragents/host/plugin-support/agent-tool.js";
6
+
7
+ // server/todo-tool.ts
8
+ import { Type } from "typebox";
9
+ import {
10
+ DomainError,
11
+ defineRunFunction,
12
+ defineToolAvailability,
13
+ holdsUsable
14
+ } from "@ragents/engine";
15
+
16
+ // contract.ts
17
+ var TODO_PLUGIN_ID = "ragents.todo";
18
+ var TODO_STATUS_INPUTS = ["open", "active", "completed", "pending", "in_progress", "done"];
19
+ var todoStatusOf = (value) => {
20
+ if (typeof value !== "string") return void 0;
21
+ switch (value.trim().toLowerCase()) {
22
+ case "open":
23
+ case "offen":
24
+ case "pending":
25
+ return "open";
26
+ case "active":
27
+ case "doing":
28
+ case "in_progress":
29
+ case "in arbeit":
30
+ case "running":
31
+ return "active";
32
+ case "completed":
33
+ case "done":
34
+ case "erledigt":
35
+ case "finished":
36
+ return "completed";
37
+ default:
38
+ return void 0;
39
+ }
40
+ };
41
+
42
+ // server/todo-tool.ts
43
+ var todoToolMetadata = {
44
+ name: "todo_replace",
45
+ label: "Replace To-do List",
46
+ description: "Replace this agent's complete to-do snapshot with its current progress.",
47
+ longDescription: "Mark an item completed only AFTER the work actually happened, never in advance; update the list as you go so at most one item is active."
48
+ };
49
+ var canManageTodos = defineToolAvailability({
50
+ availability: "conditional",
51
+ availabilityDetail: "Nur f\xFCr Agenten mit der Capability plugin.state.write."
52
+ }, (actor) => actor.kind === "agent" && holdsUsable(actor, "plugin.state.write"));
53
+ var checked = (todos) => {
54
+ const seen = /* @__PURE__ */ new Set();
55
+ return todos.map((todo, index) => {
56
+ const id = todo.id.trim();
57
+ const text = todo.text.trim();
58
+ const status = todoStatusOf(todo.status);
59
+ if (!id) throw new DomainError("invalid-todo", `todos[${index}].id ist leer.`, 400);
60
+ if (!text) throw new DomainError("invalid-todo", `todos[${index}].text ist leer.`, 400);
61
+ if (!status) throw new DomainError("invalid-todo", `todos[${index}].status ${todo.status} ist unbekannt.`, 400);
62
+ if (seen.has(id)) throw new DomainError("duplicate-todo-id", `To-do ID ${id} occurs more than once.`, 400);
63
+ seen.add(id);
64
+ return { id, text, status };
65
+ });
66
+ };
67
+ var createTodoTool = () => defineRunFunction({
68
+ ...todoToolMetadata,
69
+ schema: Type.Object({
70
+ todos: Type.Array(
71
+ Type.Object({
72
+ id: Type.String({ minLength: 1 }),
73
+ text: Type.String({ minLength: 1 }),
74
+ status: Type.Union(TODO_STATUS_INPUTS.map((value) => Type.Literal(value)), {
75
+ description: "open = offen, active = in Arbeit, completed = erledigt; pending, in_progress und done werden ebenfalls angenommen"
76
+ })
77
+ })
78
+ )
79
+ }),
80
+ resultSchema: Type.Null(),
81
+ available: canManageTodos,
82
+ run: ({ runtime, caller, context }, toolCallId, input) => {
83
+ runtime.replacePluginState(context(toolCallId), caller.runId, {
84
+ pluginId: TODO_PLUGIN_ID,
85
+ scope: { kind: "actor", actorId: caller.actorId },
86
+ state: { todos: checked(input.todos) }
87
+ });
88
+ return null;
89
+ }
90
+ });
91
+
92
+ // server/tool-contributor.ts
93
+ var createTodoToolContributor = () => ({
94
+ name: "ragents.todo",
95
+ descriptors: [toolDescriptorFrom(todoToolMetadata, canManageTodos)],
96
+ tools: () => [createTodoTool()]
97
+ });
98
+
99
+ // server/index.ts
100
+ var todoPlugin = {
101
+ manifest: { id: "ragents.todo" },
102
+ register: (host) => host.functions(createTodoToolContributor())
103
+ };
104
+ var plugin = { create: () => todoPlugin };
105
+ export {
106
+ plugin
107
+ };
108
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../plugins/ragents.todo/server/tool-contributor.ts", "../../../plugins/ragents.todo/server/todo-tool.ts", "../../../plugins/ragents.todo/contract.ts", "../../../plugins/ragents.todo/server/index.ts"],
4
+ "sourcesContent": ["import type { ToolContributor } from \"@ragents/engine\";\nimport { toolDescriptorFrom } from \"@ragents/host/plugin-support/agent-tool.js\";\nimport { canManageTodos, createTodoTool, todoToolMetadata } from \"./todo-tool.js\";\n\nexport const createTodoToolContributor = (): ToolContributor => ({\n name: \"ragents.todo\",\n descriptors: [toolDescriptorFrom(todoToolMetadata, canManageTodos)],\n tools: () => [createTodoTool()],\n});\n", "import { Type } from \"typebox\";\nimport {\n DomainError,\n defineRunFunction,\n defineToolAvailability,\n holdsUsable,\n type RunFunction,\n} from \"@ragents/engine\";\nimport { TODO_PLUGIN_ID, TODO_STATUS_INPUTS, todoStatusOf } from \"../contract.js\";\n\nexport const todoToolMetadata = {\n name: \"todo_replace\",\n label: \"Replace To-do List\",\n description: \"Replace this agent's complete to-do snapshot with its current progress.\",\n longDescription: \"Mark an item completed only AFTER the work actually happened, never in advance; \"\n + \"update the list as you go so at most one item is active.\",\n} as const;\n\nexport const canManageTodos = defineToolAvailability({\n availability: \"conditional\",\n availabilityDetail: \"Nur f\u00FCr Agenten mit der Capability plugin.state.write.\",\n}, (actor) => actor.kind === \"agent\" && holdsUsable(actor, \"plugin.state.write\"));\n\nconst checked = (todos: readonly { id: string; text: string; status: string }[]) => {\n const seen = new Set<string>();\n\n return todos.map((todo, index) => {\n const id = todo.id.trim();\n const text = todo.text.trim();\n const status = todoStatusOf(todo.status);\n\n if (!id) throw new DomainError(\"invalid-todo\", `todos[${index}].id ist leer.`, 400);\n if (!text) throw new DomainError(\"invalid-todo\", `todos[${index}].text ist leer.`, 400);\n if (!status) throw new DomainError(\"invalid-todo\", `todos[${index}].status ${todo.status} ist unbekannt.`, 400);\n if (seen.has(id)) throw new DomainError(\"duplicate-todo-id\", `To-do ID ${id} occurs more than once.`, 400);\n\n seen.add(id);\n\n return { id, text, status };\n });\n};\n\nexport const createTodoTool = (): RunFunction =>\n defineRunFunction({\n ...todoToolMetadata,\n schema: Type.Object({\n todos: Type.Array(\n Type.Object({\n id: Type.String({ minLength: 1 }),\n text: Type.String({ minLength: 1 }),\n status: Type.Union(TODO_STATUS_INPUTS.map((value) => Type.Literal(value)), {\n description: \"open = offen, active = in Arbeit, completed = erledigt; \"\n + \"pending, in_progress und done werden ebenfalls angenommen\",\n }),\n }),\n ),\n }),\n resultSchema: Type.Null(),\n available: canManageTodos,\n run: ({ runtime, caller, context }, toolCallId, input) => {\n runtime.replacePluginState(context(toolCallId), caller.runId, {\n pluginId: TODO_PLUGIN_ID,\n scope: { kind: \"actor\", actorId: caller.actorId },\n state: { todos: checked(input.todos) },\n });\n\n return null;\n },\n });\n", "export const TODO_PLUGIN_ID = \"ragents.todo\";\n\nexport const TODO_STATUSES = [\"open\", \"active\", \"completed\"] as const;\nexport const TODO_STATUS_INPUTS = [\"open\", \"active\", \"completed\", \"pending\", \"in_progress\", \"done\"] as const;\nexport type TodoStatus = typeof TODO_STATUSES[number];\n\nexport interface TodoItem {\n id: string;\n text: string;\n status: TodoStatus;\n}\n\nexport interface TodoState {\n todos: TodoItem[];\n}\n\nexport const todoStatusOf = (value: unknown): TodoStatus | undefined => {\n if (typeof value !== \"string\") return undefined;\n\n switch (value.trim().toLowerCase()) {\n case \"open\":\n case \"offen\":\n case \"pending\":\n return \"open\";\n case \"active\":\n case \"doing\":\n case \"in_progress\":\n case \"in arbeit\":\n case \"running\":\n return \"active\";\n case \"completed\":\n case \"done\":\n case \"erledigt\":\n case \"finished\":\n return \"completed\";\n default:\n return undefined;\n }\n};\n\nconst itemOf = (value: unknown): TodoItem | undefined => {\n if (!value || typeof value !== \"object\") return undefined;\n const candidate = value as Partial<TodoItem>;\n const status = todoStatusOf(candidate.status);\n\n return typeof candidate.id === \"string\" && typeof candidate.text === \"string\" && status\n ? { id: candidate.id, text: candidate.text, status }\n : undefined;\n};\n\nexport const todoStateOf = (state: unknown): TodoState | undefined => {\n const candidate = state as Partial<TodoState> | undefined;\n if (!Array.isArray(candidate?.todos)) return undefined;\n const todos = candidate.todos.flatMap((value) => {\n const item = itemOf(value);\n return item ? [item] : [];\n });\n\n return todos.length === candidate.todos.length ? { todos } : undefined;\n};\n", "import type { RAgentsPlugin } from \"@ragents/engine\";\nimport type { PluginModule } from \"@ragents/host/plugin-support/plugin-module.js\";\nimport { createTodoToolContributor } from \"./tool-contributor.js\";\n\nconst todoPlugin: RAgentsPlugin = {\n manifest: { id: \"ragents.todo\" },\n register: (host) => host.functions(createTodoToolContributor()),\n};\n\nexport const plugin: PluginModule = { create: () => todoPlugin };\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ ["--card","--primary","[stroke-linecap:round]","[stroke-linejoin:round]","[stroke-width:2.2]","active","arbeit","aria-hidden","as","border-[1.5px]","border-border-soft","border-foreground/55","border-t","candidate","cardSections","case","className","completed","const","data-status","default","doing","done","erledigt","export","fill-none","finished","first:border-t-0","first:pt-0","from","function","gap-1.5","gap-2","grid","grid-cols-[15px_minmax(0,1fr)]","id","if","import","in","in-data-[status=active]:bg-[color-mix(in_srgb,var(--primary)_14%,var(--card))]","in-data-[status=active]:border-primary","in-data-[status=completed]:bg-success","in-data-[status=completed]:border-success","in-data-[status=completed]:opacity-75","in_progress","interface","item","itemOf","items","items-start","key","last:pb-0","leading-[1.35]","length","list-none","markerClass","markerOf","mt-px","needsRunView","not-italic","object","offen","open","order","overflow-hidden","pending","pl-0.5","place-items-center","py-1.5","return","rounded-full","runViewFrom","running","session","size-[11px]","size-[15px]","state","status","string","stroke-card","switch","text","text-[0.74rem]","text-[0px]","text-ellipsis","text-muted-foreground","text-xs","title","todo","todoStateOf","todoStatusOf","todos","type","typeof","undefined","value","view","viewBox","webPlugin","weitere"]
@@ -0,0 +1,2 @@
1
+ var r=(t,e)=>{let o=globalThis.__ragentsHostModules?.[t];if(o===void 0)throw new Error(`Der Host stellt ${t} nicht bereit`);if(!(e in o))throw new Error(`Der Host stellt ${e} aus ${t} nicht bereit; das Bundle ist gegen einen neueren Host gebaut`);return o[e]};var i=r("@ragents/web/run-view","actorPluginState");var f=r("@ragents/web/run-view","runActorFrom");var l=r("@ragents/web/run-view","runViewFrom");var x="ragents.todo";var b=t=>{if(typeof t=="string")switch(t.trim().toLowerCase()){case"open":case"offen":case"pending":return"open";case"active":case"doing":case"in_progress":case"in arbeit":case"running":return"active";case"completed":case"done":case"erledigt":case"finished":return"completed";default:return}},w=t=>{if(!t||typeof t!="object")return;let e=t,o=b(e.status);return typeof e.id=="string"&&typeof e.text=="string"&&o?{id:e.id,text:e.text,status:o}:void 0},g=t=>{let e=t;if(!Array.isArray(e?.todos))return;let o=e.todos.flatMap(c=>{let a=w(c);return a?[a]:[]});return o.length===e.todos.length?{todos:o}:void 0};var u=r("@ragents/web/ui","SectionLabel");var s=r("react/jsx-runtime","jsx");var d=r("react/jsx-runtime","jsxs");var p=12,m=t=>t.status,y="grid size-[15px] mt-px place-items-center rounded-full border-[1.5px] border-foreground/55 text-[0px] not-italic in-data-[status=active]:border-primary in-data-[status=active]:bg-[color-mix(in_srgb,var(--primary)_14%,var(--card))] in-data-[status=completed]:border-success in-data-[status=completed]:bg-success";function T({actor:t,session:e}){let o=l(e.runView);if(!o)return null;let a=g(i(o,x,f(t).id))?.todos??[];if(a.length===0)return null;let S=a.filter(n=>m(n)==="completed").length;return d("section",{className:"grid gap-1.5",children:[d(u,{children:[s("span",{children:"To-do"}),d("small",{children:[S,"/",a.length]})]}),s("ul",{className:"grid list-none",children:a.slice(0,p).map(n=>d("li",{className:"grid grid-cols-[15px_minmax(0,1fr)] items-start gap-2 border-t border-border-soft py-1.5 text-[0.74rem] leading-[1.35] first:border-t-0 first:pt-0 last:pb-0","data-status":m(n),children:[s("i",{"aria-hidden":!0,className:y,children:m(n)==="completed"&&s(h,{})}),s("span",{className:"overflow-hidden text-ellipsis in-data-[status=completed]:opacity-75",title:n.text,children:n.text})]},n.id))}),a.length>p&&d("small",{className:"pl-0.5 text-xs text-muted-foreground",children:["+",a.length-p," weitere"]})]})}function h(){return s("svg",{"aria-hidden":!0,className:"size-[11px] fill-none stroke-card [stroke-linecap:round] [stroke-linejoin:round] [stroke-width:2.2]",viewBox:"0 0 12 12",children:s("path",{d:"M3.1 6.2 5 8.1l3.9-4.2"})})}var Y={id:"ragents.todo",needsRunView:!0,cardSections:[{id:"ragents.todo.items",order:200,Section:T}]};export{Y as webPlugin};
2
+ //# sourceMappingURL=/plugins/ragents.todo/web/index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["ragents-host-read:read", "ragents-host-value:@ragents/web/run-view#actorPluginState", "ragents-host-value:@ragents/web/run-view#runActorFrom", "ragents-host-value:@ragents/web/run-view#runViewFrom", "../../../plugins/ragents.todo/contract.ts", "ragents-host-value:@ragents/web/ui#SectionLabel", "ragents-host-value:react/jsx-runtime#jsx", "ragents-host-value:react/jsx-runtime#jsxs", "../../../plugins/ragents.todo/web/TodoSection.tsx", "../../../plugins/ragents.todo/web/index.ts"],
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/run-view\", \"actorPluginState\");\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"@ragents/web/run-view\", \"runActorFrom\");\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"@ragents/web/run-view\", \"runViewFrom\");\n", "export const TODO_PLUGIN_ID = \"ragents.todo\";\n\nexport const TODO_STATUSES = [\"open\", \"active\", \"completed\"] as const;\nexport const TODO_STATUS_INPUTS = [\"open\", \"active\", \"completed\", \"pending\", \"in_progress\", \"done\"] as const;\nexport type TodoStatus = typeof TODO_STATUSES[number];\n\nexport interface TodoItem {\n id: string;\n text: string;\n status: TodoStatus;\n}\n\nexport interface TodoState {\n todos: TodoItem[];\n}\n\nexport const todoStatusOf = (value: unknown): TodoStatus | undefined => {\n if (typeof value !== \"string\") return undefined;\n\n switch (value.trim().toLowerCase()) {\n case \"open\":\n case \"offen\":\n case \"pending\":\n return \"open\";\n case \"active\":\n case \"doing\":\n case \"in_progress\":\n case \"in arbeit\":\n case \"running\":\n return \"active\";\n case \"completed\":\n case \"done\":\n case \"erledigt\":\n case \"finished\":\n return \"completed\";\n default:\n return undefined;\n }\n};\n\nconst itemOf = (value: unknown): TodoItem | undefined => {\n if (!value || typeof value !== \"object\") return undefined;\n const candidate = value as Partial<TodoItem>;\n const status = todoStatusOf(candidate.status);\n\n return typeof candidate.id === \"string\" && typeof candidate.text === \"string\" && status\n ? { id: candidate.id, text: candidate.text, status }\n : undefined;\n};\n\nexport const todoStateOf = (state: unknown): TodoState | undefined => {\n const candidate = state as Partial<TodoState> | undefined;\n if (!Array.isArray(candidate?.todos)) return undefined;\n const todos = candidate.todos.flatMap((value) => {\n const item = itemOf(value);\n return item ? [item] : [];\n });\n\n return todos.length === candidate.todos.length ? { todos } : undefined;\n};\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"@ragents/web/ui\", \"SectionLabel\");\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"react/jsx-runtime\", \"jsx\");\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"react/jsx-runtime\", \"jsxs\");\n", "import { actorPluginState, runActorFrom, runViewFrom } from \"@ragents/web/run-view\";\nimport { TODO_PLUGIN_ID, todoStateOf, type TodoItem } from \"../contract\";\nimport type { CardSectionContext } from \"@ragents/web/PluginRegistry\";\nimport { SectionLabel } from \"@ragents/web/ui\";\n\nconst MAX_ITEMS = 12;\nconst markerOf = (todo: TodoItem) => todo.status;\n\nconst markerClass = \"grid size-[15px] mt-px place-items-center rounded-full border-[1.5px] border-foreground/55 text-[0px] not-italic\"\n + \" in-data-[status=active]:border-primary in-data-[status=active]:bg-[color-mix(in_srgb,var(--primary)_14%,var(--card))]\"\n + \" in-data-[status=completed]:border-success in-data-[status=completed]:bg-success\";\n\nexport function TodoSection({ actor, session }: CardSectionContext) {\n const view = runViewFrom(session.runView);\n if (!view) return null;\n const state = todoStateOf(actorPluginState(view, TODO_PLUGIN_ID, runActorFrom(actor).id));\n const todos = state?.todos ?? [];\n if (todos.length === 0) return null;\n const done = todos.filter((todo) => markerOf(todo) === \"completed\").length;\n\n return (\n <section className=\"grid gap-1.5\">\n <SectionLabel>\n <span>To-do</span>\n <small>{done}/{todos.length}</small>\n </SectionLabel>\n <ul className=\"grid list-none\">\n {todos.slice(0, MAX_ITEMS).map((todo) => (\n <li className=\"grid grid-cols-[15px_minmax(0,1fr)] items-start gap-2 border-t border-border-soft py-1.5 text-[0.74rem] leading-[1.35] first:border-t-0 first:pt-0 last:pb-0\"\n data-status={markerOf(todo)} key={todo.id}>\n <i aria-hidden className={markerClass}>{markerOf(todo) === \"completed\" && <IconCheck />}</i>\n <span className=\"overflow-hidden text-ellipsis in-data-[status=completed]:opacity-75\" title={todo.text}>{todo.text}</span>\n </li>\n ))}\n </ul>\n {todos.length > MAX_ITEMS && <small className=\"pl-0.5 text-xs text-muted-foreground\">+{todos.length - MAX_ITEMS} weitere</small>}\n </section>\n );\n}\n\nfunction IconCheck() {\n return (\n <svg aria-hidden className=\"size-[11px] fill-none stroke-card [stroke-linecap:round] [stroke-linejoin:round] [stroke-width:2.2]\" viewBox=\"0 0 12 12\">\n <path d=\"M3.1 6.2 5 8.1l3.9-4.2\" />\n </svg>\n );\n}\n", "import { TodoSection } from \"./TodoSection\";\nimport type { WebPlugin } from \"@ragents/web/PluginRegistry\";\n\nexport const webPlugin: WebPlugin = {\n id: \"ragents.todo\",\n needsRunView: true,\n cardSections: [{\n id: \"ragents.todo.items\",\n order: 200,\n Section: TodoSection,\n }],\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["read", "specifier", "name", "module", "run_view_actorPluginState_default", "read", "run_view_runActorFrom_default", "read", "run_view_runViewFrom_default", "read", "TODO_PLUGIN_ID", "todoStatusOf", "value", "itemOf", "candidate", "status", "todoStateOf", "state", "todos", "item", "ui_SectionLabel_default", "read", "jsx_runtime_jsx_default", "read", "jsx_runtime_jsxs_default", "read", "MAX_ITEMS", "markerOf", "todo", "markerClass", "TodoSection", "actor", "session", "view", "run_view_runViewFrom_default", "todos", "todoStateOf", "run_view_actorPluginState_default", "TODO_PLUGIN_ID", "run_view_runActorFrom_default", "done", "jsx_runtime_jsxs_default", "ui_SectionLabel_default", "jsx_runtime_jsx_default", "IconCheck", "webPlugin", "TodoSection"]
7
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "format": 3,
3
+ "id": "ragents.transcript",
4
+ "api": 6,
5
+ "hostNames": {
6
+ "server": {
7
+ "@ragents/engine": [
8
+ "actorByReference",
9
+ "defineRunFunction",
10
+ "defineToolAvailability",
11
+ "holdsUsable"
12
+ ],
13
+ "@ragents/host/plugin-support/agent-tool": [
14
+ "toolDescriptorFrom"
15
+ ],
16
+ "@ragents/host/ragents/host-services": [
17
+ "runtimeProviderToken"
18
+ ],
19
+ "typebox": [
20
+ "Type"
21
+ ]
22
+ },
23
+ "web": {}
24
+ },
25
+ "stand": "98d8ba054df383ac3d2d13e25de7f1930a7e4301654e188847cfc1fcf135490b",
26
+ "sourceStand": "fe1837e356cd3f36fe94c4e7105800289032929ed9f9bd9ef2aa13b4654fe674",
27
+ "server": "server/index.js",
28
+ "exports": {
29
+ "server": {},
30
+ "web": {}
31
+ },
32
+ "uses": [],
33
+ "assets": []
34
+ }
@@ -0,0 +1,102 @@
1
+ import { createRequire as __ragentsCreateRequire } from "node:module";
2
+ const require = __ragentsCreateRequire(import.meta.url);
3
+
4
+ // server/index.ts
5
+ import { toolDescriptorFrom } from "@ragents/host/plugin-support/agent-tool.js";
6
+ import { runtimeProviderToken } from "@ragents/host/ragents/host-services.js";
7
+
8
+ // server/transcript.ts
9
+ import { Type } from "typebox";
10
+ import { actorByReference, defineRunFunction, defineToolAvailability, holdsUsable } from "@ragents/engine";
11
+ var defaultMaxChars = 2e4;
12
+ var markerReserve = 50;
13
+ var collapse = (text, limit) => {
14
+ const flat = text.replace(/\s+/g, " ").trim();
15
+ return flat.length > limit ? `${flat.slice(0, limit - 3)}...` : flat;
16
+ };
17
+ var compactJson = (value, limit) => collapse(typeof value === "string" ? value : JSON.stringify(value) ?? "", limit);
18
+ var lineOf = (event, actorId) => {
19
+ if (event.type === "actor.input.enqueued") {
20
+ if (event.payload.actorId !== actorId) return void 0;
21
+ return event.payload.content === void 0 ? `> [Ereignis ${event.payload.sourceEventIds[0]}]` : `> ${collapse(event.payload.content, 1e3)}`;
22
+ }
23
+ if (event.actorId !== actorId) return void 0;
24
+ switch (event.type) {
25
+ case "model.output.completed":
26
+ return event.payload.text.trim() ? collapse(event.payload.text, 4e3) : void 0;
27
+ case "tool.call.started":
28
+ return `[${event.payload.name}] ${compactJson(event.payload.input, 200)}`;
29
+ case "tool.call.completed":
30
+ return ` -> ${compactJson(event.payload.output, 300)}`;
31
+ case "tool.call.failed":
32
+ return ` -> Fehler: ${collapse(event.payload.error, 300)}`;
33
+ case "turn.finished":
34
+ return event.payload.outcome === "failed" ? `[Turn fehlgeschlagen: ${collapse(event.payload.reason, 300)}]` : void 0;
35
+ case "turn.interrupted":
36
+ return `[Turn unterbrochen: ${collapse(event.payload.reason, 300)}]`;
37
+ default:
38
+ return void 0;
39
+ }
40
+ };
41
+ function compactTranscript(events, actorId, maxChars = defaultMaxChars) {
42
+ const lines = events.map((event) => lineOf(event, actorId)).filter((line) => line !== void 0);
43
+ const total = lines.reduce((sum, line) => sum + line.length + 1, 0);
44
+ if (total <= maxChars) return { text: lines.join("\n"), lines: lines.length, truncated: false };
45
+ let dropped = 0;
46
+ let remaining = total;
47
+ while (dropped < lines.length && remaining + markerReserve > maxChars) {
48
+ remaining -= lines[dropped].length + 1;
49
+ dropped += 1;
50
+ }
51
+ const kept = lines.slice(dropped);
52
+ return { text: [`[... ${dropped} fr\xFChere Zeilen ausgelassen]`, ...kept].join("\n"), lines: kept.length, truncated: true };
53
+ }
54
+ var transcriptToolMetadata = {
55
+ name: "actor_transcript",
56
+ label: "Verlauf verdichten",
57
+ description: "Liefert den Verlauf eines Actors dieses Runs als kompaktes Transkript: Eingaben, Antworttexte und Werkzeugaufrufe je eine Zeile, Ergebnisse gek\xFCrzt, ohne Reasoning. F\xFCr \xDCbergaben, Statusberichte und Zusammenfassungen."
58
+ };
59
+ var canReadTranscripts = defineToolAvailability({
60
+ availability: "conditional",
61
+ availabilityDetail: "F\xFCr Agenten und Skript-Actors mit der Capability event.subscribe."
62
+ }, (actor) => actor.kind !== "human" && holdsUsable(actor, "event.subscribe"));
63
+ var createTranscriptTool = (runtime) => defineRunFunction({
64
+ ...transcriptToolMetadata,
65
+ schema: Type.Object({
66
+ actor: Type.String({ minLength: 1, description: "Handle mit oder ohne @ oder ID eines Actors dieses Runs" }),
67
+ maxChars: Type.Optional(Type.Integer({ minimum: 200, maximum: 2e5, description: `Obergrenze in Zeichen, Standard ${defaultMaxChars}; die \xE4ltesten Zeilen entfallen zuerst` }))
68
+ }, { additionalProperties: false }),
69
+ resultSchema: Type.Object({
70
+ actorId: Type.String(),
71
+ handle: Type.String(),
72
+ text: Type.String(),
73
+ lines: Type.Integer({ minimum: 0 }),
74
+ truncated: Type.Boolean()
75
+ }, { additionalProperties: false }),
76
+ available: canReadTranscripts,
77
+ run: ({ caller }, _toolCallId, input) => {
78
+ const view = runtime().view(caller.runId);
79
+ const actor = actorByReference(view.actors, input.actor);
80
+ if (!actor) throw new Error(`Unbekannter Actor in diesem Run: ${input.actor}`);
81
+ return { actorId: actor.id, handle: actor.handle, ...compactTranscript(runtime().events(caller.runId), actor.id, input.maxChars) };
82
+ }
83
+ });
84
+
85
+ // server/index.ts
86
+ var transcriptPlugin = {
87
+ manifest: { id: "ragents.transcript" },
88
+ register: (host) => {
89
+ const runtime = host.service(runtimeProviderToken);
90
+ const contributor = {
91
+ name: "ragents.transcript",
92
+ descriptors: [toolDescriptorFrom(transcriptToolMetadata, canReadTranscripts)],
93
+ tools: () => [createTranscriptTool(runtime)]
94
+ };
95
+ host.functions(contributor);
96
+ }
97
+ };
98
+ var plugin = { requires: ["ragents.orchestration"], create: () => transcriptPlugin };
99
+ export {
100
+ plugin
101
+ };
102
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../plugins/ragents.transcript/server/index.ts", "../../../plugins/ragents.transcript/server/transcript.ts"],
4
+ "sourcesContent": ["import type { RAgentsPlugin, ToolContributor } from \"@ragents/engine\";\nimport { toolDescriptorFrom } from \"@ragents/host/plugin-support/agent-tool.js\";\nimport type { PluginModule } from \"@ragents/host/plugin-support/plugin-module.js\";\nimport { runtimeProviderToken } from \"@ragents/host/ragents/host-services.js\";\nimport { canReadTranscripts, createTranscriptTool, transcriptToolMetadata } from \"./transcript.js\";\n\nconst transcriptPlugin: RAgentsPlugin = {\n manifest: { id: \"ragents.transcript\" },\n register: (host) => {\n const runtime = host.service(runtimeProviderToken);\n const contributor: ToolContributor = {\n name: \"ragents.transcript\",\n descriptors: [toolDescriptorFrom(transcriptToolMetadata, canReadTranscripts)],\n tools: () => [createTranscriptTool(runtime)],\n };\n host.functions(contributor);\n },\n};\n\nexport const plugin: PluginModule = { requires: [\"ragents.orchestration\"], create: () => transcriptPlugin };\n", "import { Type } from \"typebox\";\nimport { actorByReference, defineRunFunction, defineToolAvailability, holdsUsable, type JournalEvent, type Orchestration, type RunFunction } from \"@ragents/engine\";\n\nexport interface CompactTranscript { text: string; lines: number; truncated: boolean }\n\nconst defaultMaxChars = 20_000;\nconst markerReserve = 50;\nconst collapse = (text: string, limit: number): string => {\n const flat = text.replace(/\\s+/g, \" \").trim();\n return flat.length > limit ? `${flat.slice(0, limit - 3)}...` : flat;\n};\nconst compactJson = (value: unknown, limit: number): string => collapse(typeof value === \"string\" ? value : JSON.stringify(value) ?? \"\", limit);\n\nconst lineOf = (event: JournalEvent, actorId: string): string | undefined => {\n if (event.type === \"actor.input.enqueued\") {\n if (event.payload.actorId !== actorId) return undefined;\n return event.payload.content === undefined ? `> [Ereignis ${event.payload.sourceEventIds[0]}]` : `> ${collapse(event.payload.content, 1000)}`;\n }\n if (event.actorId !== actorId) return undefined;\n switch (event.type) {\n case \"model.output.completed\": return event.payload.text.trim() ? collapse(event.payload.text, 4000) : undefined;\n case \"tool.call.started\": return `[${event.payload.name}] ${compactJson(event.payload.input, 200)}`;\n case \"tool.call.completed\": return ` -> ${compactJson(event.payload.output, 300)}`;\n case \"tool.call.failed\": return ` -> Fehler: ${collapse(event.payload.error, 300)}`;\n case \"turn.finished\": return event.payload.outcome === \"failed\" ? `[Turn fehlgeschlagen: ${collapse(event.payload.reason, 300)}]` : undefined;\n case \"turn.interrupted\": return `[Turn unterbrochen: ${collapse(event.payload.reason, 300)}]`;\n default: return undefined;\n }\n};\n\nexport function compactTranscript(events: readonly JournalEvent[], actorId: string, maxChars = defaultMaxChars): CompactTranscript {\n const lines = events.map((event) => lineOf(event, actorId)).filter((line): line is string => line !== undefined);\n const total = lines.reduce((sum, line) => sum + line.length + 1, 0);\n if (total <= maxChars) return { text: lines.join(\"\\n\"), lines: lines.length, truncated: false };\n let dropped = 0;\n let remaining = total;\n while (dropped < lines.length && remaining + markerReserve > maxChars) {\n remaining -= lines[dropped]!.length + 1;\n dropped += 1;\n }\n const kept = lines.slice(dropped);\n return { text: [`[... ${dropped} fr\u00FChere Zeilen ausgelassen]`, ...kept].join(\"\\n\"), lines: kept.length, truncated: true };\n}\n\nexport const transcriptToolMetadata = {\n name: \"actor_transcript\",\n label: \"Verlauf verdichten\",\n description: \"Liefert den Verlauf eines Actors dieses Runs als kompaktes Transkript: Eingaben, Antworttexte und Werkzeugaufrufe je eine Zeile, Ergebnisse gek\u00FCrzt, ohne Reasoning. F\u00FCr \u00DCbergaben, Statusberichte und Zusammenfassungen.\",\n} as const;\n\nexport const canReadTranscripts = defineToolAvailability({\n availability: \"conditional\",\n availabilityDetail: \"F\u00FCr Agenten und Skript-Actors mit der Capability event.subscribe.\",\n}, (actor) => actor.kind !== \"human\" && holdsUsable(actor, \"event.subscribe\"));\n\nexport const createTranscriptTool = (runtime: () => Orchestration): RunFunction =>\n defineRunFunction({\n ...transcriptToolMetadata,\n schema: Type.Object({\n actor: Type.String({ minLength: 1, description: \"Handle mit oder ohne @ oder ID eines Actors dieses Runs\" }),\n maxChars: Type.Optional(Type.Integer({ minimum: 200, maximum: 200_000, description: `Obergrenze in Zeichen, Standard ${defaultMaxChars}; die \u00E4ltesten Zeilen entfallen zuerst` })),\n }, { additionalProperties: false }),\n resultSchema: Type.Object({\n actorId: Type.String(),\n handle: Type.String(),\n text: Type.String(),\n lines: Type.Integer({ minimum: 0 }),\n truncated: Type.Boolean(),\n }, { additionalProperties: false }),\n available: canReadTranscripts,\n run: ({ caller }, _toolCallId, input) => {\n const view = runtime().view(caller.runId);\n const actor = actorByReference(view.actors, input.actor);\n if (!actor) throw new Error(`Unbekannter Actor in diesem Run: ${input.actor}`);\n return { actorId: actor.id, handle: actor.handle, ...compactTranscript(runtime().events(caller.runId), actor.id, input.maxChars) };\n },\n });\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "format": 3,
3
+ "id": "ragents.watch",
4
+ "api": 6,
5
+ "hostNames": {
6
+ "server": {
7
+ "@ragents/engine": [
8
+ "DomainError",
9
+ "actorByReference",
10
+ "compileVirtualTypeScriptAsync",
11
+ "defineRunFunction",
12
+ "defineToolAvailability",
13
+ "serviceToken"
14
+ ],
15
+ "@ragents/host/plugin-support/agent-tool": [
16
+ "toolDescriptorFrom"
17
+ ],
18
+ "@ragents/host/ragents/host-services": [
19
+ "runtimeProviderToken"
20
+ ],
21
+ "typebox": [
22
+ "Type"
23
+ ]
24
+ },
25
+ "web": {}
26
+ },
27
+ "stand": "f5cade80192041cee54457035b293425a10f1de42b49f1d804117ad7951c1b00",
28
+ "sourceStand": "1137b9394272596b02d57f2257b2da60503cc1f0ca9a92745f999f6ad7f32512",
29
+ "server": "server/index.js",
30
+ "exports": {
31
+ "server": {
32
+ "contract": "server/exports/contract.js",
33
+ "server/contract": "server/exports/server/contract.js"
34
+ },
35
+ "web": {}
36
+ },
37
+ "uses": [],
38
+ "assets": []
39
+ }
@@ -0,0 +1,11 @@
1
+ import { createRequire as __ragentsCreateRequire } from "node:module";
2
+ const require = __ragentsCreateRequire(import.meta.url);
3
+
4
+ // server/contract.ts
5
+ import { serviceToken } from "@ragents/engine";
6
+ var watchServiceToken = serviceToken("ragents.watch.service");
7
+
8
+ export {
9
+ watchServiceToken
10
+ };
11
+ //# sourceMappingURL=chunk-FHAM6OML.js.map