@schlenkr/ragents 0.1.5 → 0.1.7
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 +18 -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 +16 -7
- package/apps/server/src/config-file.ts +25 -6
- package/apps/server/src/config.ts +10 -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 +1257 -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 +0 -15
- 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 +12 -8
- 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 +212 -106
- package/apps/server/src/ragents/actor-chat-history.ts +24 -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 +68 -43
- 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 +33 -15
- package/apps/server/src/ragents/product-runtime.ts +1 -1
- package/apps/server/src/ragents/run-owner.ts +18 -0
- package/apps/server/src/ragents/runtime-bridge.ts +1 -1
- package/apps/server/src/ragents/session.ts +184 -85
- 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 +18 -29
- package/apps/server/src/run-transfer.ts +66 -5
- package/apps/server/src/server.ts +112 -33
- package/apps/server/src/settings.ts +9 -12
- 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-CFhTJEmH.js +1 -0
- package/apps/web/dist/assets/main-DlzW4t4c.js +6 -0
- package/apps/web/dist/assets/mermaid-HWGCJPDP-BPn4aV2r.css +1 -0
- package/apps/web/dist/assets/mermaid-HWGCJPDP-kxkB991i.js +478 -0
- package/apps/web/dist/assets/runPanel-BJEFQ__w.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 +430 -0
- package/apps/web/dist/help/guide-clients.md +346 -0
- package/apps/web/dist/help/guide-distributed.html +325 -0
- package/apps/web/dist/help/guide-distributed.md +230 -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 +344 -0
- package/apps/web/dist/help/guide-runtime.md +232 -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 +7076 -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/SessionList.tsx +16 -8
- 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 +45 -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 +50 -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 +66 -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 +4 -15
- package/packages/agent/dist/core/agent-settings.d.ts +27 -0
- package/packages/agent/dist/core/compaction/compaction.d.ts +82 -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/context-log.d.ts +25 -0
- package/packages/agent/dist/core/messages.d.ts +30 -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/skills.d.ts +20 -0
- package/packages/agent/dist/core/tool-definition.d.ts +17 -0
- package/packages/agent/dist/core/tools/bash.d.ts +58 -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 +12 -0
- package/packages/agent/dist/loop/agent-loop.d.ts +13 -0
- package/packages/agent/dist/loop/agent.d.ts +99 -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-settings.ts +20 -0
- package/packages/agent/src/core/compaction/compaction.ts +53 -208
- 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/context-log.ts +49 -0
- package/packages/agent/src/core/messages.ts +9 -119
- 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/skills.ts +8 -440
- package/packages/agent/src/core/tool-definition.ts +29 -0
- package/packages/agent/src/core/tools/bash.ts +22 -41
- package/packages/agent/src/core/tools/edit-diff.ts +0 -60
- package/packages/agent/src/core/tools/edit.ts +4 -29
- 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 +6 -29
- package/packages/agent/src/core/tools/truncate.ts +0 -15
- package/packages/agent/src/core/tools/write.ts +2 -13
- package/packages/agent/src/index.ts +23 -270
- package/packages/{agent-core/src → agent/src/loop}/agent-loop.ts +128 -275
- package/packages/{agent-core/src → agent/src/loop}/agent.ts +20 -166
- 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 +15 -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 +543 -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-messages.ts +15 -10
- package/packages/ai/src/api/ai-sdk-transport.ts +2 -2
- package/packages/ai/src/api/ai-sdk.ts +11 -0
- package/packages/ai/src/api/simple-options.ts +0 -34
- package/packages/ai/src/api/transform-messages.ts +1 -1
- 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 +2 -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/retry.ts +14 -0
- 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 +29 -18
- package/packages/ragents/src/agents/catalog.ts +3 -3
- package/packages/ragents/src/agents/model-context.ts +360 -0
- package/packages/ragents/src/agents/plugins.ts +0 -4
- package/packages/ragents/src/agents/scheduler.ts +233 -83
- 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 +74 -75
- package/packages/ragents/src/agents/toolset.ts +51 -24
- package/packages/ragents/src/agents/turn.ts +2 -14
- package/packages/ragents/src/agents/workspaces.ts +12 -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 +111 -72
- package/packages/ragents/src/domain/event-validation.ts +188 -21
- package/packages/ragents/src/domain/events.ts +91 -7
- package/packages/ragents/src/domain/json.ts +2 -0
- package/packages/ragents/src/domain/model.ts +42 -18
- package/packages/ragents/src/domain/projection.ts +52 -15
- package/packages/ragents/src/domain/schema-errors.ts +3 -3
- package/packages/ragents/src/domain/tool-result-text.ts +9 -0
- package/packages/ragents/src/drivers/agent-hooks.ts +27 -0
- package/packages/ragents/src/drivers/agent-runtime.ts +137 -1020
- package/packages/ragents/src/drivers/agent-turn.ts +735 -0
- package/packages/ragents/src/drivers/agent.ts +13 -26
- package/packages/ragents/src/drivers/attachments.ts +4 -24
- package/packages/ragents/src/drivers/skill-preload.ts +56 -78
- package/packages/ragents/src/drivers/types.ts +39 -6
- package/packages/ragents/src/http/contracts.ts +16 -3
- package/packages/ragents/src/http/methods.ts +32 -33
- package/packages/ragents/src/index.ts +12 -21
- package/packages/ragents/src/plugin-host.ts +150 -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 +100 -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 +101 -9
- package/packages/ragents/src/runtime/guards.ts +12 -21
- package/packages/ragents/src/runtime/journal-storage.ts +8 -3
- package/packages/ragents/src/runtime/journal.ts +36 -1
- package/packages/ragents/src/runtime/orchestration.ts +167 -19
- 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 +212 -43
- 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 +4 -9
- 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 +7 -8
- 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 +19 -19
- 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 -7
- package/ragents.config.showcase.ts +2 -5
- package/scripts/agent/agent-cli.ts +265 -107
- package/scripts/agent/journal.ts +8 -4
- package/scripts/agent/turn-control.ts +19 -0
- package/scripts/package/build-package.ts +68 -13
- 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 +2 -3
- 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/agent-session-runtime.ts +0 -548
- package/packages/agent/src/core/agent-session-services.ts +0 -224
- package/packages/agent/src/core/agent-session.ts +0 -3357
- package/packages/agent/src/core/auth-guidance.ts +0 -18
- 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/defaults.ts +0 -3
- 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/extensions/index.ts +0 -149
- package/packages/agent/src/core/extensions/loader.ts +0 -709
- package/packages/agent/src/core/extensions/runner.ts +0 -1132
- package/packages/agent/src/core/extensions/types.ts +0 -1460
- package/packages/agent/src/core/extensions/wrapper.ts +0 -45
- 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/resource-loader.ts +0 -946
- package/packages/agent/src/core/runtime-credentials.ts +0 -48
- package/packages/agent/src/core/sdk.ts +0 -358
- package/packages/agent/src/core/session-cwd.ts +0 -59
- package/packages/agent/src/core/session-manager.ts +0 -1623
- 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/source-info.ts +0 -40
- package/packages/agent/src/core/system-prompt.ts +0 -147
- 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
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
2
|
import { readdirSync, statSync, lstatSync } from "node:fs";
|
|
3
|
-
import { copyFile, mkdir } from "node:fs/promises";
|
|
4
3
|
import path from "node:path";
|
|
5
4
|
import { pathToFileURL } from "node:url";
|
|
6
5
|
import { create as createTar } from "tar";
|
|
7
|
-
import { hostConfigKeys } from "@
|
|
8
|
-
import { isEnvironmentReference, isProvisionedReference } from "@
|
|
9
|
-
import { resolveAnonymousUser, resolveProfileUsers, SECRET_KEY_PATTERN } from "@
|
|
10
|
-
import { discoverPluginIds } from "@
|
|
11
|
-
import {
|
|
12
|
-
import { CLIENT_WEB_FOLDER } from "../contract.js";
|
|
6
|
+
import { hostConfigKeys } from "@ragents/host/config.js";
|
|
7
|
+
import { isEnvironmentReference, isProvisionedReference } from "@ragents/host/config-definition.js";
|
|
8
|
+
import { resolveAnonymousUser, resolveProfileUsers, SECRET_KEY_PATTERN } from "@ragents/host/config-file.js";
|
|
9
|
+
import { discoverPluginIds, resolvePluginEntries, type ResolvedPlugin } from "@ragents/host/profile/plugin-discovery.js";
|
|
10
|
+
import { bundlesRoot, isPluginPath } from "@ragents/host/plugin-support/plugins-root.js";
|
|
13
11
|
|
|
14
|
-
export interface ClientProfilePlugin {
|
|
15
|
-
readonly id: string;
|
|
12
|
+
export interface ClientProfilePlugin extends ResolvedPlugin {
|
|
16
13
|
readonly source: "host" | "archive";
|
|
17
|
-
readonly folder: string;
|
|
18
14
|
}
|
|
19
15
|
|
|
20
16
|
export interface InspectedClientProfile {
|
|
@@ -31,12 +27,8 @@ export interface PackedClientProfile {
|
|
|
31
27
|
readonly entries: readonly string[];
|
|
32
28
|
}
|
|
33
29
|
|
|
34
|
-
const EXCLUDED_FOLDERS = new Set(["node_modules", "tests", ".git"]);
|
|
35
30
|
const PROFILE_FILE = /^ragents\.config\.([a-z0-9]+(?:-[a-z0-9]+)*)\.ts$/;
|
|
36
31
|
|
|
37
|
-
const hasServerEntry = (folder: string): boolean =>
|
|
38
|
-
["index.ts", "index.js"].some((name) => statSync(path.join(folder, PLUGIN_SERVER_FOLDER, name), { throwIfNoEntry: false })?.isFile() === true);
|
|
39
|
-
|
|
40
32
|
const commonRoot = (first: string, others: readonly string[]): string => {
|
|
41
33
|
let root = first;
|
|
42
34
|
for (const folder of others) {
|
|
@@ -71,7 +63,7 @@ const checkSections = (source: string, raw: Record<string, unknown>, pluginIds:
|
|
|
71
63
|
};
|
|
72
64
|
|
|
73
65
|
/** Prüft die Client-Profildatei ohne ihre Umgebung und bestimmt, welche Plugins ins Archiv gehören. */
|
|
74
|
-
export const inspectClientProfile = async (source: string, root =
|
|
66
|
+
export const inspectClientProfile = async (source: string, root = bundlesRoot): Promise<InspectedClientProfile> => {
|
|
75
67
|
const name = PROFILE_FILE.exec(path.basename(source));
|
|
76
68
|
if (!name) throw new Error(`Die Client-Profildatei muss ragents.config.<profil>.ts heißen: ${source}`);
|
|
77
69
|
if (!statSync(source, { throwIfNoEntry: false })?.isFile()) throw new Error(`Die Client-Profildatei ${source} fehlt`);
|
|
@@ -85,25 +77,20 @@ export const inspectClientProfile = async (source: string, root = pluginsRoot):
|
|
|
85
77
|
throw new Error(`${source}: host.PLUGINS muss eine nicht leere Liste sein`);
|
|
86
78
|
}
|
|
87
79
|
if (host?.PRODUCT_PROFILE !== profile) throw new Error(`${source}: host.PRODUCT_PROFILE muss ${profile} sein`);
|
|
88
|
-
const known = discoverPluginIds(root);
|
|
89
80
|
const directory = path.dirname(source);
|
|
90
|
-
const
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
throw new Error(`${source}: das Plugin ${entry} bringt eigene node_modules mit; Abhängigkeiten müssen aus dem Host kommen`);
|
|
81
|
+
const unportable = (entries as string[]).filter((entry) => isPluginPath(entry) && !/^\.{1,2}\//.test(entry));
|
|
82
|
+
if (unportable.length > 0) {
|
|
83
|
+
throw new Error(`${source}: ${unportable.join(", ")} nennt ein Bundle absolut oder mit ~/; der Client löst diesen Pfad auf seinem eigenen Rechner auf und fände dort nicht das gelieferte Bundle. Im Client-Profil jedes Bundle relativ zur Profildatei nennen (./ oder ../)`);
|
|
84
|
+
}
|
|
85
|
+
const plugins = ((): readonly ClientProfilePlugin[] => {
|
|
86
|
+
try {
|
|
87
|
+
return resolvePluginEntries(entries as string[], directory, root)
|
|
88
|
+
.map((plugin, index) => ({ ...plugin, source: isPluginPath((entries as string[])[index]!) ? "archive" : "host" }));
|
|
89
|
+
} catch (cause) {
|
|
90
|
+
throw new Error(`${source}: ${cause instanceof Error ? cause.message : String(cause)}`, { cause });
|
|
101
91
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
const duplicate = plugins.find((plugin, index) => plugins.findIndex((other) => other.id === plugin.id) !== index);
|
|
105
|
-
if (duplicate) throw new Error(`${source}: das Plugin ${duplicate.id} steht mehrfach in host.PLUGINS`);
|
|
106
|
-
checkSections(source, raw as Record<string, unknown>, new Set([...known, ...plugins.map((plugin) => plugin.id)]));
|
|
92
|
+
})();
|
|
93
|
+
checkSections(source, raw as Record<string, unknown>, new Set([...discoverPluginIds(root), ...plugins.map((plugin) => plugin.id)]));
|
|
107
94
|
const users = resolveProfileUsers(source, module.users, placeholderEnvironment);
|
|
108
95
|
const anonymous = resolveAnonymousUser(source, module.anonymousUser);
|
|
109
96
|
if (users && anonymous) throw new Error(`${source}: users und anonymousUser schließen einander aus`);
|
|
@@ -118,7 +105,7 @@ const collectFiles = (folder: string, root: string): string[] => {
|
|
|
118
105
|
const absolute = path.join(folder, entry.name);
|
|
119
106
|
if (entry.isSymbolicLink()) throw new Error(`Das Client-Profil enthält einen symbolischen Link, den das Archiv nicht abbildet: ${absolute}`);
|
|
120
107
|
if (entry.isDirectory()) {
|
|
121
|
-
|
|
108
|
+
files.push(...collectFiles(absolute, root));
|
|
122
109
|
} else if (entry.isFile()) {
|
|
123
110
|
files.push(posixRelative(root, absolute));
|
|
124
111
|
}
|
|
@@ -126,32 +113,20 @@ const collectFiles = (folder: string, root: string): string[] => {
|
|
|
126
113
|
return files;
|
|
127
114
|
};
|
|
128
115
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
.sort((left, right) => left.name.localeCompare(right.name, "en"))
|
|
132
|
-
.flatMap((entry) => entry.isDirectory() ? collectStaged(path.join(folder, entry.name), root) : [posixRelative(root, path.join(folder, entry.name))]);
|
|
133
|
-
|
|
134
|
-
/** Kopiert Profildatei und Archiv-Plugins in den Staging-Ordner, in dem das gebaute Web schon unter web/ liegt. */
|
|
135
|
-
export const stageClientProfile = async (inspected: InspectedClientProfile, staging: string): Promise<readonly string[]> => {
|
|
116
|
+
/** Die Einträge des Archivs: die Profildatei und die Dateien der Bundles, die sie per Pfad nennt; das Web hat der Client selbst. */
|
|
117
|
+
export const clientProfileEntries = (inspected: InspectedClientProfile): readonly string[] => {
|
|
136
118
|
const entries = [inspected.file, ...inspected.plugins.filter((plugin) => plugin.source === "archive").flatMap((plugin) => collectFiles(plugin.folder, inspected.root))];
|
|
137
119
|
for (const entry of entries) {
|
|
138
120
|
if (!lstatSync(path.join(inspected.root, entry)).isFile()) throw new Error(`Der Archiveintrag ${entry} ist keine Datei`);
|
|
139
|
-
if (entry === CLIENT_WEB_FOLDER || entry.startsWith(`${CLIENT_WEB_FOLDER}/`)) {
|
|
140
|
-
throw new Error(`Der Archiveintrag ${entry} kollidiert mit ${CLIENT_WEB_FOLDER}/, dem Ordner des gebauten Webs`);
|
|
141
|
-
}
|
|
142
|
-
const target = path.join(staging, ...entry.split("/"));
|
|
143
|
-
await mkdir(path.dirname(target), { recursive: true });
|
|
144
|
-
await copyFile(path.join(inspected.root, entry), target);
|
|
145
121
|
}
|
|
146
122
|
return entries;
|
|
147
123
|
};
|
|
148
124
|
|
|
149
|
-
/** Packt
|
|
150
|
-
export const packClientProfile = async (inspected: InspectedClientProfile
|
|
151
|
-
|
|
152
|
-
const entries = collectStaged(staging, staging);
|
|
125
|
+
/** Packt die Einträge deterministisch aus ihrem gemeinsamen Ordner; der Stand ist der SHA-256 des Archivs. */
|
|
126
|
+
export const packClientProfile = async (inspected: InspectedClientProfile): Promise<PackedClientProfile> => {
|
|
127
|
+
const entries = clientProfileEntries(inspected);
|
|
153
128
|
const chunks: Buffer[] = [];
|
|
154
|
-
for await (const chunk of createTar({ gzip: { level: 9 }, cwd:
|
|
129
|
+
for await (const chunk of createTar({ gzip: { level: 9 }, cwd: inspected.root, portable: true, noMtime: true }, [...entries])) {
|
|
155
130
|
chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
|
|
156
131
|
}
|
|
157
132
|
const archive = Buffer.concat(chunks);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import { configFilePath } from "@
|
|
3
|
-
import { declaredEnvironment } from "@
|
|
2
|
+
import { configFilePath } from "@ragents/host/config-file.js";
|
|
3
|
+
import { declaredEnvironment } from "@ragents/host/plugin-support/plugin-config.js";
|
|
4
4
|
|
|
5
5
|
export const profileDistributionConfigDescriptors = [
|
|
6
6
|
{ key: "CLIENT_PROFILE_FILE", source: "environment" },
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import type
|
|
6
|
-
import { writeJson } from "@aicontainer/server/plugin-support/http.js";
|
|
7
|
-
import { CLIENT_WEB_FOLDER, profileArchivePath, profileDistributionContracts, type ClientProfileDescription } from "../contract.js";
|
|
1
|
+
import { DomainError, implement, type HttpRouteContribution, type RAgentsPlugin } from "@ragents/engine";
|
|
2
|
+
import { readHostApiVersion, readHostVersion, readPackageVersion } from "@ragents/host/host-version.js";
|
|
3
|
+
import type { PluginModule } from "@ragents/host/plugin-support/plugin-module.js";
|
|
4
|
+
import { writeJson } from "@ragents/host/plugin-support/http.js";
|
|
5
|
+
import { profileArchivePath, profileDistributionContracts, type ClientProfileDescription } from "../contract.js";
|
|
8
6
|
import { inspectClientProfile, packClientProfile } from "./archive.js";
|
|
9
7
|
import { profileDistributionConfig, profileDistributionConfigDescriptors } from "./config.js";
|
|
10
|
-
import { buildClientWeb } from "./web.js";
|
|
11
8
|
|
|
12
9
|
interface DistributionState {
|
|
13
10
|
readonly description: ClientProfileDescription;
|
|
@@ -59,28 +56,24 @@ const profileDistributionPlugin: RAgentsPlugin = {
|
|
|
59
56
|
initialize: async () => {
|
|
60
57
|
const hostVersion = profileDistributionConfig.hostVersion() ?? readHostVersion();
|
|
61
58
|
const packageVersion = readPackageVersion();
|
|
59
|
+
const hostApi = readHostApiVersion();
|
|
62
60
|
const inspected = await inspectClientProfile(file);
|
|
63
|
-
const
|
|
64
|
-
await rm(staging, { recursive: true, force: true });
|
|
65
|
-
console.log(`Profilverteilung: Web für ${inspected.profile} bauen`);
|
|
66
|
-
await buildClientWeb(inspected, path.join(staging, CLIENT_WEB_FOLDER), (line) => console.log(` ${line}`));
|
|
67
|
-
const packed = await packClientProfile(inspected, staging);
|
|
61
|
+
const packed = await packClientProfile(inspected);
|
|
68
62
|
ready = {
|
|
69
63
|
archive: packed.archive,
|
|
70
64
|
description: {
|
|
71
65
|
profile: inspected.profile,
|
|
72
66
|
version: packed.version,
|
|
67
|
+
hostApi,
|
|
73
68
|
hostVersion,
|
|
74
69
|
packageVersion,
|
|
75
70
|
file: inspected.file,
|
|
76
|
-
web: CLIENT_WEB_FOLDER,
|
|
77
71
|
size: packed.archive.byteLength,
|
|
78
72
|
archivePath: profileArchivePath(packed.version),
|
|
79
73
|
plugins: inspected.plugins.map((plugin) => ({ id: plugin.id, source: plugin.source })),
|
|
80
74
|
},
|
|
81
75
|
};
|
|
82
|
-
|
|
83
|
-
console.log(`Profilverteilung: ${inspected.profile} Stand ${packed.version.slice(0, 12)} (${packed.entries.length} Dateien, ${packed.archive.byteLength} Byte, Host ${hostVersion.slice(0, 12)}, Paket ${packageVersion})`);
|
|
76
|
+
console.log(`Profilverteilung: ${inspected.profile} Stand ${packed.version.slice(0, 12)} (${packed.entries.length} Dateien, ${packed.archive.byteLength} Byte, Host-API ${hostApi}, Host ${hostVersion.slice(0, 12)}, Paket ${packageVersion})`);
|
|
84
77
|
},
|
|
85
78
|
});
|
|
86
79
|
host.methods(implement(profileDistributionContracts.describe, () => state().description));
|
|
@@ -5,7 +5,7 @@ export const referenceConcepts = [
|
|
|
5
5
|
{ id: "fifo", label: "Input-Warteschlange" },
|
|
6
6
|
{ id: "stop", label: "Actor-Stopp" },
|
|
7
7
|
{ id: "artifacts", label: "Artefakte und Zugriff" },
|
|
8
|
-
{ id: "tiles", label: "
|
|
8
|
+
{ id: "tiles", label: "Fläche", entryKind: "walkthrough" },
|
|
9
9
|
{ id: "actor-views", label: "Mini-Apps" },
|
|
10
10
|
{ id: "actor-state", label: "Actor-Zustand" },
|
|
11
11
|
{ id: "llm-actor-view", label: "LLM-Actor mit View" },
|
|
@@ -6,7 +6,7 @@ coordinator: false
|
|
|
6
6
|
tags: Run-Scripts, Anwendungsfall, Konzeptdemo, Mini-Apps, LLM-Actor mit View, Frei gesteuerter Chat, Primary-Actor
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
Das TypeScript-Setup legt einen Balkon-Berater mit
|
|
9
|
+
Das TypeScript-Setup legt einen Balkon-Berater mit der Rolle `standard` und ausdrücklich
|
|
10
10
|
ohne Werkzeuge an. Das mitgelieferte Programm `actors/balcony-app/` bindet eine eigenständige
|
|
11
11
|
Mini-App an diesen Actor. Die Fläche zeigt allein deren Kachel statt einer Chatkachel; ein Koordinator
|
|
12
12
|
wird für diesen Run nicht angelegt. Der Berater wird zum Primary-Actor und behält seinen eigenen
|
|
@@ -19,7 +19,7 @@ ein Formular, nicht in ein Chat-Widget. Fortschritt und abgeschlossene Antworten
|
|
|
19
19
|
dem Neuladen aus dem Gespräch rekonstruieren; eine fehlgeschlagene Modellantwort kann erneut
|
|
20
20
|
angefordert werden, ohne eine weitere Antwort zu zählen.
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
Die Vorlage benötigt keine Startwerte. Das Setup wird einmal ausgeführt und startet noch keinen
|
|
23
23
|
Modellaufruf. Erst eine Aktion in der App schickt Text an den Berater. Fragen und Empfehlungen
|
|
24
24
|
bleiben Modellantworten; die App prüft ihre fachliche Qualität nicht automatisch.
|
|
25
25
|
|
package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx
CHANGED
|
@@ -47,7 +47,7 @@ function App() {
|
|
|
47
47
|
<label htmlFor="interview-progress">{conversation.answers} von {answerCount} Antworten</label>
|
|
48
48
|
<progress className="h-2.5 w-full [accent-color:var(--foreground)]" id="interview-progress" max={answerCount} value={conversation.answers} />
|
|
49
49
|
</UI.Stack>
|
|
50
|
-
{snapshot?.readOnly && <p>Dieser
|
|
50
|
+
{snapshot?.readOnly && <p>Dieser Run ist schreibgeschützt.</p>}
|
|
51
51
|
{(sendError || conversation.error) && <p role="alert">{sendError || conversation.error}</p>}
|
|
52
52
|
{conversation.phase === "start" && !pending && <UI.Stack>
|
|
53
53
|
<p>Du beantwortest immer nur eine Frage. Deine bisherigen Angaben bleiben beim erneuten Öffnen erhalten.</p>
|
|
@@ -20,7 +20,7 @@ export default defineActor(contract, {
|
|
|
20
20
|
if (context.state.read().built) return;
|
|
21
21
|
const catalog = await context.functions.model_list({});
|
|
22
22
|
const profile = catalog.profiles.find((entry) => entry.driver === "agent" && entry.name === "standard");
|
|
23
|
-
if (!profile) throw new Error("
|
|
23
|
+
if (!profile) throw new Error("Die Rolle standard fehlt.");
|
|
24
24
|
const advisor = await context.functions.agent_spawn({
|
|
25
25
|
handle: "balcony-advisor", displayName: "Balkon-Berater", prompt, profile: profile.name, tools: [],
|
|
26
26
|
});
|
|
@@ -21,7 +21,7 @@ function setup(options: { missingProfile?: boolean; failActivation?: boolean } =
|
|
|
21
21
|
const activation = value as { name: string; actor: string };
|
|
22
22
|
return { name: activation.name, actor: activation.actor, views: 1, active: true };
|
|
23
23
|
}
|
|
24
|
-
return
|
|
24
|
+
return null;
|
|
25
25
|
}]));
|
|
26
26
|
const context = createTestContext<{ built?: boolean }>({ state: {}, functions });
|
|
27
27
|
return { calls, context };
|
|
@@ -43,14 +43,14 @@ test("richtet einen Berater ohne Werkzeuge und seine eigene Mini-App als einzige
|
|
|
43
43
|
assert.equal(calls.length, 5);
|
|
44
44
|
});
|
|
45
45
|
|
|
46
|
-
test("
|
|
46
|
+
test("fehlende Rolle baut keinen unbrauchbaren Berater", async () => {
|
|
47
47
|
const { calls, context } = setup({ missingProfile: true });
|
|
48
|
-
await assert.rejects(async () => program.onInput!(input, context), /
|
|
48
|
+
await assert.rejects(async () => program.onInput!(input, context), /Rolle standard fehlt/);
|
|
49
49
|
assert.deepEqual(calls.map((call) => call.name), ["model_list"]);
|
|
50
50
|
assert.deepEqual(context.state.read(), {});
|
|
51
51
|
});
|
|
52
52
|
|
|
53
|
-
test("eine fehlgeschlagene View-Aktivierung setzt weder
|
|
53
|
+
test("eine fehlgeschlagene View-Aktivierung setzt weder Fläche noch Erfolgszustand", async () => {
|
|
54
54
|
const options = { failActivation: true };
|
|
55
55
|
const { calls, context } = setup(options);
|
|
56
56
|
await assert.rejects(async () => program.onInput!(input, context), /View kann nicht aktiviert/);
|
|
@@ -7,7 +7,7 @@ tags: Run-Scripts, Anwendungsfall, Konzeptdemo, Startleitfaden, Agententeams
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
Ein deterministisches Setup: das Script stellt mira, jon und ada als gewöhnliche LLMs auf, teilt
|
|
10
|
-
die
|
|
10
|
+
die Fläche unter ihnen auf und übergibt dem Koordinator das Briefing.
|
|
11
11
|
Die Karte prüft das Modell, dieses Script prüft die Plattform.
|
|
12
12
|
|
|
13
13
|
Der Leitfaden übergibt `{ "topic": "...", "rounds": 2 }`. `topic` enthält 1 bis 160 Zeichen, `rounds` ist eine ganze Zahl von 1 bis 5. Der Startwert `null` wählt ausdrücklich das Thema "Sollten Innenstädte autofrei werden?" und zwei Runden. Andere unvollständige oder ungültige Werte werden vor dem Aufbau abgelehnt. Thema und Rundenzahl steuern die Darstellung und den Auftrag, das Thema auch den Run-Titel.
|
|
@@ -42,7 +42,7 @@ export default defineActor(contract, {
|
|
|
42
42
|
const catalog = await context.functions.model_list({});
|
|
43
43
|
const profiles = catalog.profiles.filter((profile) => profile.driver === "agent" && profile.name !== "coordinator");
|
|
44
44
|
const first = profiles[0];
|
|
45
|
-
if (!first) throw new Error("
|
|
45
|
+
if (!first) throw new Error("Keine Rolle außer coordinator; agent_spawn braucht eine.");
|
|
46
46
|
|
|
47
47
|
await context.functions.run_configure({ title: `Gesprächsrunde: ${topic}` });
|
|
48
48
|
|
|
@@ -15,7 +15,7 @@ export const setupContext = (profiles = [{ name: "coordinator", driver: "agent"
|
|
|
15
15
|
return name === "model_list" ? {
|
|
16
16
|
profiles: profiles.map((profile) => ({ ...profile, description: "Testprofil", turnTimeoutMs: null,
|
|
17
17
|
isolateWorkspace: false, provider: "test", model: "test" })), models: [],
|
|
18
|
-
} : [];
|
|
18
|
+
} : name === "actor_input" ? [] : null;
|
|
19
19
|
}]));
|
|
20
20
|
return { calls, context: createTestContext<{ built?: boolean }>({ state: {}, functions }) };
|
|
21
21
|
};
|
|
@@ -7,7 +7,7 @@ tags: Run-Scripts, Anwendungsfall, Konzeptdemo, Mini-Apps, TypeScript-Actors, Ag
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
Das vorbereitete TypeScript-Programm richtet zwei KI-Helfer ohne Werkzeuge ein und zeigt seine
|
|
10
|
-
eigene Mini-App. Beide verwenden
|
|
10
|
+
eigene Mini-App. Beide verwenden die Rolle `standard`. Ein Koordinator ist nicht nötig;
|
|
11
11
|
der TypeScript-Actor steuert den Ablauf und ist der Primary-Actor.
|
|
12
12
|
|
|
13
13
|
Erst "Ideen sammeln" beauftragt die beiden Helfer: Helfer A schlägt ein einfaches Experiment
|
|
@@ -19,6 +19,6 @@ Ergebnisliste. Die Ideen sind echte Modellantworten und werden nicht fachlich ge
|
|
|
19
19
|
Ein Fehler bei einem Helfer lässt das Ergebnis des anderen stehen. Leere Antworten und
|
|
20
20
|
unterbrochene Modell-Turns erscheinen als Fehler. Der Ablauf startet einmal und wiederholt
|
|
21
21
|
weder Aufträge noch fehlgeschlagene Antworten automatisch. Für neue Ideen beginnt ein neuer Run.
|
|
22
|
-
|
|
22
|
+
Die Vorlage benötigt keine Startwerte und löst vor dem Button keinen Modellaufruf aus.
|
|
23
23
|
|
|
24
24
|
Die Homepage verwendet dieselbe React-Ansicht mit ausdrücklich markierten Vorschaudaten.
|
|
@@ -66,7 +66,7 @@ export default defineActor(contract, {
|
|
|
66
66
|
if (!state.board) {
|
|
67
67
|
const catalog = await context.functions.model_list({});
|
|
68
68
|
const profile = catalog.profiles.find((entry) => entry.driver === "agent" && entry.name === "standard");
|
|
69
|
-
if (!profile) throw new Error("
|
|
69
|
+
if (!profile) throw new Error("Die Rolle standard fehlt.");
|
|
70
70
|
const prompt = await workflowInstructions(learningWorkflow, "helper", readPrompt);
|
|
71
71
|
const helpers = await Promise.all(initialState.helpers.map(async (helper) => {
|
|
72
72
|
const actor = await context.functions.agent_spawn({ handle: `learning-${helper.id}`, displayName: helper.label, profile: profile.name, prompt, tools: [] });
|
|
@@ -19,7 +19,7 @@ export interface LearningState {
|
|
|
19
19
|
|
|
20
20
|
export const initialState: LearningState = {
|
|
21
21
|
phase: "ready",
|
|
22
|
-
helpers: helperSteps.map((step, index) => ({ id: step.id, label: `
|
|
22
|
+
helpers: helperSteps.map((step, index) => ({ id: step.id, label: `Helper ${String.fromCharCode(65 + index)}`, task: step.title, status: "waiting", text: "" })),
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
const helperStatuses = { waiting: "pending", working: "active", complete: "done", error: "blocked" } as const;
|
|
@@ -32,7 +32,7 @@ export function learningWorkflowState(state: LearningState): WorkflowState {
|
|
|
32
32
|
}])),
|
|
33
33
|
collect: {
|
|
34
34
|
status: state.phase === "complete" ? "done" : state.phase === "error" ? "blocked" : state.phase === "working" ? "active" : "pending",
|
|
35
|
-
detail: `${state.helpers.filter((helper) => helper.status === "complete").length}
|
|
35
|
+
detail: `${state.helpers.filter((helper) => helper.status === "complete").length} of ${state.helpers.length} ideas collected.`,
|
|
36
36
|
},
|
|
37
37
|
} };
|
|
38
38
|
}
|
|
@@ -11,7 +11,7 @@ export interface LearningAfternoonProps {
|
|
|
11
11
|
preview?: boolean;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
const phaseLabels = { ready: "
|
|
14
|
+
const phaseLabels = { ready: "Ready", working: "The helpers are working", complete: "Both ideas are ready", error: "Finished with an error" };
|
|
15
15
|
const rowClass = "flex items-center justify-between gap-2.5";
|
|
16
16
|
const noteClass = "text-xs text-muted-foreground";
|
|
17
17
|
|
|
@@ -20,21 +20,21 @@ export function LearningAfternoonView({ state, onStart, pending, error, preview
|
|
|
20
20
|
return (
|
|
21
21
|
<main className="min-h-full bg-background text-base **:min-w-0 **:[overflow-wrap:anywhere]">
|
|
22
22
|
<header className={`${rowClass} flex-wrap`}>
|
|
23
|
-
<div><p className={`mb-1.5 ${noteClass}`}>
|
|
24
|
-
<span className={`shrink-0 ${noteClass}`}>{entries.length} / {state.helpers.length}
|
|
23
|
+
<div><p className={`mb-1.5 ${noteClass}`}>Two helpers, one collection</p><h1 className="text-[1.55rem] leading-[1.2] font-semibold">{learningWorkflow.title}</h1></div>
|
|
24
|
+
<span className={`shrink-0 ${noteClass}`}>{entries.length} / {state.helpers.length} ideas</span>
|
|
25
25
|
</header>
|
|
26
|
-
<p className="mt-3.5 mb-5">
|
|
27
|
-
{preview && <p className={`mb-4 ${noteClass}`}>
|
|
28
|
-
<WorkflowDiagram definition={learningWorkflow} state={learningWorkflowState(state)} label="
|
|
29
|
-
<section className="mt-5 rounded-lg border border-border bg-card p-4" aria-label="
|
|
30
|
-
<div className={`${rowClass} flex-wrap`}><h2 className="text-base font-semibold">
|
|
31
|
-
{entries.length === 0 ? <p className="py-5 text-sm text-muted-foreground">
|
|
26
|
+
<p className="mt-3.5 mb-5">One idea each for an afternoon with primary-school children: explore together and test knowledge through play.</p>
|
|
27
|
+
{preview && <p className={`mb-4 ${noteClass}`}>Preview with example ideas. No recorded AI responses.</p>}
|
|
28
|
+
<WorkflowDiagram definition={learningWorkflow} state={learningWorkflowState(state)} label="Learning afternoon workflow" direction="down" viewport="fit-width" />
|
|
29
|
+
<section className="mt-5 rounded-lg border border-border bg-card p-4" aria-label="Shared result list">
|
|
30
|
+
<div className={`${rowClass} flex-wrap`}><h2 className="text-base font-semibold">Shared result list</h2><span className={noteClass}>Collected automatically</span></div>
|
|
31
|
+
{entries.length === 0 ? <p className="py-5 text-sm text-muted-foreground">Completed ideas appear here.</p> : <ol className="mt-3 grid gap-3">
|
|
32
32
|
{entries.map((helper) => <li className="border-t border-border pt-3" key={helper.id}><strong className={noteClass}>{helper.label}</strong><p className="mt-1.5 whitespace-pre-wrap">{helper.text}</p></li>)}
|
|
33
33
|
</ol>}
|
|
34
34
|
</section>
|
|
35
35
|
<footer className={`${rowClass} mt-4 min-h-9 flex-wrap`}>
|
|
36
|
-
<p className={noteClass} role="status">{pending ? "
|
|
37
|
-
{state.phase === "ready" && <Button onClick={onStart} disabled={pending || !onStart}>
|
|
36
|
+
<p className={noteClass} role="status">{pending ? "Sending tasks" : phaseLabels[state.phase]}</p>
|
|
37
|
+
{state.phase === "ready" && <Button onClick={onStart} disabled={pending || !onStart}>Collect ideas</Button>}
|
|
38
38
|
</footer>
|
|
39
39
|
{error && <p className="mt-2 text-destructive" role="alert">{error}</p>}
|
|
40
40
|
</main>
|
|
@@ -2,31 +2,31 @@ import { defineWorkflow } from "@ragents/workflow";
|
|
|
2
2
|
|
|
3
3
|
export const learningWorkflow = defineWorkflow({
|
|
4
4
|
id: "learning-afternoon",
|
|
5
|
-
title: "
|
|
5
|
+
title: "Learning afternoon",
|
|
6
6
|
roles: {
|
|
7
|
-
helper: { title: "
|
|
8
|
-
collection: { title: "
|
|
7
|
+
helper: { title: "Idea helper", prompt: "prompts/helper.md" },
|
|
8
|
+
collection: { title: "Automatic collection" },
|
|
9
9
|
},
|
|
10
10
|
steps: [
|
|
11
11
|
{
|
|
12
|
-
id: "experiment", title: "
|
|
13
|
-
goal: "
|
|
12
|
+
id: "experiment", title: "A simple experiment", role: "helper",
|
|
13
|
+
goal: "Create exactly one experiment idea for an afternoon with primary-school children.",
|
|
14
14
|
prompt: "prompts/experiment.md",
|
|
15
|
-
completion: { source: "agent", description: "
|
|
16
|
-
freedom: { mode: "fixed", description: "
|
|
15
|
+
completion: { source: "agent", description: "The helper provided one concrete idea as text." },
|
|
16
|
+
freedom: { mode: "fixed", description: "Choose the material and experiment freely; provide exactly one idea." },
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
|
-
id: "quiz", title: "
|
|
20
|
-
goal: "
|
|
19
|
+
id: "quiz", title: "A short learning quiz", role: "helper",
|
|
20
|
+
goal: "Create exactly one quiz idea for an afternoon with primary-school children.",
|
|
21
21
|
prompt: "prompts/quiz.md",
|
|
22
|
-
completion: { source: "agent", description: "
|
|
23
|
-
freedom: { mode: "fixed", description: "
|
|
22
|
+
completion: { source: "agent", description: "The helper provided one concrete idea as text." },
|
|
23
|
+
freedom: { mode: "fixed", description: "Choose the topic and format freely; provide exactly one idea." },
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
|
-
id: "collect", title: "
|
|
27
|
-
goal: "
|
|
28
|
-
completion: { source: "service", description: "
|
|
29
|
-
freedom: { mode: "fixed", description: "
|
|
26
|
+
id: "collect", title: "Collect ideas", role: "collection",
|
|
27
|
+
goal: "Show the responses from both independent helpers in one shared result list.",
|
|
28
|
+
completion: { source: "service", description: "Both helpers have finished; successful ideas and errors remain visible." },
|
|
29
|
+
freedom: { mode: "fixed", description: "Keep responses unchanged and do not generate another model response." },
|
|
30
30
|
},
|
|
31
31
|
],
|
|
32
32
|
transitions: [
|
|
@@ -27,12 +27,7 @@ function setup(options: { missingProfile?: boolean; failDispatch?: string; befor
|
|
|
27
27
|
const handle = (input as { handle: string }).handle;
|
|
28
28
|
return { id: `actor-${handle}`, handle };
|
|
29
29
|
}
|
|
30
|
-
if (name === "event_subscribe") return {
|
|
31
|
-
subscriptionId: "ideas", subscriberId: "test-actor", sourceActorIds: ["actor-learning-experiment", "actor-learning-quiz"],
|
|
32
|
-
sources: ["@learning-experiment", "@learning-quiz"], sourceActorKinds: null,
|
|
33
|
-
eventTypes: ["turn.finished", "turn.interrupted", "actor.stopped"], includeSelf: false,
|
|
34
|
-
createdBy: "test-actor", createdAt: "2026-09-13T12:00:00.000Z", createdSequence: 1, status: "active",
|
|
35
|
-
};
|
|
30
|
+
if (name === "event_subscribe") return { subscriptionId: "ideas", sources: ["@learning-experiment", "@learning-quiz"] };
|
|
36
31
|
if (name === "event_query") return history.filter((event) => (input as { actorIds: string[] }).actorIds.includes(event.actorId));
|
|
37
32
|
if (name === "actor_input") {
|
|
38
33
|
const actor = (input as { actor: string }).actor;
|
|
@@ -40,7 +35,7 @@ function setup(options: { missingProfile?: boolean; failDispatch?: string; befor
|
|
|
40
35
|
if (actor === options.failDispatch) throw new Error("Auftrag konnte nicht gesendet werden.");
|
|
41
36
|
return [{ type: "actor.input.enqueued", payload: { actorId: `actor-${actor.slice(1)}`, inputId: `input-${actor.slice(1)}` } }];
|
|
42
37
|
}
|
|
43
|
-
return
|
|
38
|
+
return null;
|
|
44
39
|
}]));
|
|
45
40
|
return { calls, context: Object.assign(createTestContext<{ board?: LearningState; subscriptionId?: string }>({ state: {}, functions }), { history }) };
|
|
46
41
|
}
|
|
@@ -190,7 +185,7 @@ test("ein gescheiterter Input verhindert den Auftrag des anderen Helfers nicht",
|
|
|
190
185
|
|
|
191
186
|
test("ohne Standardprofil wird kein Helfer angelegt", async () => {
|
|
192
187
|
const { context, calls } = setup({ missingProfile: true });
|
|
193
|
-
await assert.rejects(async () => program.onInput(setupInput, context), /
|
|
188
|
+
await assert.rejects(async () => program.onInput(setupInput, context), /Rolle standard fehlt/);
|
|
194
189
|
assert.deepEqual(calls.map((call) => call.name), ["model_list"]);
|
|
195
190
|
assert.deepEqual(context.state.read(), {});
|
|
196
191
|
});
|
|
@@ -219,5 +214,5 @@ test("der gemeinsame Ablauf liefert Helferaufträge, Prompt und parallele Graphz
|
|
|
219
214
|
await program.onInput(eventOf("experiment", "actor.stopped", {}), context);
|
|
220
215
|
const failed = workflowGraph(learningWorkflow, learningWorkflowState(context.state.read().board!));
|
|
221
216
|
assert.deepEqual(failed.nodes.map((node) => [node.id, node.status]), [["experiment", "blocked"], ["quiz", "done"], ["collect", "blocked"]]);
|
|
222
|
-
assert.match(failed.nodes.find((node) => node.id === "collect")!.detail!, /1
|
|
217
|
+
assert.match(failed.nodes.find((node) => node.id === "collect")!.detail!, /1 of 2/);
|
|
223
218
|
});
|
|
@@ -23,7 +23,7 @@ export default defineActor(contract, {
|
|
|
23
23
|
const catalog = await context.functions.model_list({});
|
|
24
24
|
const profiles = catalog.profiles.filter((profile) => profile.driver === "agent" && profile.name !== "coordinator");
|
|
25
25
|
const first = profiles[0];
|
|
26
|
-
if (!first) throw new Error("
|
|
26
|
+
if (!first) throw new Error("Keine Rolle außer coordinator; agent_spawn braucht eine.");
|
|
27
27
|
|
|
28
28
|
const moderator = await context.functions.agent_spawn({
|
|
29
29
|
handle: "moderator",
|
|
@@ -15,7 +15,7 @@ export const setupContext = (profiles = [{ name: "coordinator", driver: "agent"
|
|
|
15
15
|
return name === "model_list" ? {
|
|
16
16
|
profiles: profiles.map((profile) => ({ ...profile, description: "Testprofil", turnTimeoutMs: null,
|
|
17
17
|
isolateWorkspace: false, provider: "test", model: "test" })), models: [],
|
|
18
|
-
} : [];
|
|
18
|
+
} : name === "actor_input" ? [] : null;
|
|
19
19
|
}]));
|
|
20
20
|
return { calls, context: createTestContext<{ built?: boolean }>({ state: {}, functions }) };
|
|
21
21
|
};
|
|
@@ -16,9 +16,9 @@ test("stellt Moderator und Gäste auf und übergibt ihm den Chat", async () => {
|
|
|
16
16
|
assert.equal(calls.length, completedCalls);
|
|
17
17
|
});
|
|
18
18
|
|
|
19
|
-
test("ohne
|
|
19
|
+
test("ohne eine nutzbare Rolle bleibt der Aufbau unverändert", async () => {
|
|
20
20
|
const { calls, context } = setupContext([{ name: "coordinator", driver: "agent" }]);
|
|
21
|
-
await assert.rejects(async () => program.onInput!(startInput(null), context), /
|
|
21
|
+
await assert.rejects(async () => program.onInput!(startInput(null), context), /Keine Rolle/);
|
|
22
22
|
assert.deepEqual(calls.map((call) => call.name), ["model_list"]);
|
|
23
23
|
assert.deepEqual(context.state.read(), {});
|
|
24
24
|
});
|
package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/client.tsx
CHANGED
|
@@ -8,21 +8,21 @@ type FormValues = Parameters<typeof UI.Form>[0]["values"];
|
|
|
8
8
|
const App = () => {
|
|
9
9
|
const state = useAppState();
|
|
10
10
|
const [values, setValues] = React.useState<FormValues>({ text: "" });
|
|
11
|
-
const [status, setStatus] = React.useState("
|
|
11
|
+
const [status, setStatus] = React.useState("Ready");
|
|
12
12
|
const entries = state.entries ?? [];
|
|
13
13
|
|
|
14
14
|
const append = async (next: FormValues): Promise<void> => {
|
|
15
15
|
const answer = await context.capabilities.call("append", { text: String(next.text ?? "") });
|
|
16
16
|
setValues({ text: "" });
|
|
17
|
-
setStatus(`
|
|
17
|
+
setStatus(`Added: ${answer.text}`);
|
|
18
18
|
};
|
|
19
19
|
|
|
20
20
|
return (
|
|
21
|
-
<UI.AppLayout title="
|
|
21
|
+
<UI.AppLayout title="Shared list" description={<>{entries.length} {entries.length === 1 ? "item" : "items"}</>}>
|
|
22
22
|
<UI.Grid>
|
|
23
23
|
<UI.Form fields={[
|
|
24
|
-
{ id: "text", label: "
|
|
25
|
-
]} values={values} onChange={setValues} onSubmit={append} submitLabel="
|
|
24
|
+
{ id: "text", label: "New item", type: "textarea", placeholder: "Enter text" },
|
|
25
|
+
]} values={values} onChange={setValues} onSubmit={append} submitLabel="Add" />
|
|
26
26
|
<UI.Stack>
|
|
27
27
|
<p className="text-muted-foreground" role="status">{status}</p>
|
|
28
28
|
<ul className="border-t border-border">
|
|
@@ -35,5 +35,5 @@ const App = () => {
|
|
|
35
35
|
};
|
|
36
36
|
|
|
37
37
|
const root = document.getElementById("root");
|
|
38
|
-
if (!root) throw new Error("
|
|
38
|
+
if (!root) throw new Error("The #root element is missing.");
|
|
39
39
|
createRoot(root).render(<App />);
|
|
@@ -36,7 +36,7 @@ export default defineActor(contract, {
|
|
|
36
36
|
const catalog = await context.functions.model_list({});
|
|
37
37
|
const profiles = catalog.profiles.filter((profile) => profile.driver === "agent" && profile.name !== "coordinator");
|
|
38
38
|
const first = profiles[0];
|
|
39
|
-
if (!first) throw new Error("
|
|
39
|
+
if (!first) throw new Error("Keine Rolle außer coordinator; agent_spawn braucht eine.");
|
|
40
40
|
|
|
41
41
|
await context.functions.run_configure({ title: `Sammelboard: ${title}` });
|
|
42
42
|
|
|
@@ -55,8 +55,8 @@ export default defineActor(contract, {
|
|
|
55
55
|
});
|
|
56
56
|
await context.functions.actor_input({
|
|
57
57
|
actor: "@coordinator",
|
|
58
|
-
content: `Die gemeinsame Sammlung heißt ${JSON.stringify(title)}. Das Run-Script hat das Programm shared-list an @${helper.handle} gebunden. Seine View ist auf
|
|
59
|
-
+ "Unten unter Actors öffnet sein Name den Inspector mit Chat und Details. Seine
|
|
58
|
+
content: `Die gemeinsame Sammlung heißt ${JSON.stringify(title)}. Das Run-Script hat das Programm shared-list an @${helper.handle} gebunden. Seine View ist auf der Fläche sichtbar; der Helfer ergänzt gerade den ersten Eintrag mit append_to_list. `
|
|
59
|
+
+ "Unten unter Actors öffnet sein Name den Inspector mit Chat und Details. Seine Kachel ist standardmäßig ausgeblendet und lässt sich in der Actors-Liste bei Bedarf einschalten. "
|
|
60
60
|
+ "Erkläre dem Benutzer in drei Sätzen, wie er die sichtbare Liste bedient, den Helfer öffnet und dass View und Funktion denselben Listenstand teilen.",
|
|
61
61
|
});
|
|
62
62
|
|
|
@@ -15,7 +15,7 @@ export const setupContext = (profiles = [{ name: "coordinator", driver: "agent"
|
|
|
15
15
|
return name === "model_list" ? {
|
|
16
16
|
profiles: profiles.map((profile) => ({ ...profile, description: "Testprofil", turnTimeoutMs: null,
|
|
17
17
|
isolateWorkspace: false, provider: "test", model: "test" })), models: [],
|
|
18
|
-
} : [];
|
|
18
|
+
} : name === "actor_input" ? [] : null;
|
|
19
19
|
}]));
|
|
20
20
|
return { calls, context: createTestContext<{ built?: boolean }>({ state: {}, functions }) };
|
|
21
21
|
};
|