@schlenkr/ragents 0.1.9 → 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 (749) hide show
  1. package/apps/server/package.json +1 -1
  2. package/apps/server/src/access-projection.ts +9 -39
  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 +32 -29
  6. package/apps/server/src/api/core-methods.ts +21 -19
  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 +8 -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 +48 -47
  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 +63 -58
  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 +25 -24
  83. package/apps/server/src/ragents/global-chat.ts +14 -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 +51 -49
  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-xXXhTDbh.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 +64 -55
  110. package/apps/web/dist/help/guide-clients.md +62 -52
  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 +1997 -942
  124. package/apps/web/dist/help/mini-app.css +30 -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 +26 -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 +29 -26
  182. package/apps/web/src/panel/connection-state.ts +9 -9
  183. package/apps/web/src/panel/contract.ts +34 -27
  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 +256 -228
  227. package/bundles/ragents.actor-programs/server/index.js.map +4 -4
  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 -4
  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-V7W3QDVS.js → chunk-IQBHK7MV.js} +2 -2
  240. package/bundles/ragents.ask/web/chunks/{chunk-V7W3QDVS.js.map → chunk-IQBHK7MV.js.map} +4 -4
  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 +4 -4
  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 +3 -3
  305. package/bundles/ragents.overseer/ragents-bundle.json +2 -2
  306. package/bundles/ragents.overseer/server/index.js +99 -99
  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 +83 -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/core/tools/bash.d.ts +1 -1
  417. package/packages/agent/dist/index.d.ts +1 -1
  418. package/packages/agent/dist/loop/agent-loop.d.ts +2 -2
  419. package/packages/agent/src/core/compaction/utils.ts +1 -1
  420. package/packages/agent/src/core/model-runtime.ts +45 -5
  421. package/packages/agent/src/core/tools/bash.ts +1 -1
  422. package/packages/agent/src/index.ts +1 -1
  423. package/packages/agent/src/loop/agent-loop.ts +2 -2
  424. package/packages/ai/dist/models.d.ts +1 -0
  425. package/packages/ai/dist/models.generated.d.ts +4544 -983
  426. package/packages/ai/dist/providers/openrouter.models.d.ts +4544 -983
  427. package/packages/ai/src/api/ai-sdk.ts +33 -7
  428. package/packages/ai/src/api-registry.ts +1 -1
  429. package/packages/ai/src/index.ts +2 -2
  430. package/packages/ai/src/models.generated.ts +1 -1
  431. package/packages/ai/src/models.ts +1 -1
  432. package/packages/ai/src/providers/openrouter.models.ts +3723 -550
  433. package/packages/ragents/src/access.ts +12 -12
  434. package/packages/ragents/src/agents/actor-input.ts +33 -33
  435. package/packages/ragents/src/agents/catalog.ts +1 -1
  436. package/packages/ragents/src/agents/delivery.ts +17 -17
  437. package/packages/ragents/src/agents/plugins.ts +1 -1
  438. package/packages/ragents/src/agents/scheduler.ts +7 -7
  439. package/packages/ragents/src/agents/schemas.ts +1 -1
  440. package/packages/ragents/src/agents/tool-orientation.ts +4 -4
  441. package/packages/ragents/src/agents/tools.ts +20 -20
  442. package/packages/ragents/src/agents/toolset.ts +5 -5
  443. package/packages/ragents/src/agents/workspaces.ts +1 -1
  444. package/packages/ragents/src/domain/events.ts +1 -1
  445. package/packages/ragents/src/domain/model.ts +5 -5
  446. package/packages/ragents/src/drivers/agent-runtime.ts +1 -1
  447. package/packages/ragents/src/drivers/agent-turn.ts +4 -4
  448. package/packages/ragents/src/drivers/agent.ts +2 -2
  449. package/packages/ragents/src/drivers/attachments.ts +4 -4
  450. package/packages/ragents/src/http/contracts.ts +14 -14
  451. package/packages/ragents/src/http/methods.ts +6 -6
  452. package/packages/ragents/src/index.ts +1 -0
  453. package/packages/ragents/src/plugin-host.ts +162 -116
  454. package/packages/ragents/src/plugin-types.ts +29 -10
  455. package/packages/ragents/src/rpc/contract.ts +5 -5
  456. package/packages/ragents/src/rpc/contribution.ts +2 -2
  457. package/packages/ragents/src/rpc/peer.ts +11 -11
  458. package/packages/ragents/src/rpc/protocol.ts +2 -2
  459. package/packages/ragents/src/runtime/decisions/turns.ts +1 -1
  460. package/packages/ragents/src/runtime/journal.ts +10 -10
  461. package/packages/ragents/src/runtime/orchestration.ts +8 -8
  462. package/packages/ragents/src/runtime/stop.ts +2 -2
  463. package/packages/ragents/src/script/mediators.ts +35 -35
  464. package/packages/ragents/src/typescript/async-compiler.ts +14 -14
  465. package/packages/ragents/src/typescript/compiler-worker.ts +2 -2
  466. package/packages/ragents/src/typescript/compiler.ts +7 -7
  467. package/packages/ragents/src/typescript/snippet.ts +5 -5
  468. package/packages/workspace-executor/src/bash-launch.ts +13 -13
  469. package/packages/workspace-executor/src/commands.ts +18 -18
  470. package/packages/workspace-executor/src/context.ts +15 -15
  471. package/packages/workspace-executor/src/contributions.ts +35 -35
  472. package/packages/workspace-executor/src/errors.ts +1 -1
  473. package/packages/workspace-executor/src/executor.ts +15 -15
  474. package/packages/workspace-executor/src/files.ts +30 -30
  475. package/packages/workspace-executor/src/language-server/contract.ts +2 -2
  476. package/packages/workspace-executor/src/language-server/diagnostics.ts +4 -4
  477. package/packages/workspace-executor/src/language-server/host.ts +35 -35
  478. package/packages/workspace-executor/src/language-server/json-rpc.ts +4 -4
  479. package/packages/workspace-executor/src/language-server/module.ts +11 -11
  480. package/packages/workspace-executor/src/language-server/roots.ts +3 -3
  481. package/packages/workspace-executor/src/language-server/session.ts +15 -15
  482. package/packages/workspace-executor/src/language-server/workspace-solutions.ts +2 -2
  483. package/packages/workspace-executor/src/managed-process.ts +35 -7
  484. package/packages/workspace-executor/src/module.ts +8 -8
  485. package/packages/workspace-executor/src/modules.ts +3 -3
  486. package/packages/workspace-executor/src/paths.ts +11 -11
  487. package/packages/workspace-executor/src/process-sandbox.ts +3 -3
  488. package/packages/workspace-executor/src/processes/module.ts +3 -3
  489. package/packages/workspace-executor/src/processes/process-table.ts +20 -20
  490. package/packages/workspace-executor/src/processes/scanner.ts +3 -3
  491. package/packages/workspace-executor/src/processes/snapshot.ts +2 -2
  492. package/packages/workspace-executor/src/processes/terminator.ts +13 -13
  493. package/packages/workspace-executor/src/run-folders.ts +3 -3
  494. package/packages/workspace-executor/src/safe-environment.ts +4 -4
  495. package/packages/workspace-executor/src/sandbox-tools.ts +37 -31
  496. package/packages/workspace-executor/src/session-ident.ts +2 -2
  497. package/packages/workspace-executor/src/shell-platform.ts +2 -2
  498. package/packages/workspace-executor/src/tools.ts +5 -5
  499. package/plugins/ragents.activity/web/ActivityHeader.tsx +3 -3
  500. package/plugins/ragents.activity/web/activity.ts +2 -2
  501. package/plugins/ragents.actor-programs/server/access-projections.ts +31 -0
  502. package/plugins/ragents.actor-programs/server/agent-tools.ts +2 -2
  503. package/plugins/ragents.actor-programs/server/capability-resolver.ts +3 -3
  504. package/plugins/ragents.actor-programs/server/controls-template.ts +46 -46
  505. package/plugins/ragents.actor-programs/server/controls-tool.ts +4 -4
  506. package/plugins/ragents.actor-programs/server/index.ts +2 -0
  507. package/plugins/ragents.actor-programs/server/limits.ts +3 -3
  508. package/plugins/ragents.actor-programs/server/methods.ts +1 -1
  509. package/plugins/ragents.actor-programs/server/project-diagnostics.ts +8 -8
  510. package/plugins/ragents.actor-programs/server/routes.ts +8 -8
  511. package/plugins/ragents.actor-programs/server/runtime.ts +90 -90
  512. package/plugins/ragents.actor-programs/server/templates.ts +59 -59
  513. package/plugins/ragents.actor-programs/server/test-report.ts +5 -5
  514. package/plugins/ragents.actor-programs/server/tool-contributor.ts +1 -1
  515. package/plugins/ragents.actor-programs/web/ActorViewFrame.tsx +17 -17
  516. package/plugins/ragents.actor-programs/web/AppsPanel.tsx +26 -26
  517. package/plugins/ragents.actor-programs/web/EmbeddedApps.tsx +3 -3
  518. package/plugins/ragents.actor-programs/web/FullscreenHost.tsx +2 -2
  519. package/plugins/ragents.actor-programs/web/FunctionForm.tsx +16 -16
  520. package/plugins/ragents.actor-programs/web/ProgramSource.tsx +5 -5
  521. package/plugins/ragents.actor-programs/web/api.ts +36 -36
  522. package/plugins/ragents.actor-programs/web/bridge.ts +8 -8
  523. package/plugins/ragents.actor-programs/web/chat-state.ts +4 -4
  524. package/plugins/ragents.actor-programs/web/context.ts +1 -1
  525. package/plugins/ragents.actor-programs/web/function-input.ts +6 -6
  526. package/plugins/ragents.actor-programs/web/index.tsx +1 -1
  527. package/plugins/ragents.actor-programs/web/program-state.ts +4 -4
  528. package/plugins/ragents.ask/ask-payload.ts +1 -1
  529. package/plugins/ragents.ask/contract.ts +5 -5
  530. package/plugins/ragents.ask/server/answer-method.ts +1 -1
  531. package/plugins/ragents.ask/server/ask-service.ts +9 -9
  532. package/plugins/ragents.ask/server/ask-tool.ts +10 -10
  533. package/plugins/ragents.ask/server/contract.ts +5 -5
  534. package/plugins/ragents.ask/web/AskActionView.tsx +1 -1
  535. package/plugins/ragents.ask/web/QuestionCard.tsx +22 -22
  536. package/plugins/ragents.ask/web/index.tsx +2 -8
  537. package/plugins/ragents.browser/executor/contract.ts +6 -6
  538. package/plugins/ragents.browser/executor/index.ts +1 -1
  539. package/plugins/ragents.browser/executor/module.ts +6 -6
  540. package/plugins/ragents.browser/executor/pages.ts +32 -32
  541. package/plugins/ragents.browser/executor/playwright.ts +8 -8
  542. package/plugins/ragents.browser/provision.ts +7 -7
  543. package/plugins/ragents.browser/server/browser.ts +14 -14
  544. package/plugins/ragents.browser/server/contract.ts +1 -1
  545. package/plugins/ragents.browser/server/index.ts +1 -1
  546. package/plugins/ragents.browser/server/tools.ts +14 -14
  547. package/plugins/ragents.browser/skills/browser-testing/SKILL.md +30 -30
  548. package/plugins/ragents.documents/contract.ts +2 -2
  549. package/plugins/ragents.documents/prompt.hbs +1 -1
  550. package/plugins/ragents.documents/server/document-write-tool.ts +12 -12
  551. package/plugins/ragents.documents/server/files-route.ts +6 -6
  552. package/plugins/ragents.documents/server/show-document-tool.ts +26 -26
  553. package/plugins/ragents.documents/server/store.ts +1 -1
  554. package/plugins/ragents.documents/web/DocumentViewer.tsx +37 -37
  555. package/plugins/ragents.documents/web/index.tsx +11 -11
  556. package/plugins/ragents.lsp-fsharp/executor.ts +7 -7
  557. package/plugins/ragents.lsp-fsharp/provision.ts +7 -7
  558. package/plugins/ragents.lsp-roslyn/executor.ts +5 -5
  559. package/plugins/ragents.lsp-roslyn/provision.ts +4 -4
  560. package/plugins/ragents.lsp-roslyn/server/index.ts +5 -5
  561. package/plugins/ragents.lsp-roslyn/server/solution-on-start.ts +13 -13
  562. package/plugins/ragents.lsp-typescript/executor.ts +3 -3
  563. package/plugins/ragents.model-relay/server/config.ts +6 -2
  564. package/plugins/ragents.model-relay/server/index.ts +2 -2
  565. package/plugins/ragents.model-relay/server/relay.ts +23 -22
  566. package/plugins/ragents.orchestration/contract.ts +8 -8
  567. package/plugins/ragents.orchestration/server/index.ts +4 -4
  568. package/plugins/ragents.orchestration/server/run-stop-tool.ts +3 -3
  569. package/plugins/ragents.orchestration/server/surface-tool.ts +5 -5
  570. package/plugins/ragents.orchestration/tiled-layout.ts +11 -11
  571. package/plugins/ragents.orchestration/web/ActorChat.tsx +2 -2
  572. package/plugins/ragents.orchestration/web/ActorChatControls.tsx +4 -4
  573. package/plugins/ragents.orchestration/web/ActorChatPreview.tsx +1 -1
  574. package/plugins/ragents.orchestration/web/ActorPopout.tsx +1 -1
  575. package/plugins/ragents.orchestration/web/ActorShortcut.tsx +6 -6
  576. package/plugins/ragents.orchestration/web/ActorSurfaceControls.tsx +15 -15
  577. package/plugins/ragents.orchestration/web/ActorTile.tsx +1 -1
  578. package/plugins/ragents.orchestration/web/Center.tsx +5 -5
  579. package/plugins/ragents.orchestration/web/DocumentsSection.tsx +2 -2
  580. package/plugins/ragents.orchestration/web/ExecutionsPanel.tsx +15 -15
  581. package/plugins/ragents.orchestration/web/FlowInspector.tsx +103 -103
  582. package/plugins/ragents.orchestration/web/JournalStatus.tsx +11 -11
  583. package/plugins/ragents.orchestration/web/MaterialBody.tsx +2 -2
  584. package/plugins/ragents.orchestration/web/StopRunButton.tsx +6 -6
  585. package/plugins/ragents.orchestration/web/TiledSurface.tsx +9 -9
  586. package/plugins/ragents.orchestration/web/actor-header-settings.ts +5 -5
  587. package/plugins/ragents.orchestration/web/constants.ts +2 -2
  588. package/plugins/ragents.orchestration/web/executions.ts +6 -6
  589. package/plugins/ragents.orchestration/web/format.ts +1 -1
  590. package/plugins/ragents.orchestration/web/index.tsx +2 -2
  591. package/plugins/ragents.orchestration/web/run-panel/AddresseeControl.tsx +7 -7
  592. package/plugins/ragents.orchestration/web/run-panel/AddresseeTree.tsx +8 -8
  593. package/plugins/ragents.orchestration/web/run-panel/RunPanel.tsx +29 -28
  594. package/plugins/ragents.orchestration/web/run-panel/RunPanelSettings.tsx +7 -7
  595. package/plugins/ragents.orchestration/web/run-panel/addressee-tree.ts +13 -13
  596. package/plugins/ragents.orchestration/web/run-panel/run-panel-actors.ts +3 -3
  597. package/plugins/ragents.orchestration/web/run-panel/run-panel-settings.ts +2 -2
  598. package/plugins/ragents.orchestration/web/run-panel/run-panel-startup.ts +3 -3
  599. package/plugins/ragents.orchestration/web/run-panel/run-panel-state.ts +7 -7
  600. package/plugins/ragents.orchestration/web/run-panel/sheet-status.ts +10 -10
  601. package/plugins/ragents.orchestration/web/surface-startup.ts +8 -8
  602. package/plugins/ragents.orchestration/web/surface-view-settings.ts +1 -1
  603. package/plugins/ragents.orchestration/web/tiled-view-settings.ts +1 -1
  604. package/plugins/ragents.overseer/contract.ts +20 -20
  605. package/plugins/ragents.overseer/server/api.ts +8 -8
  606. package/plugins/ragents.overseer/server/coordinator-prompt.ts +10 -10
  607. package/plugins/ragents.overseer/server/coordinator.ts +4 -4
  608. package/plugins/ragents.overseer/server/index.ts +24 -24
  609. package/plugins/ragents.overseer/server/orientation.ts +8 -8
  610. package/plugins/ragents.overseer/server/quick-answer.ts +9 -9
  611. package/plugins/ragents.overseer/server/run-directory.ts +5 -5
  612. package/plugins/ragents.overseer/server/settings.ts +6 -6
  613. package/plugins/ragents.overseer/server/user-location.ts +16 -16
  614. package/plugins/ragents.overseer/web/ModelSettings.tsx +9 -9
  615. package/plugins/ragents.overseer/web/index.tsx +20 -20
  616. package/plugins/ragents.overseer/web/model-settings.ts +1 -1
  617. package/plugins/ragents.overseer/web/quick-answers.ts +2 -2
  618. package/plugins/ragents.processes/contract.ts +5 -5
  619. package/plugins/ragents.processes/server/methods.ts +4 -4
  620. package/plugins/ragents.processes/server/observer.ts +8 -8
  621. package/plugins/ragents.processes/server/run-processes.ts +2 -2
  622. package/plugins/ragents.processes/web/ProcessHeader.tsx +10 -10
  623. package/plugins/ragents.processes/web/processes.ts +10 -10
  624. package/plugins/ragents.product/server/config.ts +1 -1
  625. package/plugins/ragents.product/server/index.ts +4 -4
  626. package/plugins/ragents.product/server/runtime.ts +9 -10
  627. package/plugins/ragents.product/web/index.tsx +1 -1
  628. package/plugins/ragents.profile-distribution/contract.ts +10 -10
  629. package/plugins/ragents.profile-distribution/server/archive.ts +20 -20
  630. package/plugins/ragents.profile-distribution/server/config.ts +2 -2
  631. package/plugins/ragents.profile-distribution/server/index.ts +4 -4
  632. package/plugins/ragents.reference/examples.ts +27 -27
  633. package/plugins/ragents.reference/run-scripts/balcony-wizard/RUN.md +19 -19
  634. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/package.json +2 -2
  635. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +14 -14
  636. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/conversation.ts +2 -2
  637. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/tests/conversation.test.ts +49 -49
  638. package/plugins/ragents.reference/run-scripts/balcony-wizard/package.json +1 -1
  639. package/plugins/ragents.reference/run-scripts/balcony-wizard/src/server.ts +9 -9
  640. package/plugins/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +9 -9
  641. package/plugins/ragents.reference/run-scripts/conversation-circle/RUN.md +7 -7
  642. package/plugins/ragents.reference/run-scripts/conversation-circle/package.json +1 -1
  643. package/plugins/ragents.reference/run-scripts/conversation-circle/src/server.ts +13 -13
  644. package/plugins/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +1 -1
  645. package/plugins/ragents.reference/run-scripts/conversation-circle/tests/program.test.ts +8 -8
  646. package/plugins/ragents.reference/run-scripts/learning-afternoon/RUN.md +16 -16
  647. package/plugins/ragents.reference/run-scripts/learning-afternoon/package.json +1 -1
  648. package/plugins/ragents.reference/run-scripts/learning-afternoon/prompts/experiment.md +1 -1
  649. package/plugins/ragents.reference/run-scripts/learning-afternoon/prompts/helper.md +3 -3
  650. package/plugins/ragents.reference/run-scripts/learning-afternoon/prompts/quiz.md +1 -1
  651. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/server.ts +9 -9
  652. package/plugins/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +39 -39
  653. package/plugins/ragents.reference/run-scripts/moderated-round/RUN.md +7 -7
  654. package/plugins/ragents.reference/run-scripts/moderated-round/package.json +1 -1
  655. package/plugins/ragents.reference/run-scripts/moderated-round/src/server.ts +9 -9
  656. package/plugins/ragents.reference/run-scripts/moderated-round/tests/helpers.ts +1 -1
  657. package/plugins/ragents.reference/run-scripts/moderated-round/tests/program.test.ts +6 -6
  658. package/plugins/ragents.reference/run-scripts/shared-actor-list/RUN.md +12 -12
  659. package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/package.json +2 -2
  660. package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/contract.ts +3 -3
  661. package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/tests/program.test.ts +4 -4
  662. package/plugins/ragents.reference/run-scripts/shared-actor-list/package.json +1 -1
  663. package/plugins/ragents.reference/run-scripts/shared-actor-list/src/server.ts +11 -11
  664. package/plugins/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +1 -1
  665. package/plugins/ragents.reference/run-scripts/shared-actor-list/tests/program.test.ts +13 -13
  666. package/plugins/ragents.reference/run-scripts/word-game/RUN.md +18 -18
  667. package/plugins/ragents.reference/run-scripts/word-game/package.json +2 -2
  668. package/plugins/ragents.reference/run-scripts/word-game/src/client.tsx +1 -1
  669. package/plugins/ragents.reference/run-scripts/word-game/src/contract.ts +2 -2
  670. package/plugins/ragents.reference/run-scripts/word-game/src/server.ts +16 -16
  671. package/plugins/ragents.reference/run-scripts/word-game/tests/program.test.ts +39 -39
  672. package/plugins/ragents.reference/skills/100-shared-actor-list/SKILL.md +5 -5
  673. package/plugins/ragents.reference/skills/110-all-card-slots/SKILL.md +5 -5
  674. package/plugins/ragents.reference/skills/150-editorial-workbench/SKILL.md +5 -5
  675. package/plugins/ragents.reference/skills/160-learning-companion/SKILL.md +5 -5
  676. package/plugins/ragents.reference/skills/170-photo-collection/SKILL.md +5 -5
  677. package/plugins/ragents.reference/skills/180-decision-workbench/SKILL.md +5 -5
  678. package/plugins/ragents.reference/skills/190-review-queue/SKILL.md +5 -5
  679. package/plugins/ragents.reference/skills/20-circle-of-four/SKILL.md +5 -5
  680. package/plugins/ragents.reference/skills/200-typescript-diagnostics/SKILL.md +5 -5
  681. package/plugins/ragents.reference/skills/210-moderator-handover/SKILL.md +5 -5
  682. package/plugins/ragents.reference/skills/220-actor-approval-list/SKILL.md +5 -5
  683. package/plugins/ragents.reference/skills/230-shared-state-views/SKILL.md +5 -5
  684. package/plugins/ragents.reference/skills/240-live-result-list/SKILL.md +5 -5
  685. package/plugins/ragents.reference/skills/250-balcony-wizard/SKILL.md +5 -5
  686. package/plugins/ragents.reference/skills/30-llm-without-runtime-knowledge/SKILL.md +5 -5
  687. package/plugins/ragents.reference/skills/35-actor-input-fifo/SKILL.md +5 -5
  688. package/plugins/ragents.reference/skills/40-subscription-matrix/SKILL.md +5 -5
  689. package/plugins/ragents.reference/skills/50-subscription-removal/SKILL.md +5 -5
  690. package/plugins/ragents.reference/skills/60-stop-in-the-circle/SKILL.md +5 -5
  691. package/plugins/ragents.reference/skills/65-artifact-least-privilege/SKILL.md +5 -5
  692. package/plugins/ragents.reference/skills/70-headless-counter/SKILL.md +5 -5
  693. package/plugins/ragents.reference/skills/75-lsp-demo/SKILL.md +5 -5
  694. package/plugins/ragents.reference/skills/80-actor-text-analysis/SKILL.md +5 -5
  695. package/plugins/ragents.reference/skills/90-actor-notes/SKILL.md +5 -5
  696. package/plugins/ragents.reference/skills/95-hello-world/SKILL.md +5 -5
  697. package/plugins/ragents.reference/skills/decision-brief/SKILL.md +24 -24
  698. package/plugins/ragents.reference/skills/learning-sprint/SKILL.md +24 -24
  699. package/plugins/ragents.reference/walkthroughs.ts +128 -128
  700. package/plugins/ragents.reference/web/StartGuides.tsx +23 -23
  701. package/plugins/ragents.todo/server/todo-tool.ts +6 -6
  702. package/plugins/ragents.todo/web/TodoSection.tsx +1 -1
  703. package/plugins/ragents.transcript/server/transcript.ts +11 -11
  704. package/plugins/ragents.watch/server/condition.ts +4 -4
  705. package/plugins/ragents.watch/server/functions.ts +27 -27
  706. package/plugins/ragents.watch/server/observation.ts +2 -2
  707. package/plugins/ragents.watch/server/service.ts +14 -14
  708. package/plugins/ragents.workspace/client/transport.ts +1 -1
  709. package/plugins/ragents.workspace/client/workspace-client.ts +62 -49
  710. package/plugins/ragents.workspace/contract.ts +46 -46
  711. package/plugins/ragents.workspace/server/binding.ts +20 -20
  712. package/plugins/ragents.workspace/server/browse-route.ts +8 -8
  713. package/plugins/ragents.workspace/server/clients.ts +42 -42
  714. package/plugins/ragents.workspace/server/config.ts +8 -5
  715. package/plugins/ragents.workspace/server/index.ts +5 -4
  716. package/plugins/ragents.workspace/server/runtime.ts +26 -26
  717. package/plugins/ragents.workspace/server/shell-platform.ts +1 -1
  718. package/plugins/ragents.workspace/web/FileBrowser.tsx +10 -10
  719. package/plugins/ragents.workspace/web/WorkspaceBinding.tsx +24 -24
  720. package/plugins/ragents.workspace/web/index.tsx +1 -1
  721. package/ragents.config.core.ts +1 -1
  722. package/ragents.config.developer.ts +3 -3
  723. package/ragents.config.showcase.ts +2 -2
  724. package/scripts/agent/agent-cli.ts +96 -96
  725. package/scripts/agent/journal.ts +5 -5
  726. package/scripts/agent/turn-control.ts +4 -4
  727. package/scripts/package/build-package.ts +29 -29
  728. package/scripts/package/host-links.mjs +3 -3
  729. package/scripts/package/publish-package.ts +29 -29
  730. package/scripts/package/ragents.mjs +19 -19
  731. package/scripts/plugin/build-builtin-plugins.ts +5 -5
  732. package/scripts/plugin/plugin-cli.ts +14 -14
  733. package/scripts/provision/run-provision.ts +14 -15
  734. package/scripts/remote/connect.ts +46 -46
  735. package/scripts/remote/start.ts +18 -18
  736. package/scripts/workspace-client/run-workspace-client.ts +23 -23
  737. package/apps/web/dist/assets/main-C7JeZFjs.js +0 -6
  738. package/apps/web/dist/assets/mermaid-HWGCJPDP-DfsU5ofC.js +0 -478
  739. package/apps/web/dist/assets/runPanel-ZT6TPDLM.js +0 -21
  740. package/bundles/ragents.ask/server/chunks/chunk-PDJO75SQ.js.map +0 -7
  741. package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js +0 -2
  742. package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js.map +0 -7
  743. package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js +0 -2
  744. package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js.map +0 -7
  745. package/bundles/ragents.ask/web/chunks/chunk-WFN4374U.js.map +0 -7
  746. package/bundles/ragents.orchestration/web/chunks/chunk-OQYCNYXN.js +0 -2
  747. package/plugins/ragents.ask/web/QuestionSection.tsx +0 -48
  748. /package/bundles/ragents.orchestration/web/chunks/{chunk-OSKPH6SZ.js.map → chunk-CFMJD5ZI.js.map} +0 -0
  749. /package/bundles/ragents.orchestration/web/chunks/{chunk-ODMMQGX2.js.map → chunk-UCIMT2R4.js.map} +0 -0
@@ -1,219 +1,219 @@
1
1
  export const referenceWalkthroughs = [
2
2
  {
3
3
  id: "mini-app-owner-inspector",
4
- title: "Den Helfer hinter einer Mini-App öffnen",
5
- description: "Die Mini-App bleibt als Kachel sichtbar; ihr Besitzer ist auch ohne eigene Kachel erreichbar.",
6
- tags: ["Anwendungsfall", "Konzeptdemo", "Fläche"],
4
+ title: "Open the helper behind a mini-app",
5
+ description: "The mini-app stays visible as a tile; its owner is reachable even without a tile of its own.",
6
+ tags: ["Use case", "Concept demo", "Surface"],
7
7
  steps: [
8
- "Im Profil showcase Sammelboard einrichten öffnen und den Leitfaden abschließen. Erwartung: Die Liste steht als Kachel auf der Fläche; ihr Besitzer hat keine eigene Kachel.",
9
- "In der Kopfzeile Actors öffnen und den Namen des Listenbesitzers wählen. Erwartung: Rechts öffnen sich dessen Chat und Details, ohne die Kachelaufteilung zu ändern.",
10
- "Den Besitzer aus der Kopfzeile auf die Kachel der Liste ziehen und rechts andocken. Erwartung: Seine Kachel erscheint neben der Liste; die Mini-App bleibt bedienbar und behält ihre Einträge.",
11
- "Die neue Kachel über das Kreuz in ihrer Kopfzeile wieder entfernen und die App erneut bedienen. Erwartung: Actor und Funktionen arbeiten weiter; sein Name bleibt in der Kopfzeile erreichbar.",
8
+ "In the showcase profile, open Set up collection board and complete the guide. Expected: The list is a tile on the surface; its owner has no tile of its own.",
9
+ "Open Actors in the header and choose the name of the list owner. Expected: Its chat and details open on the right without changing the tile layout.",
10
+ "Drag the owner from the header onto the list tile and dock it on the right. Expected: Its tile appears next to the list; the mini-app stays usable and keeps its entries.",
11
+ "Remove the new tile again with the cross in its title bar and use the app again. Expected: The actor and its functions keep working; its name stays reachable in the header.",
12
12
  ],
13
13
  },
14
14
  {
15
15
  id: "personal-tile-arrangement",
16
- title: "Eine Gesprächsrunde anders aufteilen",
17
- description: "Kacheln lassen sich persönlich umstellen und wieder auf die Programmvorgabe zurücksetzen.",
18
- tags: ["Anwendungsfall", "Konzeptdemo", "Fläche"],
16
+ title: "Split a conversation circle differently",
17
+ description: "Tiles can be rearranged personally and reset to the program default.",
18
+ tags: ["Use case", "Concept demo", "Surface"],
19
19
  steps: [
20
- "Im Profil showcase die Vorlage Gesprächsrunde einrichten ausführen und den Aufbau abwarten. Die vom Run gesetzte Aufteilung ansehen.",
21
- "Eine Kachel an ihrer Kopfzeile fassen und am oberen Rand einer anderen Kachel andocken. Erwartung: Die Aufteilung ändert sich sofort; alle Gesprächspartner arbeiten weiter.",
22
- "Die Trennlinie zwischen zwei Kacheln verschieben und denselben Run im selben Browser neu laden. Erwartung: Die persönliche Aufteilung bleibt erhalten; die Actors und die Programmanordnung sind unverändert.",
23
- "In der Statusleiste Programmvorgabe übernehmen wählen. Erwartung: Die Fläche zeigt wieder die Aufteilung des Runs; der Knopf verschwindet, bis wieder eine eigene Änderung vorliegt.",
20
+ "In the showcase profile, run the template Set up conversation circle and wait for the setup. Look at the layout set by the run.",
21
+ "Grab a tile by its title bar and dock it at the top edge of another tile. Expected: The layout changes immediately; all conversation partners keep working.",
22
+ "Move the divider between two tiles and reload the same run in the same browser. Expected: The personal layout is kept; the actors and the program arrangement are unchanged.",
23
+ "Choose Apply program default in the status bar. Expected: The surface shows the run's layout again; the button disappears until there is another change of your own.",
24
24
  ],
25
25
  },
26
26
  {
27
27
  id: "global-run-overview",
28
- title: "Zwei Runs im Blick behalten",
29
- description: "Der globale Koordinator liest vorhandene Runs, während die aktuelle Fläche geöffnet bleibt.",
30
- tags: ["Anwendungsfall", "Konzeptdemo", "Globaler Koordinator"],
28
+ title: "Keep an eye on two runs",
29
+ description: "The global coordinator reads existing runs while the current surface stays open.",
30
+ tags: ["Use case", "Concept demo", "Global coordinator"],
31
31
  steps: [
32
- "Im Profil showcase zwei kurze Runs zu einer Leseliste und einem Wochenplan anlegen und ihre Antworten abwarten.",
33
- "In die Eingabe Globaler Koordinator in der Kopfzeile klicken und damit seinen Verlauf öffnen. Um eine knappe Übersicht der beiden Runs mit ihrem jeweiligen Arbeitsstand bitten.",
34
- "Die Run-Liste über die Übersichtsecke oder Cmd+I auf macOS beziehungsweise Ctrl+I öffnen, beide Runs auswählen und die Antwort mit ihren tatsächlichen Gesprächen vergleichen. Erwartung: Der globale Chat kann beide Journale berücksichtigen; ein Run-Wechsel erhält seinen eigenen Verlauf.",
35
- "Einen ungesendeten Entwurf oben eingeben, Escape drücken und den Verlauf wieder öffnen. Erwartung: Das Dropdown schließt ohne Stopp; Entwurf, aktueller Run und globales Gespräch bleiben erhalten.",
32
+ "In the showcase profile, create two short runs about a reading list and a weekly plan and wait for their answers.",
33
+ "Click the Global coordinator input in the header to open its history. Ask for a brief overview of both runs with their current progress.",
34
+ "Open the run list via the overview corner or Cmd+I on macOS or Ctrl+I, select both runs, and compare the answer with their actual conversations. Expected: The global chat can take both journals into account; switching runs keeps its own history.",
35
+ "Type an unsent draft at the top, press Escape, and open the history again. Expected: The dropdown closes without stopping anything; the draft, the current run, and the global conversation are kept.",
36
36
  ],
37
37
  },
38
38
  {
39
39
  id: "global-prepared-run",
40
- title: "Eine vorbereitete Runde global starten",
41
- description: "Der globale Koordinator wählt aus dem vorhandenen Katalog ein Run-Script und erstellt damit einen neuen Run.",
42
- tags: ["Anwendungsfall", "Konzeptdemo", "Globaler Koordinator"],
40
+ title: "Start a prepared circle globally",
41
+ description: "The global coordinator picks a run script from the existing catalog and creates a new run with it.",
42
+ tags: ["Use case", "Concept demo", "Global coordinator"],
43
43
  steps: [
44
- "In die Eingabe Globaler Koordinator in der Kopfzeile klicken und bitten: Zeige die verfügbaren vorbereiteten Run-Scripts und starte Gesprächsrunde einrichten zum Thema gemeinsames Lernen mit zwei Runden.",
45
- "Nach dem Senden die Kurzantwort direkt unter der Kopfzeile abwarten. Den Hinweis anklicken und die vollständige Antwort im Verlauf lesen. Falls der Startwert unklar ist, die Rückfrage anhand des angezeigten Katalogs beantworten; keine Modellkennung oder Run-ID abschreiben.",
46
- "Den neuen Run über die Run-Liste öffnen. Erwartung: Ein eigener Run mit dem angeforderten Thema und dem vorbereiteten Aufbau entsteht. Die Annahme des Starts allein beweist noch keinen abgeschlossenen Gesprächsbeitrag.",
47
- "Nach dem ersten tatsächlichen Beitrag unten Actors öffnen und einen Gesprächspartner im Inspector auswählen. Oben im globalen Chat fragen: Was macht dieser Actor? Erwartung: Die Frage erhält den Run und den ausgewählten Actor als getrennte Orientierung; der sichtbare Fragetext bleibt unverändert.",
48
- "Nach dem Absenden einen anderen Run öffnen. Erwartung: Die bereits gesendete Frage bleibt an ihre ursprüngliche Auswahl gebunden, auch wenn sie erst später bearbeitet wird. Der globale Verlauf und beide Runs bleiben getrennt erreichbar.",
44
+ "Click the Global coordinator input in the header and ask: Show the available prepared run scripts and start Set up conversation circle on the topic of learning together with two rounds.",
45
+ "After sending, wait for the short answer directly below the header. Click the notice and read the full answer in the history. If the start value is unclear, answer the question based on the catalog shown; do not copy a model id or run id.",
46
+ "Open the new run from the run list. Expected: A separate run with the requested topic and the prepared setup is created. Acceptance of the start alone does not prove a completed conversation contribution.",
47
+ "After the first actual contribution, open Actors at the bottom and select a conversation partner in the inspector. At the top of the global chat, ask: What does this actor do? Expected: The question receives the run and the selected actor as separate orientation; the visible question text stays unchanged.",
48
+ "After sending, open another run. Expected: The question already sent stays bound to its original selection, even if it is processed only later. The global history and both runs stay reachable separately.",
49
49
  ],
50
50
  },
51
51
  {
52
52
  id: "reset-completed-global-chat",
53
- title: "Nach einer Planung neu beginnen",
54
- description: "Ein bestätigter Reset leert das globale Gespräch und lässt bestehende Runs und die Modellauswahl erhalten.",
55
- tags: ["Anwendungsfall", "Konzeptdemo", "Gesprächsreset"],
53
+ title: "Start over after planning",
54
+ description: "A confirmed reset clears the global conversation and keeps existing runs and the model selection.",
55
+ tags: ["Use case", "Concept demo", "Conversation reset"],
56
56
  steps: [
57
- "Im globalen Chat eine kurze Planung abschließen. Einen normalen Run geöffnet lassen und die aktuelle globale Modell- und Reasoningwahl merken.",
58
- "Gespräch zurücksetzen wählen und die angezeigte Bestätigung ausdrücklich bestätigen. Die erfolgreiche Rückmeldung abwarten.",
59
- "Erwartung: Verlauf, Eingabeentwurf und Anhänge des globalen Chats sind leer; der geöffnete normale Run sowie die Modell- und Reasoningwahl bestehen weiter.",
60
- "Eine neue kurze Nachricht senden. Erwartung: Sie beginnt ein frisches globales Gespräch. Der Reset selbst hat keinen neuen Modellauftrag gestartet.",
57
+ "Complete a short planning session in the global chat. Keep a normal run open and note the current global model and reasoning selection.",
58
+ "Choose Reset conversation and explicitly confirm the confirmation shown. Wait for the success message.",
59
+ "Expected: The history, input draft, and attachments of the global chat are empty; the open normal run and the model and reasoning selection remain.",
60
+ "Send a new short message. Expected: It starts a fresh global conversation. The reset itself did not start a new model task.",
61
61
  ],
62
62
  },
63
63
  {
64
64
  id: "reset-without-losing-draft",
65
- title: "Einen Reset zunächst abbrechen",
66
- description: "Die Bestätigung schützt einen noch benötigten Gesprächsentwurf; erst der bestätigte zweite Versuch leert ihn.",
67
- tags: ["Anwendungsfall", "Konzeptdemo", "Gesprächsreset"],
65
+ title: "Cancel a reset at first",
66
+ description: "The confirmation protects a conversation draft you still need; only the confirmed second attempt clears it.",
67
+ tags: ["Use case", "Concept demo", "Conversation reset"],
68
68
  steps: [
69
- "Im globalen Chat einen kurzen Entwurf eingeben, ohne ihn zu senden. Gespräch zurücksetzen öffnen und die Bestätigung abbrechen.",
70
- "Erwartung: Entwurf und bestehender Verlauf bleiben erhalten. Die bloße Anzeige der Bestätigung setzt nichts zurück.",
71
- "Gespräch zurücksetzen erneut öffnen und diesmal bestätigen. Während des Resets keine weitere Nachricht senden.",
72
- "Erwartung: Nach Erfolg sind Entwurf und Verlauf leer. Bei einem Fehler bleibt dessen Meldung sichtbar und erlaubt einen erneuten Versuch; ein Fehler darf nicht als erfolgreicher Reset gelten.",
69
+ "Type a short draft in the global chat without sending it. Open Reset conversation and cancel the confirmation.",
70
+ "Expected: The draft and the existing history are kept. Merely showing the confirmation resets nothing.",
71
+ "Open Reset conversation again and confirm this time. Do not send another message during the reset.",
72
+ "Expected: After success, the draft and history are empty. On an error, its message stays visible and allows a retry; an error must not count as a successful reset.",
73
73
  ],
74
74
  },
75
75
  {
76
76
  id: "coordinator-model-settings",
77
- title: "Den Koordinator für kurze Antworten einstellen",
78
- description: "Modell und Reasoning werden direkt im globalen Chat gewählt und in den Einstellungen wiedergefunden.",
79
- tags: ["Anwendungsfall", "Konzeptdemo", "Einstellungen und Modellwahl"],
77
+ title: "Set up the coordinator for short answers",
78
+ description: "Model and reasoning are chosen directly in the global chat and can be found again in the settings.",
79
+ tags: ["Use case", "Concept demo", "Settings and model selection"],
80
80
  steps: [
81
- "Den globalen Verlauf über die Toolbar-Eingabe öffnen und im Dropdown oberhalb des Verlaufs ein angebotenes Modell und eine dort verfügbare Reasoning-Stufe wählen. Keine nicht angebotene Stufe voraussetzen.",
82
- "Die bestätigte Speicherung abwarten und danach eine kurze Frage stellen. Erwartung: Neue Arbeit verwendet die gespeicherte Auswahl; ein schon laufender Turn wird dadurch nicht rückwirkend verändert.",
83
- "Das Zahnrad öffnen und unter Modelle die Einstellung Globaler Koordinator ansehen. Erwartung: Beide Ansichten zeigen dieselbe bestätigte Auswahl.",
84
- "Falls ein Modellwechsel wegen bereits vorhandener Medien abgelehnt wird, die sichtbare Fehlermeldung beachten. Erwartung: Die bisherige gültige Auswahl bleibt erhalten.",
81
+ "Open the global history via the toolbar input and, in the dropdown above the history, choose an offered model and a reasoning level available there. Do not assume a level that is not offered.",
82
+ "Wait for the confirmed save and then ask a short question. Expected: New work uses the saved selection; a turn that is already running is not changed retroactively.",
83
+ "Open the gear and look at the Global coordinator setting under Models. Expected: Both views show the same confirmed selection.",
84
+ "If a model change is rejected because of media that already exists, note the visible error message. Expected: The previous valid selection is kept.",
85
85
  ],
86
86
  },
87
87
  {
88
88
  id: "title-model-selection",
89
- title: "Das Modell für kurze Überschriften wählen",
90
- description: "Ein eigenes Modell verdichtet den Auftrag in der Run-Liste, ohne die Modelle der Agenten zu ändern.",
91
- tags: ["Anwendungsfall", "Konzeptdemo", "Einstellungen und Modellwahl"],
89
+ title: "Choose the model for short titles",
90
+ description: "A separate model condenses the task in the run list without changing the agents' models.",
91
+ tags: ["Use case", "Concept demo", "Settings and model selection"],
92
92
  steps: [
93
- "Über das Zahnrad Einstellungen, Modelle und Überschriften öffnen. Bei einer großen Liste mit der Suche ein angebotenes Modell finden, auswählen und Speichern wählen.",
94
- "Die bestätigte Speicherung abwarten. Erwartung: Die Auswahl bleibt im Formular erhalten; Globaler Koordinator sowie Neue Runs und Agenten behalten ihre eigenen Einstellungen.",
95
- "Einen neuen Run mit einem ausführlicheren Auftrag beginnen und die Run-Liste öffnen. Erwartung: Der ursprüngliche Auftrag ist bereits sichtbar. Sobald ein automatischer Titel erfolgreich erzeugt und gespeichert ist, erscheint die kurze Überschrift ohne zusätzlichen manuellen Listenabruf. Eine feste Antwortzeit wird nicht vorausgesetzt.",
96
- "Eine andere Modellwahl als Entwurf einstellen und Änderungen verwerfen wählen. Erwartung: Die bestätigte Auswahl kehrt zurück; ein schon erzeugter Titel wird nicht ersetzt.",
93
+ "Open Settings, Models, and Titles via the gear. With a large list, use the search to find an offered model, select it, and choose Save.",
94
+ "Wait for the confirmed save. Expected: The selection stays in the form; Global coordinator as well as New runs and agents keep their own settings.",
95
+ "Start a new run with a more detailed task and open the run list. Expected: The original task is already visible. As soon as an automatic title has been generated and saved successfully, the short title appears without an additional manual list refresh. No fixed response time is assumed.",
96
+ "Set a different model selection as a draft and choose Discard changes. Expected: The confirmed selection returns; a title that was already generated is not replaced.",
97
97
  ],
98
98
  },
99
99
  {
100
100
  id: "disable-generated-titles",
101
- title: "Automatische Überschriften ausschalten",
102
- description: "Neue Erzeugungen lassen sich deaktivieren; vorhandene und ausdrücklich gesetzte Titel bleiben erhalten.",
103
- tags: ["Anwendungsfall", "Konzeptdemo", "Einstellungen und Modellwahl"],
101
+ title: "Turn off automatic titles",
102
+ description: "New generation can be disabled; existing and explicitly set titles are kept.",
103
+ tags: ["Use case", "Concept demo", "Settings and model selection"],
104
104
  steps: [
105
- "Einen Run mit bereits erzeugtem Kurztitel in der Run-Liste ansehen. Unter Einstellungen, Modelle, Überschriften Keine automatischen Überschriften auswählen und speichern.",
106
- "Die Anwendung neu laden und die Einstellung erneut ansehen. Erwartung: Die Deaktivierung ist gespeichert; der bestehende Kurztitel bleibt unverändert.",
107
- "Einen weiteren Run mit einem normalen Auftrag beginnen. Erwartung: Die Run-Liste zeigt den Auftrag, ohne dafür einen automatischen Kurztitel anzufordern.",
108
- "Optional Sammelboard einrichten starten und im Leitfaden einen Namen vorgeben. Erwartung: Der vorbereitete Ablauf setzt weiterhin seinen eigenen Run-Titel. Ein später wieder aktiviertes Titelmodell überschreibt diesen Namen nicht.",
105
+ "Look at a run with an already generated short title in the run list. Under Settings, Models, Titles, select No automatic titles and save.",
106
+ "Reload the application and look at the setting again. Expected: The deactivation is saved; the existing short title stays unchanged.",
107
+ "Start another run with a normal task. Expected: The run list shows the task without requesting an automatic short title for it.",
108
+ "Optionally start Set up collection board and enter a name in the guide. Expected: The prepared flow still sets its own run title. A title model that is enabled again later does not overwrite this name.",
109
109
  ],
110
110
  },
111
111
  {
112
112
  id: "extension-capability-settings",
113
- title: "Eine Fähigkeit ihrem Plugin zuordnen",
114
- description: "Die beiden Ansichten der Einstellungen erschließen denselben Bestand aus unterschiedlichen Richtungen.",
115
- tags: ["Anwendungsfall", "Konzeptdemo", "Einstellungen und Modellwahl"],
113
+ title: "Map a capability to its plugin",
114
+ description: "The two views of the settings open up the same inventory from different directions.",
115
+ tags: ["Use case", "Concept demo", "Settings and model selection"],
116
116
  steps: [
117
- "Über das Zahnrad die Einstellungen öffnen und zu Plugins wechseln. In Nach Plugin das Actor-Programm-Plugin auswählen und ihre Werkzeuge und Web-Beiträge ansehen.",
118
- "Zu Nach Fähigkeit wechseln, Werkzeuge auswählen und nach actor_program suchen. Erwartung: Die passenden Beiträge erscheinen mit ihrem jeweiligen Plugin als Eigentümer.",
119
- "Den Link zum Actor-Programm-Plugin öffnen. Erwartung: Sein vollständiges Inventar ist wieder sichtbar; ein vorheriger Suchfilter verdeckt die Detailseite nicht.",
120
- "Zu Modelle wechseln und die Koordinator-Modellwahl öffnen. Nur tatsächlich angebotene Werte sind wählbar; eine ungültige Kombination wird nicht still ersetzt.",
117
+ "Open the settings via the gear and switch to Plugins. In By plugin, select the actor program plugin and look at its tools and web contributions.",
118
+ "Switch to By capability, select Tools, and search for actor_program. Expected: The matching contributions appear with their respective plugin as owner.",
119
+ "Open the link to the actor program plugin. Expected: Its complete inventory is visible again; a previous search filter does not hide the detail page.",
120
+ "Switch to Models and open the coordinator model selection. Only values that are actually offered can be selected; an invalid combination is not silently replaced.",
121
121
  ],
122
122
  },
123
123
  {
124
124
  id: "language-server-process",
125
- title: "Den Sprachserver als Run-Prozess sehen",
126
- description: "Eine TypeScript-Prüfung macht den zugehörigen Sprachserver in der Prozessanzeige sichtbar.",
127
- tags: ["Anwendungsfall", "Konzeptdemo", "Prozessanzeige"],
125
+ title: "See the language server as a run process",
126
+ description: "A TypeScript check makes the associated language server visible in the process display.",
127
+ tags: ["Use case", "Concept demo", "Process display"],
128
128
  steps: [
129
- "Im Profil showcase die Skill-Vorlage Fehler in einer Terminliste finden ausführen. Voraussetzung ist ein verfügbarer TypeScript-Sprachserver; eine fehlende Voraussetzung muss als Fehler gemeldet werden.",
130
- "Nach dem Öffnen des Sprachservers die gemeinsame Kopfzeile des Runs ansehen. Erwartung: Der verwaltete Sprachserver erscheint als zu diesem Run gehörender Prozess.",
131
- "Einen anderen Run öffnen und zurückwechseln. Erwartung: Die Prozessanzeige folgt dem ausgewählten Run und ist kein gemeinsames Verzeichnis aller Rechnerprozesse.",
132
- "Die Prozessanzeige dient der Beobachtung. Sie bietet keinen Beenden-Knopf; fehlende Betriebssystemrechte oder Werkzeuge werden als sichtbarer Fehler gemeldet.",
129
+ "In the showcase profile, run the skill template Find errors in an appointment list. It requires an available TypeScript language server; a missing prerequisite must be reported as an error.",
130
+ "After the language server has been opened, look at the run's shared header. Expected: The managed language server appears as a process belonging to this run.",
131
+ "Open another run and switch back. Expected: The process display follows the selected run and is not a shared list of all processes on the machine.",
132
+ "The process display is for observation. It offers no stop button; missing operating system permissions or tools are reported as a visible error.",
133
133
  ],
134
134
  },
135
135
  {
136
136
  id: "local-preview-process",
137
- title: "Eine kurzlebige lokale Vorschau öffnen",
138
- description: "Ein zeitlich begrenzter Demo-Webprozess erscheint mit seinem erkannten Port in der Kopfzeile.",
139
- tags: ["Anwendungsfall", "Konzeptdemo", "Prozessanzeige"],
137
+ title: "Open a short-lived local preview",
138
+ description: "A time-limited demo web process appears in the header with its detected port.",
139
+ tags: ["Use case", "Concept demo", "Process display"],
140
140
  steps: [
141
- "In einem eigenen showcase-Run den Koordinator bitten, einen kleinen Node-Demoprozess im Run-Arbeitsverzeichnis vorzubereiten: Er liefert nur einen neutralen Begrüßungstext, bindet ausschließlich 127.0.0.1 auf einem freien Port und beendet sich nach zwei Minuten selbst. Keine zusätzlichen Pakete installieren und keinen Produktserver ersetzen.",
142
- "Den vorbereiteten Demoprozess starten lassen und bei laufender Ausführung die Kopfzeile ansehen. Erwartung: Der Prozess erscheint mit einem Link auf seinen erkannten offenen Port.",
143
- "Den Port-Link nur auf demselben Rechner öffnen. Erwartung: Die lokale Demoantwort erscheint; bei einem entfernten Server ist dessen Loopback-Adresse nicht die Adresse des Browsers.",
144
- "Das vorgesehene automatische Ende abwarten. Erwartung: Der Eintrag verschwindet nach der nächsten Prozessaktualisierung. Run-Stopp oder das Schließen eines Tabs werden hier nicht als Beenden eines abgesetzten Dienstes versprochen.",
141
+ "In a separate showcase run, ask the coordinator to prepare a small Node demo process in the run workspace: It only serves a neutral greeting text, binds exclusively to 127.0.0.1 on a free port, and exits by itself after two minutes. Do not install additional packages and do not replace a product server.",
142
+ "Have the prepared demo process started and look at the header while it runs. Expected: The process appears with a link to its detected open port.",
143
+ "Open the port link only on the same machine. Expected: The local demo response appears; with a remote server, its loopback address is not the browser's address.",
144
+ "Wait for the intended automatic end. Expected: The entry disappears after the next process refresh. Stopping the run or closing a tab is not promised here to end a detached service.",
145
145
  ],
146
146
  },
147
147
  {
148
148
  id: "workspace-draft-preview",
149
- title: "Einen Entwurf im Dateibaum lesen",
150
- description: "Ein Run schreibt einen kleinen Text; der Dateireiter zeigt Inhalt und spätere Änderung ohne eigenen Editor.",
151
- tags: ["Anwendungsfall", "Konzeptdemo", "Dateien und Arbeitsverzeichnis"],
149
+ title: "Read a draft in the file tree",
150
+ description: "A run writes a small text; the files tab shows its content and a later change without an editor of its own.",
151
+ tags: ["Use case", "Concept demo", "Files and workspace"],
152
152
  steps: [
153
- "In einem neuen showcase-Run den Koordinator bitten, im Run-Arbeitsverzeichnis die Datei reading-list.md mit drei neutralen Lesethemen anzulegen.",
154
- "Den Reiter Dateien öffnen, das Arbeitsverzeichnis aufklappen und reading-list.md auswählen. Erwartung: Der geschriebene Text erscheint als Vorschau.",
155
- "Im Chat ein viertes Thema ergänzen lassen und zur weiterhin geöffneten Vorschau zurückkehren. Erwartung: Die Dateiänderung wird im Dateibrowser sichtbar.",
156
- "Erwartung: Der Dateireiter bleibt eine Leseansicht. Änderungen erfolgen durch den beauftragten Actor und dessen Dateiwerkzeuge, nicht durch einen eingebauten Editor oder Löschknopf.",
153
+ "In a new showcase run, ask the coordinator to create the file reading-list.md with three neutral reading topics in the run workspace.",
154
+ "Open the Files tab, expand the workspace, and select reading-list.md. Expected: The written text appears as a preview.",
155
+ "Have a fourth topic added in the chat and return to the preview that is still open. Expected: The file change becomes visible in the file browser.",
156
+ "Expected: The files tab stays a read-only view. Changes are made by the assigned actor and its file tools, not by a built-in editor or delete button.",
157
157
  ],
158
158
  },
159
159
  {
160
160
  id: "separate-run-files",
161
- title: "Gleichnamige Dateien in zwei Runs vergleichen",
162
- description: "Zwei unabhängige Arbeitsverzeichnisse enthalten eigene Dateien mit demselben Namen.",
163
- tags: ["Anwendungsfall", "Konzeptdemo", "Dateien und Arbeitsverzeichnis"],
161
+ title: "Compare files with the same name in two runs",
162
+ description: "Two independent workspaces contain their own files with the same name.",
163
+ tags: ["Use case", "Concept demo", "Files and workspace"],
164
164
  steps: [
165
- "Einen showcase-Run Leseliste anlegen und darin notes.md mit dem Inhalt Lesen vorbereiten schreiben lassen.",
166
- "Einen zweiten showcase-Run Wochenplan anlegen und dort ebenfalls notes.md schreiben lassen, diesmal mit dem Inhalt Woche planen. Keine Datei zwischen Runs kopieren.",
167
- "In beiden Runs nacheinander den Reiter Dateien öffnen und notes.md lesen. Erwartung: Der gleiche Dateiname zeigt den jeweils eigenen Inhalt des Run-Arbeitsverzeichnisses.",
168
- "Nur im Wochenplan eine Zeile ergänzen lassen und beide Vorschauen erneut prüfen. Erwartung: Die Datei des Leselisten-Runs ist unverändert.",
165
+ "Create a showcase run Reading list and have it write notes.md with the content Prepare reading.",
166
+ "Create a second showcase run Weekly plan and have it also write notes.md, this time with the content Plan the week. Do not copy any file between runs.",
167
+ "Open the Files tab in both runs one after the other and read notes.md. Expected: The same file name shows the respective content of each run workspace.",
168
+ "Have a line added only in the weekly plan and check both previews again. Expected: The file of the reading list run is unchanged.",
169
169
  ],
170
170
  },
171
171
  {
172
172
  id: "restore-shared-list",
173
- title: "Eine gemeinsame Liste nach Neustart wiederfinden",
174
- description: "Eine abgeschlossene Actor-Funktion bleibt beim regulären Neustart desselben Profils erhalten.",
175
- tags: ["Anwendungsfall", "Konzeptdemo", "Wiederherstellung nach Neustart"],
173
+ title: "Find a shared list again after a restart",
174
+ description: "A completed actor function is kept when the same profile is restarted normally.",
175
+ tags: ["Use case", "Concept demo", "Recovery after restart"],
176
176
  steps: [
177
- "Im Profil showcase Sammelboard einrichten öffnen und den Leitfaden abschließen. Einen eindeutig erkennbaren Eintrag hinzufügen und die bestätigte Aktualisierung der Liste abwarten.",
178
- "Alle laufenden Arbeiten abschließen lassen. Den lokalen Server selbst über den für diese Installation verwendeten Startweg beenden und mit demselben Profil und Datenverzeichnis neu starten. Keine Daten löschen und keine zweite Serverinstanz parallel starten.",
179
- "Die Anwendung erneut öffnen und denselben Run auswählen. Erwartung: Gespräch, Mini-App und bestätigter Listeneintrag sind wieder vorhanden.",
180
- "Die Liste auf doppelte Einträge prüfen. Erwartung: Der Neustart stellt gespeicherten Zustand wieder her, führt die bereits abgeschlossene Hinzufügeaktion aber nicht erneut aus. Das Journal allein ersetzt keine vollständige Sicherung der übrigen Run-Dateien.",
177
+ "In the showcase profile, open Set up collection board and complete the guide. Add a clearly recognizable entry and wait for the confirmed update of the list.",
178
+ "Let all running work finish. Stop the local server yourself using the start method used for this installation and restart it with the same profile and data directory. Do not delete any data and do not start a second server instance in parallel.",
179
+ "Open the application again and select the same run. Expected: The conversation, the mini-app, and the confirmed list entry are present again.",
180
+ "Check the list for duplicate entries. Expected: The restart restores the saved state but does not run the already completed add action again. The journal alone does not replace a complete backup of the other run files.",
181
181
  ],
182
182
  },
183
183
  {
184
184
  id: "restore-conversation-context",
185
- title: "Zwei Gesprächsverläufe nach Neustart fortsetzen",
186
- description: "Normaler Run und globaler Koordinator behalten ihre jeweils eigene Geschichte.",
187
- tags: ["Anwendungsfall", "Konzeptdemo", "Wiederherstellung nach Neustart"],
185
+ title: "Continue two conversation histories after a restart",
186
+ description: "A normal run and the global coordinator each keep their own history.",
187
+ tags: ["Use case", "Concept demo", "Recovery after restart"],
188
188
  steps: [
189
- "In einem normalen showcase-Run drei Lernziele besprechen und im globalen Chat eine knappe Übersicht dieses Runs anfordern. Beide Antworten vollständig abwarten und die globale Modellwahl merken.",
190
- "Den lokalen Server selbst über den vorhandenen Startweg neu starten, mit demselben Profil und Datenverzeichnis. Keine Dateien entfernen oder zwischen Installationen übertragen.",
191
- "Den normalen Run und anschließend den globalen Chat öffnen. Erwartung: Beide bisherigen Verläufe und die globale Modellwahl sind erhalten.",
192
- "Im normalen Run um den nächsten Schritt zu den Lernzielen bitten. Die neue Antwort als neue Arbeit behandeln; der Neustart hat alte Modellaufrufe nicht wiederholt. Ein beim Neustart noch offener Turn wäre unterbrochen abgeschlossen worden und wird nicht automatisch erneut ausgeführt.",
189
+ "In a normal showcase run, discuss three learning goals and request a brief overview of this run in the global chat. Wait for both answers to complete and note the global model selection.",
190
+ "Restart the local server yourself using the existing start method, with the same profile and data directory. Do not remove any files or transfer them between installations.",
191
+ "Open the normal run and then the global chat. Expected: Both previous histories and the global model selection are kept.",
192
+ "In the normal run, ask for the next step on the learning goals. Treat the new answer as new work; the restart did not repeat old model calls. A turn that was still open during the restart would have been completed as interrupted and is not run again automatically.",
193
193
  ],
194
194
  },
195
195
  {
196
196
  id: "image-paste-conversation",
197
- title: "Eine eigene Skizze im Chat besprechen",
198
- description: "Ein Bild aus der Zwischenablage wird vor dem Senden geprüft und danach als Anhang im Verlauf gezeigt.",
199
- tags: ["Anwendungsfall", "Konzeptdemo", "Multimodale Eingaben"],
197
+ title: "Discuss your own sketch in the chat",
198
+ description: "An image from the clipboard is checked before sending and then shown as an attachment in the history.",
199
+ tags: ["Use case", "Concept demo", "Multimodal input"],
200
200
  steps: [
201
- "Eine eigene unkritische Skizze in die Zwischenablage kopieren. Einen neuen Run öffnen und ein angebotenes Modell wählen, das Bildeingaben unterstützt.",
202
- "Das Bild mit Cmd+V oder Ctrl+V in die Chat-Eingabe einfügen. Erwartung: Eine Bildvorschau erscheint, lässt sich vor dem Senden wieder entfernen und wurde noch nicht allein durch das Einfügen gesendet.",
203
- "Mit der Frage Welche drei Formen erkennst du? senden. Erwartung: Nach erfolgreicher Annahme stehen Nachricht und dauerhafter Bildanhang im Verlauf; die Antwort wird gegen die tatsächliche Skizze geprüft.",
204
- "Falls das Zielmodell keine Bildeingaben unterstützt, muss der Composer das Senden mit einer verständlichen Meldung blockieren. Kein passendes Modell im Katalog ist eine fehlende Voraussetzung, kein Anlass für einen behaupteten Bildbefund.",
201
+ "Copy a harmless sketch of your own to the clipboard. Open a new run and choose an offered model that supports image input.",
202
+ "Paste the image into the chat input with Cmd+V or Ctrl+V. Expected: An image preview appears, can be removed again before sending, and has not been sent merely by pasting.",
203
+ "Send with the question Which three shapes do you recognize? Expected: After successful acceptance, the message and a persistent image attachment are in the history; the answer is checked against the actual sketch.",
204
+ "If the target model does not support image input, the composer must block sending with an understandable message. No matching model in the catalog is a missing prerequisite, not a reason for a claimed image finding.",
205
205
  ],
206
206
  },
207
207
  {
208
208
  id: "video-and-document-drop",
209
- title: "Einen kurzen Clip mit seinem Ablaufplan vergleichen",
210
- description: "Video und PDF werden per Drag-and-drop ausdrücklich an ein geeignetes Modell gesendet.",
211
- tags: ["Anwendungsfall", "Konzeptdemo", "Multimodale Eingaben"],
212
- steps: [
213
- "Einen eigenen kurzen, unkritischen Videoclip und einen kleinen PDF-Ablaufplan bereitlegen. Einen Chat mit einem angebotenen Modell öffnen, dessen veröffentlichte Eingabefähigkeiten sowohl Video als auch native PDFs erlauben. Gibt es kein solches Modell, ist dieser Ablauf nicht ausführbar.",
214
- "Beide Dateien in die Chat-Eingabe ziehen. Erwartung: Der Clip erhält eine Vorschau und das PDF eine Dateiangabe; Anhänge lassen sich einzeln entfernen. Sichtbare Größen- oder Fähigkeitsfehler vor dem Senden beheben.",
215
- "Mit der Frage Welche geplanten Schritte sind im Clip sichtbar? senden und die tatsächliche Antwort mit Clip und Ablaufplan vergleichen. Erwartung: Die Anhänge bleiben im Verlauf erneut erreichbar.",
216
- "Bei fehlender Video- oder PDF-Unterstützung bleibt das Senden blockiert. Es gibt hier keine stille OCR-Ausweichverarbeitung und keine Zusage, dass jedes angebotene Modell die Dateien versteht.",
209
+ title: "Compare a short clip with its schedule",
210
+ description: "Video and PDF are explicitly sent to a suitable model via drag and drop.",
211
+ tags: ["Use case", "Concept demo", "Multimodal input"],
212
+ steps: [
213
+ "Prepare a short, harmless video clip of your own and a small PDF schedule. Open a chat with an offered model whose published input capabilities allow both video and native PDFs. If there is no such model, this flow cannot be run.",
214
+ "Drag both files into the chat input. Expected: The clip gets a preview and the PDF a file label; attachments can be removed individually. Fix visible size or capability errors before sending.",
215
+ "Send with the question Which planned steps are visible in the clip? and compare the actual answer with the clip and the schedule. Expected: The attachments stay reachable again in the history.",
216
+ "Without video or PDF support, sending stays blocked. There is no silent OCR fallback here and no promise that every offered model understands the files.",
217
217
  ],
218
218
  },
219
219
  ];
@@ -9,7 +9,7 @@ const hintClass = "leading-[1.5] text-muted-foreground";
9
9
  const actionsClass = "flex flex-wrap justify-end gap-2.5 pt-2";
10
10
 
11
11
  export function ConversationGuide({ onCancel, onComplete }: EntryGuideContext) {
12
- const [topic, setTopic] = useState("Sollten Innenstädte autofrei werden?");
12
+ const [topic, setTopic] = useState("Should city centers become car-free?");
13
13
  const [rounds, setRounds] = useState("2");
14
14
  const count = Number(rounds);
15
15
  const valid = topic.trim().length > 0 && Number.isInteger(count) && count >= 1 && count <= 5;
@@ -19,16 +19,16 @@ export function ConversationGuide({ onCancel, onComplete }: EntryGuideContext) {
19
19
  event.preventDefault();
20
20
  if (valid) onComplete({ topic: topic.trim(), rounds: count });
21
21
  }}>
22
- <p className={introClass}>Drei Perspektiven auf eine Frage. Der Koordinator führt durch die Runde und fasst die Ergebnisse zusammen.</p>
22
+ <p className={introClass}>Three perspectives on one question. The coordinator leads the round and summarizes the results.</p>
23
23
  <label className={fieldClass}>
24
- <span>Worüber soll die Runde sprechen?</span>
24
+ <span>What should the round talk about?</span>
25
25
  <Textarea autoFocus maxLength={160} onChange={(event) => setTopic(event.target.value)} required rows={3} value={topic} />
26
26
  </label>
27
- <div aria-label="Gesprächspartner" className="grid grid-cols-3 gap-3.5 max-sm:grid-cols-1 max-sm:gap-2">
27
+ <div aria-label="Conversation partners" className="grid grid-cols-3 gap-3.5 max-sm:grid-cols-1 max-sm:gap-2">
28
28
  {[
29
- { name: "Mira", role: "Fragt neugierig nach" },
30
- { name: "Jon", role: "Widerspricht höflich" },
31
- { name: "Ada", role: "Sucht Gemeinsamkeiten" },
29
+ { name: "Mira", role: "Asks curious questions" },
30
+ { name: "Jon", role: "Politely disagrees" },
31
+ { name: "Ada", role: "Looks for common ground" },
32
32
  ].map((partner) => (
33
33
  <div className="grid gap-[7px] rounded-lg bg-secondary p-3.5" key={partner.name}>
34
34
  <strong>{partner.name}</strong>
@@ -37,21 +37,21 @@ export function ConversationGuide({ onCancel, onComplete }: EntryGuideContext) {
37
37
  ))}
38
38
  </div>
39
39
  <label className={fieldClass}>
40
- <span>Runden</span>
40
+ <span>Rounds</span>
41
41
  <Input className="max-w-25" max={5} min={1} onChange={(event) => setRounds(event.target.value)} required step={1} type="number" value={rounds} />
42
- <small className={hintClass}>1 bis 5 Runden, mit einem Beitrag pro Person und Runde.</small>
42
+ <small className={hintClass}>1 to 5 rounds, with one contribution per person and round.</small>
43
43
  </label>
44
44
  <div className={actionsClass}>
45
- <Button onClick={onCancel} variant="outline">Abbrechen</Button>
46
- <Button disabled={!valid} type="submit">Gespräch starten</Button>
45
+ <Button onClick={onCancel} variant="outline">Cancel</Button>
46
+ <Button disabled={!valid} type="submit">Start conversation</Button>
47
47
  </div>
48
48
  </form>
49
49
  );
50
50
  }
51
51
 
52
52
  export function SharedBoardGuide({ onCancel, onComplete }: EntryGuideContext) {
53
- const [title, setTitle] = useState("Ideen für unser Teamfrühstück");
54
- const [firstEntry, setFirstEntry] = useState("Jeder bringt etwas aus seiner Lieblingsküche mit.");
53
+ const [title, setTitle] = useState("Ideas for our team breakfast");
54
+ const [firstEntry, setFirstEntry] = useState("Everyone brings something from their favorite cuisine.");
55
55
  const valid = title.trim().length > 0 && firstEntry.trim().length > 0;
56
56
 
57
57
  return (
@@ -59,30 +59,30 @@ export function SharedBoardGuide({ onCancel, onComplete }: EntryGuideContext) {
59
59
  event.preventDefault();
60
60
  if (valid) onComplete({ title: title.trim(), firstEntry: firstEntry.trim() });
61
61
  }}>
62
- <p className={introClass}>Sammelt Ideen, Fragen oder Aufgaben an einem Ort. Du ergänzt die Liste in seiner View, der Listenhelfer über sein Werkzeug.</p>
62
+ <p className={introClass}>Collects ideas, questions, or tasks in one place. You add to the list in its view, the list helper through its tool.</p>
63
63
  <div className="grid grid-cols-2 gap-6 max-sm:grid-cols-1">
64
64
  <div className="grid min-w-0 gap-5.5">
65
65
  <label className={fieldClass}>
66
- <span>Was wollt ihr sammeln?</span>
66
+ <span>What do you want to collect?</span>
67
67
  <Input autoFocus maxLength={160} onChange={(event) => setTitle(event.target.value)} required value={title} />
68
68
  </label>
69
69
  <label className={fieldClass}>
70
- <span>Erster Eintrag</span>
70
+ <span>First entry</span>
71
71
  <Textarea maxLength={2000} onChange={(event) => setFirstEntry(event.target.value)} required rows={5} value={firstEntry} />
72
72
  </label>
73
73
  </div>
74
- <aside aria-label="Vorschau des Sammelboards">
74
+ <aside aria-label="Collection board preview">
75
75
  <Card className="h-full gap-0 bg-secondary p-5 [overflow-wrap:anywhere]">
76
- <small className={hintClass}>So beginnt eure Sammlung</small>
77
- <h3 className="mt-3 mb-4.5 text-[1.05rem]">{title.trim() || "Titel der Sammlung"}</h3>
78
- <ol className="list-decimal pl-5.5 leading-[1.6] whitespace-pre-wrap"><li>{firstEntry.trim() || "Dein erster Eintrag"}</li></ol>
79
- <p className="mt-5.5 text-[0.85rem] leading-[1.5] text-muted-foreground">Der Listenhelfer trägt diesen Eintrag nach dem Start ein. Danach könnt ihr beide ergänzen.</p>
76
+ <small className={hintClass}>This is how your collection starts</small>
77
+ <h3 className="mt-3 mb-4.5 text-[1.05rem]">{title.trim() || "Collection title"}</h3>
78
+ <ol className="list-decimal pl-5.5 leading-[1.6] whitespace-pre-wrap"><li>{firstEntry.trim() || "Your first entry"}</li></ol>
79
+ <p className="mt-5.5 text-[0.85rem] leading-[1.5] text-muted-foreground">The list helper adds this entry after the start. After that, both of you can add more.</p>
80
80
  </Card>
81
81
  </aside>
82
82
  </div>
83
83
  <div className={actionsClass}>
84
- <Button onClick={onCancel} variant="outline">Abbrechen</Button>
85
- <Button disabled={!valid} type="submit">Sammelboard starten</Button>
84
+ <Button onClick={onCancel} variant="outline">Cancel</Button>
85
+ <Button disabled={!valid} type="submit">Start collection board</Button>
86
86
  </div>
87
87
  </form>
88
88
  );