@schlenkr/ragents 0.1.10 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (743) hide show
  1. package/apps/server/package.json +1 -1
  2. package/apps/server/src/access-projection.ts +4 -4
  3. package/apps/server/src/access-service.ts +3 -3
  4. package/apps/server/src/access-session.ts +19 -19
  5. package/apps/server/src/api/contracts.ts +29 -29
  6. package/apps/server/src/api/core-methods.ts +17 -17
  7. package/apps/server/src/api/delivery.ts +2 -2
  8. package/apps/server/src/api/reference.ts +27 -27
  9. package/apps/server/src/api/rights.ts +18 -18
  10. package/apps/server/src/chat-handler.ts +5 -5
  11. package/apps/server/src/config-definition.ts +37 -10
  12. package/apps/server/src/config-file.ts +49 -49
  13. package/apps/server/src/config.ts +2 -0
  14. package/apps/server/src/data-directory.ts +2 -2
  15. package/apps/server/src/external-access.ts +1 -1
  16. package/apps/server/src/folder-install.ts +1 -1
  17. package/apps/server/src/help-files.ts +1 -1
  18. package/apps/server/src/host-api.json +6 -1
  19. package/apps/server/src/host-api.ts +3 -2
  20. package/apps/server/src/host-record.ts +3 -3
  21. package/apps/server/src/host-resolution-hooks.mjs +4 -4
  22. package/apps/server/src/host-version.ts +17 -17
  23. package/apps/server/src/host-web.ts +5 -5
  24. package/apps/server/src/main.ts +6 -6
  25. package/apps/server/src/missing-environment.ts +6 -6
  26. package/apps/server/src/parent-watch.ts +4 -4
  27. package/apps/server/src/plugin-build/build.ts +31 -31
  28. package/apps/server/src/plugin-build/host-api-names.ts +7 -7
  29. package/apps/server/src/plugin-build/plugin-description.ts +15 -15
  30. package/apps/server/src/plugin-build/typecheck.ts +1 -1
  31. package/apps/server/src/plugin-support/actor-programs/app-project.ts +19 -19
  32. package/apps/server/src/plugin-support/actor-programs/client-compiler.ts +4 -4
  33. package/apps/server/src/plugin-support/actor-programs/client-contracts.ts +11 -11
  34. package/apps/server/src/plugin-support/actor-programs/contract.ts +17 -17
  35. package/apps/server/src/plugin-support/actor-programs/runtime-libraries.ts +1 -1
  36. package/apps/server/src/plugin-support/actor-programs/workflow/index.ts +5 -5
  37. package/apps/server/src/plugin-support/actor-programs/workflow/prompt-reader.ts +2 -2
  38. package/apps/server/src/plugin-support/chat-display-policy.ts +2 -2
  39. package/apps/server/src/plugin-support/front-matter.ts +6 -6
  40. package/apps/server/src/plugin-support/http.ts +2 -2
  41. package/apps/server/src/plugin-support/language-server/contract.ts +8 -8
  42. package/apps/server/src/plugin-support/language-server/plugin.ts +2 -2
  43. package/apps/server/src/plugin-support/language-server/snapshot-method.ts +1 -1
  44. package/apps/server/src/plugin-support/language-server/tools.ts +11 -11
  45. package/apps/server/src/plugin-support/model-aliases.ts +30 -20
  46. package/apps/server/src/plugin-support/model-choice.ts +15 -15
  47. package/apps/server/src/plugin-support/model-completion.ts +44 -23
  48. package/apps/server/src/plugin-support/model-providers.ts +170 -0
  49. package/apps/server/src/plugin-support/model-upstreams.ts +1 -1
  50. package/apps/server/src/plugin-support/native-typescript-child.ts +4 -4
  51. package/apps/server/src/plugin-support/native-typescript-executor.ts +12 -12
  52. package/apps/server/src/plugin-support/plugin-config.ts +3 -3
  53. package/apps/server/src/plugin-support/plugin-folder.ts +2 -2
  54. package/apps/server/src/plugin-support/plugins-root.ts +2 -2
  55. package/apps/server/src/plugin-support/process-sandbox.ts +39 -39
  56. package/apps/server/src/plugin-support/product-model-settings-contract.ts +3 -3
  57. package/apps/server/src/plugin-support/product-model-settings.ts +10 -10
  58. package/apps/server/src/plugin-support/product-relay.ts +9 -9
  59. package/apps/server/src/plugin-support/product-start-options.ts +4 -4
  60. package/apps/server/src/plugin-support/prompt.ts +1 -1
  61. package/apps/server/src/plugin-support/provision.ts +8 -8
  62. package/apps/server/src/plugin-support/run-scripts.ts +17 -17
  63. package/apps/server/src/plugin-support/skills.ts +18 -18
  64. package/apps/server/src/plugin-support/start-entries-contract.ts +17 -17
  65. package/apps/server/src/plugin-support/start-options-contract.ts +5 -5
  66. package/apps/server/src/plugin-support/system-prompts.ts +11 -11
  67. package/apps/server/src/plugin-support/thinking-level.ts +2 -2
  68. package/apps/server/src/plugin-support/tool-availability.ts +2 -2
  69. package/apps/server/src/plugin-support/workspace-ownership.ts +5 -5
  70. package/apps/server/src/plugin-support/workspace-sandbox-host.ts +37 -37
  71. package/apps/server/src/plugin-support/zip.ts +7 -7
  72. package/apps/server/src/profile/bundle-manifest.ts +17 -17
  73. package/apps/server/src/profile/compose.ts +12 -7
  74. package/apps/server/src/profile/plugin-discovery.ts +12 -12
  75. package/apps/server/src/profile/provisioning.ts +5 -5
  76. package/apps/server/src/profile-target.ts +10 -10
  77. package/apps/server/src/protocol.ts +2 -2
  78. package/apps/server/src/provider.ts +61 -56
  79. package/apps/server/src/ragents/actor-chat-history.ts +8 -8
  80. package/apps/server/src/ragents/chat-text-positions.ts +2 -2
  81. package/apps/server/src/ragents/coordinator.ts +2 -2
  82. package/apps/server/src/ragents/engine.ts +23 -23
  83. package/apps/server/src/ragents/global-chat.ts +8 -8
  84. package/apps/server/src/ragents/host-services.ts +6 -3
  85. package/apps/server/src/ragents/journal-chat-events.ts +1 -1
  86. package/apps/server/src/ragents/run-owner.ts +2 -2
  87. package/apps/server/src/ragents/session.ts +49 -49
  88. package/apps/server/src/ragents/typescript-tools.ts +12 -12
  89. package/apps/server/src/ragents/workspace-runtime.ts +28 -28
  90. package/apps/server/src/rpc/dispatcher.ts +19 -19
  91. package/apps/server/src/rpc/http-transport.ts +11 -11
  92. package/apps/server/src/rpc/stdio-transport.ts +3 -3
  93. package/apps/server/src/run-preparation-input.ts +5 -5
  94. package/apps/server/src/run-preparation.ts +24 -24
  95. package/apps/server/src/run-transfer.ts +39 -39
  96. package/apps/server/src/server.ts +48 -48
  97. package/apps/server/src/settings.ts +1 -1
  98. package/apps/server/src/startup.ts +3 -3
  99. package/apps/server/src/title-compactor.ts +9 -9
  100. package/apps/server/src/title-settings.ts +3 -3
  101. package/apps/server/src/web-bundles.ts +2 -2
  102. package/apps/server/src/web-stylesheet.ts +2 -2
  103. package/apps/web/dist/assets/{highlighted-body-KPVGNVTW-BO4wLQtE.js → highlighted-body-KPVGNVTW-BfNSGxjB.js} +1 -1
  104. package/apps/web/dist/assets/main-D6bsKcIK.js +11 -0
  105. package/apps/web/dist/assets/mermaid-HWGCJPDP-DROEqEeg.js +608 -0
  106. package/apps/web/dist/assets/runPanel-Dumuuqry.js +21 -0
  107. package/apps/web/dist/help/guide-access.html +5 -5
  108. package/apps/web/dist/help/guide-access.md +2 -2
  109. package/apps/web/dist/help/guide-clients.html +53 -54
  110. package/apps/web/dist/help/guide-clients.md +50 -51
  111. package/apps/web/dist/help/guide-distributed.html +12 -7
  112. package/apps/web/dist/help/guide-distributed.md +9 -4
  113. package/apps/web/dist/help/guide-functions.html +3 -3
  114. package/apps/web/dist/help/guide-getting-started.html +24 -15
  115. package/apps/web/dist/help/guide-getting-started.md +22 -12
  116. package/apps/web/dist/help/guide-ideas.html +3 -3
  117. package/apps/web/dist/help/guide-plugins.html +5 -4
  118. package/apps/web/dist/help/guide-plugins.md +2 -1
  119. package/apps/web/dist/help/guide-programs.html +3 -3
  120. package/apps/web/dist/help/guide-runtime.html +6 -6
  121. package/apps/web/dist/help/guide-runtime.md +3 -3
  122. package/apps/web/dist/help/guide.html +3 -3
  123. package/apps/web/dist/help/index.html +196 -144
  124. package/apps/web/dist/help/mini-app.css +6 -0
  125. package/apps/web/dist/help/mini-app.js +14 -14
  126. package/apps/web/dist/host-web.json +90 -90
  127. package/apps/web/dist/index.html +3 -3
  128. package/apps/web/dist/run-panel.html +3 -3
  129. package/apps/web/package.json +1 -1
  130. package/apps/web/src/AccessContext.tsx +15 -15
  131. package/apps/web/src/App.tsx +13 -13
  132. package/apps/web/src/DiffCode.tsx +2 -2
  133. package/apps/web/src/HelpDialog.tsx +3 -3
  134. package/apps/web/src/Overview.tsx +13 -13
  135. package/apps/web/src/PluginActivation.ts +1 -1
  136. package/apps/web/src/PluginChat.tsx +15 -15
  137. package/apps/web/src/PluginFailureNotice.tsx +1 -1
  138. package/apps/web/src/PluginRegistry.tsx +44 -44
  139. package/apps/web/src/RunPreparationChat.tsx +11 -11
  140. package/apps/web/src/RunStore.ts +1 -1
  141. package/apps/web/src/SessionList.tsx +14 -14
  142. package/apps/web/src/SettingsModal.tsx +112 -112
  143. package/apps/web/src/StartOptions.tsx +11 -11
  144. package/apps/web/src/StartSelection.tsx +11 -11
  145. package/apps/web/src/StartTiles.tsx +8 -8
  146. package/apps/web/src/SurfaceShortcuts.tsx +3 -3
  147. package/apps/web/src/ThemeSettings.tsx +8 -8
  148. package/apps/web/src/TitleModelSettings.tsx +13 -13
  149. package/apps/web/src/WorkspacePanel.tsx +9 -9
  150. package/apps/web/src/access-session.ts +4 -4
  151. package/apps/web/src/access-token.ts +5 -5
  152. package/apps/web/src/actor-conversation.ts +3 -3
  153. package/apps/web/src/actor-programs/client-ui/DataTable.tsx +8 -8
  154. package/apps/web/src/actor-programs/client-ui/FilePicker.tsx +4 -4
  155. package/apps/web/src/actor-programs/client-ui/FlowDiagram.tsx +13 -13
  156. package/apps/web/src/actor-programs/client-ui/Viewers.tsx +4 -4
  157. package/apps/web/src/actor-programs/client-ui/WorkflowDiagram.tsx +1 -1
  158. package/apps/web/src/actor-programs/client-ui/file-contracts.d.ts +4 -4
  159. package/apps/web/src/actor-programs/client-ui/file-selection.ts +1 -1
  160. package/apps/web/src/actor-programs/client-ui/viewer-contracts.d.ts +3 -3
  161. package/apps/web/src/api.ts +7 -7
  162. package/apps/web/src/chat/StoppedActorNotice.tsx +5 -5
  163. package/apps/web/src/chat/chat-target.ts +3 -3
  164. package/apps/web/src/chat/requests.ts +2 -2
  165. package/apps/web/src/chat/useAttachmentCapabilities.ts +2 -2
  166. package/apps/web/src/chat-view-settings.tsx +5 -6
  167. package/apps/web/src/diff-view.css +1 -1
  168. package/apps/web/src/highlighting.css +1 -1
  169. package/apps/web/src/language-server/language-server-plugin.tsx +30 -30
  170. package/apps/web/src/lib/labels.ts +6 -6
  171. package/apps/web/src/main.tsx +4 -4
  172. package/apps/web/src/offered-machines.ts +2 -2
  173. package/apps/web/src/page-opener.tsx +1 -1
  174. package/apps/web/src/panel/ConnectionsPage.tsx +23 -23
  175. package/apps/web/src/panel/LoginForm.tsx +6 -6
  176. package/apps/web/src/panel/PanelDialogs.tsx +22 -22
  177. package/apps/web/src/panel/PanelHeader.tsx +2 -2
  178. package/apps/web/src/panel/PanelPage.tsx +1 -1
  179. package/apps/web/src/panel/RunLine.tsx +4 -4
  180. package/apps/web/src/panel/RunsPage.tsx +15 -15
  181. package/apps/web/src/panel/StartPage.tsx +26 -26
  182. package/apps/web/src/panel/connection-state.ts +9 -9
  183. package/apps/web/src/panel/contract.ts +28 -28
  184. package/apps/web/src/panel.tsx +1 -1
  185. package/apps/web/src/plugin-bootstrap.ts +5 -5
  186. package/apps/web/src/product/ModelControl.tsx +3 -3
  187. package/apps/web/src/product/ProductModelSettings.tsx +16 -16
  188. package/apps/web/src/product/SystemPromptControl.tsx +11 -11
  189. package/apps/web/src/product/model-settings.ts +2 -2
  190. package/apps/web/src/rpc/client.ts +16 -16
  191. package/apps/web/src/rpc.ts +1 -1
  192. package/apps/web/src/run-overview.ts +1 -1
  193. package/apps/web/src/run-panel/RunPanelApp.tsx +39 -39
  194. package/apps/web/src/run-panel/RunPanelHeader.tsx +6 -6
  195. package/apps/web/src/run-panel/RunPanelMenu.tsx +6 -6
  196. package/apps/web/src/run-panel/RunPanelRail.tsx +4 -4
  197. package/apps/web/src/run-panel/RunPanelWorkspace.tsx +3 -3
  198. package/apps/web/src/run-panel/clipboard.ts +3 -3
  199. package/apps/web/src/run-panel/host-contract.ts +5 -5
  200. package/apps/web/src/run-panel/host.ts +15 -15
  201. package/apps/web/src/run-panel/input-bridge.ts +1 -1
  202. package/apps/web/src/run-panel/run-panel-location.ts +5 -5
  203. package/apps/web/src/run-panel/use-session-list.ts +1 -1
  204. package/apps/web/src/run-panel/workspace-state.ts +3 -3
  205. package/apps/web/src/run-panel.tsx +4 -4
  206. package/apps/web/src/run-preparation.ts +2 -2
  207. package/apps/web/src/run-view.ts +3 -3
  208. package/apps/web/src/settings-contributions.ts +32 -32
  209. package/apps/web/src/theme.ts +9 -9
  210. package/apps/web/src/title-model-settings.ts +6 -6
  211. package/apps/web/src/ui/ListDetail.tsx +9 -9
  212. package/apps/web/src/ui/dialog.tsx +2 -2
  213. package/apps/web/src/ui/modal-controller.ts +3 -3
  214. package/apps/web/src/ui/modal.tsx +2 -2
  215. package/apps/web/src/ui/popover.tsx +1 -1
  216. package/apps/web/src/ui/relative-time.ts +8 -8
  217. package/apps/web/src/ui/startup-notice.tsx +2 -2
  218. package/apps/web/src/ui/state-icon.tsx +1 -1
  219. package/apps/web/src/ui/state-vocabulary.ts +16 -16
  220. package/apps/web/src/ui/stop-button.tsx +2 -2
  221. package/bundles/ragents.activity/ragents-bundle.json +2 -2
  222. package/bundles/ragents.activity/web/classes.json +1 -1
  223. package/bundles/ragents.activity/web/index.js +1 -1
  224. package/bundles/ragents.activity/web/index.js.map +2 -2
  225. package/bundles/ragents.actor-programs/ragents-bundle.json +2 -2
  226. package/bundles/ragents.actor-programs/server/index.js +225 -225
  227. package/bundles/ragents.actor-programs/server/index.js.map +2 -2
  228. package/bundles/ragents.actor-programs/web/classes.json +1 -1
  229. package/bundles/ragents.actor-programs/web/index.js +1 -1
  230. package/bundles/ragents.actor-programs/web/index.js.map +3 -3
  231. package/bundles/ragents.ask/ragents-bundle.json +2 -2
  232. package/bundles/ragents.ask/server/chunks/{chunk-PDJO75SQ.js → chunk-YOV27MAR.js} +2 -2
  233. package/bundles/ragents.ask/server/chunks/chunk-YOV27MAR.js.map +7 -0
  234. package/bundles/ragents.ask/server/exports/server/contract.js +1 -1
  235. package/bundles/ragents.ask/server/index.js +23 -23
  236. package/bundles/ragents.ask/server/index.js.map +2 -2
  237. package/bundles/ragents.ask/web/chunks/{chunk-WFN4374U.js → chunk-D6NNB5DS.js} +1 -1
  238. package/bundles/ragents.ask/web/chunks/chunk-D6NNB5DS.js.map +7 -0
  239. package/bundles/ragents.ask/web/chunks/{chunk-MBRPS477.js → chunk-IQBHK7MV.js} +2 -2
  240. package/bundles/ragents.ask/web/chunks/{chunk-MBRPS477.js.map → chunk-IQBHK7MV.js.map} +3 -3
  241. package/bundles/ragents.ask/web/chunks/chunk-PWFIAMX4.js +2 -0
  242. package/bundles/ragents.ask/web/chunks/chunk-PWFIAMX4.js.map +7 -0
  243. package/bundles/ragents.ask/web/chunks/chunk-QHGKEESD.js +2 -0
  244. package/bundles/ragents.ask/web/chunks/chunk-QHGKEESD.js.map +7 -0
  245. package/bundles/ragents.ask/web/classes.json +1 -1
  246. package/bundles/ragents.ask/web/exports/ask-payload.js +1 -1
  247. package/bundles/ragents.ask/web/exports/web/QuestionCard.js +1 -1
  248. package/bundles/ragents.ask/web/exports/web/api.js +1 -1
  249. package/bundles/ragents.ask/web/index.js +1 -1
  250. package/bundles/ragents.ask/web/index.js.map +2 -2
  251. package/bundles/ragents.browser/executor/index.mjs +35 -35
  252. package/bundles/ragents.browser/executor/index.mjs.map +2 -2
  253. package/bundles/ragents.browser/ragents-bundle.json +2 -2
  254. package/bundles/ragents.browser/server/chunks/{chunk-CWLX4VA5.js → chunk-PYEISBNE.js} +1 -1
  255. package/bundles/ragents.browser/server/chunks/{chunk-CWLX4VA5.js.map → chunk-PYEISBNE.js.map} +1 -1
  256. package/bundles/ragents.browser/server/exports/server/contract.js +1 -1
  257. package/bundles/ragents.browser/server/index.js +31 -31
  258. package/bundles/ragents.browser/server/index.js.map +2 -2
  259. package/bundles/ragents.browser/skills/browser-testing/SKILL.md +30 -30
  260. package/bundles/ragents.documents/prompt.hbs +1 -1
  261. package/bundles/ragents.documents/ragents-bundle.json +2 -2
  262. package/bundles/ragents.documents/server/chunks/{chunk-QIECRZ7C.js → chunk-KMZWOVTI.js} +3 -3
  263. package/bundles/ragents.documents/server/chunks/{chunk-QIECRZ7C.js.map → chunk-KMZWOVTI.js.map} +2 -2
  264. package/bundles/ragents.documents/server/exports/contract.js +1 -1
  265. package/bundles/ragents.documents/server/index.js +26 -26
  266. package/bundles/ragents.documents/server/index.js.map +2 -2
  267. package/bundles/ragents.documents/web/classes.json +1 -1
  268. package/bundles/ragents.documents/web/index.js +1 -1
  269. package/bundles/ragents.documents/web/index.js.map +3 -3
  270. package/bundles/ragents.lsp-fsharp/executor/index.mjs +4 -4
  271. package/bundles/ragents.lsp-fsharp/executor/index.mjs.map +2 -2
  272. package/bundles/ragents.lsp-fsharp/ragents-bundle.json +2 -2
  273. package/bundles/ragents.lsp-fsharp/server/index.js +5 -5
  274. package/bundles/ragents.lsp-fsharp/server/index.js.map +2 -2
  275. package/bundles/ragents.lsp-fsharp/web/index.js +1 -1
  276. package/bundles/ragents.lsp-fsharp/web/index.js.map +2 -2
  277. package/bundles/ragents.lsp-roslyn/executor/index.mjs +3 -3
  278. package/bundles/ragents.lsp-roslyn/executor/index.mjs.map +2 -2
  279. package/bundles/ragents.lsp-roslyn/ragents-bundle.json +2 -2
  280. package/bundles/ragents.lsp-roslyn/server/index.js +17 -17
  281. package/bundles/ragents.lsp-roslyn/server/index.js.map +2 -2
  282. package/bundles/ragents.lsp-roslyn/web/index.js +1 -1
  283. package/bundles/ragents.lsp-roslyn/web/index.js.map +2 -2
  284. package/bundles/ragents.lsp-typescript/executor/index.mjs +2 -2
  285. package/bundles/ragents.lsp-typescript/executor/index.mjs.map +2 -2
  286. package/bundles/ragents.lsp-typescript/ragents-bundle.json +2 -2
  287. package/bundles/ragents.lsp-typescript/server/index.js.map +1 -1
  288. package/bundles/ragents.lsp-typescript/web/index.js +1 -1
  289. package/bundles/ragents.lsp-typescript/web/index.js.map +2 -2
  290. package/bundles/ragents.model-relay/ragents-bundle.json +7 -3
  291. package/bundles/ragents.model-relay/server/index.js +25 -21
  292. package/bundles/ragents.model-relay/server/index.js.map +2 -2
  293. package/bundles/ragents.orchestration/ragents-bundle.json +2 -2
  294. package/bundles/ragents.orchestration/server/index.js +28 -28
  295. package/bundles/ragents.orchestration/server/index.js.map +2 -2
  296. package/bundles/ragents.orchestration/web/chunks/{chunk-OSKPH6SZ.js → chunk-CFMJD5ZI.js} +2 -2
  297. package/bundles/ragents.orchestration/web/chunks/chunk-HOBLI364.js +2 -0
  298. package/bundles/ragents.orchestration/web/chunks/{chunk-OQYCNYXN.js.map → chunk-HOBLI364.js.map} +2 -2
  299. package/bundles/ragents.orchestration/web/chunks/{chunk-ODMMQGX2.js → chunk-UCIMT2R4.js} +2 -2
  300. package/bundles/ragents.orchestration/web/classes.json +1 -1
  301. package/bundles/ragents.orchestration/web/exports/web/program-slot.js +1 -1
  302. package/bundles/ragents.orchestration/web/exports/web/surface-entities.js +1 -1
  303. package/bundles/ragents.orchestration/web/index.js +8 -8
  304. package/bundles/ragents.orchestration/web/index.js.map +2 -2
  305. package/bundles/ragents.overseer/ragents-bundle.json +2 -2
  306. package/bundles/ragents.overseer/server/index.js +98 -98
  307. package/bundles/ragents.overseer/server/index.js.map +2 -2
  308. package/bundles/ragents.overseer/web/classes.json +1 -1
  309. package/bundles/ragents.overseer/web/index.js +1 -1
  310. package/bundles/ragents.overseer/web/index.js.map +2 -2
  311. package/bundles/ragents.processes/ragents-bundle.json +2 -2
  312. package/bundles/ragents.processes/server/index.js +11 -11
  313. package/bundles/ragents.processes/server/index.js.map +2 -2
  314. package/bundles/ragents.processes/web/classes.json +1 -1
  315. package/bundles/ragents.processes/web/index.js +3 -3
  316. package/bundles/ragents.processes/web/index.js.map +2 -2
  317. package/bundles/ragents.product/ragents-bundle.json +2 -2
  318. package/bundles/ragents.product/server/index.js +12 -13
  319. package/bundles/ragents.product/server/index.js.map +2 -2
  320. package/bundles/ragents.product/web/classes.json +1 -1
  321. package/bundles/ragents.product/web/index.js +1 -1
  322. package/bundles/ragents.product/web/index.js.map +2 -2
  323. package/bundles/ragents.profile-distribution/ragents-bundle.json +2 -2
  324. package/bundles/ragents.profile-distribution/server/index.js +31 -31
  325. package/bundles/ragents.profile-distribution/server/index.js.map +2 -2
  326. package/bundles/ragents.reference/ragents-bundle.json +2 -2
  327. package/bundles/ragents.reference/run-scripts/balcony-wizard/RUN.md +19 -19
  328. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/package.json +2 -2
  329. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +14 -14
  330. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/conversation.ts +2 -2
  331. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/tests/conversation.test.ts +49 -49
  332. package/bundles/ragents.reference/run-scripts/balcony-wizard/package.json +1 -1
  333. package/bundles/ragents.reference/run-scripts/balcony-wizard/src/server.ts +9 -9
  334. package/bundles/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +9 -9
  335. package/bundles/ragents.reference/run-scripts/conversation-circle/RUN.md +7 -7
  336. package/bundles/ragents.reference/run-scripts/conversation-circle/package.json +1 -1
  337. package/bundles/ragents.reference/run-scripts/conversation-circle/src/server.ts +13 -13
  338. package/bundles/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +1 -1
  339. package/bundles/ragents.reference/run-scripts/conversation-circle/tests/program.test.ts +8 -8
  340. package/bundles/ragents.reference/run-scripts/learning-afternoon/RUN.md +16 -16
  341. package/bundles/ragents.reference/run-scripts/learning-afternoon/package.json +1 -1
  342. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/experiment.md +1 -1
  343. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/helper.md +3 -3
  344. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/quiz.md +1 -1
  345. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/server.ts +9 -9
  346. package/bundles/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +39 -39
  347. package/bundles/ragents.reference/run-scripts/moderated-round/RUN.md +7 -7
  348. package/bundles/ragents.reference/run-scripts/moderated-round/package.json +1 -1
  349. package/bundles/ragents.reference/run-scripts/moderated-round/src/server.ts +9 -9
  350. package/bundles/ragents.reference/run-scripts/moderated-round/tests/helpers.ts +1 -1
  351. package/bundles/ragents.reference/run-scripts/moderated-round/tests/program.test.ts +6 -6
  352. package/bundles/ragents.reference/run-scripts/shared-actor-list/RUN.md +12 -12
  353. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/package.json +2 -2
  354. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/contract.ts +3 -3
  355. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/tests/program.test.ts +4 -4
  356. package/bundles/ragents.reference/run-scripts/shared-actor-list/package.json +1 -1
  357. package/bundles/ragents.reference/run-scripts/shared-actor-list/src/server.ts +11 -11
  358. package/bundles/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +1 -1
  359. package/bundles/ragents.reference/run-scripts/shared-actor-list/tests/program.test.ts +13 -13
  360. package/bundles/ragents.reference/run-scripts/word-game/RUN.md +18 -18
  361. package/bundles/ragents.reference/run-scripts/word-game/package.json +2 -2
  362. package/bundles/ragents.reference/run-scripts/word-game/src/client.tsx +1 -1
  363. package/bundles/ragents.reference/run-scripts/word-game/src/contract.ts +2 -2
  364. package/bundles/ragents.reference/run-scripts/word-game/src/server.ts +16 -16
  365. package/bundles/ragents.reference/run-scripts/word-game/tests/program.test.ts +39 -39
  366. package/bundles/ragents.reference/skills/100-shared-actor-list/SKILL.md +5 -5
  367. package/bundles/ragents.reference/skills/110-all-card-slots/SKILL.md +5 -5
  368. package/bundles/ragents.reference/skills/150-editorial-workbench/SKILL.md +5 -5
  369. package/bundles/ragents.reference/skills/160-learning-companion/SKILL.md +5 -5
  370. package/bundles/ragents.reference/skills/170-photo-collection/SKILL.md +5 -5
  371. package/bundles/ragents.reference/skills/180-decision-workbench/SKILL.md +5 -5
  372. package/bundles/ragents.reference/skills/190-review-queue/SKILL.md +5 -5
  373. package/bundles/ragents.reference/skills/20-circle-of-four/SKILL.md +5 -5
  374. package/bundles/ragents.reference/skills/200-typescript-diagnostics/SKILL.md +5 -5
  375. package/bundles/ragents.reference/skills/210-moderator-handover/SKILL.md +5 -5
  376. package/bundles/ragents.reference/skills/220-actor-approval-list/SKILL.md +5 -5
  377. package/bundles/ragents.reference/skills/230-shared-state-views/SKILL.md +5 -5
  378. package/bundles/ragents.reference/skills/240-live-result-list/SKILL.md +5 -5
  379. package/bundles/ragents.reference/skills/250-balcony-wizard/SKILL.md +5 -5
  380. package/bundles/ragents.reference/skills/30-llm-without-runtime-knowledge/SKILL.md +5 -5
  381. package/bundles/ragents.reference/skills/35-actor-input-fifo/SKILL.md +5 -5
  382. package/bundles/ragents.reference/skills/40-subscription-matrix/SKILL.md +5 -5
  383. package/bundles/ragents.reference/skills/50-subscription-removal/SKILL.md +5 -5
  384. package/bundles/ragents.reference/skills/60-stop-in-the-circle/SKILL.md +5 -5
  385. package/bundles/ragents.reference/skills/65-artifact-least-privilege/SKILL.md +5 -5
  386. package/bundles/ragents.reference/skills/70-headless-counter/SKILL.md +5 -5
  387. package/bundles/ragents.reference/skills/75-lsp-demo/SKILL.md +5 -5
  388. package/bundles/ragents.reference/skills/80-actor-text-analysis/SKILL.md +5 -5
  389. package/bundles/ragents.reference/skills/90-actor-notes/SKILL.md +5 -5
  390. package/bundles/ragents.reference/skills/95-hello-world/SKILL.md +5 -5
  391. package/bundles/ragents.reference/skills/decision-brief/SKILL.md +24 -24
  392. package/bundles/ragents.reference/skills/learning-sprint/SKILL.md +24 -24
  393. package/bundles/ragents.reference/web/classes.json +1 -1
  394. package/bundles/ragents.reference/web/index.js +1 -1
  395. package/bundles/ragents.reference/web/index.js.map +2 -2
  396. package/bundles/ragents.todo/ragents-bundle.json +2 -2
  397. package/bundles/ragents.todo/server/index.js +5 -5
  398. package/bundles/ragents.todo/server/index.js.map +2 -2
  399. package/bundles/ragents.todo/web/classes.json +1 -1
  400. package/bundles/ragents.todo/web/index.js +1 -1
  401. package/bundles/ragents.todo/web/index.js.map +2 -2
  402. package/bundles/ragents.transcript/ragents-bundle.json +2 -2
  403. package/bundles/ragents.transcript/server/index.js +11 -11
  404. package/bundles/ragents.transcript/server/index.js.map +2 -2
  405. package/bundles/ragents.watch/ragents-bundle.json +2 -2
  406. package/bundles/ragents.watch/server/index.js +48 -48
  407. package/bundles/ragents.watch/server/index.js.map +2 -2
  408. package/bundles/ragents.workspace/ragents-bundle.json +2 -2
  409. package/bundles/ragents.workspace/server/index.js +81 -81
  410. package/bundles/ragents.workspace/server/index.js.map +2 -2
  411. package/bundles/ragents.workspace/web/classes.json +1 -1
  412. package/bundles/ragents.workspace/web/index.js +1 -1
  413. package/bundles/ragents.workspace/web/index.js.map +2 -2
  414. package/package.json +4 -4
  415. package/packages/agent/dist/core/model-runtime.d.ts +7 -2
  416. package/packages/agent/dist/index.d.ts +1 -1
  417. package/packages/agent/dist/loop/agent-loop.d.ts +2 -2
  418. package/packages/agent/src/core/compaction/utils.ts +1 -1
  419. package/packages/agent/src/core/model-runtime.ts +45 -5
  420. package/packages/agent/src/index.ts +1 -1
  421. package/packages/agent/src/loop/agent-loop.ts +2 -2
  422. package/packages/ai/dist/models.d.ts +1 -0
  423. package/packages/ai/dist/models.generated.d.ts +4544 -983
  424. package/packages/ai/dist/providers/openrouter.models.d.ts +4544 -983
  425. package/packages/ai/src/api/ai-sdk.ts +33 -7
  426. package/packages/ai/src/api-registry.ts +1 -1
  427. package/packages/ai/src/index.ts +2 -2
  428. package/packages/ai/src/models.generated.ts +1 -1
  429. package/packages/ai/src/models.ts +1 -1
  430. package/packages/ai/src/providers/openrouter.models.ts +3723 -550
  431. package/packages/ragents/src/access.ts +12 -12
  432. package/packages/ragents/src/agents/actor-input.ts +33 -33
  433. package/packages/ragents/src/agents/catalog.ts +1 -1
  434. package/packages/ragents/src/agents/delivery.ts +17 -17
  435. package/packages/ragents/src/agents/plugins.ts +1 -1
  436. package/packages/ragents/src/agents/scheduler.ts +7 -7
  437. package/packages/ragents/src/agents/schemas.ts +1 -1
  438. package/packages/ragents/src/agents/tool-orientation.ts +4 -4
  439. package/packages/ragents/src/agents/tools.ts +20 -20
  440. package/packages/ragents/src/agents/toolset.ts +5 -5
  441. package/packages/ragents/src/agents/workspaces.ts +1 -1
  442. package/packages/ragents/src/domain/events.ts +1 -1
  443. package/packages/ragents/src/domain/model.ts +5 -5
  444. package/packages/ragents/src/drivers/agent-runtime.ts +1 -1
  445. package/packages/ragents/src/drivers/agent-turn.ts +4 -4
  446. package/packages/ragents/src/drivers/agent.ts +2 -2
  447. package/packages/ragents/src/drivers/attachments.ts +4 -4
  448. package/packages/ragents/src/http/contracts.ts +14 -14
  449. package/packages/ragents/src/http/methods.ts +6 -6
  450. package/packages/ragents/src/plugin-host.ts +119 -119
  451. package/packages/ragents/src/plugin-types.ts +16 -16
  452. package/packages/ragents/src/rpc/contract.ts +5 -5
  453. package/packages/ragents/src/rpc/contribution.ts +2 -2
  454. package/packages/ragents/src/rpc/peer.ts +11 -11
  455. package/packages/ragents/src/rpc/protocol.ts +2 -2
  456. package/packages/ragents/src/runtime/decisions/turns.ts +1 -1
  457. package/packages/ragents/src/runtime/journal.ts +10 -10
  458. package/packages/ragents/src/runtime/orchestration.ts +8 -8
  459. package/packages/ragents/src/runtime/stop.ts +2 -2
  460. package/packages/ragents/src/script/mediators.ts +35 -35
  461. package/packages/ragents/src/typescript/async-compiler.ts +14 -14
  462. package/packages/ragents/src/typescript/compiler-worker.ts +2 -2
  463. package/packages/ragents/src/typescript/compiler.ts +7 -7
  464. package/packages/ragents/src/typescript/snippet.ts +5 -5
  465. package/packages/workspace-executor/src/bash-launch.ts +13 -13
  466. package/packages/workspace-executor/src/commands.ts +18 -18
  467. package/packages/workspace-executor/src/context.ts +15 -15
  468. package/packages/workspace-executor/src/contributions.ts +35 -35
  469. package/packages/workspace-executor/src/errors.ts +1 -1
  470. package/packages/workspace-executor/src/executor.ts +15 -15
  471. package/packages/workspace-executor/src/files.ts +30 -30
  472. package/packages/workspace-executor/src/language-server/contract.ts +2 -2
  473. package/packages/workspace-executor/src/language-server/diagnostics.ts +4 -4
  474. package/packages/workspace-executor/src/language-server/host.ts +35 -35
  475. package/packages/workspace-executor/src/language-server/json-rpc.ts +4 -4
  476. package/packages/workspace-executor/src/language-server/module.ts +11 -11
  477. package/packages/workspace-executor/src/language-server/roots.ts +3 -3
  478. package/packages/workspace-executor/src/language-server/session.ts +15 -15
  479. package/packages/workspace-executor/src/language-server/workspace-solutions.ts +2 -2
  480. package/packages/workspace-executor/src/managed-process.ts +12 -12
  481. package/packages/workspace-executor/src/module.ts +8 -8
  482. package/packages/workspace-executor/src/modules.ts +3 -3
  483. package/packages/workspace-executor/src/paths.ts +11 -11
  484. package/packages/workspace-executor/src/process-sandbox.ts +3 -3
  485. package/packages/workspace-executor/src/processes/module.ts +3 -3
  486. package/packages/workspace-executor/src/processes/process-table.ts +20 -20
  487. package/packages/workspace-executor/src/processes/scanner.ts +3 -3
  488. package/packages/workspace-executor/src/processes/snapshot.ts +2 -2
  489. package/packages/workspace-executor/src/processes/terminator.ts +13 -13
  490. package/packages/workspace-executor/src/run-folders.ts +3 -3
  491. package/packages/workspace-executor/src/safe-environment.ts +4 -4
  492. package/packages/workspace-executor/src/sandbox-tools.ts +28 -28
  493. package/packages/workspace-executor/src/session-ident.ts +2 -2
  494. package/packages/workspace-executor/src/shell-platform.ts +2 -2
  495. package/packages/workspace-executor/src/tools.ts +5 -5
  496. package/plugins/ragents.activity/web/ActivityHeader.tsx +3 -3
  497. package/plugins/ragents.activity/web/activity.ts +2 -2
  498. package/plugins/ragents.actor-programs/server/access-projections.ts +1 -1
  499. package/plugins/ragents.actor-programs/server/agent-tools.ts +2 -2
  500. package/plugins/ragents.actor-programs/server/capability-resolver.ts +3 -3
  501. package/plugins/ragents.actor-programs/server/controls-template.ts +46 -46
  502. package/plugins/ragents.actor-programs/server/controls-tool.ts +4 -4
  503. package/plugins/ragents.actor-programs/server/limits.ts +3 -3
  504. package/plugins/ragents.actor-programs/server/methods.ts +1 -1
  505. package/plugins/ragents.actor-programs/server/project-diagnostics.ts +8 -8
  506. package/plugins/ragents.actor-programs/server/routes.ts +8 -8
  507. package/plugins/ragents.actor-programs/server/runtime.ts +90 -90
  508. package/plugins/ragents.actor-programs/server/templates.ts +59 -59
  509. package/plugins/ragents.actor-programs/server/test-report.ts +5 -5
  510. package/plugins/ragents.actor-programs/server/tool-contributor.ts +1 -1
  511. package/plugins/ragents.actor-programs/web/ActorViewFrame.tsx +17 -17
  512. package/plugins/ragents.actor-programs/web/AppsPanel.tsx +26 -26
  513. package/plugins/ragents.actor-programs/web/EmbeddedApps.tsx +3 -3
  514. package/plugins/ragents.actor-programs/web/FullscreenHost.tsx +2 -2
  515. package/plugins/ragents.actor-programs/web/FunctionForm.tsx +16 -16
  516. package/plugins/ragents.actor-programs/web/ProgramSource.tsx +5 -5
  517. package/plugins/ragents.actor-programs/web/api.ts +36 -36
  518. package/plugins/ragents.actor-programs/web/bridge.ts +8 -8
  519. package/plugins/ragents.actor-programs/web/chat-state.ts +4 -4
  520. package/plugins/ragents.actor-programs/web/context.ts +1 -1
  521. package/plugins/ragents.actor-programs/web/function-input.ts +6 -6
  522. package/plugins/ragents.actor-programs/web/index.tsx +1 -1
  523. package/plugins/ragents.actor-programs/web/program-state.ts +4 -4
  524. package/plugins/ragents.ask/ask-payload.ts +1 -1
  525. package/plugins/ragents.ask/contract.ts +5 -5
  526. package/plugins/ragents.ask/server/answer-method.ts +1 -1
  527. package/plugins/ragents.ask/server/ask-service.ts +9 -9
  528. package/plugins/ragents.ask/server/ask-tool.ts +10 -10
  529. package/plugins/ragents.ask/server/contract.ts +5 -5
  530. package/plugins/ragents.ask/web/AskActionView.tsx +1 -1
  531. package/plugins/ragents.ask/web/QuestionCard.tsx +22 -22
  532. package/plugins/ragents.ask/web/index.tsx +2 -2
  533. package/plugins/ragents.browser/executor/contract.ts +6 -6
  534. package/plugins/ragents.browser/executor/index.ts +1 -1
  535. package/plugins/ragents.browser/executor/module.ts +6 -6
  536. package/plugins/ragents.browser/executor/pages.ts +32 -32
  537. package/plugins/ragents.browser/executor/playwright.ts +8 -8
  538. package/plugins/ragents.browser/provision.ts +7 -7
  539. package/plugins/ragents.browser/server/browser.ts +14 -14
  540. package/plugins/ragents.browser/server/contract.ts +1 -1
  541. package/plugins/ragents.browser/server/index.ts +1 -1
  542. package/plugins/ragents.browser/server/tools.ts +14 -14
  543. package/plugins/ragents.browser/skills/browser-testing/SKILL.md +30 -30
  544. package/plugins/ragents.documents/contract.ts +2 -2
  545. package/plugins/ragents.documents/prompt.hbs +1 -1
  546. package/plugins/ragents.documents/server/document-write-tool.ts +12 -12
  547. package/plugins/ragents.documents/server/files-route.ts +6 -6
  548. package/plugins/ragents.documents/server/show-document-tool.ts +26 -26
  549. package/plugins/ragents.documents/server/store.ts +1 -1
  550. package/plugins/ragents.documents/web/DocumentViewer.tsx +37 -37
  551. package/plugins/ragents.documents/web/index.tsx +11 -11
  552. package/plugins/ragents.lsp-fsharp/executor.ts +7 -7
  553. package/plugins/ragents.lsp-fsharp/provision.ts +7 -7
  554. package/plugins/ragents.lsp-roslyn/executor.ts +5 -5
  555. package/plugins/ragents.lsp-roslyn/provision.ts +4 -4
  556. package/plugins/ragents.lsp-roslyn/server/index.ts +5 -5
  557. package/plugins/ragents.lsp-roslyn/server/solution-on-start.ts +13 -13
  558. package/plugins/ragents.lsp-typescript/executor.ts +3 -3
  559. package/plugins/ragents.model-relay/server/config.ts +6 -2
  560. package/plugins/ragents.model-relay/server/index.ts +2 -2
  561. package/plugins/ragents.model-relay/server/relay.ts +23 -22
  562. package/plugins/ragents.orchestration/contract.ts +8 -8
  563. package/plugins/ragents.orchestration/server/index.ts +4 -4
  564. package/plugins/ragents.orchestration/server/run-stop-tool.ts +3 -3
  565. package/plugins/ragents.orchestration/server/surface-tool.ts +5 -5
  566. package/plugins/ragents.orchestration/tiled-layout.ts +11 -11
  567. package/plugins/ragents.orchestration/web/ActorChat.tsx +2 -2
  568. package/plugins/ragents.orchestration/web/ActorChatControls.tsx +4 -4
  569. package/plugins/ragents.orchestration/web/ActorChatPreview.tsx +1 -1
  570. package/plugins/ragents.orchestration/web/ActorPopout.tsx +1 -1
  571. package/plugins/ragents.orchestration/web/ActorShortcut.tsx +6 -6
  572. package/plugins/ragents.orchestration/web/ActorSurfaceControls.tsx +15 -15
  573. package/plugins/ragents.orchestration/web/Center.tsx +5 -5
  574. package/plugins/ragents.orchestration/web/DocumentsSection.tsx +2 -2
  575. package/plugins/ragents.orchestration/web/ExecutionsPanel.tsx +15 -15
  576. package/plugins/ragents.orchestration/web/FlowInspector.tsx +103 -103
  577. package/plugins/ragents.orchestration/web/JournalStatus.tsx +11 -11
  578. package/plugins/ragents.orchestration/web/MaterialBody.tsx +2 -2
  579. package/plugins/ragents.orchestration/web/StopRunButton.tsx +6 -6
  580. package/plugins/ragents.orchestration/web/TiledSurface.tsx +9 -9
  581. package/plugins/ragents.orchestration/web/actor-header-settings.ts +5 -5
  582. package/plugins/ragents.orchestration/web/constants.ts +2 -2
  583. package/plugins/ragents.orchestration/web/executions.ts +6 -6
  584. package/plugins/ragents.orchestration/web/format.ts +1 -1
  585. package/plugins/ragents.orchestration/web/index.tsx +2 -2
  586. package/plugins/ragents.orchestration/web/run-panel/AddresseeControl.tsx +7 -7
  587. package/plugins/ragents.orchestration/web/run-panel/AddresseeTree.tsx +8 -8
  588. package/plugins/ragents.orchestration/web/run-panel/RunPanel.tsx +22 -22
  589. package/plugins/ragents.orchestration/web/run-panel/RunPanelSettings.tsx +7 -7
  590. package/plugins/ragents.orchestration/web/run-panel/addressee-tree.ts +13 -13
  591. package/plugins/ragents.orchestration/web/run-panel/run-panel-actors.ts +3 -3
  592. package/plugins/ragents.orchestration/web/run-panel/run-panel-settings.ts +2 -2
  593. package/plugins/ragents.orchestration/web/run-panel/run-panel-startup.ts +3 -3
  594. package/plugins/ragents.orchestration/web/run-panel/run-panel-state.ts +7 -7
  595. package/plugins/ragents.orchestration/web/run-panel/sheet-status.ts +9 -9
  596. package/plugins/ragents.orchestration/web/surface-startup.ts +8 -8
  597. package/plugins/ragents.orchestration/web/surface-view-settings.ts +1 -1
  598. package/plugins/ragents.orchestration/web/tiled-view-settings.ts +1 -1
  599. package/plugins/ragents.overseer/contract.ts +20 -20
  600. package/plugins/ragents.overseer/server/api.ts +6 -6
  601. package/plugins/ragents.overseer/server/coordinator-prompt.ts +10 -10
  602. package/plugins/ragents.overseer/server/coordinator.ts +4 -4
  603. package/plugins/ragents.overseer/server/index.ts +24 -24
  604. package/plugins/ragents.overseer/server/orientation.ts +8 -8
  605. package/plugins/ragents.overseer/server/quick-answer.ts +9 -9
  606. package/plugins/ragents.overseer/server/run-directory.ts +5 -5
  607. package/plugins/ragents.overseer/server/settings.ts +6 -6
  608. package/plugins/ragents.overseer/server/user-location.ts +16 -16
  609. package/plugins/ragents.overseer/web/ModelSettings.tsx +9 -9
  610. package/plugins/ragents.overseer/web/index.tsx +20 -20
  611. package/plugins/ragents.overseer/web/model-settings.ts +1 -1
  612. package/plugins/ragents.overseer/web/quick-answers.ts +2 -2
  613. package/plugins/ragents.processes/contract.ts +5 -5
  614. package/plugins/ragents.processes/server/methods.ts +4 -4
  615. package/plugins/ragents.processes/server/observer.ts +8 -8
  616. package/plugins/ragents.processes/server/run-processes.ts +2 -2
  617. package/plugins/ragents.processes/web/ProcessHeader.tsx +10 -10
  618. package/plugins/ragents.processes/web/processes.ts +10 -10
  619. package/plugins/ragents.product/server/config.ts +1 -1
  620. package/plugins/ragents.product/server/index.ts +4 -4
  621. package/plugins/ragents.product/server/runtime.ts +9 -10
  622. package/plugins/ragents.product/web/index.tsx +1 -1
  623. package/plugins/ragents.profile-distribution/contract.ts +10 -10
  624. package/plugins/ragents.profile-distribution/server/archive.ts +20 -20
  625. package/plugins/ragents.profile-distribution/server/config.ts +2 -2
  626. package/plugins/ragents.profile-distribution/server/index.ts +4 -4
  627. package/plugins/ragents.reference/examples.ts +27 -27
  628. package/plugins/ragents.reference/run-scripts/balcony-wizard/RUN.md +19 -19
  629. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/package.json +2 -2
  630. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +14 -14
  631. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/conversation.ts +2 -2
  632. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/tests/conversation.test.ts +49 -49
  633. package/plugins/ragents.reference/run-scripts/balcony-wizard/package.json +1 -1
  634. package/plugins/ragents.reference/run-scripts/balcony-wizard/src/server.ts +9 -9
  635. package/plugins/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +9 -9
  636. package/plugins/ragents.reference/run-scripts/conversation-circle/RUN.md +7 -7
  637. package/plugins/ragents.reference/run-scripts/conversation-circle/package.json +1 -1
  638. package/plugins/ragents.reference/run-scripts/conversation-circle/src/server.ts +13 -13
  639. package/plugins/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +1 -1
  640. package/plugins/ragents.reference/run-scripts/conversation-circle/tests/program.test.ts +8 -8
  641. package/plugins/ragents.reference/run-scripts/learning-afternoon/RUN.md +16 -16
  642. package/plugins/ragents.reference/run-scripts/learning-afternoon/package.json +1 -1
  643. package/plugins/ragents.reference/run-scripts/learning-afternoon/prompts/experiment.md +1 -1
  644. package/plugins/ragents.reference/run-scripts/learning-afternoon/prompts/helper.md +3 -3
  645. package/plugins/ragents.reference/run-scripts/learning-afternoon/prompts/quiz.md +1 -1
  646. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/server.ts +9 -9
  647. package/plugins/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +39 -39
  648. package/plugins/ragents.reference/run-scripts/moderated-round/RUN.md +7 -7
  649. package/plugins/ragents.reference/run-scripts/moderated-round/package.json +1 -1
  650. package/plugins/ragents.reference/run-scripts/moderated-round/src/server.ts +9 -9
  651. package/plugins/ragents.reference/run-scripts/moderated-round/tests/helpers.ts +1 -1
  652. package/plugins/ragents.reference/run-scripts/moderated-round/tests/program.test.ts +6 -6
  653. package/plugins/ragents.reference/run-scripts/shared-actor-list/RUN.md +12 -12
  654. package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/package.json +2 -2
  655. package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/contract.ts +3 -3
  656. package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/tests/program.test.ts +4 -4
  657. package/plugins/ragents.reference/run-scripts/shared-actor-list/package.json +1 -1
  658. package/plugins/ragents.reference/run-scripts/shared-actor-list/src/server.ts +11 -11
  659. package/plugins/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +1 -1
  660. package/plugins/ragents.reference/run-scripts/shared-actor-list/tests/program.test.ts +13 -13
  661. package/plugins/ragents.reference/run-scripts/word-game/RUN.md +18 -18
  662. package/plugins/ragents.reference/run-scripts/word-game/package.json +2 -2
  663. package/plugins/ragents.reference/run-scripts/word-game/src/client.tsx +1 -1
  664. package/plugins/ragents.reference/run-scripts/word-game/src/contract.ts +2 -2
  665. package/plugins/ragents.reference/run-scripts/word-game/src/server.ts +16 -16
  666. package/plugins/ragents.reference/run-scripts/word-game/tests/program.test.ts +39 -39
  667. package/plugins/ragents.reference/skills/100-shared-actor-list/SKILL.md +5 -5
  668. package/plugins/ragents.reference/skills/110-all-card-slots/SKILL.md +5 -5
  669. package/plugins/ragents.reference/skills/150-editorial-workbench/SKILL.md +5 -5
  670. package/plugins/ragents.reference/skills/160-learning-companion/SKILL.md +5 -5
  671. package/plugins/ragents.reference/skills/170-photo-collection/SKILL.md +5 -5
  672. package/plugins/ragents.reference/skills/180-decision-workbench/SKILL.md +5 -5
  673. package/plugins/ragents.reference/skills/190-review-queue/SKILL.md +5 -5
  674. package/plugins/ragents.reference/skills/20-circle-of-four/SKILL.md +5 -5
  675. package/plugins/ragents.reference/skills/200-typescript-diagnostics/SKILL.md +5 -5
  676. package/plugins/ragents.reference/skills/210-moderator-handover/SKILL.md +5 -5
  677. package/plugins/ragents.reference/skills/220-actor-approval-list/SKILL.md +5 -5
  678. package/plugins/ragents.reference/skills/230-shared-state-views/SKILL.md +5 -5
  679. package/plugins/ragents.reference/skills/240-live-result-list/SKILL.md +5 -5
  680. package/plugins/ragents.reference/skills/250-balcony-wizard/SKILL.md +5 -5
  681. package/plugins/ragents.reference/skills/30-llm-without-runtime-knowledge/SKILL.md +5 -5
  682. package/plugins/ragents.reference/skills/35-actor-input-fifo/SKILL.md +5 -5
  683. package/plugins/ragents.reference/skills/40-subscription-matrix/SKILL.md +5 -5
  684. package/plugins/ragents.reference/skills/50-subscription-removal/SKILL.md +5 -5
  685. package/plugins/ragents.reference/skills/60-stop-in-the-circle/SKILL.md +5 -5
  686. package/plugins/ragents.reference/skills/65-artifact-least-privilege/SKILL.md +5 -5
  687. package/plugins/ragents.reference/skills/70-headless-counter/SKILL.md +5 -5
  688. package/plugins/ragents.reference/skills/75-lsp-demo/SKILL.md +5 -5
  689. package/plugins/ragents.reference/skills/80-actor-text-analysis/SKILL.md +5 -5
  690. package/plugins/ragents.reference/skills/90-actor-notes/SKILL.md +5 -5
  691. package/plugins/ragents.reference/skills/95-hello-world/SKILL.md +5 -5
  692. package/plugins/ragents.reference/skills/decision-brief/SKILL.md +24 -24
  693. package/plugins/ragents.reference/skills/learning-sprint/SKILL.md +24 -24
  694. package/plugins/ragents.reference/walkthroughs.ts +128 -128
  695. package/plugins/ragents.reference/web/StartGuides.tsx +23 -23
  696. package/plugins/ragents.todo/server/todo-tool.ts +6 -6
  697. package/plugins/ragents.todo/web/TodoSection.tsx +1 -1
  698. package/plugins/ragents.transcript/server/transcript.ts +11 -11
  699. package/plugins/ragents.watch/server/condition.ts +4 -4
  700. package/plugins/ragents.watch/server/functions.ts +27 -27
  701. package/plugins/ragents.watch/server/observation.ts +2 -2
  702. package/plugins/ragents.watch/server/service.ts +14 -14
  703. package/plugins/ragents.workspace/client/transport.ts +1 -1
  704. package/plugins/ragents.workspace/client/workspace-client.ts +54 -54
  705. package/plugins/ragents.workspace/contract.ts +46 -46
  706. package/plugins/ragents.workspace/server/binding.ts +20 -20
  707. package/plugins/ragents.workspace/server/browse-route.ts +8 -8
  708. package/plugins/ragents.workspace/server/clients.ts +42 -42
  709. package/plugins/ragents.workspace/server/config.ts +7 -7
  710. package/plugins/ragents.workspace/server/index.ts +3 -3
  711. package/plugins/ragents.workspace/server/runtime.ts +26 -26
  712. package/plugins/ragents.workspace/server/shell-platform.ts +1 -1
  713. package/plugins/ragents.workspace/web/FileBrowser.tsx +10 -10
  714. package/plugins/ragents.workspace/web/WorkspaceBinding.tsx +24 -24
  715. package/plugins/ragents.workspace/web/index.tsx +1 -1
  716. package/ragents.config.core.ts +1 -1
  717. package/ragents.config.developer.ts +3 -3
  718. package/ragents.config.showcase.ts +2 -2
  719. package/scripts/agent/agent-cli.ts +96 -96
  720. package/scripts/agent/journal.ts +5 -5
  721. package/scripts/agent/turn-control.ts +4 -4
  722. package/scripts/package/build-package.ts +29 -29
  723. package/scripts/package/host-links.mjs +3 -3
  724. package/scripts/package/publish-package.ts +29 -29
  725. package/scripts/package/ragents.mjs +19 -19
  726. package/scripts/plugin/build-builtin-plugins.ts +5 -5
  727. package/scripts/plugin/plugin-cli.ts +14 -14
  728. package/scripts/provision/run-provision.ts +14 -15
  729. package/scripts/remote/connect.ts +46 -46
  730. package/scripts/remote/start.ts +18 -18
  731. package/scripts/workspace-client/run-workspace-client.ts +23 -23
  732. package/apps/web/dist/assets/main-DnnqWHkH.js +0 -11
  733. package/apps/web/dist/assets/mermaid-HWGCJPDP-BLLeth5_.js +0 -568
  734. package/apps/web/dist/assets/runPanel-DPm7s3KM.js +0 -21
  735. package/bundles/ragents.ask/server/chunks/chunk-PDJO75SQ.js.map +0 -7
  736. package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js +0 -2
  737. package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js.map +0 -7
  738. package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js +0 -2
  739. package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js.map +0 -7
  740. package/bundles/ragents.ask/web/chunks/chunk-WFN4374U.js.map +0 -7
  741. package/bundles/ragents.orchestration/web/chunks/chunk-OQYCNYXN.js +0 -2
  742. /package/bundles/ragents.orchestration/web/chunks/{chunk-OSKPH6SZ.js.map → chunk-CFMJD5ZI.js.map} +0 -0
  743. /package/bundles/ragents.orchestration/web/chunks/{chunk-ODMMQGX2.js.map → chunk-UCIMT2R4.js.map} +0 -0
@@ -7,7 +7,7 @@ import { participants, type WordGameState } from "../src/state.ts";
7
7
 
8
8
  const message = (content: string): ActorInput => ({ id: "input", content, artifactIds: [], sourceEventIds: [], subscriptionId: null, event: null });
9
9
  const firstInput = message(JSON.stringify({ input: null, options: {} }));
10
- const words = ["Strand", "Sand", "Wüste", "Kamel", "Oase", "Wasser", "Fluss", "Brücke", "Stadt", "Haus", "Garten", "Blume"];
10
+ const words = ["Beach", "Sand", "Desert", "Camel", "Oasis", "Water", "River", "Bridge", "City", "House", "Garden", "Flower"];
11
11
  type History = CapabilityContracts["event_query"]["output"];
12
12
 
13
13
  function fixture(initialState: WordGameState = {}) {
@@ -33,7 +33,7 @@ function fixture(initialState: WordGameState = {}) {
33
33
  },
34
34
  actor_input: async (input) => {
35
35
  calls.push({ name: "actor_input", input });
36
- if (settings.failDispatch) throw new Error("Übergabe fehlgeschlagen");
36
+ if (settings.failDispatch) throw new Error("Handover failed");
37
37
  return [{ type: "actor.input.enqueued", payload: { actorId: input.actor, inputId: `request-${calls.length}` } }];
38
38
  },
39
39
  event_query: async (input) => { calls.push({ name: "event_query", input }); return history.filter((event) => input.actorIds?.includes(event.actorId)); },
@@ -48,9 +48,9 @@ function fixture(initialState: WordGameState = {}) {
48
48
  const envelope = { actorId, causationId: null, commandId: "test", correlationId: null, occurredAt: "2026-09-13T12:00:00Z", runId: "test", schemaVersion: 3 as const };
49
49
  history.push({ ...envelope, eventId: `${turnId}-start`, sequence: history.length + 1, type: "turn.started", payload: { turnId, inputId: options.inputId ?? state.pendingInputId } });
50
50
  history.push({ ...envelope, eventId: `${turnId}-output`, sequence: history.length + 1, type: "model.output.completed", payload: { turnId, text: word } });
51
- return { ...message("Ereignis"), subscriptionId: options.subscriptionId ?? "subscription", sourceEventIds: [`${turnId}-finished`],
51
+ return { ...message("Event"), subscriptionId: options.subscriptionId ?? "subscription", sourceEventIds: [`${turnId}-finished`],
52
52
  event: { type: options.type ?? "turn.finished", eventId: `${turnId}-finished`, sequence: history.length + 1, occurredAt: envelope.occurredAt,
53
- sourceActorId: actorId, sourceActorHandle: null, payload: { turnId, outcome: options.outcome ?? "completed", reason: "Testunterbrechung" } } };
53
+ sourceActorId: actorId, sourceActorHandle: null, payload: { turnId, outcome: options.outcome ?? "completed", reason: "Test interruption" } } };
54
54
  };
55
55
  const start = async () => {
56
56
  await program.onInput(firstInput, context);
@@ -60,7 +60,7 @@ function fixture(initialState: WordGameState = {}) {
60
60
  return { context, calls, history, settings, response, start };
61
61
  }
62
62
 
63
- test("richtet vier reine LLMs und die eigene View ohne Modellauftrag ein", async () => {
63
+ test("sets up four plain LLMs and its own view without a model task", async () => {
64
64
  const { context, calls } = fixture();
65
65
  await program.onInput(firstInput, context);
66
66
  assert.equal(context.state.read().status, "ready");
@@ -69,15 +69,15 @@ test("richtet vier reine LLMs und die eigene View ohne Modellauftrag ein", async
69
69
  return { handle: input.handle, name: input.displayName, tools: input.tools, profile: input.profile };
70
70
  }), participants.map((participant) => ({ ...participant, tools: [], profile: "standard" })));
71
71
  assert.equal(calls.some((call) => call.name === "actor_input"), false);
72
- assert.deepEqual(calls.find((call) => call.name === "run_configure")!.input, { title: "Wortspiel", primaryActor: "test-actor" });
72
+ assert.deepEqual(calls.find((call) => call.name === "run_configure")!.input, { title: "Word game", primaryActor: "test-actor" });
73
73
  const before = structuredClone(context.state.read());
74
74
  const callCount = calls.length;
75
- await assert.rejects(async () => program.onInput(firstInput, context), /keine freien Chatnachrichten/);
75
+ await assert.rejects(async () => program.onInput(firstInput, context), /does not understand free chat messages/);
76
76
  assert.deepEqual(context.state.read(), before);
77
77
  assert.equal(calls.length, callCount);
78
78
  });
79
79
 
80
- test("der App-Aufruf schickt nur einen Auftrag an den eigenen Steueractor", async () => {
80
+ test("the app call sends only one task to its own control actor", async () => {
81
81
  const { context, calls } = fixture();
82
82
  await program.onInput(firstInput, context);
83
83
  assert.deepEqual(await program.functions.start({}, context), { accepted: true });
@@ -86,7 +86,7 @@ test("der App-Aufruf schickt nur einen Auftrag an den eigenen Steueractor", asyn
86
86
  assert.equal(context.state.read().status, "ready");
87
87
  });
88
88
 
89
- test("wartet auf spätere Ereignisse, zählt zwölf Beiträge und beendet die Weitergabe", async () => {
89
+ test("waits for later events, counts twelve contributions, and ends the handover", async () => {
90
90
  const { context, calls, response, start } = fixture();
91
91
  await start();
92
92
  assert.deepEqual(calls.slice(-2).map((call) => call.name), ["event_subscribe", "actor_input"]);
@@ -96,17 +96,17 @@ test("wartet auf spätere Ereignisse, zählt zwölf Beiträge und beendet die We
96
96
  assert.deepEqual(inputs.map((call) => (call.input as { actor: string }).actor), words.map((_word, index) => `actor-${participants[index % 4]!.handle}`));
97
97
  assert.equal(context.state.read().status, "completed");
98
98
  assert.equal(context.state.read().entries?.length, 12);
99
- assert.match(context.state.read().document!, /12\. Green: Blume/);
99
+ assert.match(context.state.read().document!, /12\. Green: Flower/);
100
100
  assert.equal(context.state.read().pendingInputId, undefined);
101
101
  assert.deepEqual(await program.functions.start({}, context), { accepted: false });
102
102
  });
103
103
 
104
- test("ignoriert falsche Quellen, fremde Aufträge, falsche Abos und doppelte Ereignisse", async () => {
104
+ test("ignores wrong sources, foreign tasks, wrong subscriptions, and duplicate events", async () => {
105
105
  const { context, calls, response, start } = fixture();
106
106
  await start();
107
- await program.onInput(response("Fremd", { actorId: "actor-blue" }), context);
108
- await program.onInput(response("Fremd", { inputId: "foreign-input" }), context);
109
- await program.onInput(response("Fremd", { subscriptionId: "foreign-subscription" }), context);
107
+ await program.onInput(response("Foreign", { actorId: "actor-blue" }), context);
108
+ await program.onInput(response("Foreign", { inputId: "foreign-input" }), context);
109
+ await program.onInput(response("Foreign", { subscriptionId: "foreign-subscription" }), context);
110
110
  assert.equal(context.state.read().entries?.length, 0);
111
111
  const first = response(words[0]!);
112
112
  await program.onInput(first, context);
@@ -119,12 +119,12 @@ test("ignoriert falsche Quellen, fremde Aufträge, falsche Abos und doppelte Ere
119
119
  });
120
120
 
121
121
  for (const scenario of [
122
- { name: "Modellfehler", word: "Strand", options: { outcome: "failed" } },
123
- { name: "Unterbrechung", word: "Strand", options: { type: "turn.interrupted" } },
124
- { name: "Mehrwortantwort", word: "Schöner Strand", options: {} },
125
- { name: "wiederholtes Ausgangswort", word: "sun", options: {} },
122
+ { name: "model error", word: "Beach", options: { outcome: "failed" } },
123
+ { name: "interruption", word: "Beach", options: { type: "turn.interrupted" } },
124
+ { name: "multi-word answer", word: "Beautiful beach", options: {} },
125
+ { name: "repeated starting word", word: "sun", options: {} },
126
126
  ]) {
127
- test(`${scenario.name} bleibt als Fehler sichtbar und startet nicht erneut`, async () => {
127
+ test(`${scenario.name} stays visible as an error and does not start again`, async () => {
128
128
  const { context, calls, response, start } = fixture();
129
129
  await start();
130
130
  await program.onInput(response(scenario.word, scenario.options), context);
@@ -138,7 +138,7 @@ for (const scenario of [
138
138
  });
139
139
  }
140
140
 
141
- test("ein weiterer Start während des Spiels verändert keinen Auftrag oder Fortschritt", async () => {
141
+ test("another start during the game changes no task or progress", async () => {
142
142
  const { context, calls, start } = fixture();
143
143
  await start();
144
144
  const before = calls.length;
@@ -148,7 +148,7 @@ test("ein weiterer Start während des Spiels verändert keinen Auftrag oder Fort
148
148
  });
149
149
 
150
150
  for (const status of ["ready", "running", "completed"]) {
151
- test(`freie Chatnachrichten werden bei ${status} abgelehnt und erhalten den Spielstand`, async () => {
151
+ test(`free chat messages are rejected when ${status} and keep the game state`, async () => {
152
152
  const { context, calls, response } = fixture();
153
153
  await program.onInput(firstInput, context);
154
154
  if (status !== "ready") {
@@ -159,8 +159,8 @@ for (const status of ["ready", "running", "completed"]) {
159
159
  assert.equal(context.state.read().status, status);
160
160
  const before = structuredClone(context.state.read());
161
161
  const callCount = calls.length;
162
- const content = "Starte das Wortspiel bitte noch einmal von vorn.";
163
- await assert.rejects(async () => program.onInput(message(content), context), /keine freien Chatnachrichten.*Startknopf.*neuer Run/);
162
+ const content = "Please start the word game again from the beginning.";
163
+ await assert.rejects(async () => program.onInput(message(content), context), /does not understand free chat messages.*start button.*new run/);
164
164
  assert.deepEqual(context.state.read(), before);
165
165
  assert.equal(calls.length, callCount);
166
166
  if (status === "ready") {
@@ -174,32 +174,32 @@ for (const status of ["ready", "running", "completed"]) {
174
174
  });
175
175
  }
176
176
 
177
- test("eine fehlgeschlagene Übergabe erhält das bereits angenommene Wort", async () => {
177
+ test("a failed handover keeps the word already accepted", async () => {
178
178
  const { context, settings, response, start } = fixture();
179
179
  await start();
180
180
  settings.failDispatch = true;
181
- await program.onInput(response("Strand"), context);
181
+ await program.onInput(response("Beach"), context);
182
182
  assert.equal(context.state.read().status, "error");
183
- assert.deepEqual(context.state.read().entries, [{ participant: 0, word: "Strand" }]);
184
- assert.match(context.state.read().error!, /Übergabe/);
183
+ assert.deepEqual(context.state.read().entries, [{ participant: 0, word: "Beach" }]);
184
+ assert.match(context.state.read().error!, /Handover/);
185
185
  });
186
186
 
187
- test("fehlendes Standardprofil zeigt einen Fehler ohne Teilnehmer anzulegen", async () => {
187
+ test("a missing standard profile shows an error without creating participants", async () => {
188
188
  const { context, settings, calls } = fixture();
189
189
  settings.missingProfile = true;
190
190
  await program.onInput(firstInput, context);
191
191
  assert.equal(context.state.read().status, "error");
192
- assert.match(context.state.read().error!, /Rolle standard fehlt/);
192
+ assert.match(context.state.read().error!, /role standard is missing/);
193
193
  assert.deepEqual(calls.map((call) => call.name), ["run_configure", "canvas_layout_replace", "model_list"]);
194
194
  });
195
195
 
196
- test("ein wiederhergestellter Zustand zählt den wartenden Auftrag weiter und baut nichts neu", async () => {
196
+ test("a restored state keeps counting the pending task and rebuilds nothing", async () => {
197
197
  const previous = fixture();
198
198
  await previous.start();
199
199
  await program.onInput(previous.response(words[0]!), previous.context);
200
200
  const restored = fixture(previous.context.state.read());
201
201
  const before = structuredClone(restored.context.state.read());
202
- await assert.rejects(async () => program.onInput(firstInput, restored.context), /keine freien Chatnachrichten/);
202
+ await assert.rejects(async () => program.onInput(firstInput, restored.context), /does not understand free chat messages/);
203
203
  assert.deepEqual(restored.context.state.read(), before);
204
204
  assert.equal(restored.calls.length, 0);
205
205
  await program.onInput(restored.response(words[1]!), restored.context);
@@ -208,11 +208,11 @@ test("ein wiederhergestellter Zustand zählt den wartenden Auftrag weiter und ba
208
208
  assert.equal(restored.calls.some((call) => call.name === "agent_spawn"), false);
209
209
  });
210
210
 
211
- test("fehlende oder mehrfache Modellausgaben werden nicht als Wort übernommen", async () => {
211
+ test("missing or multiple model outputs are not taken as a word", async () => {
212
212
  for (const count of [0, 2]) {
213
213
  const { context, history, response, start } = fixture();
214
214
  await start();
215
- const input = response("Strand");
215
+ const input = response("Beach");
216
216
  const output = history.pop()!;
217
217
  for (let index = 0; index < count; index++) history.push({ ...output, eventId: `output-${index}` });
218
218
  await program.onInput(input, context);
@@ -221,8 +221,8 @@ test("fehlende oder mehrfache Modellausgaben werden nicht als Wort übernommen",
221
221
  }
222
222
  });
223
223
 
224
- test("ungültige Startdaten bleiben als Fehler sichtbar und starten kein Modell", async () => {
225
- for (const content of ["kein JSON", JSON.stringify({ input: "Strand", options: {} }), JSON.stringify({ input: null, options: [] })]) {
224
+ test("invalid start data stays visible as an error and starts no model", async () => {
225
+ for (const content of ["no JSON", JSON.stringify({ input: "Beach", options: {} }), JSON.stringify({ input: null, options: [] })]) {
226
226
  const { context, calls } = fixture();
227
227
  await program.onInput(message(content), context);
228
228
  assert.equal(context.state.read().status, "error");
@@ -230,7 +230,7 @@ test("ungültige Startdaten bleiben als Fehler sichtbar und starten kein Modell"
230
230
  }
231
231
  });
232
232
 
233
- test("akzeptiert die Startoptionen des Profils ohne eigene Modellvorgaben daraus abzuleiten", async () => {
233
+ test("accepts the profile start options without deriving its own model settings from them", async () => {
234
234
  const { context, calls } = fixture();
235
235
  await program.onInput(message(JSON.stringify({ input: null, options: {
236
236
  "ragents.model": { model: "test-model", thinking: "off" },
@@ -242,11 +242,11 @@ test("akzeptiert die Startoptionen des Profils ohne eigene Modellvorgaben daraus
242
242
  assert.equal(calls.some((call) => call.name === "actor_input"), false);
243
243
  });
244
244
 
245
- test("ein gestoppter aktueller Teilnehmer hält das Spiel an", async () => {
245
+ test("a stopped current participant halts the game", async () => {
246
246
  const { context, response, start } = fixture();
247
247
  await start();
248
- await program.onInput(response("Strand", { type: "actor.stopped" }), context);
248
+ await program.onInput(response("Beach", { type: "actor.stopped" }), context);
249
249
  assert.equal(context.state.read().status, "error");
250
- assert.match(context.state.read().error!, /Red wurde gestoppt/);
250
+ assert.match(context.state.read().error!, /Red was stopped/);
251
251
  assert.equal(context.state.read().entries?.length, 0);
252
252
  });
@@ -2,11 +2,11 @@
2
2
  name: 100-shared-actor-list
3
3
  start: true
4
4
  disable-model-invocation: true
5
- title: "Eine Liste im Chat und im Fenster pflegen"
6
- description: "Zeigt beim Aufbau einer Mini-App, wie Oberfläche und Koordinator dieselbe Funktion eines TypeScript-Actors benutzen und dieselbe Liste ändern."
7
- category: "Mini-Apps"
5
+ title: "Maintain a list in the chat and in a window"
6
+ description: "Shows, while building a mini-app, how the interface and the coordinator use the same function of a TypeScript actor and change the same list."
7
+ category: "Mini-apps"
8
8
  order: 100
9
- tags: "Anwendungsfall, Konzeptdemo, TypeScript-Actors, Actor-Funktionen, Actor-Zustand, Mini-Apps"
9
+ tags: "Use case, Concept demo, TypeScript actors, Actor functions, Actor state, Mini-apps"
10
10
  ---
11
11
 
12
- Ich hätte gern eine gemeinsame Liste an einem TypeScript-Actor ohne KI-Listenhelfer. Ich ergänze Einträge über seine Oberfläche, Du über dieselbe Funktion als Werkzeug. Beide Wege zeigen sofort denselben Stand, auch bei ruhendem Chat. Füge wirklich einen Eintrag hinzu und lass die Oberfläche stehen. Nutze gemeinsame Layout- und Formularbausteine: mehrzeilige Eingabe und Liste nebeneinander, bei wenig Platz untereinander.
12
+ I would like a shared list on a TypeScript actor without an AI list helper. I add entries through its interface, you through the same function as a tool. Both ways immediately show the same state, even when the chat is idle. Actually add an entry and leave the interface in place. Use shared layout and form building blocks: multi-line input and list side by side, stacked when space is tight.
@@ -2,11 +2,11 @@
2
2
  name: 110-all-card-slots
3
3
  start: true
4
4
  disable-model-invocation: true
5
- title: "Rückfrage, Aufgaben und Dokument zusammen sehen"
6
- description: "Zeigt, wie Aufgabenstand, Dokument und eine offene Rückfrage gleichzeitig an einer Agentenkarte sichtbar bleiben."
7
- category: "Zusammenarbeit"
5
+ title: "See question, tasks, and document together"
6
+ description: "Shows how task progress, a document, and an open question stay visible on an agent card at the same time."
7
+ category: "Collaboration"
8
8
  order: 110
9
- tags: "Rückfragen, To-dos, Konzeptdemo"
9
+ tags: "Questions, To-dos, Concept demo"
10
10
  ---
11
11
 
12
- Ich hätte gern eine KI, die mir drei Aufgaben notiert - eine erledigte, eine in Arbeit und eine offene -, dazu ein kurzes Dokument schreibt und mich zum Schluss fragt, ob sie den offenen Punkt als Nächstes angehen soll. Antworte diese Frage nicht für mich, sondern halt dort an, damit ich Aufgabenliste, Dokument und Frage zusammen sehe und selbst antworten kann.
12
+ I would like an AI that notes three tasks for me - one done, one in progress, and one open -, also writes a short document, and finally asks me whether it should tackle the open item next. Do not answer this question for me; stop there so that I can see the task list, document, and question together and answer myself.
@@ -2,11 +2,11 @@
2
2
  name: 150-editorial-workbench
3
3
  start: true
4
4
  disable-model-invocation: true
5
- title: "Redaktionswerkstatt"
6
- description: "Zeigt, wie eine Mini-App Textbearbeitung, einzeln übernehmbare Änderungen und ein Bearbeitungsprotokoll zu einer Redaktionswerkstatt verbindet."
7
- category: "Mini-Apps"
5
+ title: "Editorial workbench"
6
+ description: "Shows how a mini-app combines text editing, individually acceptable changes, and an edit log into an editorial workbench."
7
+ category: "Mini-apps"
8
8
  order: 150
9
- tags: "Actor-Funktionen, Anwendungsfall, Konzeptdemo, Mini-Apps"
9
+ tags: "Actor functions, Use case, Concept demo, Mini-apps"
10
10
  ---
11
11
 
12
- Ich hätte gern eine Redaktionswerkstatt: Reparaturtreff, Samstag 10 bis 14 Uhr, Nachbarschaftshaus, ehrenamtliche Hilfe, keine Garantie. Links wähle ich Original oder Kurzfassung, rechts ändere ich Text und Zielgruppe und übernehme Kürzungen einzeln. Zeige Änderungen und Aufgabenstand, vergleiche Wortzahl und Freigabe tabellarisch. Ein Helfer zählt die Wörter; ein Protokoll zeigt Absender, Übernahmen und Rücknahmen. Veröffentliche nichts.
12
+ I would like an editorial workbench: repair cafe, Saturday 10 am to 2 pm, community center, volunteer help, no guarantee. On the left I choose original or short version, on the right I change text and target audience and accept cuts one by one. Show changes and task progress, compare word count and approval in a table. A helper counts the words; a log shows sender, acceptances, and reversals. Publish nothing.
@@ -2,11 +2,11 @@
2
2
  name: 160-learning-companion
3
3
  start: true
4
4
  disable-model-invocation: true
5
- title: "Lernbegleitung mit Unterlagen"
6
- description: "Zeigt eine eigene Mini-App eines KI-Tutors mit eingebettetem Actor-Chat. Lokal gewählte Unterlagen gelangen erst nach einer ausdrücklichen Aktion ins Gespräch."
7
- category: "Mini-Apps"
5
+ title: "Learning companion with materials"
6
+ description: "Shows a mini-app of an AI tutor with an embedded actor chat. Locally chosen materials enter the conversation only after an explicit action."
7
+ category: "Mini-apps"
8
8
  order: 160
9
- tags: "Anwendungsfall, Konzeptdemo, Agententeams, Mini-Apps, LLM-Actor mit View, Actor-Chat"
9
+ tags: "Use case, Concept demo, Agent teams, Mini-apps, LLM actor with view, Actor chat"
10
10
  ---
11
11
 
12
- Ich hätte gern einen KI-Tutor mit eigener Oberfläche auf der Fläche: Textunterlagen öffnen und lesen, daneben mit genau diesem Tutor sprechen. Ich möchte zwischen Erklären, Beispiel und Verständnisprüfung wählen. Die ausgewählte Datei soll erst nach meinem Klick im Gespräch verwendet werden. Fragen ohne Datei sollen auch gehen. Nutze die vorhandenen Chat-, Datei- und Auswahlbausteine.
12
+ I would like an AI tutor with its own interface on the surface: open and read text materials, and talk to exactly this tutor next to them. I want to choose between explanation, example, and comprehension check. The selected file should be used in the conversation only after my click. Questions without a file should work too. Use the existing chat, file, and selection building blocks.
@@ -2,11 +2,11 @@
2
2
  name: 170-photo-collection
3
3
  start: true
4
4
  disable-model-invocation: true
5
- title: "Bildsammlung mit Beschriftungen"
6
- description: "Zeigt eine eigene Mini-App eines KI-Schreibhelfers mit Bildvorschauen, bearbeitbaren Beschriftungen und direktem Chat. Die Auswahl lokaler Bilder sendet sie noch nicht an die KI."
7
- category: "Mini-Apps"
5
+ title: "Image collection with captions"
6
+ description: "Shows a mini-app of an AI writing helper with image previews, editable captions, and a direct chat. Selecting local images does not send them to the AI yet."
7
+ category: "Mini-apps"
8
8
  order: 170
9
- tags: "Anwendungsfall, Konzeptdemo, Agententeams, Mini-Apps, LLM-Actor mit View, Actor-Chat"
9
+ tags: "Use case, Concept demo, Agent teams, Mini-apps, LLM actor with view, Actor chat"
10
10
  ---
11
11
 
12
- Ich hätte gern einen KI-Schreibhelfer mit eigener Oberfläche für eine kleine Bildsammlung: Bilder hineinziehen, Vorschauen sehen, die Liste durchsuchen und pro Bild Titel, Bildunterschrift und Alternativtext bearbeiten. Daneben möchte ich einen Chat mit genau diesem Schreibhelfer und eine lesbare Übersicht aller Beschriftungen. Meine Bilder bleiben lokal, bis ich selbst etwas im Chat sende. Nutze die vorhandenen Bausteine.
12
+ I would like an AI writing helper with its own interface for a small image collection: drag images in, see previews, search the list, and edit title, caption, and alt text for each image. Next to it I want a chat with exactly this writing helper and a readable overview of all captions. My images stay local until I send something in the chat myself. Use the existing building blocks.
@@ -2,11 +2,11 @@
2
2
  name: 180-decision-workbench
3
3
  start: true
4
4
  disable-model-invocation: true
5
- title: "Entscheidungswerkstatt"
6
- description: "Zeigt ein fest geführtes Gespräch ohne KI-Aufrufe. Ein TypeScript-Actor hält Antworten und Fortschritt; Änderungen am Entscheidungsentwurf werden sichtbar."
7
- category: "Mini-Apps"
5
+ title: "Decision workbench"
6
+ description: "Shows a strictly guided conversation without AI calls. A TypeScript actor keeps answers and progress; changes to the decision draft become visible."
7
+ category: "Mini-apps"
8
8
  order: 180
9
- tags: "Anwendungsfall, Konzeptdemo, TypeScript-Actors, Actor-Zustand, Mini-Apps, Frei gesteuerter Chat"
9
+ tags: "Use case, Concept demo, TypeScript actors, Actor state, Mini-apps, Controlled chat"
10
10
  ---
11
11
 
12
- Ich hätte gern eine lokale Entscheidungshilfe: Bibliothek oder Café als Lernort? Feste Fragen führen durch Ziel, Optionen und Kriterien, protokollieren meine Entscheidung und zeigen den Fortschritt. Bei einer Meinungsänderung will ich den Unterschied zum vorherigen Entwurf sehen. Ein TypeScript-Actor führt den gemeinsamen Fortschritt und die Antworten. Das soll eine klar erkennbare Anleitung ohne KI-Aufrufe sein, mit den vorhandenen Chatbausteinen.
12
+ I would like a local decision aid: library or cafe as a place to study? Fixed questions guide me through goal, options, and criteria, record my decision, and show the progress. If I change my mind, I want to see the difference from the previous draft. A TypeScript actor keeps the shared progress and the answers. This should be a clearly recognizable guide without AI calls, using the existing chat building blocks.
@@ -2,11 +2,11 @@
2
2
  name: 190-review-queue
3
3
  start: true
4
4
  disable-model-invocation: true
5
- title: "Texte prüfen und Ergebnisse gezielt teilen"
6
- description: "Zeigt an drei Textprüfungen die Input-Warteschlange, gezielte Ergebnisfreigaben und den Actor-Stopp. Die Mini-App sammelt ungeschützte Statusmeldungen."
7
- category: "Mini-Apps"
5
+ title: "Review texts and share results selectively"
6
+ description: "Shows the input queue, selective result sharing, and stopping an actor using three text reviews. The mini-app collects unprotected status messages."
7
+ category: "Mini-apps"
8
8
  order: 190
9
- tags: "Journalprüfung, Anwendungsfall, Konzeptdemo, Agententeams, Input-Warteschlange, Actor-Stopp, Artefakte und Zugriff, Mini-Apps"
9
+ tags: "Journal inspection, Use case, Concept demo, Agent teams, Input queue, Stopping actors, Artifacts and access, Mini-apps"
10
10
  ---
11
11
 
12
- Ich hätte gern drei getrennte Textprüfungen zum Nachbarschaftsfest, die ich während der ersten Prüfung einreihe. Nur der bestimmte Empfänger darf das erste Ergebnis lesen; prüfe auch einen Zugriff ohne Freigabe. Danach meldest du den Prüfer ab. Belege Reihenfolge, Zugriff und Stopp. Eine Oberfläche des vorhandenen Koordinators zeigt auf der Fläche nur ungeschützte Statusmeldungen verschiedener Absender. Eine eigene Notiz möchte ich ergänzen können.
12
+ I would like three separate text reviews for the neighborhood party, which I queue during the first review. Only the designated recipient may read the first result; also test an access without sharing. After that, you sign the reviewer off. Prove order, access, and stop. An interface of the existing coordinator shows only unprotected status messages from various senders on the surface. I want to be able to add a note of my own.
@@ -2,11 +2,11 @@
2
2
  name: 20-circle-of-four
3
3
  start: true
4
4
  disable-model-invocation: true
5
- title: "Eine Liste durch vier KI-Helfer reichen"
6
- description: "Zeigt beim Aufbau eines Wortspiels, wie vier KI-Helfer nacheinander beitragen und ein TypeScript-Actor die Weitergabe nach zwölf Wörtern beendet."
7
- category: "Zusammenarbeit"
5
+ title: "Pass a list through four AI helpers"
6
+ description: "Shows, while building a word game, how four AI helpers contribute one after another and a TypeScript actor ends the handover after twelve words."
7
+ category: "Collaboration"
8
8
  order: 20
9
- tags: "Anwendungsfall, Konzeptdemo, Agententeams, TypeScript-Actors, Subscriptions"
9
+ tags: "Use case, Concept demo, Agent teams, TypeScript actors, Subscriptions"
10
10
  ---
11
11
 
12
- Ich hätte gern vier KIs mit den Namen rot, gelb, blau und grün, die reihum ein Wortspiel spielen: jede hängt ein Wort an, das ihr zum zuletzt genannten einfällt. Nach zwölf Beiträgen ist Schluss, und ich will die fertige Liste als Dokument sehen.
12
+ I would like four AIs named red, yellow, blue, and green that play a word game in rotation: each one appends a word that comes to mind for the last one named. After twelve contributions it is over, and I want to see the finished list as a document.
@@ -2,11 +2,11 @@
2
2
  name: 200-typescript-diagnostics
3
3
  start: true
4
4
  disable-model-invocation: true
5
- title: "Fehler in einer Terminliste finden"
6
- description: "Zeigt an einer TypeScript-Terminliste, wie sich echte Sprachdiagnosen nach jeder einzelnen Korrektur ändern. Das korrigierte Beispiel bleibt zum Nachlesen erhalten."
7
- category: "Code und Diagnose"
5
+ title: "Find errors in an appointment list"
6
+ description: "Shows on a TypeScript appointment list how real language diagnostics change after each individual correction. The corrected example is kept for reference."
7
+ category: "Code and diagnostics"
8
8
  order: 200
9
- tags: "Anwendungsfall, Konzeptdemo, Sprachprüfung"
9
+ tags: "Use case, Concept demo, Language diagnostics"
10
10
  ---
11
11
 
12
- Ich hätte gern eine kleine TypeScript-Terminliste mit zwei absichtlichen Typfehlern. Lass die Sprachprüfung beide finden und korrigiere sie einzeln. Nach jeder Korrektur möchte ich den echten Befund sehen. Am Ende bleiben das korrigierte Beispiel und ein kurzer Vergleich zum Nachlesen. Falls die Sprachprüfung fehlt, sag das klar.
12
+ I would like a small TypeScript appointment list with two deliberate type errors. Let the language check find both and correct them one at a time. After each correction I want to see the real finding. At the end, the corrected example and a short comparison remain for reference. If the language check is missing, say so clearly.
@@ -2,11 +2,11 @@
2
2
  name: 210-moderator-handover
3
3
  start: true
4
4
  disable-model-invocation: true
5
- title: "Gespräch an einen Moderator übergeben"
6
- description: "Zeigt die Übergabe eines laufenden Chats an einen anderen Primary-Actor. Der Moderator übernimmt als direkter Ansprechpartner und hält den Aufgabenfortschritt fest."
7
- category: "Zusammenarbeit"
5
+ title: "Hand a conversation over to a moderator"
6
+ description: "Shows the handover of a running chat to another primary actor. The moderator takes over as the direct contact and records the task progress."
7
+ category: "Collaboration"
8
8
  order: 210
9
- tags: "Rückfragen, To-dos, Anwendungsfall, Konzeptdemo, Agententeams, Primary-Actor"
9
+ tags: "Questions, To-dos, Use case, Concept demo, Agent teams, Primary actor"
10
10
  ---
11
11
 
12
- Ich hätte gern einen Workshop für einen ruhigeren Arbeitstag: Ein Planer bringt zwei Ideen mit, ein skeptischer Gast prüft die Nachteile. Ein Moderator übernimmt die Runde und spricht danach direkt mit mir im Chat, damit ich einen Vorschlag auswählen kann. Zeig die drei auf der Fläche und übergib das Gespräch wirklich an den Moderator. Seine Aufgabenliste zeigt den Fortschritt.
12
+ I would like a workshop for a calmer workday: a planner brings two ideas, a skeptical guest examines the downsides. A moderator takes over the round and then talks directly with me in the chat so that I can pick a proposal. Show the three on the surface and actually hand the conversation over to the moderator. Its task list shows the progress.
@@ -2,11 +2,11 @@
2
2
  name: 220-actor-approval-list
3
3
  start: true
4
4
  disable-model-invocation: true
5
- title: "Vorschläge gemeinsam freigeben"
6
- description: "Zeigt einen KI-Listenhelfer mit eigener Mini-App und gemeinsamem Zustand. Seine Vorschläge lassen sich per Funktion bestätigen, ohne eine weitere KI-Antwort abzuwarten."
7
- category: "Mini-Apps"
5
+ title: "Approve proposals together"
6
+ description: "Shows an AI list helper with its own mini-app and shared state. Its proposals can be confirmed through a function without waiting for another AI answer."
7
+ category: "Mini-apps"
8
8
  order: 220
9
- tags: "Anwendungsfall, Konzeptdemo, Agententeams, Actor-Funktionen, Actor-Zustand, Mini-Apps, LLM-Actor mit View, Frei gesteuerter Chat"
9
+ tags: "Use case, Concept demo, Agent teams, Actor functions, Actor state, Mini-apps, LLM actor with view, Controlled chat"
10
10
  ---
11
11
 
12
- Ich hätte gern einen KI-Listenhelfer mit eigener Oberfläche. Dort prüfe und bestätige ich seine Vorschläge; bestätigte Einträge stehen daneben. Der Helfer benutzt dieselben Funktionen und dieselbe Liste, wenn ich ihn im Chat um einen Eintrag bitte. Lass ihn einen echten Vorschlag machen. Die Freigabe per Knopf soll ohne weitere KI-Antwort seinen gespeicherten Vorschlag bestätigen. Danach möchte ich selbst einen eingeben.
12
+ I would like an AI list helper with its own interface. There I review and confirm its proposals; confirmed entries are shown next to them. The helper uses the same functions and the same list when I ask it for an entry in the chat. Have it make a real proposal. Approval by button should confirm its saved proposal without another AI answer. After that I want to enter one myself.
@@ -2,11 +2,11 @@
2
2
  name: 230-shared-state-views
3
3
  start: true
4
4
  disable-model-invocation: true
5
- title: "Eine Liste in zwei Ansichten"
6
- description: "Zeigt zwei Mini-App-Ansichten desselben Actor-Zustands. Änderungen erscheinen in beiden; eine Ansicht lässt sich unabhängig ausblenden."
7
- category: "Mini-Apps"
5
+ title: "One list in two views"
6
+ description: "Shows two mini-app views of the same actor state. Changes appear in both; one view can be hidden independently."
7
+ category: "Mini-apps"
8
8
  order: 230
9
- tags: "Anwendungsfall, Konzeptdemo, Actor-Funktionen, Actor-Zustand, Mini-Apps"
9
+ tags: "Use case, Concept demo, Actor functions, Actor state, Mini-apps"
10
10
  ---
11
11
 
12
- Ich hätte gern eine Aufgabenliste mit zwei kleinen Fenstern: In einem ergänze und erledige ich Aufgaben, im anderen sehe ich nur offene und erledigte Anzahlen. Beide gehören zum selben Helfer und benutzen dieselben Daten. Ergänze wirklich eine Aufgabe und erledige sie. Beide Fenster sollen sofort mitziehen. Danach blende nur die Zusammenfassung aus und wieder ein; meine Liste bleibt erhalten.
12
+ I would like a task list with two small windows: in one I add and complete tasks, in the other I only see the open and completed counts. Both belong to the same helper and use the same data. Actually add a task and complete it. Both windows should update immediately. Then hide only the summary and show it again; my list is kept.
@@ -2,11 +2,11 @@
2
2
  name: 240-live-result-list
3
3
  start: true
4
4
  disable-model-invocation: true
5
- title: "Antworten automatisch sammeln"
6
- description: "Zeigt, wie ein TypeScript-Actor fertige Agentenantworten per Abonnement automatisch sammelt. Auch weitere Beiträge desselben Helfers lassen die Liste wachsen."
7
- category: "Mini-Apps"
5
+ title: "Collect answers automatically"
6
+ description: "Shows how a TypeScript actor automatically collects finished agent answers through a subscription. Further contributions from the same helper also make the list grow."
7
+ category: "Mini-apps"
8
8
  order: 240
9
- tags: "Anwendungsfall, Konzeptdemo, TypeScript-Actors, Subscriptions, Actor-Zustand, Mini-Apps"
9
+ tags: "Use case, Concept demo, TypeScript actors, Subscriptions, Actor state, Mini-apps"
10
10
  ---
11
11
 
12
- Ich hätte gern zwei KI-Helfer, die je eine kurze Idee für einen gemeinsamen Lernnachmittag vorschlagen. Ihre fertigen Antworten sollen automatisch in einer kleinen Ergebnisliste auf der Fläche erscheinen. Ein programmierter Sammler merkt sich die Beiträge; dafür soll keine weitere KI die Texte kopieren. Lass danach einen Helfer eine zweite Idee ergänzen. Die Liste soll von selbst wachsen, auch wenn Du im Chat gerade nichts schreibst.
12
+ I would like two AI helpers that each suggest a short idea for a shared learning afternoon. Their finished answers should automatically appear in a small result list on the surface. A programmed collector remembers the contributions; no further AI should copy the texts for this. Then have one helper add a second idea. The list should grow by itself, even while you are not writing anything in the chat.
@@ -2,11 +2,11 @@
2
2
  name: 250-balcony-wizard
3
3
  start: true
4
4
  disable-model-invocation: true
5
- title: "Balkon-Wizard"
6
- description: "Zeigt den Aufbau einer eigenständigen Mini-App für ein adaptives KI-Interview. Das LLM wählt die Fragen, das Formular begrenzt das Gespräch auf fünf Antworten."
7
- category: "Mini-Apps"
5
+ title: "Balcony wizard"
6
+ description: "Shows how to build a standalone mini-app for an adaptive AI interview. The LLM chooses the questions, the form limits the conversation to five answers."
7
+ category: "Mini-apps"
8
8
  order: 250
9
- tags: "Anwendungsfall, Konzeptdemo, Mini-Apps, Actor-Funktionen, Actor-Zustand"
9
+ tags: "Use case, Concept demo, Mini-apps, Actor functions, Actor state"
10
10
  ---
11
11
 
12
- Ich hätte gern einen Balkon-Wizard als eigenständige App auf der Fläche. Sie vermittelt ein begrenztes Gespräch mit einem KI-Berater im Hintergrund. Nach jeder Antwort wählt das LLM die nächste passende Frage, keine feste Fragenliste. Nach fünf Antworten gibt es Gestaltungstipps. Ich antworte nur in der App; sie zeigt Frage, Fortschritt, Lade- und Fehlerzustände. Nutze gemeinsame Layouts und Formulare. Keine App in einer LLM-Chatkarte.
12
+ I would like a balcony wizard as a standalone app on the surface. It mediates a limited conversation with an AI advisor in the background. After each answer, the LLM chooses the next fitting question, no fixed list of questions. After five answers there are design tips. I answer only in the app; it shows question, progress, loading, and error states. Use shared layouts and forms. No app in an LLM chat card.
@@ -2,11 +2,11 @@
2
2
  name: 30-llm-without-runtime-knowledge
3
3
  start: true
4
4
  disable-model-invocation: true
5
- title: "Eine Nachricht überbringen lassen"
6
- description: "Zeigt eine einseitige Weiterleitung zwischen zwei KI-Helfern, die den Ablauf und den anderen Teilnehmer nicht kennen."
7
- category: "Zusammenarbeit"
5
+ title: "Have a message delivered"
6
+ description: "Shows a one-way forwarding between two AI helpers that know neither the flow nor the other participant."
7
+ category: "Collaboration"
8
8
  order: 30
9
- tags: "Konzeptdemo, Agententeams, Subscriptions, Actor-Stopp"
9
+ tags: "Concept demo, Agent teams, Subscriptions, Stopping actors"
10
10
  ---
11
11
 
12
- Ich hätte gern zwei KIs, anna und ben, die sich genau einmal freundlich begrüßen, ohne voneinander oder von der Technik dahinter zu wissen: anna sagt einen herzlichen Satz, ben antwortet einmal darauf, danach ist Schluss. Sag mir hinterher kurz, dass wirklich nur in diese eine Richtung weitergereicht wurde und danach alles wieder aufgeräumt ist.
12
+ I would like two AIs, anna and ben, that greet each other kindly exactly once without knowing about each other or the technology behind it: anna says a warm sentence, ben replies once, then it is over. Afterwards, briefly tell me that it really was passed on in only this one direction and that everything has been cleaned up again.
@@ -2,11 +2,11 @@
2
2
  name: 35-actor-input-fifo
3
3
  start: true
4
4
  disable-model-invocation: true
5
- title: "Drei Aufträge der Reihe nach erledigen"
6
- description: "Zeigt, ob während eines laufenden Turns eingereihte Aufträge getrennt und in Eingangsreihenfolge verarbeitet werden. Das Journal liefert die Belege."
7
- category: "Ereignisse und Abläufe"
5
+ title: "Complete three tasks in order"
6
+ description: "Shows whether tasks queued during a running turn are processed separately and in order of arrival. The journal provides the evidence."
7
+ category: "Events and flows"
8
8
  order: 35
9
- tags: "Journalprüfung, Konzeptdemo, Input-Warteschlange"
9
+ tags: "Journal inspection, Concept demo, Input queue"
10
10
  ---
11
11
 
12
- Ich hätte gern einen Helfer, der jeden Text, den ich ihm gebe, mit "ERLEDIGT: " und dem unveränderten Text beantwortet und beim Wort "eins" vorher ausgiebig nachdenkt. Während er noch an "eins" sitzt, schiebe ich ihm "zwei" und "drei" hinterher. Zeig mir danach mit Belegen, dass er alle drei sauber getrennt und genau in dieser Reihenfolge abgearbeitet hat und nichts vermischt wurde.
12
+ I would like a helper that answers every text I give it with "DONE: " and the unchanged text, and thinks extensively beforehand on the word "one". While it is still working on "one", I send it "two" and "three" right after. Afterwards, show me with evidence that it handled all three cleanly separated and in exactly this order and that nothing got mixed up.