@schlenkr/ragents 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -11
- package/apps/server/package.json +8 -6
- package/apps/server/src/access-projection.ts +3 -3
- package/apps/server/src/access-service.ts +19 -8
- package/apps/server/src/access-session.ts +6 -2
- package/apps/server/src/api/contracts.ts +19 -18
- package/apps/server/src/api/core-methods.ts +45 -26
- package/apps/server/src/api/delivery.ts +4 -4
- package/apps/server/src/api/reference.ts +1 -1
- package/apps/server/src/api/rights.ts +86 -7
- package/apps/server/src/chat-context.ts +1 -1
- package/apps/server/src/chat-handler.ts +14 -7
- package/apps/server/src/config-file.ts +25 -6
- package/apps/server/src/config.ts +4 -4
- package/apps/server/src/data-directory.ts +1 -1
- package/apps/server/src/folder-install.ts +115 -0
- package/apps/server/src/host-api.json +1256 -0
- package/apps/server/src/host-api.ts +190 -0
- package/apps/server/src/host-resolution-hooks.mjs +50 -1
- package/apps/server/src/host-resolution.ts +26 -1
- package/apps/server/src/host-version.ts +41 -0
- package/apps/server/src/host-web.ts +59 -0
- package/apps/server/src/layout.ts +1 -1
- package/apps/server/src/main.ts +3 -2
- package/apps/server/src/missing-environment.ts +47 -0
- package/apps/server/src/parent-watch.ts +37 -0
- package/apps/server/src/plugin-build/build.ts +650 -0
- package/apps/server/src/plugin-build/host-api-names.ts +185 -0
- package/apps/server/src/plugin-build/plugin-description.ts +118 -0
- package/apps/server/src/plugin-build/typecheck.ts +66 -0
- package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/app-project.ts +16 -15
- package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/client-compiler.ts +4 -4
- package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/client-contracts.ts +4 -4
- package/apps/server/src/plugin-support/actor-programs/client-runtime.ts +27 -0
- package/{plugins/ragents.actor-programs → apps/server/src/plugin-support/actor-programs}/contract.ts +3 -3
- package/apps/server/src/plugin-support/actor-programs/service.ts +1 -1
- package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/tailwind.ts +2 -3
- package/{plugins/ragents.actor-programs → apps/server/src/plugin-support/actor-programs}/workflow/index.ts +48 -48
- package/apps/server/src/plugin-support/agent-tool.ts +10 -5
- package/apps/server/src/plugin-support/http.ts +1 -1
- package/apps/server/src/plugin-support/language-server/contract.ts +37 -6
- package/apps/server/src/plugin-support/language-server/plugin.ts +18 -8
- package/apps/server/src/plugin-support/language-server/snapshot-method.ts +32 -7
- package/apps/server/src/plugin-support/language-server/tools.ts +59 -15
- package/apps/server/src/plugin-support/model-aliases.ts +77 -0
- package/apps/server/src/plugin-support/model-choice.ts +17 -7
- package/apps/server/src/plugin-support/model-completion.ts +58 -0
- package/apps/server/src/plugin-support/model-upstreams.ts +2 -2
- package/apps/server/src/plugin-support/native-typescript-executor.ts +10 -7
- package/apps/server/src/plugin-support/plugin-config.ts +1 -1
- package/apps/server/src/plugin-support/plugin-folder.ts +4 -1
- package/apps/server/src/plugin-support/plugin-module.ts +1 -1
- package/apps/server/src/plugin-support/plugins-root.ts +6 -10
- package/apps/server/src/plugin-support/process-sandbox.ts +312 -0
- package/apps/server/src/plugin-support/product-model-settings-contract.ts +14 -5
- package/apps/server/src/plugin-support/product-model-settings.ts +10 -9
- package/{plugins/ragents.product/server/relay.ts → apps/server/src/plugin-support/product-relay.ts} +2 -2
- package/apps/server/src/plugin-support/product-start-options.ts +8 -3
- package/apps/server/src/plugin-support/prompt.ts +1 -1
- package/apps/server/src/plugin-support/provision.ts +6 -0
- package/apps/server/src/plugin-support/run-scripts.ts +16 -2
- package/apps/server/src/plugin-support/skills.ts +32 -16
- package/apps/server/src/plugin-support/start-entries-contract.ts +12 -3
- package/apps/server/src/plugin-support/start-options-contract.ts +5 -1
- package/apps/server/src/plugin-support/thinking-level.ts +6 -1
- package/apps/server/src/plugin-support/tool-availability.ts +1 -7
- package/apps/server/src/plugin-support/workspace-ownership.ts +12 -6
- package/apps/server/src/plugin-support/workspace-sandbox-host.ts +184 -37
- package/apps/server/src/profile/bundle-manifest.ts +183 -0
- package/apps/server/src/profile/compose.ts +19 -10
- package/apps/server/src/profile/plugin-discovery.ts +98 -46
- package/apps/server/src/profile/provisioning.ts +30 -26
- package/apps/server/src/profile-target.ts +3 -0
- package/apps/server/src/provider.ts +182 -99
- package/apps/server/src/ragents/actor-chat-history.ts +23 -22
- package/apps/server/src/ragents/chat-projection.ts +25 -14
- package/apps/server/src/ragents/chat-text-positions.ts +4 -4
- package/apps/server/src/ragents/coordinator.ts +27 -1
- package/apps/server/src/ragents/document-store.ts +1 -1
- package/apps/server/src/ragents/engine.ts +69 -36
- package/apps/server/src/ragents/global-chat.ts +26 -13
- package/apps/server/src/ragents/host-services.ts +15 -6
- package/apps/server/src/ragents/journal-chat-events.ts +31 -15
- package/apps/server/src/ragents/product-runtime.ts +1 -1
- package/apps/server/src/ragents/run-owner.ts +17 -0
- package/apps/server/src/ragents/runtime-bridge.ts +1 -1
- package/apps/server/src/ragents/session.ts +181 -82
- package/apps/server/src/ragents/start-option-state.ts +1 -1
- package/apps/server/src/ragents/typescript-tools.ts +35 -27
- package/apps/server/src/ragents/workspace-runtime.ts +74 -8
- package/apps/server/src/rpc/dispatcher.ts +17 -8
- package/apps/server/src/rpc/http-transport.ts +1 -3
- package/apps/server/src/rpc/stdio-transport.ts +1 -1
- package/apps/server/src/run-preparation-contract.ts +1 -1
- package/apps/server/src/run-preparation-input.ts +1 -1
- package/apps/server/src/run-preparation.ts +13 -20
- package/apps/server/src/run-transfer.ts +2 -2
- package/apps/server/src/server.ts +112 -33
- package/apps/server/src/settings.ts +7 -8
- package/apps/server/src/title-compactor.ts +5 -8
- package/apps/server/src/title-settings.ts +3 -3
- package/apps/server/src/web-bundles.ts +79 -0
- package/apps/server/src/web-stylesheet.ts +85 -0
- package/apps/server/tsconfig.json +4 -4
- package/apps/server/tsconfig.plugin.json +58 -0
- package/apps/web/dist/assets/highlighted-body-KPVGNVTW-B9qYBARS.js +1 -0
- package/apps/web/dist/assets/main-BCjvD2Hh.js +6 -0
- package/apps/web/dist/assets/mermaid-HWGCJPDP-BPn4aV2r.css +1 -0
- package/apps/web/dist/assets/mermaid-HWGCJPDP-CvYYFK_n.js +478 -0
- package/apps/web/dist/assets/runPanel-CG7kRMJh.js +21 -0
- package/apps/web/dist/help/guide-access.html +199 -0
- package/apps/web/dist/help/guide-access.md +84 -0
- package/apps/web/dist/help/guide-clients.html +421 -0
- package/apps/web/dist/help/guide-clients.md +336 -0
- package/apps/web/dist/help/guide-distributed.html +320 -0
- package/apps/web/dist/help/guide-distributed.md +225 -0
- package/apps/web/dist/help/guide-functions.html +231 -0
- package/apps/web/dist/help/guide-functions.md +127 -0
- package/apps/web/dist/help/guide-getting-started.html +230 -0
- package/apps/web/dist/help/guide-getting-started.md +123 -0
- package/apps/web/dist/help/guide-ideas.html +183 -0
- package/apps/web/dist/help/guide-ideas.md +71 -0
- package/apps/web/dist/help/guide-plugins.html +450 -0
- package/apps/web/dist/help/guide-plugins.md +341 -0
- package/apps/web/dist/help/guide-programs.html +359 -0
- package/apps/web/dist/help/guide-programs.md +271 -0
- package/apps/web/dist/help/guide-runtime.html +338 -0
- package/apps/web/dist/help/guide-runtime.md +225 -0
- package/apps/web/dist/help/guide.html +133 -0
- package/apps/web/dist/help/guide.md +13 -0
- package/apps/web/dist/help/homepage-bullets.js +12 -0
- package/apps/web/dist/help/homepage-distributed.js +261 -0
- package/apps/web/dist/help/homepage-plugins.js +30 -0
- package/apps/web/dist/help/homepage-scenes.js +368 -0
- package/apps/web/dist/help/homepage-stickers.js +69 -0
- package/apps/web/dist/help/homepage-story-nav.js +11 -0
- package/apps/web/dist/help/homepage-subnav.js +61 -0
- package/apps/web/dist/help/homepage.css +833 -0
- package/apps/web/dist/help/index.html +1167 -0
- package/apps/web/dist/help/mini-app.css +7056 -0
- package/apps/web/dist/help/mini-app.html +15 -0
- package/apps/web/dist/help/mini-app.js +131 -0
- package/apps/web/dist/help/screenshots/release-checklist-vscode.png +0 -0
- package/apps/web/dist/help/screenshots/release-checklist-web.png +0 -0
- package/apps/web/dist/help/scroll-vendor.js +73 -0
- package/apps/web/dist/help/site.css +63 -0
- package/apps/web/dist/help/site.js +103 -0
- package/apps/web/dist/host-web.json +143 -0
- package/apps/web/dist/index.html +15 -0
- package/apps/web/dist/run-panel.html +15 -0
- package/apps/web/package.json +2 -2
- package/apps/web/src/App.tsx +8 -6
- package/apps/web/src/Overview.tsx +5 -5
- package/apps/web/src/PluginActivation.ts +25 -5
- package/apps/web/src/PluginChat.tsx +163 -129
- package/apps/web/src/PluginFailureNotice.tsx +15 -0
- package/apps/web/src/PluginRegistry.tsx +106 -68
- package/apps/web/src/RunPreparationChat.tsx +40 -28
- package/apps/web/src/RunStore.ts +2 -2
- package/apps/web/src/SettingsModal.tsx +37 -37
- package/apps/web/src/StartOptions.tsx +81 -26
- package/apps/web/src/StartSelection.tsx +111 -0
- package/apps/web/src/StartTiles.tsx +73 -0
- package/apps/web/src/{CanvasShortcuts.tsx → SurfaceShortcuts.tsx} +2 -2
- package/apps/web/src/ThemeSettings.tsx +1 -1
- package/apps/web/src/WorkspacePanel.tsx +4 -4
- package/apps/web/src/access-session.ts +4 -1
- package/{plugins/ragents.orchestration/web → apps/web/src}/actor-conversation.ts +3 -3
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/DataTable.tsx +9 -9
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/FilePicker.tsx +4 -4
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/FlowDiagram.tsx +16 -14
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/FlowDiagramRenderer.tsx +3 -3
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/Form.tsx +12 -12
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/Layout.tsx +1 -1
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/MessageList.tsx +5 -5
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/Viewers.tsx +8 -7
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/WorkflowDiagram.tsx +1 -1
- package/apps/web/src/actor-programs/client-ui/chat-contracts.d.ts +64 -0
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/contracts.d.ts +2 -2
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/file-selection.ts +5 -5
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/index.tsx +22 -16
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/layout-contracts.d.ts +1 -1
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/message-list-contracts.d.ts +2 -2
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/workflow-diagram-contracts.d.ts +1 -1
- package/apps/web/src/api.ts +43 -22
- package/apps/web/src/chat/QuasselHost.tsx +12 -0
- package/apps/web/src/chat/StoppedActorNotice.tsx +39 -0
- package/apps/web/src/chat/chat-target.ts +14 -5
- package/apps/web/src/chat/requests.ts +13 -5
- package/apps/web/src/chat/useAttachmentCapabilities.ts +2 -2
- package/apps/web/src/chat/useChat.ts +8 -7
- package/apps/web/src/chat/user-location.ts +1 -1
- package/apps/web/src/chat-view-settings.tsx +49 -0
- package/apps/web/src/host-modules.ts +90 -0
- package/apps/web/src/language-server/api.ts +24 -0
- package/{plugins/ragents.lsp-roslyn/web → apps/web/src/language-server}/language-server-plugin.tsx +133 -6
- package/apps/web/src/main.tsx +4 -2
- package/apps/web/src/offered-machines.ts +11 -0
- package/apps/web/src/panel/ConnectionsPage.tsx +117 -0
- package/apps/web/src/panel/LoginForm.tsx +9 -9
- package/apps/web/src/panel/PanelDialogs.tsx +44 -27
- package/apps/web/src/panel/PanelHeader.tsx +11 -0
- package/apps/web/src/panel/PanelPage.tsx +8 -5
- package/apps/web/src/panel/RunLine.tsx +48 -0
- package/apps/web/src/panel/RunsPage.tsx +84 -0
- package/apps/web/src/panel/StartPage.tsx +163 -0
- package/apps/web/src/panel/connection-state.ts +40 -0
- package/apps/web/src/panel/contract.ts +64 -21
- package/apps/web/src/panel/page-props.ts +6 -0
- package/apps/web/src/plugin-bootstrap.ts +60 -31
- package/{plugins/ragents.product/web → apps/web/src/product}/ModelControl.tsx +3 -3
- package/{plugins/ragents.product/web → apps/web/src/product}/ProductModelSettings.tsx +7 -7
- package/{plugins/ragents.product/web → apps/web/src/product}/SystemPromptControl.tsx +3 -3
- package/{plugins/ragents.product/web → apps/web/src/product}/model-settings.ts +3 -3
- package/{plugins/ragents.product/web → apps/web/src/product}/start-options.tsx +2 -2
- package/apps/web/src/rpc/client.ts +28 -6
- package/apps/web/src/run-panel/RunPanelApp.tsx +334 -0
- package/apps/web/src/{column/ColumnRunHeader.tsx → run-panel/RunPanelHeader.tsx} +2 -2
- package/apps/web/src/{column/ColumnMenu.tsx → run-panel/RunPanelMenu.tsx} +4 -4
- package/apps/web/src/run-panel/RunPanelRail.tsx +38 -0
- package/apps/web/src/run-panel/RunPanelWorkspace.tsx +55 -0
- package/apps/web/src/{column → run-panel}/clipboard.ts +21 -10
- package/apps/web/src/run-panel/host-contract.ts +123 -0
- package/apps/web/src/{column → run-panel}/host.ts +31 -23
- package/apps/web/src/run-panel/input-bridge.ts +75 -0
- package/apps/web/src/run-panel/keyboard.ts +53 -0
- package/apps/web/src/run-panel/run-panel-location.ts +35 -0
- package/apps/web/src/{column → run-panel}/use-session-list.ts +3 -3
- package/apps/web/src/run-panel/workspace-state.ts +43 -0
- package/apps/web/src/{column.tsx → run-panel.tsx} +20 -13
- package/apps/web/src/run-preparation.ts +1 -1
- package/{plugins/ragents.orchestration/web → apps/web/src}/run-view.ts +25 -7
- package/apps/web/src/settings-contributions.ts +16 -18
- package/apps/web/src/title-model-settings.ts +1 -1
- package/apps/web/src/toolLine.ts +1 -1
- package/apps/web/src/ui/ListDetail.tsx +1 -1
- package/apps/web/src/ui/dialog.tsx +5 -5
- package/apps/web/src/ui/frame.css +1 -0
- package/apps/web/src/ui/index.ts +5 -0
- package/apps/web/src/ui/popover.tsx +2 -2
- package/apps/web/src/ui/quassel.css +41 -0
- package/apps/web/src/ui/relative-time.ts +36 -0
- package/apps/web/src/ui/startup-notice.tsx +22 -0
- package/apps/web/src/ui/state-icon.tsx +60 -0
- package/apps/web/src/ui/state-vocabulary.ts +31 -0
- package/apps/web/src/ui/stop-button.tsx +22 -0
- package/apps/web/src/ui/tailwind.css +2 -3
- package/apps/web/src/ui/theme.css +19 -19
- package/apps/web/tsconfig.json +4 -5
- package/apps/web/tsconfig.plugin.json +44 -0
- package/bundles/ragents.activity/ragents-bundle.json +38 -0
- package/bundles/ragents.activity/server/index.js +14 -0
- package/bundles/ragents.activity/server/index.js.map +7 -0
- package/bundles/ragents.activity/web/classes.json +1 -0
- package/bundles/ragents.activity/web/index.js +2 -0
- package/bundles/ragents.activity/web/index.js.map +7 -0
- package/bundles/ragents.actor-programs/prompt.hbs +80 -0
- package/bundles/ragents.actor-programs/ragents-bundle.json +214 -0
- package/bundles/ragents.actor-programs/server/index.js +2071 -0
- package/bundles/ragents.actor-programs/server/index.js.map +7 -0
- package/bundles/ragents.actor-programs/summary.hbs +17 -0
- package/bundles/ragents.actor-programs/web/classes.json +1 -0
- package/bundles/ragents.actor-programs/web/index.js +27 -0
- package/bundles/ragents.actor-programs/web/index.js.map +7 -0
- package/bundles/ragents.ask/ask.hbs +4 -0
- package/bundles/ragents.ask/ragents-bundle.json +97 -0
- package/bundles/ragents.ask/server/chunks/chunk-PDJO75SQ.js +13 -0
- package/bundles/ragents.ask/server/chunks/chunk-PDJO75SQ.js.map +7 -0
- package/bundles/ragents.ask/server/exports/server/contract.js +11 -0
- package/bundles/ragents.ask/server/exports/server/contract.js.map +7 -0
- package/bundles/ragents.ask/server/index.js +279 -0
- package/bundles/ragents.ask/server/index.js.map +7 -0
- package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js +2 -0
- package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js.map +7 -0
- package/bundles/ragents.ask/web/chunks/chunk-HGFDGTNC.js +2 -0
- package/bundles/ragents.ask/web/chunks/chunk-HGFDGTNC.js.map +7 -0
- package/bundles/ragents.ask/web/chunks/chunk-V7W3QDVS.js +25 -0
- package/bundles/ragents.ask/web/chunks/chunk-V7W3QDVS.js.map +7 -0
- package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js +2 -0
- package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js.map +7 -0
- package/bundles/ragents.ask/web/classes.json +1 -0
- package/bundles/ragents.ask/web/exports/ask-payload.js +2 -0
- package/bundles/ragents.ask/web/exports/ask-payload.js.map +7 -0
- package/bundles/ragents.ask/web/exports/web/QuestionCard.js +2 -0
- package/bundles/ragents.ask/web/exports/web/QuestionCard.js.map +7 -0
- package/bundles/ragents.ask/web/exports/web/api.js +2 -0
- package/bundles/ragents.ask/web/exports/web/api.js.map +7 -0
- package/bundles/ragents.ask/web/index.js +2 -0
- package/bundles/ragents.ask/web/index.js.map +7 -0
- package/bundles/ragents.browser/ragents-bundle.json +53 -0
- package/bundles/ragents.browser/server/chunks/chunk-2GKLLCBE.js +11 -0
- package/bundles/ragents.browser/server/chunks/chunk-2GKLLCBE.js.map +7 -0
- package/bundles/ragents.browser/server/exports/server/contract.js +9 -0
- package/bundles/ragents.browser/server/exports/server/contract.js.map +7 -0
- package/bundles/ragents.browser/server/index.js +479 -0
- package/bundles/ragents.browser/server/index.js.map +7 -0
- package/bundles/ragents.browser/skills/browser-testing/SKILL.md +38 -0
- package/bundles/ragents.documents/prompt.hbs +18 -0
- package/bundles/ragents.documents/ragents-bundle.json +120 -0
- package/bundles/ragents.documents/server/chunks/chunk-QIECRZ7C.js +37 -0
- package/bundles/ragents.documents/server/chunks/chunk-QIECRZ7C.js.map +7 -0
- package/bundles/ragents.documents/server/exports/contract.js +11 -0
- package/bundles/ragents.documents/server/exports/contract.js.map +7 -0
- package/bundles/ragents.documents/server/index.js +290 -0
- package/bundles/ragents.documents/server/index.js.map +7 -0
- package/bundles/ragents.documents/web/classes.json +1 -0
- package/bundles/ragents.documents/web/index.js +26 -0
- package/bundles/ragents.documents/web/index.js.map +7 -0
- package/bundles/ragents.lsp-fsharp/ragents-bundle.json +49 -0
- package/bundles/ragents.lsp-fsharp/server/index.js +82 -0
- package/bundles/ragents.lsp-fsharp/server/index.js.map +7 -0
- package/bundles/ragents.lsp-fsharp/web/classes.json +1 -0
- package/bundles/ragents.lsp-fsharp/web/index.js +2 -0
- package/bundles/ragents.lsp-fsharp/web/index.js.map +7 -0
- package/bundles/ragents.lsp-roslyn/ragents-bundle.json +61 -0
- package/bundles/ragents.lsp-roslyn/server/index.js +208 -0
- package/bundles/ragents.lsp-roslyn/server/index.js.map +7 -0
- package/bundles/ragents.lsp-roslyn/web/classes.json +1 -0
- package/bundles/ragents.lsp-roslyn/web/index.js +2 -0
- package/bundles/ragents.lsp-roslyn/web/index.js.map +7 -0
- package/bundles/ragents.lsp-typescript/ragents-bundle.json +36 -0
- package/bundles/ragents.lsp-typescript/server/index.js +13 -0
- package/bundles/ragents.lsp-typescript/server/index.js.map +7 -0
- package/bundles/ragents.lsp-typescript/web/classes.json +1 -0
- package/bundles/ragents.lsp-typescript/web/index.js +2 -0
- package/bundles/ragents.lsp-typescript/web/index.js.map +7 -0
- package/bundles/ragents.model-relay/ragents-bundle.json +33 -0
- package/bundles/ragents.model-relay/server/index.js +230 -0
- package/bundles/ragents.model-relay/server/index.js.map +7 -0
- package/bundles/ragents.orchestration/orchestration.hbs +106 -0
- package/bundles/ragents.orchestration/ragents-bundle.json +194 -0
- package/bundles/ragents.orchestration/server/index.js +277 -0
- package/bundles/ragents.orchestration/server/index.js.map +7 -0
- package/bundles/ragents.orchestration/web/chunks/chunk-ODMMQGX2.js +2 -0
- package/bundles/ragents.orchestration/web/chunks/chunk-ODMMQGX2.js.map +7 -0
- package/bundles/ragents.orchestration/web/chunks/chunk-OQYCNYXN.js +2 -0
- package/bundles/ragents.orchestration/web/chunks/chunk-OQYCNYXN.js.map +7 -0
- package/bundles/ragents.orchestration/web/chunks/chunk-OSKPH6SZ.js +2 -0
- package/bundles/ragents.orchestration/web/chunks/chunk-OSKPH6SZ.js.map +7 -0
- package/bundles/ragents.orchestration/web/chunks/chunk-XGPPQCZR.js +2 -0
- package/bundles/ragents.orchestration/web/chunks/chunk-XGPPQCZR.js.map +7 -0
- package/bundles/ragents.orchestration/web/classes.json +1 -0
- package/bundles/ragents.orchestration/web/exports/web/program-slot.js +2 -0
- package/bundles/ragents.orchestration/web/exports/web/program-slot.js.map +7 -0
- package/bundles/ragents.orchestration/web/exports/web/surface-entities.js +2 -0
- package/bundles/ragents.orchestration/web/exports/web/surface-entities.js.map +7 -0
- package/bundles/ragents.orchestration/web/exports/web/tile-docking.js +2 -0
- package/bundles/ragents.orchestration/web/exports/web/tile-docking.js.map +7 -0
- package/bundles/ragents.orchestration/web/index.js +51 -0
- package/bundles/ragents.orchestration/web/index.js.map +7 -0
- package/bundles/ragents.overseer/ragents-bundle.json +144 -0
- package/bundles/ragents.overseer/server/index.js +652 -0
- package/bundles/ragents.overseer/server/index.js.map +7 -0
- package/bundles/ragents.overseer/web/classes.json +1 -0
- package/bundles/ragents.overseer/web/index.js +25 -0
- package/bundles/ragents.overseer/web/index.js.map +7 -0
- package/bundles/ragents.processes/ragents-bundle.json +93 -0
- package/bundles/ragents.processes/server/index.js +204 -0
- package/bundles/ragents.processes/server/index.js.map +7 -0
- package/bundles/ragents.processes/web/classes.json +1 -0
- package/bundles/ragents.processes/web/index.js +4 -0
- package/bundles/ragents.processes/web/index.js.map +7 -0
- package/bundles/ragents.product/preamble.hbs +9 -0
- package/bundles/ragents.product/ragents-bundle.json +93 -0
- package/bundles/ragents.product/server/index.js +208 -0
- package/bundles/ragents.product/server/index.js.map +7 -0
- package/bundles/ragents.product/web/classes.json +1 -0
- package/bundles/ragents.product/web/index.js +2 -0
- package/bundles/ragents.product/web/index.js.map +7 -0
- package/bundles/ragents.profile-distribution/ragents-bundle.json +64 -0
- package/bundles/ragents.profile-distribution/server/index.js +241 -0
- package/bundles/ragents.profile-distribution/server/index.js.map +7 -0
- package/bundles/ragents.reference/ragents-bundle.json +39 -0
- package/bundles/ragents.reference/run-scripts/balcony-wizard/RUN.md +27 -0
- package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/package.json +10 -0
- package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +80 -0
- package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/conversation.ts +82 -0
- package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/tests/conversation.test.ts +154 -0
- package/bundles/ragents.reference/run-scripts/balcony-wizard/package.json +9 -0
- package/bundles/ragents.reference/run-scripts/balcony-wizard/src/server.ts +32 -0
- package/bundles/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +59 -0
- package/bundles/ragents.reference/run-scripts/conversation-circle/RUN.md +13 -0
- package/bundles/ragents.reference/run-scripts/conversation-circle/package.json +9 -0
- package/bundles/ragents.reference/run-scripts/conversation-circle/src/server.ts +81 -0
- package/bundles/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +26 -0
- package/bundles/ragents.reference/run-scripts/conversation-circle/tests/program.test.ts +34 -0
- package/bundles/ragents.reference/run-scripts/learning-afternoon/RUN.md +24 -0
- package/bundles/ragents.reference/run-scripts/learning-afternoon/package.json +10 -0
- package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/experiment.md +1 -0
- package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/helper.md +5 -0
- package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/quiz.md +1 -0
- package/bundles/ragents.reference/run-scripts/learning-afternoon/src/client.tsx +27 -0
- package/bundles/ragents.reference/run-scripts/learning-afternoon/src/server.ts +137 -0
- package/bundles/ragents.reference/run-scripts/learning-afternoon/src/state.ts +38 -0
- package/bundles/ragents.reference/run-scripts/learning-afternoon/src/view.tsx +42 -0
- package/bundles/ragents.reference/run-scripts/learning-afternoon/src/workflow.ts +38 -0
- package/bundles/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +218 -0
- package/bundles/ragents.reference/run-scripts/moderated-round/RUN.md +12 -0
- package/bundles/ragents.reference/run-scripts/moderated-round/package.json +9 -0
- package/bundles/ragents.reference/run-scripts/moderated-round/src/server.ts +60 -0
- package/bundles/ragents.reference/run-scripts/moderated-round/tests/helpers.ts +26 -0
- package/bundles/ragents.reference/run-scripts/moderated-round/tests/program.test.ts +24 -0
- package/bundles/ragents.reference/run-scripts/shared-actor-list/RUN.md +18 -0
- package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/package.json +16 -0
- package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/client.tsx +39 -0
- package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/contract.ts +15 -0
- package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/server.ts +14 -0
- package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/tests/program.test.ts +13 -0
- package/bundles/ragents.reference/run-scripts/shared-actor-list/package.json +9 -0
- package/bundles/ragents.reference/run-scripts/shared-actor-list/src/server.ts +65 -0
- package/bundles/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +26 -0
- package/bundles/ragents.reference/run-scripts/shared-actor-list/tests/program.test.ts +42 -0
- package/bundles/ragents.reference/run-scripts/word-game/RUN.md +25 -0
- package/bundles/ragents.reference/run-scripts/word-game/package.json +11 -0
- package/bundles/ragents.reference/run-scripts/word-game/src/client.tsx +27 -0
- package/bundles/ragents.reference/run-scripts/word-game/src/contract.ts +23 -0
- package/bundles/ragents.reference/run-scripts/word-game/src/server.ts +105 -0
- package/bundles/ragents.reference/run-scripts/word-game/src/state.ts +22 -0
- package/bundles/ragents.reference/run-scripts/word-game/src/view.tsx +54 -0
- package/bundles/ragents.reference/run-scripts/word-game/tests/program.test.ts +252 -0
- package/bundles/ragents.reference/server/index.js +16 -0
- package/bundles/ragents.reference/server/index.js.map +7 -0
- package/bundles/ragents.reference/skills/100-shared-actor-list/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/110-all-card-slots/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/150-editorial-workbench/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/160-learning-companion/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/170-photo-collection/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/180-decision-workbench/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/190-review-queue/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/20-circle-of-four/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/200-typescript-diagnostics/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/210-moderator-handover/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/220-actor-approval-list/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/230-shared-state-views/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/240-live-result-list/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/250-balcony-wizard/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/30-llm-without-runtime-knowledge/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/35-actor-input-fifo/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/40-subscription-matrix/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/50-subscription-removal/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/60-stop-in-the-circle/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/65-artifact-least-privilege/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/70-headless-counter/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/75-lsp-demo/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/80-actor-text-analysis/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/90-actor-notes/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/95-hello-world/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/decision-brief/SKILL.md +33 -0
- package/bundles/ragents.reference/skills/learning-sprint/SKILL.md +33 -0
- package/bundles/ragents.reference/web/classes.json +1 -0
- package/bundles/ragents.reference/web/index.js +2 -0
- package/bundles/ragents.reference/web/index.js.map +7 -0
- package/bundles/ragents.todo/ragents-bundle.json +48 -0
- package/bundles/ragents.todo/server/index.js +108 -0
- package/bundles/ragents.todo/server/index.js.map +7 -0
- package/bundles/ragents.todo/web/classes.json +1 -0
- package/bundles/ragents.todo/web/index.js +2 -0
- package/bundles/ragents.todo/web/index.js.map +7 -0
- package/bundles/ragents.transcript/ragents-bundle.json +34 -0
- package/bundles/ragents.transcript/server/index.js +102 -0
- package/bundles/ragents.transcript/server/index.js.map +7 -0
- package/bundles/ragents.watch/ragents-bundle.json +39 -0
- package/bundles/ragents.watch/server/chunks/chunk-FHAM6OML.js +11 -0
- package/bundles/ragents.watch/server/chunks/chunk-FHAM6OML.js.map +7 -0
- package/bundles/ragents.watch/server/chunks/chunk-RPBX3J4P.js +10 -0
- package/bundles/ragents.watch/server/chunks/chunk-RPBX3J4P.js.map +7 -0
- package/bundles/ragents.watch/server/exports/contract.js +9 -0
- package/bundles/ragents.watch/server/exports/contract.js.map +7 -0
- package/bundles/ragents.watch/server/exports/server/contract.js +9 -0
- package/bundles/ragents.watch/server/exports/server/contract.js.map +7 -0
- package/bundles/ragents.watch/server/index.js +482 -0
- package/bundles/ragents.watch/server/index.js.map +7 -0
- package/bundles/ragents.workspace/prompt.hbs +7 -0
- package/bundles/ragents.workspace/ragents-bundle.json +148 -0
- package/bundles/ragents.workspace/server/index.js +1049 -0
- package/bundles/ragents.workspace/server/index.js.map +7 -0
- package/bundles/ragents.workspace/web/classes.json +1 -0
- package/bundles/ragents.workspace/web/index.js +39 -0
- package/bundles/ragents.workspace/web/index.js.map +7 -0
- package/package.json +5 -16
- package/packages/agent/dist/core/agent-session-runtime.d.ts +33 -0
- package/packages/agent/dist/core/agent-session-services.d.ts +35 -0
- package/packages/agent/dist/core/agent-session.d.ts +234 -0
- package/packages/agent/dist/core/agent-settings.d.ts +27 -0
- package/packages/agent/dist/core/auth-guidance.d.ts +4 -0
- package/packages/agent/dist/core/compaction/compaction.d.ts +116 -0
- package/packages/agent/dist/core/compaction/index.d.ts +6 -0
- package/packages/agent/dist/core/compaction/utils.d.ts +39 -0
- package/packages/agent/dist/core/defaults.d.ts +3 -0
- package/packages/agent/dist/core/extensions/index.d.ts +11 -0
- package/packages/agent/dist/core/extensions/loader.d.ts +12 -0
- package/packages/agent/dist/core/extensions/runner.d.ts +39 -0
- package/packages/agent/dist/core/extensions/types.d.ts +156 -0
- package/packages/agent/dist/core/extensions/wrapper.d.ts +12 -0
- package/packages/agent/dist/core/messages.d.ts +37 -0
- package/packages/agent/dist/core/model-runtime.d.ts +32 -0
- package/packages/agent/dist/core/provider-composer.d.ts +25 -0
- package/packages/agent/dist/core/resource-loader.d.ts +39 -0
- package/packages/agent/dist/core/sdk.d.ts +38 -0
- package/packages/agent/dist/core/session-manager.d.ts +189 -0
- package/packages/agent/dist/core/skills.d.ts +20 -0
- package/packages/agent/dist/core/source-info.d.ts +16 -0
- package/packages/agent/dist/core/system-prompt.d.ts +21 -0
- package/packages/agent/dist/core/tools/bash.d.ts +63 -0
- package/packages/agent/dist/core/tools/edit-diff.d.ts +98 -0
- package/packages/agent/dist/core/tools/edit.d.ts +41 -0
- package/packages/agent/dist/core/tools/file-mutation-queue.d.ts +6 -0
- package/packages/agent/dist/core/tools/index.d.ts +5 -0
- package/packages/agent/dist/core/tools/output-accumulator.d.ts +58 -0
- package/packages/agent/dist/core/tools/path-utils.d.ts +8 -0
- package/packages/agent/dist/core/tools/read.d.ts +33 -0
- package/packages/agent/dist/core/tools/truncate.d.ts +61 -0
- package/packages/agent/dist/core/tools/write.d.ts +23 -0
- package/packages/agent/dist/index.d.ts +13 -0
- package/packages/agent/dist/loop/agent-loop.d.ts +13 -0
- package/packages/agent/dist/loop/agent.d.ts +103 -0
- package/packages/agent/dist/loop/index.d.ts +5 -0
- package/packages/agent/dist/loop/types.d.ts +333 -0
- package/packages/agent/dist/loop/uuid.d.ts +2 -0
- package/packages/agent/dist/utils/child-process.d.ts +17 -0
- package/packages/agent/dist/utils/exif-orientation.d.ts +5 -0
- package/packages/agent/dist/utils/frontmatter.d.ts +8 -0
- package/packages/agent/dist/utils/image-convert.d.ts +2 -0
- package/packages/agent/dist/utils/image-process.d.ts +18 -0
- package/packages/agent/dist/utils/image-resize-core.d.ts +30 -0
- package/packages/agent/dist/utils/image-resize-worker.d.ts +2 -0
- package/packages/agent/dist/utils/image-resize.d.ts +16 -0
- package/packages/agent/dist/utils/mime.d.ts +3 -0
- package/packages/agent/dist/utils/paths.d.ts +15 -0
- package/packages/agent/dist/utils/photon.d.ts +21 -0
- package/packages/agent/dist/utils/shell.d.ts +17 -0
- package/packages/agent/dist/utils/sleep.d.ts +5 -0
- package/packages/agent/package.json +3 -32
- package/packages/agent/src/core/agent-session-runtime.ts +15 -469
- package/packages/agent/src/core/agent-session-services.ts +17 -167
- package/packages/agent/src/core/agent-session.ts +154 -2403
- package/packages/agent/src/core/agent-settings.ts +20 -0
- package/packages/agent/src/core/auth-guidance.ts +0 -4
- package/packages/agent/src/core/compaction/compaction.ts +4 -33
- package/packages/agent/src/core/compaction/index.ts +0 -1
- package/packages/agent/src/core/compaction/utils.ts +2 -2
- package/packages/agent/src/core/defaults.ts +1 -1
- package/packages/agent/src/core/extensions/index.ts +6 -117
- package/packages/agent/src/core/extensions/loader.ts +21 -605
- package/packages/agent/src/core/extensions/runner.ts +48 -969
- package/packages/agent/src/core/extensions/types.ts +35 -1298
- package/packages/agent/src/core/extensions/wrapper.ts +13 -34
- package/packages/agent/src/core/messages.ts +5 -109
- package/packages/agent/src/core/model-runtime.ts +109 -467
- package/packages/agent/src/core/provider-composer.ts +21 -451
- package/packages/agent/src/core/resource-loader.ts +18 -822
- package/packages/agent/src/core/sdk.ts +46 -281
- package/packages/agent/src/core/session-manager.ts +11 -891
- package/packages/agent/src/core/skills.ts +8 -440
- package/packages/agent/src/core/source-info.ts +0 -12
- package/packages/agent/src/core/system-prompt.ts +2 -41
- package/packages/agent/src/core/tools/bash.ts +20 -32
- package/packages/agent/src/core/tools/edit-diff.ts +0 -60
- package/packages/agent/src/core/tools/edit.ts +2 -18
- package/packages/agent/src/core/tools/index.ts +4 -130
- package/packages/agent/src/core/tools/output-accumulator.ts +33 -5
- package/packages/agent/src/core/tools/path-utils.ts +2 -49
- package/packages/agent/src/core/tools/read.ts +4 -12
- package/packages/agent/src/core/tools/truncate.ts +0 -15
- package/packages/agent/src/core/tools/write.ts +1 -8
- package/packages/agent/src/index.ts +11 -272
- package/packages/{agent-core/src → agent/src/loop}/agent-loop.ts +127 -273
- package/packages/{agent-core/src → agent/src/loop}/agent.ts +12 -164
- package/packages/{agent-core/src → agent/src/loop}/types.ts +6 -105
- package/packages/agent/src/utils/child-process.ts +0 -13
- package/packages/agent/src/utils/image-convert.ts +0 -25
- package/packages/agent/src/utils/paths.ts +1 -71
- package/packages/agent/src/utils/shell.ts +13 -156
- package/packages/ai/dist/api/ai-sdk-messages.d.ts +9 -0
- package/packages/ai/dist/api/ai-sdk-transport.d.ts +13 -0
- package/packages/ai/dist/api/ai-sdk.d.ts +13 -0
- package/packages/ai/dist/api/ai-sdk.lazy.d.ts +3 -0
- package/packages/ai/dist/api/lazy.d.ts +15 -0
- package/packages/ai/dist/api/simple-options.d.ts +4 -0
- package/packages/ai/dist/api/transform-messages.d.ts +8 -0
- package/packages/ai/dist/api-registry.d.ts +25 -0
- package/packages/ai/dist/auth/context.d.ts +4 -0
- package/packages/ai/dist/auth/helpers.d.ts +4 -0
- package/packages/ai/dist/auth/resolve.d.ts +19 -0
- package/packages/ai/dist/auth/types.d.ts +51 -0
- package/packages/ai/dist/env-api-keys.d.ts +8 -0
- package/packages/ai/dist/index.d.ts +19 -0
- package/packages/ai/dist/models.d.ts +71 -0
- package/packages/ai/dist/models.generated.d.ts +8021 -0
- package/packages/ai/dist/providers/all.d.ts +15 -0
- package/packages/ai/dist/providers/faux.d.ts +97 -0
- package/packages/ai/dist/providers/openrouter.d.ts +3 -0
- package/packages/ai/dist/providers/openrouter.models.d.ts +8019 -0
- package/packages/ai/dist/types.d.ts +541 -0
- package/packages/ai/dist/utils/diagnostics.d.ts +13 -0
- package/packages/ai/dist/utils/error-body.d.ts +25 -0
- package/packages/ai/dist/utils/estimate.d.ts +17 -0
- package/packages/ai/dist/utils/event-stream.d.ts +21 -0
- package/packages/ai/dist/utils/headers.d.ts +2 -0
- package/packages/ai/dist/utils/json-parse.d.ts +16 -0
- package/packages/ai/dist/utils/overflow.d.ts +54 -0
- package/packages/ai/dist/utils/provider-env.d.ts +7 -0
- package/packages/ai/dist/utils/retry.d.ts +12 -0
- package/packages/ai/dist/utils/sanitize-unicode.d.ts +22 -0
- package/packages/ai/dist/utils/typebox-helpers.d.ts +17 -0
- package/packages/ai/dist/utils/validation.d.ts +10 -0
- package/packages/ai/package.json +2 -6
- package/packages/ai/src/api/ai-sdk-transport.ts +2 -2
- package/packages/ai/src/api/simple-options.ts +0 -34
- package/packages/ai/src/api-registry.ts +1 -12
- package/packages/ai/src/auth/context.ts +1 -30
- package/packages/ai/src/auth/helpers.ts +3 -34
- package/packages/ai/src/auth/resolve.ts +10 -108
- package/packages/ai/src/auth/types.ts +9 -176
- package/packages/ai/src/index.ts +1 -13
- package/packages/ai/src/models.ts +41 -407
- package/packages/ai/src/providers/all.ts +3 -31
- package/packages/ai/src/providers/openrouter.models.ts +14 -0
- package/packages/ai/src/types.ts +0 -104
- package/packages/ai/src/utils/diagnostics.ts +0 -32
- package/packages/ai/src/utils/headers.ts +0 -11
- package/packages/ai/src/utils/overflow.ts +0 -7
- package/packages/ai/src/utils/validation.ts +0 -15
- package/packages/ragents/package.json +3 -6
- package/packages/ragents/src/access.ts +2 -1
- package/packages/ragents/src/agents/actor-input.ts +14 -18
- package/packages/ragents/src/agents/catalog.ts +3 -3
- package/packages/ragents/src/agents/plugins.ts +0 -4
- package/packages/ragents/src/agents/scheduler.ts +232 -78
- package/packages/ragents/src/agents/schemas.ts +1 -36
- package/packages/ragents/src/agents/tool-orientation.ts +1 -1
- package/packages/ragents/src/agents/tools.ts +72 -73
- package/packages/ragents/src/agents/toolset.ts +5 -5
- package/packages/ragents/src/agents/turn.ts +2 -14
- package/packages/ragents/src/agents/workspaces.ts +18 -0
- package/packages/ragents/src/domain/actor-reference.ts +22 -0
- package/packages/ragents/src/domain/driver.ts +0 -9
- package/packages/ragents/src/domain/event-semantics.ts +62 -74
- package/packages/ragents/src/domain/event-validation.ts +22 -21
- package/packages/ragents/src/domain/events.ts +19 -7
- package/packages/ragents/src/domain/json.ts +2 -0
- package/packages/ragents/src/domain/model.ts +40 -18
- package/packages/ragents/src/domain/projection.ts +43 -15
- package/packages/ragents/src/domain/schema-errors.ts +3 -3
- package/packages/ragents/src/drivers/agent-hooks.ts +40 -0
- package/packages/ragents/src/drivers/agent-runtime.ts +118 -186
- package/packages/ragents/src/drivers/agent.ts +5 -20
- package/packages/ragents/src/drivers/attachments.ts +4 -24
- package/packages/ragents/src/drivers/skill-preload.ts +4 -16
- package/packages/ragents/src/drivers/types.ts +20 -3
- package/packages/ragents/src/http/contracts.ts +16 -3
- package/packages/ragents/src/http/methods.ts +32 -33
- package/packages/ragents/src/index.ts +5 -15
- package/packages/ragents/src/plugin-host.ts +151 -105
- package/packages/ragents/src/plugin-types.ts +86 -23
- package/packages/ragents/src/rpc/peer.ts +6 -0
- package/packages/ragents/src/runtime/decisions/actions.ts +40 -37
- package/packages/ragents/src/runtime/decisions/actors.ts +90 -51
- package/packages/ragents/src/runtime/decisions/artifacts.ts +2 -2
- package/packages/ragents/src/runtime/decisions/inputs.ts +3 -3
- package/packages/ragents/src/runtime/decisions/subscriptions.ts +9 -7
- package/packages/ragents/src/runtime/decisions/turns.ts +37 -4
- package/packages/ragents/src/runtime/guards.ts +12 -21
- package/packages/ragents/src/runtime/journal-storage.ts +4 -2
- package/packages/ragents/src/runtime/journal.ts +1 -1
- package/packages/ragents/src/runtime/orchestration.ts +31 -14
- package/packages/ragents/src/runtime/serial-queue.ts +24 -0
- package/packages/ragents/src/runtime/stop.ts +19 -44
- package/packages/ragents/src/script/mediators.ts +4 -5
- package/packages/ragents/src/typescript/index.ts +2 -0
- package/packages/ragents/src/typescript/run-context.ts +10 -8
- package/packages/ragents/src/typescript/snippet.ts +7 -6
- package/packages/workspace-executor/package.json +2 -2
- package/packages/workspace-executor/src/bash-launch.ts +45 -0
- package/packages/workspace-executor/src/browser/contract.ts +71 -0
- package/packages/workspace-executor/src/browser/module.ts +74 -0
- package/packages/workspace-executor/src/browser/pages.ts +298 -0
- package/packages/workspace-executor/src/browser/playwright.ts +52 -0
- package/packages/workspace-executor/src/commands.ts +170 -0
- package/packages/workspace-executor/src/context.ts +34 -6
- package/packages/workspace-executor/src/errors.ts +12 -0
- package/packages/workspace-executor/src/executor.ts +62 -104
- package/packages/workspace-executor/src/files.ts +287 -0
- package/packages/workspace-executor/src/index.ts +82 -18
- package/packages/workspace-executor/src/language-server/adapters/roslyn.ts +1 -0
- package/packages/workspace-executor/src/language-server/contract.ts +14 -0
- package/packages/workspace-executor/src/language-server/host.ts +82 -26
- package/packages/workspace-executor/src/language-server/module.ts +107 -0
- package/packages/workspace-executor/src/language-server/workspace-solutions.ts +90 -0
- package/packages/workspace-executor/src/managed-process.ts +1 -1
- package/packages/workspace-executor/src/module.ts +35 -0
- package/packages/workspace-executor/src/modules.ts +25 -0
- package/packages/workspace-executor/src/paths.ts +57 -5
- package/packages/workspace-executor/src/process-sandbox.ts +16 -0
- package/packages/workspace-executor/src/processes/module.ts +48 -0
- package/{plugins/ragents.processes/server → packages/workspace-executor/src/processes}/process-table.ts +80 -57
- package/packages/workspace-executor/src/processes/scanner.ts +106 -0
- package/{plugins/ragents.processes/server → packages/workspace-executor/src/processes}/snapshot.ts +23 -11
- package/{plugins/ragents.processes/server → packages/workspace-executor/src/processes}/terminator.ts +19 -20
- package/packages/workspace-executor/src/run-folders.ts +33 -0
- package/packages/workspace-executor/src/safe-environment.ts +14 -0
- package/packages/workspace-executor/src/sandbox-tools.ts +206 -36
- package/packages/workspace-executor/src/shell-platform.ts +2 -2
- package/plugins/package.json +1 -1
- package/plugins/ragents.activity/ragents-plugin.json +3 -0
- package/plugins/ragents.activity/server/index.ts +2 -2
- package/plugins/ragents.activity/web/ActivityHeader.tsx +2 -2
- package/plugins/ragents.activity/web/activity.ts +1 -1
- package/plugins/ragents.activity/web/index.tsx +1 -1
- package/plugins/ragents.actor-programs/prompt.hbs +8 -7
- package/plugins/ragents.actor-programs/ragents-plugin.json +3 -0
- package/plugins/ragents.actor-programs/server/agent-tools.ts +3 -3
- package/{apps/server/src/plugin-support/actor-programs → plugins/ragents.actor-programs/server}/capability-resolver.ts +1 -16
- package/plugins/ragents.actor-programs/server/controls-template.ts +5 -18
- package/plugins/ragents.actor-programs/server/controls-tool.ts +8 -11
- package/plugins/ragents.actor-programs/server/index.ts +10 -10
- package/{apps/server/src/plugin-support/actor-programs → plugins/ragents.actor-programs/server}/limits.ts +4 -4
- package/plugins/ragents.actor-programs/server/methods.ts +2 -2
- package/{apps/server/src/plugin-support/actor-programs → plugins/ragents.actor-programs/server}/operations.ts +2 -4
- package/plugins/ragents.actor-programs/server/project-diagnostics.ts +65 -70
- package/plugins/ragents.actor-programs/server/prompts.ts +4 -4
- package/plugins/ragents.actor-programs/server/routes.ts +14 -8
- package/plugins/ragents.actor-programs/server/runtime.ts +132 -55
- package/plugins/ragents.actor-programs/server/templates.ts +35 -80
- package/plugins/ragents.actor-programs/server/test-report.ts +106 -0
- package/plugins/ragents.actor-programs/server/tool-contributor.ts +4 -4
- package/plugins/ragents.actor-programs/summary.hbs +1 -1
- package/plugins/ragents.actor-programs/web/ActorViewFrame.tsx +15 -10
- package/plugins/ragents.actor-programs/web/AppsPanel.tsx +47 -30
- package/plugins/ragents.actor-programs/web/EmbeddedApps.tsx +15 -17
- package/plugins/ragents.actor-programs/web/FullscreenHost.tsx +3 -3
- package/plugins/ragents.actor-programs/web/FunctionForm.tsx +3 -3
- package/plugins/ragents.actor-programs/web/ProgramSource.tsx +12 -3
- package/plugins/ragents.actor-programs/web/api.ts +5 -5
- package/plugins/ragents.actor-programs/web/bridge.ts +2 -3
- package/plugins/ragents.actor-programs/web/chat-state.ts +9 -8
- package/plugins/ragents.actor-programs/web/index.tsx +7 -17
- package/plugins/ragents.actor-programs/web/program-state.ts +3 -3
- package/plugins/ragents.actor-programs/web/state-revision.ts +2 -2
- package/plugins/ragents.ask/ask-payload.ts +25 -0
- package/plugins/ragents.ask/contract.ts +2 -2
- package/plugins/ragents.ask/ragents-plugin.json +7 -0
- package/plugins/ragents.ask/server/answer-method.ts +1 -1
- package/plugins/ragents.ask/server/ask-service.ts +43 -19
- package/plugins/ragents.ask/server/ask-tool.ts +2 -2
- package/plugins/ragents.ask/server/contract.ts +9 -1
- package/plugins/ragents.ask/server/index.ts +8 -10
- package/plugins/ragents.ask/server/tool-contributor.ts +3 -3
- package/plugins/ragents.ask/web/AskActionView.tsx +36 -0
- package/{apps/web/src/chat → plugins/ragents.ask/web}/QuestionCard.tsx +7 -5
- package/plugins/ragents.ask/web/QuestionSection.tsx +22 -21
- package/plugins/ragents.ask/web/api.ts +1 -1
- package/plugins/ragents.ask/web/index.tsx +11 -8
- package/plugins/ragents.browser/provision.ts +9 -8
- package/plugins/ragents.browser/ragents-plugin.json +6 -0
- package/plugins/ragents.browser/server/browser.ts +165 -286
- package/plugins/ragents.browser/server/contract.ts +8 -19
- package/plugins/ragents.browser/server/index.ts +8 -7
- package/plugins/ragents.browser/server/tools.ts +29 -37
- package/plugins/ragents.browser/skills/browser-testing/SKILL.md +3 -1
- package/plugins/ragents.documents/contract.ts +4 -2
- package/plugins/ragents.documents/ragents-plugin.json +6 -0
- package/plugins/ragents.documents/server/config.ts +1 -1
- package/plugins/ragents.documents/server/document-write-tool.ts +2 -2
- package/plugins/ragents.documents/server/files-route.ts +2 -3
- package/plugins/ragents.documents/server/index.ts +10 -11
- package/plugins/ragents.documents/server/show-document-tool.ts +2 -2
- package/plugins/ragents.documents/server/store.ts +3 -3
- package/plugins/ragents.documents/server/tool-contributor.ts +3 -3
- package/plugins/ragents.documents/web/DocumentViewer.tsx +5 -6
- package/plugins/ragents.documents/web/api.ts +1 -1
- package/plugins/ragents.documents/web/index.tsx +4 -4
- package/plugins/ragents.lsp-fsharp/provision.ts +2 -2
- package/plugins/ragents.lsp-fsharp/ragents-plugin.json +3 -0
- package/plugins/ragents.lsp-fsharp/server/index.ts +3 -3
- package/plugins/ragents.lsp-fsharp/web/index.tsx +1 -1
- package/plugins/ragents.lsp-roslyn/provision.ts +2 -2
- package/plugins/ragents.lsp-roslyn/ragents-plugin.json +3 -0
- package/plugins/ragents.lsp-roslyn/server/index.ts +47 -8
- package/plugins/ragents.lsp-roslyn/server/solution-on-start.ts +145 -0
- package/plugins/ragents.lsp-roslyn/web/index.tsx +1 -1
- package/plugins/ragents.lsp-typescript/ragents-plugin.json +3 -0
- package/plugins/ragents.lsp-typescript/server/index.ts +3 -3
- package/plugins/ragents.lsp-typescript/web/index.tsx +1 -1
- package/plugins/ragents.model-relay/ragents-plugin.json +3 -0
- package/plugins/ragents.model-relay/server/config.ts +5 -31
- package/plugins/ragents.model-relay/server/index.ts +5 -6
- package/plugins/ragents.model-relay/server/relay.ts +8 -9
- package/plugins/ragents.orchestration/contract.ts +13 -14
- package/plugins/ragents.orchestration/orchestration.hbs +4 -3
- package/plugins/ragents.orchestration/ragents-plugin.json +6 -0
- package/plugins/ragents.orchestration/server/index.ts +13 -16
- package/plugins/ragents.orchestration/server/run-stop-tool.ts +4 -4
- package/plugins/ragents.orchestration/server/{canvas-tool.ts → surface-tool.ts} +42 -43
- package/plugins/ragents.orchestration/surface.hbs +34 -0
- package/plugins/ragents.orchestration/tiled-layout.ts +16 -16
- package/plugins/ragents.orchestration/web/ActorChat.tsx +16 -14
- package/plugins/ragents.orchestration/web/ActorChatControls.tsx +23 -26
- package/plugins/ragents.orchestration/web/ActorChatPreview.tsx +5 -6
- package/plugins/ragents.orchestration/web/ActorPopout.tsx +7 -5
- package/plugins/ragents.orchestration/web/ActorShortcut.tsx +16 -16
- package/plugins/ragents.orchestration/web/{ActorCanvasControls.tsx → ActorSurfaceControls.tsx} +23 -28
- package/plugins/ragents.orchestration/web/ActorTile.tsx +2 -2
- package/plugins/ragents.orchestration/web/Center.tsx +47 -55
- package/plugins/ragents.orchestration/web/DocumentsSection.tsx +4 -4
- package/plugins/ragents.orchestration/web/ExecutionsPanel.tsx +7 -7
- package/plugins/ragents.orchestration/web/FlowInspector.tsx +24 -42
- package/plugins/ragents.orchestration/web/JournalStatus.tsx +8 -8
- package/plugins/ragents.orchestration/web/MaterialBody.tsx +5 -5
- package/plugins/ragents.orchestration/web/StopRunButton.tsx +6 -6
- package/plugins/ragents.orchestration/web/SurfaceStartup.tsx +8 -0
- package/plugins/ragents.orchestration/web/{CanvasTiles.tsx → SurfaceTiles.tsx} +18 -18
- package/plugins/ragents.orchestration/web/{TiledCanvas.tsx → TiledSurface.tsx} +22 -22
- package/plugins/ragents.orchestration/web/actor-header-settings.ts +2 -2
- package/plugins/ragents.orchestration/web/api.ts +4 -10
- package/plugins/ragents.orchestration/web/constants.ts +0 -1
- package/plugins/ragents.orchestration/web/executions.ts +3 -3
- package/plugins/ragents.orchestration/web/index.tsx +19 -124
- package/plugins/ragents.orchestration/web/program-slot.ts +14 -0
- package/plugins/ragents.orchestration/web/run-panel/AddresseeControl.tsx +95 -0
- package/plugins/ragents.orchestration/web/run-panel/AddresseeTree.tsx +109 -0
- package/plugins/ragents.orchestration/web/{column/RunColumn.tsx → run-panel/RunPanel.tsx} +211 -83
- package/plugins/ragents.orchestration/web/{column/ColumnSettings.tsx → run-panel/RunPanelSettings.tsx} +13 -13
- package/plugins/ragents.orchestration/web/run-panel/addressee-tree.ts +165 -0
- package/plugins/ragents.orchestration/web/{column/column-actors.ts → run-panel/run-panel-actors.ts} +14 -13
- package/plugins/ragents.orchestration/web/run-panel/run-panel-settings.ts +47 -0
- package/plugins/ragents.orchestration/web/run-panel/run-panel-startup.ts +30 -0
- package/plugins/ragents.orchestration/web/run-panel/run-panel-state.ts +71 -0
- package/plugins/ragents.orchestration/web/{column → run-panel}/sheet-status.ts +4 -4
- package/plugins/ragents.orchestration/web/{canvas-stage.ts → surface-entities.ts} +2 -2
- package/plugins/ragents.orchestration/web/{canvas-startup.ts → surface-startup.ts} +7 -10
- package/plugins/ragents.orchestration/web/surface-view-settings.ts +42 -0
- package/plugins/ragents.orchestration/web/tile-docking.ts +14 -14
- package/plugins/ragents.orchestration/web/tiled-view-settings.ts +26 -26
- package/plugins/ragents.overseer/contract.ts +20 -14
- package/plugins/ragents.overseer/ragents-plugin.json +3 -0
- package/plugins/ragents.overseer/server/api.ts +34 -23
- package/plugins/ragents.overseer/server/coordinator-prompt.ts +3 -3
- package/plugins/ragents.overseer/server/coordinator.ts +19 -0
- package/plugins/ragents.overseer/server/index.ts +39 -27
- package/plugins/ragents.overseer/server/orientation.ts +4 -5
- package/plugins/ragents.overseer/server/quick-answer.ts +5 -4
- package/plugins/ragents.overseer/server/reset-method.ts +4 -3
- package/plugins/ragents.overseer/server/run-directory.ts +5 -5
- package/plugins/ragents.overseer/server/settings-method.ts +1 -1
- package/plugins/ragents.overseer/server/settings.ts +6 -6
- package/plugins/ragents.overseer/server/user-location.ts +20 -19
- package/plugins/ragents.overseer/web/ModelSettings.tsx +4 -4
- package/plugins/ragents.overseer/web/chat-display.ts +1 -1
- package/plugins/ragents.overseer/web/index.tsx +51 -26
- package/plugins/ragents.overseer/web/model-settings.ts +1 -1
- package/plugins/ragents.overseer/web/quick-answers.ts +2 -2
- package/plugins/ragents.processes/contract.ts +5 -5
- package/plugins/ragents.processes/ragents-plugin.json +3 -0
- package/plugins/ragents.processes/server/index.ts +13 -19
- package/plugins/ragents.processes/server/methods.ts +18 -20
- package/plugins/ragents.processes/server/observer.ts +64 -104
- package/plugins/ragents.processes/server/run-processes.ts +24 -0
- package/plugins/ragents.processes/web/ProcessHeader.tsx +13 -16
- package/plugins/ragents.processes/web/index.tsx +2 -1
- package/plugins/ragents.processes/web/processes.ts +1 -1
- package/plugins/ragents.product/ragents-plugin.json +3 -0
- package/plugins/ragents.product/server/config.ts +12 -13
- package/plugins/ragents.product/server/index.ts +15 -16
- package/plugins/ragents.product/server/runtime.ts +2 -2
- package/plugins/ragents.product/web/index.tsx +3 -3
- package/plugins/ragents.profile-distribution/contract.ts +6 -9
- package/plugins/ragents.profile-distribution/ragents-plugin.json +3 -0
- package/plugins/ragents.profile-distribution/server/archive.ts +26 -51
- package/plugins/ragents.profile-distribution/server/config.ts +2 -2
- package/plugins/ragents.profile-distribution/server/index.ts +9 -16
- package/plugins/ragents.reference/examples.ts +1 -1
- package/plugins/ragents.reference/ragents-plugin.json +3 -0
- package/plugins/ragents.reference/run-scripts/balcony-wizard/RUN.md +2 -2
- package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +1 -1
- package/plugins/ragents.reference/run-scripts/balcony-wizard/src/server.ts +1 -1
- package/plugins/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +4 -4
- package/plugins/ragents.reference/run-scripts/conversation-circle/RUN.md +1 -1
- package/plugins/ragents.reference/run-scripts/conversation-circle/src/server.ts +1 -1
- package/plugins/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +1 -1
- package/plugins/ragents.reference/run-scripts/learning-afternoon/RUN.md +2 -2
- package/plugins/ragents.reference/run-scripts/learning-afternoon/src/client.tsx +1 -1
- package/plugins/ragents.reference/run-scripts/learning-afternoon/src/server.ts +1 -1
- package/plugins/ragents.reference/run-scripts/learning-afternoon/src/state.ts +2 -2
- package/plugins/ragents.reference/run-scripts/learning-afternoon/src/view.tsx +11 -11
- package/plugins/ragents.reference/run-scripts/learning-afternoon/src/workflow.ts +15 -15
- package/plugins/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +3 -8
- package/plugins/ragents.reference/run-scripts/moderated-round/src/server.ts +1 -1
- package/plugins/ragents.reference/run-scripts/moderated-round/tests/helpers.ts +1 -1
- package/plugins/ragents.reference/run-scripts/moderated-round/tests/program.test.ts +2 -2
- package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/client.tsx +6 -6
- package/plugins/ragents.reference/run-scripts/shared-actor-list/src/server.ts +3 -3
- package/plugins/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +1 -1
- package/plugins/ragents.reference/run-scripts/word-game/RUN.md +1 -1
- package/plugins/ragents.reference/run-scripts/word-game/src/client.tsx +1 -1
- package/plugins/ragents.reference/run-scripts/word-game/src/server.ts +1 -2
- package/plugins/ragents.reference/run-scripts/word-game/src/state.ts +6 -6
- package/plugins/ragents.reference/run-scripts/word-game/src/view.tsx +14 -14
- package/plugins/ragents.reference/run-scripts/word-game/tests/program.test.ts +4 -5
- package/plugins/ragents.reference/server/index.ts +2 -2
- package/plugins/ragents.reference/skills/160-learning-companion/SKILL.md +1 -1
- package/plugins/ragents.reference/skills/240-live-result-list/SKILL.md +1 -1
- package/plugins/ragents.reference/skills/250-balcony-wizard/SKILL.md +1 -1
- package/plugins/ragents.reference/skills/90-actor-notes/SKILL.md +1 -1
- package/plugins/ragents.reference/skills/95-hello-world/SKILL.md +2 -2
- package/plugins/ragents.reference/skills/decision-brief/SKILL.md +2 -2
- package/plugins/ragents.reference/walkthroughs.ts +26 -26
- package/plugins/ragents.reference/web/StartGuides.tsx +2 -2
- package/plugins/ragents.reference/web/index.tsx +1 -1
- package/plugins/ragents.todo/ragents-plugin.json +3 -0
- package/plugins/ragents.todo/server/index.ts +2 -2
- package/plugins/ragents.todo/server/todo-tool.ts +4 -5
- package/plugins/ragents.todo/server/tool-contributor.ts +2 -2
- package/plugins/ragents.todo/web/TodoSection.tsx +3 -3
- package/plugins/ragents.todo/web/index.ts +1 -1
- package/plugins/ragents.transcript/ragents-plugin.json +3 -0
- package/plugins/ragents.transcript/server/index.ts +4 -4
- package/plugins/ragents.transcript/server/transcript.ts +2 -3
- package/plugins/ragents.watch/ragents-plugin.json +6 -0
- package/plugins/ragents.watch/server/condition.ts +2 -2
- package/plugins/ragents.watch/server/contract.ts +1 -1
- package/plugins/ragents.watch/server/functions.ts +3 -3
- package/plugins/ragents.watch/server/index.ts +3 -3
- package/plugins/ragents.watch/server/observation.ts +6 -6
- package/plugins/ragents.watch/server/service.ts +5 -5
- package/plugins/ragents.workspace/client/workspace-client.ts +129 -58
- package/plugins/ragents.workspace/contract.ts +98 -35
- package/plugins/ragents.workspace/prompt.hbs +1 -8
- package/plugins/ragents.workspace/ragents-plugin.json +3 -0
- package/plugins/ragents.workspace/server/binding.ts +122 -39
- package/plugins/ragents.workspace/server/browse-route.ts +96 -103
- package/plugins/ragents.workspace/server/clients.ts +236 -68
- package/plugins/ragents.workspace/server/config.ts +30 -0
- package/plugins/ragents.workspace/server/index.ts +61 -26
- package/plugins/ragents.workspace/server/runtime.ts +271 -46
- package/{apps/server/src/plugin-support → plugins/ragents.workspace/server}/shell-platform.ts +3 -5
- package/{apps/server/src/plugin-support → plugins/ragents.workspace/server}/workspace-tool-naming.ts +7 -1
- package/plugins/ragents.workspace/web/FileBrowser.tsx +11 -8
- package/plugins/ragents.workspace/web/WorkspaceBinding.tsx +115 -61
- package/plugins/ragents.workspace/web/api.ts +1 -1
- package/plugins/ragents.workspace/web/index.tsx +1 -1
- package/ragents.config.core.ts +2 -8
- package/ragents.config.showcase.ts +61 -0
- package/scripts/agent/agent-cli.ts +265 -107
- package/scripts/agent/journal.ts +3 -1
- package/scripts/agent/turn-control.ts +19 -0
- package/scripts/package/build-package.ts +70 -15
- package/scripts/package/ragents.mjs +4 -2
- package/scripts/plugin/build-builtin-plugins.ts +52 -0
- package/scripts/plugin/plugin-cli.ts +99 -0
- package/scripts/provision/run-provision.ts +20 -18
- package/scripts/remote/connect.ts +75 -53
- package/scripts/remote/start.ts +3 -4
- package/scripts/workspace-client/run-workspace-client.ts +15 -9
- package/apps/server/agent-home/settings.json +0 -3
- package/apps/server/src/chat-attachments.ts +0 -52
- package/apps/server/src/chat-events.ts +0 -185
- package/apps/server/src/plugin-support/asset-path.ts +0 -4
- package/apps/server/src/profile/plugin-list.ts +0 -19
- package/apps/server/src/web-build.ts +0 -82
- package/apps/web/column.html +0 -12
- package/apps/web/index.html +0 -12
- package/apps/web/src/StartSurface.tsx +0 -161
- package/apps/web/src/chat/ChatInputToolbar.tsx +0 -488
- package/apps/web/src/chat/ChatMessages.tsx +0 -666
- package/apps/web/src/chat/ChatPanel.tsx +0 -61
- package/apps/web/src/chat/DetailModeSwitch.tsx +0 -58
- package/apps/web/src/chat/Markdown.tsx +0 -104
- package/apps/web/src/chat/StepPopover.tsx +0 -82
- package/apps/web/src/chat/WorkingScenes.tsx +0 -235
- package/apps/web/src/chat/attachments.ts +0 -53
- package/apps/web/src/chat/chat-scroll.ts +0 -41
- package/apps/web/src/chat/texts.ts +0 -61
- package/apps/web/src/chat/types.ts +0 -26
- package/apps/web/src/column/ColumnApp.tsx +0 -234
- package/apps/web/src/column/column-location.ts +0 -30
- package/apps/web/src/column/host-contract.ts +0 -93
- package/apps/web/src/panel/OverviewPage.tsx +0 -215
- package/apps/web/src/panel/SettingsPage.tsx +0 -98
- package/apps/web/src/panel/target-state.ts +0 -78
- package/apps/web/src/plugin-discovery.ts +0 -5
- package/apps/web/src/virtual-plugins.d.ts +0 -3
- package/apps/web/vite.config.ts +0 -140
- package/packages/agent/src/config.ts +0 -161
- package/packages/agent/src/core/auth-storage.ts +0 -271
- package/packages/agent/src/core/bash-executor.ts +0 -156
- package/packages/agent/src/core/compaction/branch-summarization.ts +0 -372
- package/packages/agent/src/core/diagnostics.ts +0 -15
- package/packages/agent/src/core/event-bus.ts +0 -33
- package/packages/agent/src/core/exec.ts +0 -107
- package/packages/agent/src/core/experimental.ts +0 -3
- package/packages/agent/src/core/footer-data-provider.ts +0 -388
- package/packages/agent/src/core/http-dispatcher.ts +0 -106
- package/packages/agent/src/core/index.ts +0 -78
- package/packages/agent/src/core/model-config.ts +0 -287
- package/packages/agent/src/core/model-registry.ts +0 -126
- package/packages/agent/src/core/model-resolver.ts +0 -675
- package/packages/agent/src/core/output-guard.ts +0 -108
- package/packages/agent/src/core/package-manager.ts +0 -2441
- package/packages/agent/src/core/prompt-templates.ts +0 -284
- package/packages/agent/src/core/resolve-config-value.ts +0 -287
- package/packages/agent/src/core/runtime-credentials.ts +0 -48
- package/packages/agent/src/core/session-cwd.ts +0 -59
- package/packages/agent/src/core/settings-manager.ts +0 -1212
- package/packages/agent/src/core/slash-commands.ts +0 -41
- package/packages/agent/src/core/timings.ts +0 -50
- package/packages/agent/src/core/tools/tool-definition-wrapper.ts +0 -45
- package/packages/agent/src/core/trust-manager.ts +0 -244
- package/packages/agent/src/utils/ansi.ts +0 -60
- package/packages/agent/src/utils/fs-watch.ts +0 -30
- package/packages/agent/src/utils/git.ts +0 -226
- package/packages/agent/src/utils/json.ts +0 -6
- package/packages/agent/src/utils/tools-manager.ts +0 -63
- package/packages/agent-core/package.json +0 -32
- package/packages/ai/src/api/openrouter-images.lazy.ts +0 -10
- package/packages/ai/src/api/openrouter-images.ts +0 -98
- package/packages/ai/src/auth/credential-store.ts +0 -51
- package/packages/ai/src/compat/extension-oauth-types.ts +0 -45
- package/packages/ai/src/image-models.generated.ts +0 -533
- package/packages/ai/src/images-models.ts +0 -274
- package/packages/ai/src/models-store.ts +0 -38
- package/packages/ai/src/oauth.ts +0 -10
- package/packages/ai/src/providers/openrouter-images.ts +0 -14
- package/packages/ai/src/session-resources.ts +0 -24
- package/packages/ai/src/utils/abort-signals.ts +0 -41
- package/packages/ai/src/utils/deferred-tools.ts +0 -39
- package/packages/ai/src/utils/hash.ts +0 -13
- package/packages/ai/src/utils/node-http-proxy.ts +0 -112
- package/plugins/ragents.actor-programs/server/client-runtime.ts +0 -16
- package/plugins/ragents.ask/web/constants.ts +0 -1
- package/plugins/ragents.lsp-roslyn/web/api.ts +0 -10
- package/plugins/ragents.orchestration/web/CanvasStartup.tsx +0 -14
- package/plugins/ragents.orchestration/web/canvas-view-settings.ts +0 -42
- package/plugins/ragents.orchestration/web/column/AddresseeControl.tsx +0 -116
- package/plugins/ragents.orchestration/web/column/column-settings.ts +0 -47
- package/plugins/ragents.orchestration/web/column/column-state.ts +0 -68
- package/plugins/ragents.orchestration/web/contract.ts +0 -25
- package/plugins/ragents.product/model-settings-contract.ts +0 -10
- package/plugins/ragents.profile-distribution/server/web.ts +0 -24
- /package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/authoring-contracts.ts +0 -0
- /package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/runtime-libraries.ts +0 -0
- /package/{plugins/ragents.actor-programs → apps/server/src/plugin-support/actor-programs}/workflow/prompt-reader.ts +0 -0
- /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/file-contracts.d.ts +0 -0
- /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/flow-diagram-contracts.d.ts +0 -0
- /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/flow-diagram.css +0 -0
- /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/form-contracts.d.ts +0 -0
- /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/frame-layout.ts +0 -0
- /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/table-contracts.d.ts +0 -0
- /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/viewer-contracts.d.ts +0 -0
- /package/{plugins/ragents.orchestration/canvas.hbs → bundles/ragents.orchestration/surface.hbs} +0 -0
- /package/packages/{agent-core/src → agent/src/loop}/index.ts +0 -0
- /package/packages/{agent-core/src → agent/src/loop}/uuid.ts +0 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Button, DocumentViewer } from "@ragents/client/ui";
|
|
3
|
+
import { initialWord, participants, targetCount, type WordGameState } from "./state.js";
|
|
4
|
+
|
|
5
|
+
export type WordGameViewProps = {
|
|
6
|
+
state: WordGameState;
|
|
7
|
+
onStart?: () => void | Promise<void>;
|
|
8
|
+
busy?: boolean;
|
|
9
|
+
actionError?: string | undefined;
|
|
10
|
+
preview?: boolean;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const participantColor: Record<string, string> = {
|
|
14
|
+
red: "[--word-game-color:#c84f58]",
|
|
15
|
+
yellow: "[--word-game-color:#b48716]",
|
|
16
|
+
blue: "[--word-game-color:#487ccc]",
|
|
17
|
+
green: "[--word-game-color:#408561]",
|
|
18
|
+
};
|
|
19
|
+
const dot = "inline-block size-[9px] shrink-0 rounded-full bg-(--word-game-color)";
|
|
20
|
+
|
|
21
|
+
export function WordGameView({ state, onStart, busy = false, actionError, preview = false }: WordGameViewProps) {
|
|
22
|
+
const entries = state.entries ?? [];
|
|
23
|
+
const active = entries.length % participants.length;
|
|
24
|
+
const status = state.status ?? "setup";
|
|
25
|
+
const step = status === "running" ? `${participants[active]!.name} chooses word ${entries.length + 1}.`
|
|
26
|
+
: status === "completed" ? "Done. All twelve words are in the document."
|
|
27
|
+
: status === "error" ? "The game was stopped."
|
|
28
|
+
: status === "ready" ? (preview ? "Ready for the next example step." : "Ready. Start sends the first model task.") : "Setting up participants.";
|
|
29
|
+
|
|
30
|
+
return <main className="mx-auto max-w-[760px] text-base">
|
|
31
|
+
<header className="flex items-center justify-between gap-4">
|
|
32
|
+
<div><p className="mb-1.5 text-xs text-muted-foreground">TypeScript controls the flow, LLMs choose words</p><h1 className="text-[1.75rem] leading-[1.2] font-semibold">Word game</h1></div>
|
|
33
|
+
<strong className="text-[1.7rem] tabular-nums" aria-label={`${entries.length} of ${targetCount} entries`}>{entries.length}/{targetCount}</strong>
|
|
34
|
+
</header>
|
|
35
|
+
<p className="my-5">Red, Yellow, Blue, and Green take turns. Three rounds, twelve new words. Starting word: <strong>{initialWord}</strong>.</p>
|
|
36
|
+
<ol className="my-5 grid grid-cols-4 gap-2" aria-label="Participant order">
|
|
37
|
+
{participants.map((participant, index) => <li key={participant.handle} aria-current={status === "running" && active === index ? "step" : undefined}
|
|
38
|
+
className={`flex flex-wrap items-center justify-center gap-1.5 rounded-lg border border-border px-1.5 py-3 max-[420px]:text-[0.75rem] aria-[current=step]:border-(--word-game-color) aria-[current=step]:bg-muted aria-[current=step]:ring-1 aria-[current=step]:ring-(--word-game-color) ${participantColor[participant.handle]}`}>
|
|
39
|
+
<span className={dot} aria-hidden="true" /><strong>{participant.name}</strong><small className="w-full text-center text-muted-foreground">LLM</small>
|
|
40
|
+
</li>)}
|
|
41
|
+
</ol>
|
|
42
|
+
<progress className="block h-1.5 w-full [accent-color:#408561]" value={entries.length} max={targetCount} aria-label="Completed entries" />
|
|
43
|
+
<p className="my-3" role="status">{step}</p>
|
|
44
|
+
{status === "ready" && <Button disabled={busy || !onStart} onClick={() => void onStart?.()}>{busy ? "Sending start..." : preview ? "Show example" : "Start word game"}</Button>}
|
|
45
|
+
{(state.error || actionError) && <p className="border-l-[3px] border-destructive bg-destructive-soft p-3" role="alert">{state.error || actionError}{status === "error" ? " Start a new word-game run. The current state remains available." : ""}</p>}
|
|
46
|
+
<section className="mt-6 border-t border-border pt-4" aria-label="Collected words">
|
|
47
|
+
<h2 className="mb-3 text-lg font-semibold">{status === "completed" ? "Completed document" : "Word sequence"}</h2>
|
|
48
|
+
{state.document && status === "completed" ? <DocumentViewer content={state.document} format="markdown" filename="word-game.md" /> : entries.length === 0 ? <p className="text-muted-foreground">{preview ? "The word sequence grows here from labeled example data." : "No model response yet. The shared word sequence grows here."}</p> : <ol className="mb-5 grid grid-cols-2 gap-x-5 max-[420px]:grid-cols-1">
|
|
49
|
+
{entries.map((entry, index) => <li key={index} className={`flex min-h-9 items-center gap-2 border-b border-border ${participantColor[participants[entry.participant]!.handle]}`}>
|
|
50
|
+
<span className="w-[22px] text-muted-foreground tabular-nums">{index + 1}.</span><span className={dot} aria-hidden="true" /><strong className="[overflow-wrap:anywhere]">{entry.word}</strong><small className="ml-auto text-muted-foreground">{participants[entry.participant]!.name}</small></li>)}
|
|
51
|
+
</ol>}
|
|
52
|
+
</section>
|
|
53
|
+
</main>;
|
|
54
|
+
}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import assert from "node:assert/strict";
|
|
2
|
+
import test from "node:test";
|
|
3
|
+
import { createTestContext } from "@ragents/server/testing";
|
|
4
|
+
import type { ActorInput, CapabilityContracts } from "@ragents/server";
|
|
5
|
+
import program from "../src/server.ts";
|
|
6
|
+
import { participants, type WordGameState } from "../src/state.ts";
|
|
7
|
+
|
|
8
|
+
const message = (content: string): ActorInput => ({ id: "input", content, artifactIds: [], sourceEventIds: [], subscriptionId: null, event: null });
|
|
9
|
+
const firstInput = message(JSON.stringify({ input: null, options: {} }));
|
|
10
|
+
const words = ["Strand", "Sand", "Wüste", "Kamel", "Oase", "Wasser", "Fluss", "Brücke", "Stadt", "Haus", "Garten", "Blume"];
|
|
11
|
+
type History = CapabilityContracts["event_query"]["output"];
|
|
12
|
+
|
|
13
|
+
function fixture(initialState: WordGameState = {}) {
|
|
14
|
+
const calls: { name: string; input: unknown }[] = [];
|
|
15
|
+
const history: History = [];
|
|
16
|
+
const settings = { missingProfile: false, failDispatch: false };
|
|
17
|
+
const context = createTestContext<WordGameState>({
|
|
18
|
+
state: initialState,
|
|
19
|
+
functions: {
|
|
20
|
+
model_list: async (input) => {
|
|
21
|
+
calls.push({ name: "model_list", input });
|
|
22
|
+
return { profiles: settings.missingProfile ? [] : [{ name: "standard", driver: "agent", description: "Test", turnTimeoutMs: null, isolateWorkspace: false, provider: "test", model: "test" }], models: [] };
|
|
23
|
+
},
|
|
24
|
+
agent_spawn: async (input) => {
|
|
25
|
+
calls.push({ name: "agent_spawn", input });
|
|
26
|
+
return { id: `actor-${input.handle}`, handle: input.handle };
|
|
27
|
+
},
|
|
28
|
+
run_configure: async (input) => { calls.push({ name: "run_configure", input }); return null; },
|
|
29
|
+
canvas_layout_replace: async (input) => { calls.push({ name: "canvas_layout_replace", input }); return null; },
|
|
30
|
+
event_subscribe: async (input) => {
|
|
31
|
+
calls.push({ name: "event_subscribe", input });
|
|
32
|
+
return { subscriptionId: "subscription", sources: input.sourceActorIds ?? null };
|
|
33
|
+
},
|
|
34
|
+
actor_input: async (input) => {
|
|
35
|
+
calls.push({ name: "actor_input", input });
|
|
36
|
+
if (settings.failDispatch) throw new Error("Übergabe fehlgeschlagen");
|
|
37
|
+
return [{ type: "actor.input.enqueued", payload: { actorId: input.actor, inputId: `request-${calls.length}` } }];
|
|
38
|
+
},
|
|
39
|
+
event_query: async (input) => { calls.push({ name: "event_query", input }); return history.filter((event) => input.actorIds?.includes(event.actorId)); },
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
const response = (word: string, options: { actorId?: string; inputId?: string; outcome?: string; type?: string; subscriptionId?: string } = {}): ActorInput => {
|
|
44
|
+
const state = context.state.read();
|
|
45
|
+
const index = state.entries?.length ?? 0;
|
|
46
|
+
const actorId = options.actorId ?? state.participants![index % 4]!.id;
|
|
47
|
+
const turnId = `turn-${history.length}`;
|
|
48
|
+
const envelope = { actorId, causationId: null, commandId: "test", correlationId: null, occurredAt: "2026-09-13T12:00:00Z", runId: "test", schemaVersion: 3 as const };
|
|
49
|
+
history.push({ ...envelope, eventId: `${turnId}-start`, sequence: history.length + 1, type: "turn.started", payload: { turnId, inputId: options.inputId ?? state.pendingInputId } });
|
|
50
|
+
history.push({ ...envelope, eventId: `${turnId}-output`, sequence: history.length + 1, type: "model.output.completed", payload: { turnId, text: word } });
|
|
51
|
+
return { ...message("Ereignis"), subscriptionId: options.subscriptionId ?? "subscription", sourceEventIds: [`${turnId}-finished`],
|
|
52
|
+
event: { type: options.type ?? "turn.finished", eventId: `${turnId}-finished`, sequence: history.length + 1, occurredAt: envelope.occurredAt,
|
|
53
|
+
sourceActorId: actorId, sourceActorHandle: null, payload: { turnId, outcome: options.outcome ?? "completed", reason: "Testunterbrechung" } } };
|
|
54
|
+
};
|
|
55
|
+
const start = async () => {
|
|
56
|
+
await program.onInput(firstInput, context);
|
|
57
|
+
await program.functions.start({}, context);
|
|
58
|
+
await program.onInput(message("START_WORD_GAME"), context);
|
|
59
|
+
};
|
|
60
|
+
return { context, calls, history, settings, response, start };
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
test("richtet vier reine LLMs und die eigene View ohne Modellauftrag ein", async () => {
|
|
64
|
+
const { context, calls } = fixture();
|
|
65
|
+
await program.onInput(firstInput, context);
|
|
66
|
+
assert.equal(context.state.read().status, "ready");
|
|
67
|
+
assert.deepEqual(calls.filter((call) => call.name === "agent_spawn").map((call) => {
|
|
68
|
+
const input = call.input as { handle: string; displayName: string; tools: unknown; profile: string };
|
|
69
|
+
return { handle: input.handle, name: input.displayName, tools: input.tools, profile: input.profile };
|
|
70
|
+
}), participants.map((participant) => ({ ...participant, tools: [], profile: "standard" })));
|
|
71
|
+
assert.equal(calls.some((call) => call.name === "actor_input"), false);
|
|
72
|
+
assert.deepEqual(calls.find((call) => call.name === "run_configure")!.input, { title: "Wortspiel", primaryActor: "test-actor" });
|
|
73
|
+
const before = structuredClone(context.state.read());
|
|
74
|
+
const callCount = calls.length;
|
|
75
|
+
await assert.rejects(async () => program.onInput(firstInput, context), /keine freien Chatnachrichten/);
|
|
76
|
+
assert.deepEqual(context.state.read(), before);
|
|
77
|
+
assert.equal(calls.length, callCount);
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
test("der App-Aufruf schickt nur einen Auftrag an den eigenen Steueractor", async () => {
|
|
81
|
+
const { context, calls } = fixture();
|
|
82
|
+
await program.onInput(firstInput, context);
|
|
83
|
+
assert.deepEqual(await program.functions.start({}, context), { accepted: true });
|
|
84
|
+
assert.deepEqual(calls.at(-1), { name: "actor_input", input: { actor: "test-actor", content: "START_WORD_GAME" } });
|
|
85
|
+
assert.equal(calls.some((call) => call.name === "event_subscribe"), false);
|
|
86
|
+
assert.equal(context.state.read().status, "ready");
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
test("wartet auf spätere Ereignisse, zählt zwölf Beiträge und beendet die Weitergabe", async () => {
|
|
90
|
+
const { context, calls, response, start } = fixture();
|
|
91
|
+
await start();
|
|
92
|
+
assert.deepEqual(calls.slice(-2).map((call) => call.name), ["event_subscribe", "actor_input"]);
|
|
93
|
+
for (const word of words) await program.onInput(response(word), context);
|
|
94
|
+
const inputs = calls.filter((call) => call.name === "actor_input" && (call.input as { actor: string }).actor !== "test-actor");
|
|
95
|
+
assert.equal(inputs.length, 12);
|
|
96
|
+
assert.deepEqual(inputs.map((call) => (call.input as { actor: string }).actor), words.map((_word, index) => `actor-${participants[index % 4]!.handle}`));
|
|
97
|
+
assert.equal(context.state.read().status, "completed");
|
|
98
|
+
assert.equal(context.state.read().entries?.length, 12);
|
|
99
|
+
assert.match(context.state.read().document!, /12\. Grün: Blume/);
|
|
100
|
+
assert.equal(context.state.read().pendingInputId, undefined);
|
|
101
|
+
assert.deepEqual(await program.functions.start({}, context), { accepted: false });
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
test("ignoriert falsche Quellen, fremde Aufträge, falsche Abos und doppelte Ereignisse", async () => {
|
|
105
|
+
const { context, calls, response, start } = fixture();
|
|
106
|
+
await start();
|
|
107
|
+
await program.onInput(response("Fremd", { actorId: "actor-blue" }), context);
|
|
108
|
+
await program.onInput(response("Fremd", { inputId: "foreign-input" }), context);
|
|
109
|
+
await program.onInput(response("Fremd", { subscriptionId: "foreign-subscription" }), context);
|
|
110
|
+
assert.equal(context.state.read().entries?.length, 0);
|
|
111
|
+
const first = response(words[0]!);
|
|
112
|
+
await program.onInput(first, context);
|
|
113
|
+
await program.onInput(first, context);
|
|
114
|
+
for (const word of words.slice(1, 4)) await program.onInput(response(word), context);
|
|
115
|
+
const before = calls.filter((call) => call.name === "actor_input").length;
|
|
116
|
+
await program.onInput(first, context);
|
|
117
|
+
assert.equal(context.state.read().entries?.length, 4);
|
|
118
|
+
assert.equal(calls.filter((call) => call.name === "actor_input").length, before);
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
for (const scenario of [
|
|
122
|
+
{ name: "Modellfehler", word: "Strand", options: { outcome: "failed" } },
|
|
123
|
+
{ name: "Unterbrechung", word: "Strand", options: { type: "turn.interrupted" } },
|
|
124
|
+
{ name: "Mehrwortantwort", word: "Schöner Strand", options: {} },
|
|
125
|
+
{ name: "wiederholtes Ausgangswort", word: "sonne", options: {} },
|
|
126
|
+
]) {
|
|
127
|
+
test(`${scenario.name} bleibt als Fehler sichtbar und startet nicht erneut`, async () => {
|
|
128
|
+
const { context, calls, response, start } = fixture();
|
|
129
|
+
await start();
|
|
130
|
+
await program.onInput(response(scenario.word, scenario.options), context);
|
|
131
|
+
assert.equal(context.state.read().status, "error");
|
|
132
|
+
assert.ok(context.state.read().error);
|
|
133
|
+
const before = calls.length;
|
|
134
|
+
await program.onInput(message("START_WORD_GAME"), context);
|
|
135
|
+
assert.deepEqual(await program.functions.start({}, context), { accepted: false });
|
|
136
|
+
assert.equal(calls.length, before);
|
|
137
|
+
assert.equal(context.state.read().entries?.length, 0);
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
test("ein weiterer Start während des Spiels verändert keinen Auftrag oder Fortschritt", async () => {
|
|
142
|
+
const { context, calls, start } = fixture();
|
|
143
|
+
await start();
|
|
144
|
+
const before = calls.length;
|
|
145
|
+
await program.onInput(message("START_WORD_GAME"), context);
|
|
146
|
+
assert.deepEqual(await program.functions.start({}, context), { accepted: false });
|
|
147
|
+
assert.equal(calls.length, before);
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
for (const status of ["ready", "running", "completed"]) {
|
|
151
|
+
test(`freie Chatnachrichten werden bei ${status} abgelehnt und erhalten den Spielstand`, async () => {
|
|
152
|
+
const { context, calls, response } = fixture();
|
|
153
|
+
await program.onInput(firstInput, context);
|
|
154
|
+
if (status !== "ready") {
|
|
155
|
+
await program.onInput(message("START_WORD_GAME"), context);
|
|
156
|
+
const contributions = status === "completed" ? words : words.slice(0, 1);
|
|
157
|
+
for (const word of contributions) await program.onInput(response(word), context);
|
|
158
|
+
}
|
|
159
|
+
assert.equal(context.state.read().status, status);
|
|
160
|
+
const before = structuredClone(context.state.read());
|
|
161
|
+
const callCount = calls.length;
|
|
162
|
+
const content = "Starte das Wortspiel bitte noch einmal von vorn.";
|
|
163
|
+
await assert.rejects(async () => program.onInput(message(content), context), /keine freien Chatnachrichten.*Startknopf.*neuer Run/);
|
|
164
|
+
assert.deepEqual(context.state.read(), before);
|
|
165
|
+
assert.equal(calls.length, callCount);
|
|
166
|
+
if (status === "ready") {
|
|
167
|
+
await program.onInput(message("START_WORD_GAME"), context);
|
|
168
|
+
assert.equal(context.state.read().status, "running");
|
|
169
|
+
} else if (status === "running") {
|
|
170
|
+
for (const word of words.slice(1)) await program.onInput(response(word), context);
|
|
171
|
+
assert.equal(context.state.read().status, "completed");
|
|
172
|
+
assert.equal(context.state.read().entries?.length, 12);
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
test("eine fehlgeschlagene Übergabe erhält das bereits angenommene Wort", async () => {
|
|
178
|
+
const { context, settings, response, start } = fixture();
|
|
179
|
+
await start();
|
|
180
|
+
settings.failDispatch = true;
|
|
181
|
+
await program.onInput(response("Strand"), context);
|
|
182
|
+
assert.equal(context.state.read().status, "error");
|
|
183
|
+
assert.deepEqual(context.state.read().entries, [{ participant: 0, word: "Strand" }]);
|
|
184
|
+
assert.match(context.state.read().error!, /Übergabe/);
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
test("fehlendes Standardprofil zeigt einen Fehler ohne Teilnehmer anzulegen", async () => {
|
|
188
|
+
const { context, settings, calls } = fixture();
|
|
189
|
+
settings.missingProfile = true;
|
|
190
|
+
await program.onInput(firstInput, context);
|
|
191
|
+
assert.equal(context.state.read().status, "error");
|
|
192
|
+
assert.match(context.state.read().error!, /Rolle standard fehlt/);
|
|
193
|
+
assert.deepEqual(calls.map((call) => call.name), ["run_configure", "canvas_layout_replace", "model_list"]);
|
|
194
|
+
});
|
|
195
|
+
|
|
196
|
+
test("ein wiederhergestellter Zustand zählt den wartenden Auftrag weiter und baut nichts neu", async () => {
|
|
197
|
+
const previous = fixture();
|
|
198
|
+
await previous.start();
|
|
199
|
+
await program.onInput(previous.response(words[0]!), previous.context);
|
|
200
|
+
const restored = fixture(previous.context.state.read());
|
|
201
|
+
const before = structuredClone(restored.context.state.read());
|
|
202
|
+
await assert.rejects(async () => program.onInput(firstInput, restored.context), /keine freien Chatnachrichten/);
|
|
203
|
+
assert.deepEqual(restored.context.state.read(), before);
|
|
204
|
+
assert.equal(restored.calls.length, 0);
|
|
205
|
+
await program.onInput(restored.response(words[1]!), restored.context);
|
|
206
|
+
assert.equal(restored.context.state.read().entries?.length, 2);
|
|
207
|
+
assert.equal(restored.context.state.read().status, "running");
|
|
208
|
+
assert.equal(restored.calls.some((call) => call.name === "agent_spawn"), false);
|
|
209
|
+
});
|
|
210
|
+
|
|
211
|
+
test("fehlende oder mehrfache Modellausgaben werden nicht als Wort übernommen", async () => {
|
|
212
|
+
for (const count of [0, 2]) {
|
|
213
|
+
const { context, history, response, start } = fixture();
|
|
214
|
+
await start();
|
|
215
|
+
const input = response("Strand");
|
|
216
|
+
const output = history.pop()!;
|
|
217
|
+
for (let index = 0; index < count; index++) history.push({ ...output, eventId: `output-${index}` });
|
|
218
|
+
await program.onInput(input, context);
|
|
219
|
+
assert.equal(context.state.read().status, "error");
|
|
220
|
+
assert.equal(context.state.read().entries?.length, 0);
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
|
|
224
|
+
test("ungültige Startdaten bleiben als Fehler sichtbar und starten kein Modell", async () => {
|
|
225
|
+
for (const content of ["kein JSON", JSON.stringify({ input: "Strand", options: {} }), JSON.stringify({ input: null, options: [] })]) {
|
|
226
|
+
const { context, calls } = fixture();
|
|
227
|
+
await program.onInput(message(content), context);
|
|
228
|
+
assert.equal(context.state.read().status, "error");
|
|
229
|
+
assert.equal(calls.some((call) => call.name === "agent_spawn"), false);
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
|
|
233
|
+
test("akzeptiert die Startoptionen des Profils ohne eigene Modellvorgaben daraus abzuleiten", async () => {
|
|
234
|
+
const { context, calls } = fixture();
|
|
235
|
+
await program.onInput(message(JSON.stringify({ input: null, options: {
|
|
236
|
+
"ragents.model": { model: "test-model", thinking: "off" },
|
|
237
|
+
"ragents.system-prompt": { promptIds: [], shareWithAgents: false },
|
|
238
|
+
} })), context);
|
|
239
|
+
assert.equal(context.state.read().status, "ready");
|
|
240
|
+
assert.equal(calls.filter((call) => call.name === "agent_spawn").length, 4);
|
|
241
|
+
assert.ok(calls.filter((call) => call.name === "agent_spawn").every((call) => (call.input as { profile: string }).profile === "standard"));
|
|
242
|
+
assert.equal(calls.some((call) => call.name === "actor_input"), false);
|
|
243
|
+
});
|
|
244
|
+
|
|
245
|
+
test("ein gestoppter aktueller Teilnehmer hält das Spiel an", async () => {
|
|
246
|
+
const { context, response, start } = fixture();
|
|
247
|
+
await start();
|
|
248
|
+
await program.onInput(response("Strand", { type: "actor.stopped" }), context);
|
|
249
|
+
assert.equal(context.state.read().status, "error");
|
|
250
|
+
assert.match(context.state.read().error!, /Rot wurde gestoppt/);
|
|
251
|
+
assert.equal(context.state.read().entries?.length, 0);
|
|
252
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { createRequire as __ragentsCreateRequire } from "node:module";
|
|
2
|
+
const require = __ragentsCreateRequire(import.meta.url);
|
|
3
|
+
|
|
4
|
+
// server/index.ts
|
|
5
|
+
var referencePlugin = {
|
|
6
|
+
manifest: { id: "ragents.reference" },
|
|
7
|
+
register: () => void 0
|
|
8
|
+
};
|
|
9
|
+
var plugin = {
|
|
10
|
+
requires: ["ragents.orchestration", "ragents.actor-programs"],
|
|
11
|
+
create: () => referencePlugin
|
|
12
|
+
};
|
|
13
|
+
export {
|
|
14
|
+
plugin
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../plugins/ragents.reference/server/index.ts"],
|
|
4
|
+
"sourcesContent": ["import type { RAgentsPlugin } from \"@ragents/engine\";\nimport type { PluginModule } from \"@ragents/host/plugin-support/plugin-module.js\";\n\nconst referencePlugin: RAgentsPlugin = {\n manifest: { id: \"ragents.reference\" },\n register: () => undefined,\n};\n\nexport const plugin: PluginModule = {\n requires: [\"ragents.orchestration\", \"ragents.actor-programs\"],\n create: () => referencePlugin,\n};\n"],
|
|
5
|
+
"mappings": ";;;;AAGA,IAAM,kBAAiC;AAAA,EACrC,UAAU,EAAE,IAAI,oBAAoB;AAAA,EACpC,UAAU,MAAM;AAClB;AAEO,IAAM,SAAuB;AAAA,EAClC,UAAU,CAAC,yBAAyB,wBAAwB;AAAA,EAC5D,QAAQ,MAAM;AAChB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 100-shared-actor-list
|
|
3
|
+
start: true
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
title: "Eine Liste im Chat und im Fenster pflegen"
|
|
6
|
+
description: "Zeigt beim Aufbau einer Mini-App, wie Oberfläche und Koordinator dieselbe Funktion eines TypeScript-Actors benutzen und dieselbe Liste ändern."
|
|
7
|
+
category: "Mini-Apps"
|
|
8
|
+
order: 100
|
|
9
|
+
tags: "Anwendungsfall, Konzeptdemo, TypeScript-Actors, Actor-Funktionen, Actor-Zustand, Mini-Apps"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Ich hätte gern eine gemeinsame Liste an einem TypeScript-Actor ohne KI-Listenhelfer. Ich ergänze Einträge über seine Oberfläche, Du über dieselbe Funktion als Werkzeug. Beide Wege zeigen sofort denselben Stand, auch bei ruhendem Chat. Füge wirklich einen Eintrag hinzu und lass die Oberfläche stehen. Nutze gemeinsame Layout- und Formularbausteine: mehrzeilige Eingabe und Liste nebeneinander, bei wenig Platz untereinander.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 110-all-card-slots
|
|
3
|
+
start: true
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
title: "Rückfrage, Aufgaben und Dokument zusammen sehen"
|
|
6
|
+
description: "Zeigt, wie Aufgabenstand, Dokument und eine offene Rückfrage gleichzeitig an einer Agentenkarte sichtbar bleiben."
|
|
7
|
+
category: "Zusammenarbeit"
|
|
8
|
+
order: 110
|
|
9
|
+
tags: "Rückfragen, To-dos, Konzeptdemo"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Ich hätte gern eine KI, die mir drei Aufgaben notiert - eine erledigte, eine in Arbeit und eine offene -, dazu ein kurzes Dokument schreibt und mich zum Schluss fragt, ob sie den offenen Punkt als Nächstes angehen soll. Antworte diese Frage nicht für mich, sondern halt dort an, damit ich Aufgabenliste, Dokument und Frage zusammen sehe und selbst antworten kann.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 150-editorial-workbench
|
|
3
|
+
start: true
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
title: "Redaktionswerkstatt"
|
|
6
|
+
description: "Zeigt, wie eine Mini-App Textbearbeitung, einzeln übernehmbare Änderungen und ein Bearbeitungsprotokoll zu einer Redaktionswerkstatt verbindet."
|
|
7
|
+
category: "Mini-Apps"
|
|
8
|
+
order: 150
|
|
9
|
+
tags: "Actor-Funktionen, Anwendungsfall, Konzeptdemo, Mini-Apps"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Ich hätte gern eine Redaktionswerkstatt: Reparaturtreff, Samstag 10 bis 14 Uhr, Nachbarschaftshaus, ehrenamtliche Hilfe, keine Garantie. Links wähle ich Original oder Kurzfassung, rechts ändere ich Text und Zielgruppe und übernehme Kürzungen einzeln. Zeige Änderungen und Aufgabenstand, vergleiche Wortzahl und Freigabe tabellarisch. Ein Helfer zählt die Wörter; ein Protokoll zeigt Absender, Übernahmen und Rücknahmen. Veröffentliche nichts.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 160-learning-companion
|
|
3
|
+
start: true
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
title: "Lernbegleitung mit Unterlagen"
|
|
6
|
+
description: "Zeigt eine eigene Mini-App eines KI-Tutors mit eingebettetem Actor-Chat. Lokal gewählte Unterlagen gelangen erst nach einer ausdrücklichen Aktion ins Gespräch."
|
|
7
|
+
category: "Mini-Apps"
|
|
8
|
+
order: 160
|
|
9
|
+
tags: "Anwendungsfall, Konzeptdemo, Agententeams, Mini-Apps, LLM-Actor mit View, Actor-Chat"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Ich hätte gern einen KI-Tutor mit eigener Oberfläche auf der Fläche: Textunterlagen öffnen und lesen, daneben mit genau diesem Tutor sprechen. Ich möchte zwischen Erklären, Beispiel und Verständnisprüfung wählen. Die ausgewählte Datei soll erst nach meinem Klick im Gespräch verwendet werden. Fragen ohne Datei sollen auch gehen. Nutze die vorhandenen Chat-, Datei- und Auswahlbausteine.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 170-photo-collection
|
|
3
|
+
start: true
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
title: "Bildsammlung mit Beschriftungen"
|
|
6
|
+
description: "Zeigt eine eigene Mini-App eines KI-Schreibhelfers mit Bildvorschauen, bearbeitbaren Beschriftungen und direktem Chat. Die Auswahl lokaler Bilder sendet sie noch nicht an die KI."
|
|
7
|
+
category: "Mini-Apps"
|
|
8
|
+
order: 170
|
|
9
|
+
tags: "Anwendungsfall, Konzeptdemo, Agententeams, Mini-Apps, LLM-Actor mit View, Actor-Chat"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Ich hätte gern einen KI-Schreibhelfer mit eigener Oberfläche für eine kleine Bildsammlung: Bilder hineinziehen, Vorschauen sehen, die Liste durchsuchen und pro Bild Titel, Bildunterschrift und Alternativtext bearbeiten. Daneben möchte ich einen Chat mit genau diesem Schreibhelfer und eine lesbare Übersicht aller Beschriftungen. Meine Bilder bleiben lokal, bis ich selbst etwas im Chat sende. Nutze die vorhandenen Bausteine.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 180-decision-workbench
|
|
3
|
+
start: true
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
title: "Entscheidungswerkstatt"
|
|
6
|
+
description: "Zeigt ein fest geführtes Gespräch ohne KI-Aufrufe. Ein TypeScript-Actor hält Antworten und Fortschritt; Änderungen am Entscheidungsentwurf werden sichtbar."
|
|
7
|
+
category: "Mini-Apps"
|
|
8
|
+
order: 180
|
|
9
|
+
tags: "Anwendungsfall, Konzeptdemo, TypeScript-Actors, Actor-Zustand, Mini-Apps, Frei gesteuerter Chat"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Ich hätte gern eine lokale Entscheidungshilfe: Bibliothek oder Café als Lernort? Feste Fragen führen durch Ziel, Optionen und Kriterien, protokollieren meine Entscheidung und zeigen den Fortschritt. Bei einer Meinungsänderung will ich den Unterschied zum vorherigen Entwurf sehen. Ein TypeScript-Actor führt den gemeinsamen Fortschritt und die Antworten. Das soll eine klar erkennbare Anleitung ohne KI-Aufrufe sein, mit den vorhandenen Chatbausteinen.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 190-review-queue
|
|
3
|
+
start: true
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
title: "Texte prüfen und Ergebnisse gezielt teilen"
|
|
6
|
+
description: "Zeigt an drei Textprüfungen die Input-Warteschlange, gezielte Ergebnisfreigaben und den Actor-Stopp. Die Mini-App sammelt ungeschützte Statusmeldungen."
|
|
7
|
+
category: "Mini-Apps"
|
|
8
|
+
order: 190
|
|
9
|
+
tags: "Journalprüfung, Anwendungsfall, Konzeptdemo, Agententeams, Input-Warteschlange, Actor-Stopp, Artefakte und Zugriff, Mini-Apps"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Ich hätte gern drei getrennte Textprüfungen zum Nachbarschaftsfest, die ich während der ersten Prüfung einreihe. Nur der bestimmte Empfänger darf das erste Ergebnis lesen; prüfe auch einen Zugriff ohne Freigabe. Danach meldest du den Prüfer ab. Belege Reihenfolge, Zugriff und Stopp. Eine Oberfläche des vorhandenen Koordinators zeigt auf der Fläche nur ungeschützte Statusmeldungen verschiedener Absender. Eine eigene Notiz möchte ich ergänzen können.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 20-circle-of-four
|
|
3
|
+
start: true
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
title: "Eine Liste durch vier KI-Helfer reichen"
|
|
6
|
+
description: "Zeigt beim Aufbau eines Wortspiels, wie vier KI-Helfer nacheinander beitragen und ein TypeScript-Actor die Weitergabe nach zwölf Wörtern beendet."
|
|
7
|
+
category: "Zusammenarbeit"
|
|
8
|
+
order: 20
|
|
9
|
+
tags: "Anwendungsfall, Konzeptdemo, Agententeams, TypeScript-Actors, Subscriptions"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Ich hätte gern vier KIs mit den Namen rot, gelb, blau und grün, die reihum ein Wortspiel spielen: jede hängt ein Wort an, das ihr zum zuletzt genannten einfällt. Nach zwölf Beiträgen ist Schluss, und ich will die fertige Liste als Dokument sehen.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 200-typescript-diagnostics
|
|
3
|
+
start: true
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
title: "Fehler in einer Terminliste finden"
|
|
6
|
+
description: "Zeigt an einer TypeScript-Terminliste, wie sich echte Sprachdiagnosen nach jeder einzelnen Korrektur ändern. Das korrigierte Beispiel bleibt zum Nachlesen erhalten."
|
|
7
|
+
category: "Code und Diagnose"
|
|
8
|
+
order: 200
|
|
9
|
+
tags: "Anwendungsfall, Konzeptdemo, Sprachprüfung"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Ich hätte gern eine kleine TypeScript-Terminliste mit zwei absichtlichen Typfehlern. Lass die Sprachprüfung beide finden und korrigiere sie einzeln. Nach jeder Korrektur möchte ich den echten Befund sehen. Am Ende bleiben das korrigierte Beispiel und ein kurzer Vergleich zum Nachlesen. Falls die Sprachprüfung fehlt, sag das klar.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 210-moderator-handover
|
|
3
|
+
start: true
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
title: "Gespräch an einen Moderator übergeben"
|
|
6
|
+
description: "Zeigt die Übergabe eines laufenden Chats an einen anderen Primary-Actor. Der Moderator übernimmt als direkter Ansprechpartner und hält den Aufgabenfortschritt fest."
|
|
7
|
+
category: "Zusammenarbeit"
|
|
8
|
+
order: 210
|
|
9
|
+
tags: "Rückfragen, To-dos, Anwendungsfall, Konzeptdemo, Agententeams, Primary-Actor"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Ich hätte gern einen Workshop für einen ruhigeren Arbeitstag: Ein Planer bringt zwei Ideen mit, ein skeptischer Gast prüft die Nachteile. Ein Moderator übernimmt die Runde und spricht danach direkt mit mir im Chat, damit ich einen Vorschlag auswählen kann. Zeig die drei auf der Fläche und übergib das Gespräch wirklich an den Moderator. Seine Aufgabenliste zeigt den Fortschritt.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 220-actor-approval-list
|
|
3
|
+
start: true
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
title: "Vorschläge gemeinsam freigeben"
|
|
6
|
+
description: "Zeigt einen KI-Listenhelfer mit eigener Mini-App und gemeinsamem Zustand. Seine Vorschläge lassen sich per Funktion bestätigen, ohne eine weitere KI-Antwort abzuwarten."
|
|
7
|
+
category: "Mini-Apps"
|
|
8
|
+
order: 220
|
|
9
|
+
tags: "Anwendungsfall, Konzeptdemo, Agententeams, Actor-Funktionen, Actor-Zustand, Mini-Apps, LLM-Actor mit View, Frei gesteuerter Chat"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Ich hätte gern einen KI-Listenhelfer mit eigener Oberfläche. Dort prüfe und bestätige ich seine Vorschläge; bestätigte Einträge stehen daneben. Der Helfer benutzt dieselben Funktionen und dieselbe Liste, wenn ich ihn im Chat um einen Eintrag bitte. Lass ihn einen echten Vorschlag machen. Die Freigabe per Knopf soll ohne weitere KI-Antwort seinen gespeicherten Vorschlag bestätigen. Danach möchte ich selbst einen eingeben.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 230-shared-state-views
|
|
3
|
+
start: true
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
title: "Eine Liste in zwei Ansichten"
|
|
6
|
+
description: "Zeigt zwei Mini-App-Ansichten desselben Actor-Zustands. Änderungen erscheinen in beiden; eine Ansicht lässt sich unabhängig ausblenden."
|
|
7
|
+
category: "Mini-Apps"
|
|
8
|
+
order: 230
|
|
9
|
+
tags: "Anwendungsfall, Konzeptdemo, Actor-Funktionen, Actor-Zustand, Mini-Apps"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Ich hätte gern eine Aufgabenliste mit zwei kleinen Fenstern: In einem ergänze und erledige ich Aufgaben, im anderen sehe ich nur offene und erledigte Anzahlen. Beide gehören zum selben Helfer und benutzen dieselben Daten. Ergänze wirklich eine Aufgabe und erledige sie. Beide Fenster sollen sofort mitziehen. Danach blende nur die Zusammenfassung aus und wieder ein; meine Liste bleibt erhalten.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 240-live-result-list
|
|
3
|
+
start: true
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
title: "Antworten automatisch sammeln"
|
|
6
|
+
description: "Zeigt, wie ein TypeScript-Actor fertige Agentenantworten per Abonnement automatisch sammelt. Auch weitere Beiträge desselben Helfers lassen die Liste wachsen."
|
|
7
|
+
category: "Mini-Apps"
|
|
8
|
+
order: 240
|
|
9
|
+
tags: "Anwendungsfall, Konzeptdemo, TypeScript-Actors, Subscriptions, Actor-Zustand, Mini-Apps"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Ich hätte gern zwei KI-Helfer, die je eine kurze Idee für einen gemeinsamen Lernnachmittag vorschlagen. Ihre fertigen Antworten sollen automatisch in einer kleinen Ergebnisliste auf der Fläche erscheinen. Ein programmierter Sammler merkt sich die Beiträge; dafür soll keine weitere KI die Texte kopieren. Lass danach einen Helfer eine zweite Idee ergänzen. Die Liste soll von selbst wachsen, auch wenn Du im Chat gerade nichts schreibst.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 250-balcony-wizard
|
|
3
|
+
start: true
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
title: "Balkon-Wizard"
|
|
6
|
+
description: "Zeigt den Aufbau einer eigenständigen Mini-App für ein adaptives KI-Interview. Das LLM wählt die Fragen, das Formular begrenzt das Gespräch auf fünf Antworten."
|
|
7
|
+
category: "Mini-Apps"
|
|
8
|
+
order: 250
|
|
9
|
+
tags: "Anwendungsfall, Konzeptdemo, Mini-Apps, Actor-Funktionen, Actor-Zustand"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Ich hätte gern einen Balkon-Wizard als eigenständige App auf der Fläche. Sie vermittelt ein begrenztes Gespräch mit einem KI-Berater im Hintergrund. Nach jeder Antwort wählt das LLM die nächste passende Frage, keine feste Fragenliste. Nach fünf Antworten gibt es Gestaltungstipps. Ich antworte nur in der App; sie zeigt Frage, Fortschritt, Lade- und Fehlerzustände. Nutze gemeinsame Layouts und Formulare. Keine App in einer LLM-Chatkarte.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 30-llm-without-runtime-knowledge
|
|
3
|
+
start: true
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
title: "Eine Nachricht überbringen lassen"
|
|
6
|
+
description: "Zeigt eine einseitige Weiterleitung zwischen zwei KI-Helfern, die den Ablauf und den anderen Teilnehmer nicht kennen."
|
|
7
|
+
category: "Zusammenarbeit"
|
|
8
|
+
order: 30
|
|
9
|
+
tags: "Konzeptdemo, Agententeams, Subscriptions, Actor-Stopp"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Ich hätte gern zwei KIs, anna und ben, die sich genau einmal freundlich begrüßen, ohne voneinander oder von der Technik dahinter zu wissen: anna sagt einen herzlichen Satz, ben antwortet einmal darauf, danach ist Schluss. Sag mir hinterher kurz, dass wirklich nur in diese eine Richtung weitergereicht wurde und danach alles wieder aufgeräumt ist.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 35-actor-input-fifo
|
|
3
|
+
start: true
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
title: "Drei Aufträge der Reihe nach erledigen"
|
|
6
|
+
description: "Zeigt, ob während eines laufenden Turns eingereihte Aufträge getrennt und in Eingangsreihenfolge verarbeitet werden. Das Journal liefert die Belege."
|
|
7
|
+
category: "Ereignisse und Abläufe"
|
|
8
|
+
order: 35
|
|
9
|
+
tags: "Journalprüfung, Konzeptdemo, Input-Warteschlange"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Ich hätte gern einen Helfer, der jeden Text, den ich ihm gebe, mit "ERLEDIGT: " und dem unveränderten Text beantwortet und beim Wort "eins" vorher ausgiebig nachdenkt. Während er noch an "eins" sitzt, schiebe ich ihm "zwei" und "drei" hinterher. Zeig mir danach mit Belegen, dass er alle drei sauber getrennt und genau in dieser Reihenfolge abgearbeitet hat und nichts vermischt wurde.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 40-subscription-matrix
|
|
3
|
+
start: true
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
title: "Gezielt bei anderen Helfern mithören"
|
|
6
|
+
description: "Zeigt, wie Abonnements nach Absender und Ereignisart filtern. Eine belegte Empfangstabelle macht passende und ausgeschlossene Ereignisse sichtbar."
|
|
7
|
+
category: "Ereignisse und Abläufe"
|
|
8
|
+
order: 40
|
|
9
|
+
tags: "Journalprüfung, Konzeptdemo, Subscriptions"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Ich hätte gern drei KIs a, b und c und dazu zwei Zuhörer: der eine soll nur mitbekommen, was a und b sagen, der andere nur, wenn eine der drei tatsächlich etwas ausgeführt hat. Lass danach alle drei etwas sagen und mindestens eine wirklich etwas tun. Gib mir am Ende eine Tabelle, bei welchem Zuhörer was angekommen ist und was nicht, und belege sie.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 50-subscription-removal
|
|
3
|
+
start: true
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
title: "Eine Weiterleitung wieder abschalten"
|
|
6
|
+
description: "Zeigt die Wirkung eines entfernten Abonnements: Die erste Nachricht kommt an, nach dem Abschalten endet die Weiterleitung."
|
|
7
|
+
category: "Ereignisse und Abläufe"
|
|
8
|
+
order: 50
|
|
9
|
+
tags: "Konzeptdemo, Subscriptions"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Ich hätte gern drei KIs: eine Quelle, eine Senke und eine dazwischen, die jedes Wort der Quelle wortgleich an die Senke durchreicht. Lass die Quelle zuerst "eins" sagen, nimm der mittleren danach das Mithören wieder weg und lass die Quelle "zwei" sagen. Erklär mir mit Belegen, was beim zweiten Mal passiert und ob bei der Senke noch etwas ankommt.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 60-stop-in-the-circle
|
|
3
|
+
start: true
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
title: "Einen Helfer in der Gesprächsrunde stoppen"
|
|
6
|
+
description: "Zeigt, wie der Stopp eines Actors eine Übergabekette unterbricht und was nachfolgende Actors noch erhalten."
|
|
7
|
+
category: "Ereignisse und Abläufe"
|
|
8
|
+
order: 60
|
|
9
|
+
tags: "Journalprüfung, Konzeptdemo, Actor-Stopp"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Ich hätte gern vier KIs rot, gelb, blau und grün, die im Kreis eine Liste weiterreichen und jede eine eigene Zeile anhängt. Sobald die Liste einmal ganz herum war, schalte blau ab. Erzähl mir mit Belegen, woran die nächste Runde scheitert und ob grün danach überhaupt noch etwas bekommt.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 65-artifact-least-privilege
|
|
3
|
+
start: true
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
title: "Eine Notiz gezielt weitergeben"
|
|
6
|
+
description: "Zeigt, wie die ausdrückliche Weitergabe einer Notiz den Lesezugriff steuert und ein abgelehnter Zugriff die Freigabe unverändert lässt."
|
|
7
|
+
category: "Dateien und Ergebnisse"
|
|
8
|
+
order: 65
|
|
9
|
+
tags: "Konzeptdemo, Artefakte und Zugriff"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Ich hätte gern drei KIs: die erste schreibt eine kurze geheime Notiz und gibt sie ausdrücklich an die zweite weiter, die dritte erfährt nur, dass es die Notiz gibt. Prüf für mich, wer sie wirklich lesen kann und wer nicht, und ob der abgelehnte Versuch daran etwas ändert. Den Inhalt der Notiz schreibst Du mir dabei nicht noch einmal hin.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 70-headless-counter
|
|
3
|
+
start: true
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
title: "Nachrichten ohne KI mitzählen"
|
|
6
|
+
description: "Zeigt einen dauerhaften TypeScript-Actor ohne Oberfläche: Er verarbeitet Nachrichten getrennt und behält Liste und Zähler zwischen Aufträgen."
|
|
7
|
+
category: "TypeScript ohne Oberfläche"
|
|
8
|
+
order: 70
|
|
9
|
+
tags: "Anwendungsfall, Konzeptdemo, TypeScript-Actors, Actor-Funktionen, Actor-Zustand, Journalprüfung"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Ich hätte gern einen kleinen TypeScript-Zähler ohne Oberfläche und ohne KI-Aufrufe. Schicke ihm nacheinander die Texte "eins", "zwei" und "drei". Er soll jeden Text in seiner eigenen Liste behalten und mitzählen. Danach lies seinen Stand aus und belege, dass drei getrennte Eingaben verarbeitet wurden. Der Zähler soll für weitere Texte bereitbleiben.
|