@schlenkr/ragents 0.1.5 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +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 +14 -7
- package/apps/server/src/config-file.ts +25 -6
- package/apps/server/src/config.ts +4 -4
- package/apps/server/src/data-directory.ts +1 -1
- package/apps/server/src/folder-install.ts +115 -0
- package/apps/server/src/host-api.json +1256 -0
- package/apps/server/src/host-api.ts +190 -0
- package/apps/server/src/host-resolution-hooks.mjs +50 -1
- package/apps/server/src/host-resolution.ts +26 -1
- package/apps/server/src/host-version.ts +41 -0
- package/apps/server/src/host-web.ts +59 -0
- package/apps/server/src/layout.ts +1 -1
- package/apps/server/src/main.ts +3 -2
- package/apps/server/src/missing-environment.ts +47 -0
- package/apps/server/src/parent-watch.ts +37 -0
- package/apps/server/src/plugin-build/build.ts +650 -0
- package/apps/server/src/plugin-build/host-api-names.ts +185 -0
- package/apps/server/src/plugin-build/plugin-description.ts +118 -0
- package/apps/server/src/plugin-build/typecheck.ts +66 -0
- package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/app-project.ts +16 -15
- package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/client-compiler.ts +4 -4
- package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/client-contracts.ts +4 -4
- package/apps/server/src/plugin-support/actor-programs/client-runtime.ts +27 -0
- package/{plugins/ragents.actor-programs → apps/server/src/plugin-support/actor-programs}/contract.ts +3 -3
- package/apps/server/src/plugin-support/actor-programs/service.ts +1 -1
- package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/tailwind.ts +2 -3
- package/{plugins/ragents.actor-programs → apps/server/src/plugin-support/actor-programs}/workflow/index.ts +48 -48
- package/apps/server/src/plugin-support/agent-tool.ts +10 -5
- package/apps/server/src/plugin-support/http.ts +1 -1
- package/apps/server/src/plugin-support/language-server/contract.ts +37 -6
- package/apps/server/src/plugin-support/language-server/plugin.ts +18 -8
- package/apps/server/src/plugin-support/language-server/snapshot-method.ts +32 -7
- package/apps/server/src/plugin-support/language-server/tools.ts +59 -15
- package/apps/server/src/plugin-support/model-aliases.ts +77 -0
- package/apps/server/src/plugin-support/model-choice.ts +17 -7
- package/apps/server/src/plugin-support/model-completion.ts +58 -0
- package/apps/server/src/plugin-support/model-upstreams.ts +2 -2
- package/apps/server/src/plugin-support/native-typescript-executor.ts +10 -7
- package/apps/server/src/plugin-support/plugin-config.ts +1 -1
- package/apps/server/src/plugin-support/plugin-folder.ts +4 -1
- package/apps/server/src/plugin-support/plugin-module.ts +1 -1
- package/apps/server/src/plugin-support/plugins-root.ts +6 -10
- package/apps/server/src/plugin-support/process-sandbox.ts +312 -0
- package/apps/server/src/plugin-support/product-model-settings-contract.ts +14 -5
- package/apps/server/src/plugin-support/product-model-settings.ts +10 -9
- package/{plugins/ragents.product/server/relay.ts → apps/server/src/plugin-support/product-relay.ts} +2 -2
- package/apps/server/src/plugin-support/product-start-options.ts +8 -3
- package/apps/server/src/plugin-support/prompt.ts +1 -1
- package/apps/server/src/plugin-support/provision.ts +6 -0
- package/apps/server/src/plugin-support/run-scripts.ts +16 -2
- package/apps/server/src/plugin-support/skills.ts +32 -16
- package/apps/server/src/plugin-support/start-entries-contract.ts +12 -3
- package/apps/server/src/plugin-support/start-options-contract.ts +5 -1
- package/apps/server/src/plugin-support/thinking-level.ts +6 -1
- package/apps/server/src/plugin-support/tool-availability.ts +1 -7
- package/apps/server/src/plugin-support/workspace-ownership.ts +12 -6
- package/apps/server/src/plugin-support/workspace-sandbox-host.ts +184 -37
- package/apps/server/src/profile/bundle-manifest.ts +183 -0
- package/apps/server/src/profile/compose.ts +19 -10
- package/apps/server/src/profile/plugin-discovery.ts +98 -46
- package/apps/server/src/profile/provisioning.ts +30 -26
- package/apps/server/src/profile-target.ts +3 -0
- package/apps/server/src/provider.ts +182 -99
- package/apps/server/src/ragents/actor-chat-history.ts +23 -22
- package/apps/server/src/ragents/chat-projection.ts +25 -14
- package/apps/server/src/ragents/chat-text-positions.ts +4 -4
- package/apps/server/src/ragents/coordinator.ts +27 -1
- package/apps/server/src/ragents/document-store.ts +1 -1
- package/apps/server/src/ragents/engine.ts +69 -36
- package/apps/server/src/ragents/global-chat.ts +26 -13
- package/apps/server/src/ragents/host-services.ts +15 -6
- package/apps/server/src/ragents/journal-chat-events.ts +31 -15
- package/apps/server/src/ragents/product-runtime.ts +1 -1
- package/apps/server/src/ragents/run-owner.ts +17 -0
- package/apps/server/src/ragents/runtime-bridge.ts +1 -1
- package/apps/server/src/ragents/session.ts +181 -82
- package/apps/server/src/ragents/start-option-state.ts +1 -1
- package/apps/server/src/ragents/typescript-tools.ts +35 -27
- package/apps/server/src/ragents/workspace-runtime.ts +74 -8
- package/apps/server/src/rpc/dispatcher.ts +17 -8
- package/apps/server/src/rpc/http-transport.ts +1 -3
- package/apps/server/src/rpc/stdio-transport.ts +1 -1
- package/apps/server/src/run-preparation-contract.ts +1 -1
- package/apps/server/src/run-preparation-input.ts +1 -1
- package/apps/server/src/run-preparation.ts +13 -20
- package/apps/server/src/run-transfer.ts +2 -2
- package/apps/server/src/server.ts +112 -33
- package/apps/server/src/settings.ts +7 -8
- package/apps/server/src/title-compactor.ts +5 -8
- package/apps/server/src/title-settings.ts +3 -3
- package/apps/server/src/web-bundles.ts +79 -0
- package/apps/server/src/web-stylesheet.ts +85 -0
- package/apps/server/tsconfig.json +4 -4
- package/apps/server/tsconfig.plugin.json +58 -0
- package/apps/web/dist/assets/highlighted-body-KPVGNVTW-B9qYBARS.js +1 -0
- package/apps/web/dist/assets/main-BCjvD2Hh.js +6 -0
- package/apps/web/dist/assets/mermaid-HWGCJPDP-BPn4aV2r.css +1 -0
- package/apps/web/dist/assets/mermaid-HWGCJPDP-CvYYFK_n.js +478 -0
- package/apps/web/dist/assets/runPanel-CG7kRMJh.js +21 -0
- package/apps/web/dist/help/guide-access.html +199 -0
- package/apps/web/dist/help/guide-access.md +84 -0
- package/apps/web/dist/help/guide-clients.html +421 -0
- package/apps/web/dist/help/guide-clients.md +336 -0
- package/apps/web/dist/help/guide-distributed.html +320 -0
- package/apps/web/dist/help/guide-distributed.md +225 -0
- package/apps/web/dist/help/guide-functions.html +231 -0
- package/apps/web/dist/help/guide-functions.md +127 -0
- package/apps/web/dist/help/guide-getting-started.html +230 -0
- package/apps/web/dist/help/guide-getting-started.md +123 -0
- package/apps/web/dist/help/guide-ideas.html +183 -0
- package/apps/web/dist/help/guide-ideas.md +71 -0
- package/apps/web/dist/help/guide-plugins.html +450 -0
- package/apps/web/dist/help/guide-plugins.md +341 -0
- package/apps/web/dist/help/guide-programs.html +359 -0
- package/apps/web/dist/help/guide-programs.md +271 -0
- package/apps/web/dist/help/guide-runtime.html +338 -0
- package/apps/web/dist/help/guide-runtime.md +225 -0
- package/apps/web/dist/help/guide.html +133 -0
- package/apps/web/dist/help/guide.md +13 -0
- package/apps/web/dist/help/homepage-bullets.js +12 -0
- package/apps/web/dist/help/homepage-distributed.js +261 -0
- package/apps/web/dist/help/homepage-plugins.js +30 -0
- package/apps/web/dist/help/homepage-scenes.js +368 -0
- package/apps/web/dist/help/homepage-stickers.js +69 -0
- package/apps/web/dist/help/homepage-story-nav.js +11 -0
- package/apps/web/dist/help/homepage-subnav.js +61 -0
- package/apps/web/dist/help/homepage.css +833 -0
- package/apps/web/dist/help/index.html +1167 -0
- package/apps/web/dist/help/mini-app.css +7056 -0
- package/apps/web/dist/help/mini-app.html +15 -0
- package/apps/web/dist/help/mini-app.js +131 -0
- package/apps/web/dist/help/screenshots/release-checklist-vscode.png +0 -0
- package/apps/web/dist/help/screenshots/release-checklist-web.png +0 -0
- package/apps/web/dist/help/scroll-vendor.js +73 -0
- package/apps/web/dist/help/site.css +63 -0
- package/apps/web/dist/help/site.js +103 -0
- package/apps/web/dist/host-web.json +143 -0
- package/apps/web/dist/index.html +15 -0
- package/apps/web/dist/run-panel.html +15 -0
- package/apps/web/package.json +2 -2
- package/apps/web/src/App.tsx +8 -6
- package/apps/web/src/Overview.tsx +5 -5
- package/apps/web/src/PluginActivation.ts +25 -5
- package/apps/web/src/PluginChat.tsx +163 -129
- package/apps/web/src/PluginFailureNotice.tsx +15 -0
- package/apps/web/src/PluginRegistry.tsx +106 -68
- package/apps/web/src/RunPreparationChat.tsx +40 -28
- package/apps/web/src/RunStore.ts +2 -2
- package/apps/web/src/SettingsModal.tsx +37 -37
- package/apps/web/src/StartOptions.tsx +81 -26
- package/apps/web/src/StartSelection.tsx +111 -0
- package/apps/web/src/StartTiles.tsx +73 -0
- package/apps/web/src/{CanvasShortcuts.tsx → SurfaceShortcuts.tsx} +2 -2
- package/apps/web/src/ThemeSettings.tsx +1 -1
- package/apps/web/src/WorkspacePanel.tsx +4 -4
- package/apps/web/src/access-session.ts +4 -1
- package/{plugins/ragents.orchestration/web → apps/web/src}/actor-conversation.ts +3 -3
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/DataTable.tsx +9 -9
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/FilePicker.tsx +4 -4
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/FlowDiagram.tsx +16 -14
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/FlowDiagramRenderer.tsx +3 -3
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/Form.tsx +12 -12
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/Layout.tsx +1 -1
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/MessageList.tsx +5 -5
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/Viewers.tsx +8 -7
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/WorkflowDiagram.tsx +1 -1
- package/apps/web/src/actor-programs/client-ui/chat-contracts.d.ts +64 -0
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/contracts.d.ts +2 -2
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/file-selection.ts +5 -5
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/index.tsx +22 -16
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/layout-contracts.d.ts +1 -1
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/message-list-contracts.d.ts +2 -2
- package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/workflow-diagram-contracts.d.ts +1 -1
- package/apps/web/src/api.ts +43 -22
- package/apps/web/src/chat/QuasselHost.tsx +12 -0
- package/apps/web/src/chat/StoppedActorNotice.tsx +39 -0
- package/apps/web/src/chat/chat-target.ts +14 -5
- package/apps/web/src/chat/requests.ts +13 -5
- package/apps/web/src/chat/useAttachmentCapabilities.ts +2 -2
- package/apps/web/src/chat/useChat.ts +8 -7
- package/apps/web/src/chat/user-location.ts +1 -1
- package/apps/web/src/chat-view-settings.tsx +49 -0
- package/apps/web/src/host-modules.ts +90 -0
- package/apps/web/src/language-server/api.ts +24 -0
- package/{plugins/ragents.lsp-roslyn/web → apps/web/src/language-server}/language-server-plugin.tsx +133 -6
- package/apps/web/src/main.tsx +4 -2
- package/apps/web/src/offered-machines.ts +11 -0
- package/apps/web/src/panel/ConnectionsPage.tsx +117 -0
- package/apps/web/src/panel/LoginForm.tsx +9 -9
- package/apps/web/src/panel/PanelDialogs.tsx +44 -27
- package/apps/web/src/panel/PanelHeader.tsx +11 -0
- package/apps/web/src/panel/PanelPage.tsx +8 -5
- package/apps/web/src/panel/RunLine.tsx +48 -0
- package/apps/web/src/panel/RunsPage.tsx +84 -0
- package/apps/web/src/panel/StartPage.tsx +163 -0
- package/apps/web/src/panel/connection-state.ts +40 -0
- package/apps/web/src/panel/contract.ts +64 -21
- package/apps/web/src/panel/page-props.ts +6 -0
- package/apps/web/src/plugin-bootstrap.ts +60 -31
- package/{plugins/ragents.product/web → apps/web/src/product}/ModelControl.tsx +3 -3
- package/{plugins/ragents.product/web → apps/web/src/product}/ProductModelSettings.tsx +7 -7
- package/{plugins/ragents.product/web → apps/web/src/product}/SystemPromptControl.tsx +3 -3
- package/{plugins/ragents.product/web → apps/web/src/product}/model-settings.ts +3 -3
- package/{plugins/ragents.product/web → apps/web/src/product}/start-options.tsx +2 -2
- package/apps/web/src/rpc/client.ts +28 -6
- package/apps/web/src/run-panel/RunPanelApp.tsx +334 -0
- package/apps/web/src/{column/ColumnRunHeader.tsx → run-panel/RunPanelHeader.tsx} +2 -2
- package/apps/web/src/{column/ColumnMenu.tsx → run-panel/RunPanelMenu.tsx} +4 -4
- package/apps/web/src/run-panel/RunPanelRail.tsx +38 -0
- package/apps/web/src/run-panel/RunPanelWorkspace.tsx +55 -0
- package/apps/web/src/{column → run-panel}/clipboard.ts +21 -10
- package/apps/web/src/run-panel/host-contract.ts +123 -0
- package/apps/web/src/{column → run-panel}/host.ts +31 -23
- package/apps/web/src/run-panel/input-bridge.ts +75 -0
- package/apps/web/src/run-panel/keyboard.ts +53 -0
- package/apps/web/src/run-panel/run-panel-location.ts +35 -0
- package/apps/web/src/{column → run-panel}/use-session-list.ts +3 -3
- package/apps/web/src/run-panel/workspace-state.ts +43 -0
- package/apps/web/src/{column.tsx → run-panel.tsx} +20 -13
- package/apps/web/src/run-preparation.ts +1 -1
- package/{plugins/ragents.orchestration/web → apps/web/src}/run-view.ts +25 -7
- package/apps/web/src/settings-contributions.ts +16 -18
- package/apps/web/src/title-model-settings.ts +1 -1
- package/apps/web/src/toolLine.ts +1 -1
- package/apps/web/src/ui/ListDetail.tsx +1 -1
- package/apps/web/src/ui/dialog.tsx +5 -5
- package/apps/web/src/ui/frame.css +1 -0
- package/apps/web/src/ui/index.ts +5 -0
- package/apps/web/src/ui/popover.tsx +2 -2
- package/apps/web/src/ui/quassel.css +41 -0
- package/apps/web/src/ui/relative-time.ts +36 -0
- package/apps/web/src/ui/startup-notice.tsx +22 -0
- package/apps/web/src/ui/state-icon.tsx +60 -0
- package/apps/web/src/ui/state-vocabulary.ts +31 -0
- package/apps/web/src/ui/stop-button.tsx +22 -0
- package/apps/web/src/ui/tailwind.css +2 -3
- package/apps/web/src/ui/theme.css +19 -19
- package/apps/web/tsconfig.json +4 -5
- package/apps/web/tsconfig.plugin.json +44 -0
- package/bundles/ragents.activity/ragents-bundle.json +38 -0
- package/bundles/ragents.activity/server/index.js +14 -0
- package/bundles/ragents.activity/server/index.js.map +7 -0
- package/bundles/ragents.activity/web/classes.json +1 -0
- package/bundles/ragents.activity/web/index.js +2 -0
- package/bundles/ragents.activity/web/index.js.map +7 -0
- package/bundles/ragents.actor-programs/prompt.hbs +80 -0
- package/bundles/ragents.actor-programs/ragents-bundle.json +214 -0
- package/bundles/ragents.actor-programs/server/index.js +2071 -0
- package/bundles/ragents.actor-programs/server/index.js.map +7 -0
- package/bundles/ragents.actor-programs/summary.hbs +17 -0
- package/bundles/ragents.actor-programs/web/classes.json +1 -0
- package/bundles/ragents.actor-programs/web/index.js +27 -0
- package/bundles/ragents.actor-programs/web/index.js.map +7 -0
- package/bundles/ragents.ask/ask.hbs +4 -0
- package/bundles/ragents.ask/ragents-bundle.json +97 -0
- package/bundles/ragents.ask/server/chunks/chunk-PDJO75SQ.js +13 -0
- package/bundles/ragents.ask/server/chunks/chunk-PDJO75SQ.js.map +7 -0
- package/bundles/ragents.ask/server/exports/server/contract.js +11 -0
- package/bundles/ragents.ask/server/exports/server/contract.js.map +7 -0
- package/bundles/ragents.ask/server/index.js +279 -0
- package/bundles/ragents.ask/server/index.js.map +7 -0
- package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js +2 -0
- package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js.map +7 -0
- package/bundles/ragents.ask/web/chunks/chunk-HGFDGTNC.js +2 -0
- package/bundles/ragents.ask/web/chunks/chunk-HGFDGTNC.js.map +7 -0
- package/bundles/ragents.ask/web/chunks/chunk-V7W3QDVS.js +25 -0
- package/bundles/ragents.ask/web/chunks/chunk-V7W3QDVS.js.map +7 -0
- package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js +2 -0
- package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js.map +7 -0
- package/bundles/ragents.ask/web/classes.json +1 -0
- package/bundles/ragents.ask/web/exports/ask-payload.js +2 -0
- package/bundles/ragents.ask/web/exports/ask-payload.js.map +7 -0
- package/bundles/ragents.ask/web/exports/web/QuestionCard.js +2 -0
- package/bundles/ragents.ask/web/exports/web/QuestionCard.js.map +7 -0
- package/bundles/ragents.ask/web/exports/web/api.js +2 -0
- package/bundles/ragents.ask/web/exports/web/api.js.map +7 -0
- package/bundles/ragents.ask/web/index.js +2 -0
- package/bundles/ragents.ask/web/index.js.map +7 -0
- package/bundles/ragents.browser/ragents-bundle.json +53 -0
- package/bundles/ragents.browser/server/chunks/chunk-2GKLLCBE.js +11 -0
- package/bundles/ragents.browser/server/chunks/chunk-2GKLLCBE.js.map +7 -0
- package/bundles/ragents.browser/server/exports/server/contract.js +9 -0
- package/bundles/ragents.browser/server/exports/server/contract.js.map +7 -0
- package/bundles/ragents.browser/server/index.js +479 -0
- package/bundles/ragents.browser/server/index.js.map +7 -0
- package/bundles/ragents.browser/skills/browser-testing/SKILL.md +38 -0
- package/bundles/ragents.documents/prompt.hbs +18 -0
- package/bundles/ragents.documents/ragents-bundle.json +120 -0
- package/bundles/ragents.documents/server/chunks/chunk-QIECRZ7C.js +37 -0
- package/bundles/ragents.documents/server/chunks/chunk-QIECRZ7C.js.map +7 -0
- package/bundles/ragents.documents/server/exports/contract.js +11 -0
- package/bundles/ragents.documents/server/exports/contract.js.map +7 -0
- package/bundles/ragents.documents/server/index.js +290 -0
- package/bundles/ragents.documents/server/index.js.map +7 -0
- package/bundles/ragents.documents/web/classes.json +1 -0
- package/bundles/ragents.documents/web/index.js +26 -0
- package/bundles/ragents.documents/web/index.js.map +7 -0
- package/bundles/ragents.lsp-fsharp/ragents-bundle.json +49 -0
- package/bundles/ragents.lsp-fsharp/server/index.js +82 -0
- package/bundles/ragents.lsp-fsharp/server/index.js.map +7 -0
- package/bundles/ragents.lsp-fsharp/web/classes.json +1 -0
- package/bundles/ragents.lsp-fsharp/web/index.js +2 -0
- package/bundles/ragents.lsp-fsharp/web/index.js.map +7 -0
- package/bundles/ragents.lsp-roslyn/ragents-bundle.json +61 -0
- package/bundles/ragents.lsp-roslyn/server/index.js +208 -0
- package/bundles/ragents.lsp-roslyn/server/index.js.map +7 -0
- package/bundles/ragents.lsp-roslyn/web/classes.json +1 -0
- package/bundles/ragents.lsp-roslyn/web/index.js +2 -0
- package/bundles/ragents.lsp-roslyn/web/index.js.map +7 -0
- package/bundles/ragents.lsp-typescript/ragents-bundle.json +36 -0
- package/bundles/ragents.lsp-typescript/server/index.js +13 -0
- package/bundles/ragents.lsp-typescript/server/index.js.map +7 -0
- package/bundles/ragents.lsp-typescript/web/classes.json +1 -0
- package/bundles/ragents.lsp-typescript/web/index.js +2 -0
- package/bundles/ragents.lsp-typescript/web/index.js.map +7 -0
- package/bundles/ragents.model-relay/ragents-bundle.json +33 -0
- package/bundles/ragents.model-relay/server/index.js +230 -0
- package/bundles/ragents.model-relay/server/index.js.map +7 -0
- package/bundles/ragents.orchestration/orchestration.hbs +106 -0
- package/bundles/ragents.orchestration/ragents-bundle.json +194 -0
- package/bundles/ragents.orchestration/server/index.js +277 -0
- package/bundles/ragents.orchestration/server/index.js.map +7 -0
- package/bundles/ragents.orchestration/web/chunks/chunk-ODMMQGX2.js +2 -0
- package/bundles/ragents.orchestration/web/chunks/chunk-ODMMQGX2.js.map +7 -0
- package/bundles/ragents.orchestration/web/chunks/chunk-OQYCNYXN.js +2 -0
- package/bundles/ragents.orchestration/web/chunks/chunk-OQYCNYXN.js.map +7 -0
- package/bundles/ragents.orchestration/web/chunks/chunk-OSKPH6SZ.js +2 -0
- package/bundles/ragents.orchestration/web/chunks/chunk-OSKPH6SZ.js.map +7 -0
- package/bundles/ragents.orchestration/web/chunks/chunk-XGPPQCZR.js +2 -0
- package/bundles/ragents.orchestration/web/chunks/chunk-XGPPQCZR.js.map +7 -0
- package/bundles/ragents.orchestration/web/classes.json +1 -0
- package/bundles/ragents.orchestration/web/exports/web/program-slot.js +2 -0
- package/bundles/ragents.orchestration/web/exports/web/program-slot.js.map +7 -0
- package/bundles/ragents.orchestration/web/exports/web/surface-entities.js +2 -0
- package/bundles/ragents.orchestration/web/exports/web/surface-entities.js.map +7 -0
- package/bundles/ragents.orchestration/web/exports/web/tile-docking.js +2 -0
- package/bundles/ragents.orchestration/web/exports/web/tile-docking.js.map +7 -0
- package/bundles/ragents.orchestration/web/index.js +51 -0
- package/bundles/ragents.orchestration/web/index.js.map +7 -0
- package/bundles/ragents.overseer/ragents-bundle.json +144 -0
- package/bundles/ragents.overseer/server/index.js +652 -0
- package/bundles/ragents.overseer/server/index.js.map +7 -0
- package/bundles/ragents.overseer/web/classes.json +1 -0
- package/bundles/ragents.overseer/web/index.js +25 -0
- package/bundles/ragents.overseer/web/index.js.map +7 -0
- package/bundles/ragents.processes/ragents-bundle.json +93 -0
- package/bundles/ragents.processes/server/index.js +204 -0
- package/bundles/ragents.processes/server/index.js.map +7 -0
- package/bundles/ragents.processes/web/classes.json +1 -0
- package/bundles/ragents.processes/web/index.js +4 -0
- package/bundles/ragents.processes/web/index.js.map +7 -0
- package/bundles/ragents.product/preamble.hbs +9 -0
- package/bundles/ragents.product/ragents-bundle.json +93 -0
- package/bundles/ragents.product/server/index.js +208 -0
- package/bundles/ragents.product/server/index.js.map +7 -0
- package/bundles/ragents.product/web/classes.json +1 -0
- package/bundles/ragents.product/web/index.js +2 -0
- package/bundles/ragents.product/web/index.js.map +7 -0
- package/bundles/ragents.profile-distribution/ragents-bundle.json +64 -0
- package/bundles/ragents.profile-distribution/server/index.js +241 -0
- package/bundles/ragents.profile-distribution/server/index.js.map +7 -0
- package/bundles/ragents.reference/ragents-bundle.json +39 -0
- package/bundles/ragents.reference/run-scripts/balcony-wizard/RUN.md +27 -0
- package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/package.json +10 -0
- package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +80 -0
- package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/conversation.ts +82 -0
- package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/tests/conversation.test.ts +154 -0
- package/bundles/ragents.reference/run-scripts/balcony-wizard/package.json +9 -0
- package/bundles/ragents.reference/run-scripts/balcony-wizard/src/server.ts +32 -0
- package/bundles/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +59 -0
- package/bundles/ragents.reference/run-scripts/conversation-circle/RUN.md +13 -0
- package/bundles/ragents.reference/run-scripts/conversation-circle/package.json +9 -0
- package/bundles/ragents.reference/run-scripts/conversation-circle/src/server.ts +81 -0
- package/bundles/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +26 -0
- package/bundles/ragents.reference/run-scripts/conversation-circle/tests/program.test.ts +34 -0
- package/bundles/ragents.reference/run-scripts/learning-afternoon/RUN.md +24 -0
- package/bundles/ragents.reference/run-scripts/learning-afternoon/package.json +10 -0
- package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/experiment.md +1 -0
- package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/helper.md +5 -0
- package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/quiz.md +1 -0
- package/bundles/ragents.reference/run-scripts/learning-afternoon/src/client.tsx +27 -0
- package/bundles/ragents.reference/run-scripts/learning-afternoon/src/server.ts +137 -0
- package/bundles/ragents.reference/run-scripts/learning-afternoon/src/state.ts +38 -0
- package/bundles/ragents.reference/run-scripts/learning-afternoon/src/view.tsx +42 -0
- package/bundles/ragents.reference/run-scripts/learning-afternoon/src/workflow.ts +38 -0
- package/bundles/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +218 -0
- package/bundles/ragents.reference/run-scripts/moderated-round/RUN.md +12 -0
- package/bundles/ragents.reference/run-scripts/moderated-round/package.json +9 -0
- package/bundles/ragents.reference/run-scripts/moderated-round/src/server.ts +60 -0
- package/bundles/ragents.reference/run-scripts/moderated-round/tests/helpers.ts +26 -0
- package/bundles/ragents.reference/run-scripts/moderated-round/tests/program.test.ts +24 -0
- package/bundles/ragents.reference/run-scripts/shared-actor-list/RUN.md +18 -0
- package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/package.json +16 -0
- package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/client.tsx +39 -0
- package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/contract.ts +15 -0
- package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/server.ts +14 -0
- package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/tests/program.test.ts +13 -0
- package/bundles/ragents.reference/run-scripts/shared-actor-list/package.json +9 -0
- package/bundles/ragents.reference/run-scripts/shared-actor-list/src/server.ts +65 -0
- package/bundles/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +26 -0
- package/bundles/ragents.reference/run-scripts/shared-actor-list/tests/program.test.ts +42 -0
- package/bundles/ragents.reference/run-scripts/word-game/RUN.md +25 -0
- package/bundles/ragents.reference/run-scripts/word-game/package.json +11 -0
- package/bundles/ragents.reference/run-scripts/word-game/src/client.tsx +27 -0
- package/bundles/ragents.reference/run-scripts/word-game/src/contract.ts +23 -0
- package/bundles/ragents.reference/run-scripts/word-game/src/server.ts +105 -0
- package/bundles/ragents.reference/run-scripts/word-game/src/state.ts +22 -0
- package/bundles/ragents.reference/run-scripts/word-game/src/view.tsx +54 -0
- package/bundles/ragents.reference/run-scripts/word-game/tests/program.test.ts +252 -0
- package/bundles/ragents.reference/server/index.js +16 -0
- package/bundles/ragents.reference/server/index.js.map +7 -0
- package/bundles/ragents.reference/skills/100-shared-actor-list/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/110-all-card-slots/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/150-editorial-workbench/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/160-learning-companion/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/170-photo-collection/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/180-decision-workbench/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/190-review-queue/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/20-circle-of-four/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/200-typescript-diagnostics/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/210-moderator-handover/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/220-actor-approval-list/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/230-shared-state-views/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/240-live-result-list/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/250-balcony-wizard/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/30-llm-without-runtime-knowledge/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/35-actor-input-fifo/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/40-subscription-matrix/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/50-subscription-removal/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/60-stop-in-the-circle/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/65-artifact-least-privilege/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/70-headless-counter/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/75-lsp-demo/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/80-actor-text-analysis/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/90-actor-notes/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/95-hello-world/SKILL.md +12 -0
- package/bundles/ragents.reference/skills/decision-brief/SKILL.md +33 -0
- package/bundles/ragents.reference/skills/learning-sprint/SKILL.md +33 -0
- package/bundles/ragents.reference/web/classes.json +1 -0
- package/bundles/ragents.reference/web/index.js +2 -0
- package/bundles/ragents.reference/web/index.js.map +7 -0
- package/bundles/ragents.todo/ragents-bundle.json +48 -0
- package/bundles/ragents.todo/server/index.js +108 -0
- package/bundles/ragents.todo/server/index.js.map +7 -0
- package/bundles/ragents.todo/web/classes.json +1 -0
- package/bundles/ragents.todo/web/index.js +2 -0
- package/bundles/ragents.todo/web/index.js.map +7 -0
- package/bundles/ragents.transcript/ragents-bundle.json +34 -0
- package/bundles/ragents.transcript/server/index.js +102 -0
- package/bundles/ragents.transcript/server/index.js.map +7 -0
- package/bundles/ragents.watch/ragents-bundle.json +39 -0
- package/bundles/ragents.watch/server/chunks/chunk-FHAM6OML.js +11 -0
- package/bundles/ragents.watch/server/chunks/chunk-FHAM6OML.js.map +7 -0
- package/bundles/ragents.watch/server/chunks/chunk-RPBX3J4P.js +10 -0
- package/bundles/ragents.watch/server/chunks/chunk-RPBX3J4P.js.map +7 -0
- package/bundles/ragents.watch/server/exports/contract.js +9 -0
- package/bundles/ragents.watch/server/exports/contract.js.map +7 -0
- package/bundles/ragents.watch/server/exports/server/contract.js +9 -0
- package/bundles/ragents.watch/server/exports/server/contract.js.map +7 -0
- package/bundles/ragents.watch/server/index.js +482 -0
- package/bundles/ragents.watch/server/index.js.map +7 -0
- package/bundles/ragents.workspace/prompt.hbs +7 -0
- package/bundles/ragents.workspace/ragents-bundle.json +148 -0
- package/bundles/ragents.workspace/server/index.js +1049 -0
- package/bundles/ragents.workspace/server/index.js.map +7 -0
- package/bundles/ragents.workspace/web/classes.json +1 -0
- package/bundles/ragents.workspace/web/index.js +39 -0
- package/bundles/ragents.workspace/web/index.js.map +7 -0
- package/package.json +4 -15
- package/packages/agent/dist/core/agent-session-runtime.d.ts +33 -0
- package/packages/agent/dist/core/agent-session-services.d.ts +35 -0
- package/packages/agent/dist/core/agent-session.d.ts +234 -0
- package/packages/agent/dist/core/agent-settings.d.ts +27 -0
- package/packages/agent/dist/core/auth-guidance.d.ts +4 -0
- package/packages/agent/dist/core/compaction/compaction.d.ts +116 -0
- package/packages/agent/dist/core/compaction/index.d.ts +6 -0
- package/packages/agent/dist/core/compaction/utils.d.ts +39 -0
- package/packages/agent/dist/core/defaults.d.ts +3 -0
- package/packages/agent/dist/core/extensions/index.d.ts +11 -0
- package/packages/agent/dist/core/extensions/loader.d.ts +12 -0
- package/packages/agent/dist/core/extensions/runner.d.ts +39 -0
- package/packages/agent/dist/core/extensions/types.d.ts +156 -0
- package/packages/agent/dist/core/extensions/wrapper.d.ts +12 -0
- package/packages/agent/dist/core/messages.d.ts +37 -0
- package/packages/agent/dist/core/model-runtime.d.ts +32 -0
- package/packages/agent/dist/core/provider-composer.d.ts +25 -0
- package/packages/agent/dist/core/resource-loader.d.ts +39 -0
- package/packages/agent/dist/core/sdk.d.ts +38 -0
- package/packages/agent/dist/core/session-manager.d.ts +189 -0
- package/packages/agent/dist/core/skills.d.ts +20 -0
- package/packages/agent/dist/core/source-info.d.ts +16 -0
- package/packages/agent/dist/core/system-prompt.d.ts +21 -0
- package/packages/agent/dist/core/tools/bash.d.ts +63 -0
- package/packages/agent/dist/core/tools/edit-diff.d.ts +98 -0
- package/packages/agent/dist/core/tools/edit.d.ts +41 -0
- package/packages/agent/dist/core/tools/file-mutation-queue.d.ts +6 -0
- package/packages/agent/dist/core/tools/index.d.ts +5 -0
- package/packages/agent/dist/core/tools/output-accumulator.d.ts +58 -0
- package/packages/agent/dist/core/tools/path-utils.d.ts +8 -0
- package/packages/agent/dist/core/tools/read.d.ts +33 -0
- package/packages/agent/dist/core/tools/truncate.d.ts +61 -0
- package/packages/agent/dist/core/tools/write.d.ts +23 -0
- package/packages/agent/dist/index.d.ts +13 -0
- package/packages/agent/dist/loop/agent-loop.d.ts +13 -0
- package/packages/agent/dist/loop/agent.d.ts +103 -0
- package/packages/agent/dist/loop/index.d.ts +5 -0
- package/packages/agent/dist/loop/types.d.ts +333 -0
- package/packages/agent/dist/loop/uuid.d.ts +2 -0
- package/packages/agent/dist/utils/child-process.d.ts +17 -0
- package/packages/agent/dist/utils/exif-orientation.d.ts +5 -0
- package/packages/agent/dist/utils/frontmatter.d.ts +8 -0
- package/packages/agent/dist/utils/image-convert.d.ts +2 -0
- package/packages/agent/dist/utils/image-process.d.ts +18 -0
- package/packages/agent/dist/utils/image-resize-core.d.ts +30 -0
- package/packages/agent/dist/utils/image-resize-worker.d.ts +2 -0
- package/packages/agent/dist/utils/image-resize.d.ts +16 -0
- package/packages/agent/dist/utils/mime.d.ts +3 -0
- package/packages/agent/dist/utils/paths.d.ts +15 -0
- package/packages/agent/dist/utils/photon.d.ts +21 -0
- package/packages/agent/dist/utils/shell.d.ts +17 -0
- package/packages/agent/dist/utils/sleep.d.ts +5 -0
- package/packages/agent/package.json +3 -32
- package/packages/agent/src/core/agent-session-runtime.ts +15 -469
- package/packages/agent/src/core/agent-session-services.ts +17 -167
- package/packages/agent/src/core/agent-session.ts +154 -2403
- package/packages/agent/src/core/agent-settings.ts +20 -0
- package/packages/agent/src/core/auth-guidance.ts +0 -4
- package/packages/agent/src/core/compaction/compaction.ts +4 -33
- package/packages/agent/src/core/compaction/index.ts +0 -1
- package/packages/agent/src/core/compaction/utils.ts +2 -2
- package/packages/agent/src/core/defaults.ts +1 -1
- package/packages/agent/src/core/extensions/index.ts +6 -117
- package/packages/agent/src/core/extensions/loader.ts +21 -605
- package/packages/agent/src/core/extensions/runner.ts +48 -969
- package/packages/agent/src/core/extensions/types.ts +35 -1298
- package/packages/agent/src/core/extensions/wrapper.ts +13 -34
- package/packages/agent/src/core/messages.ts +5 -109
- package/packages/agent/src/core/model-runtime.ts +109 -467
- package/packages/agent/src/core/provider-composer.ts +21 -451
- package/packages/agent/src/core/resource-loader.ts +18 -822
- package/packages/agent/src/core/sdk.ts +46 -281
- package/packages/agent/src/core/session-manager.ts +11 -891
- package/packages/agent/src/core/skills.ts +8 -440
- package/packages/agent/src/core/source-info.ts +0 -12
- package/packages/agent/src/core/system-prompt.ts +2 -41
- package/packages/agent/src/core/tools/bash.ts +20 -32
- package/packages/agent/src/core/tools/edit-diff.ts +0 -60
- package/packages/agent/src/core/tools/edit.ts +2 -18
- package/packages/agent/src/core/tools/index.ts +4 -130
- package/packages/agent/src/core/tools/output-accumulator.ts +33 -5
- package/packages/agent/src/core/tools/path-utils.ts +2 -49
- package/packages/agent/src/core/tools/read.ts +4 -12
- package/packages/agent/src/core/tools/truncate.ts +0 -15
- package/packages/agent/src/core/tools/write.ts +1 -8
- package/packages/agent/src/index.ts +11 -272
- package/packages/{agent-core/src → agent/src/loop}/agent-loop.ts +127 -273
- package/packages/{agent-core/src → agent/src/loop}/agent.ts +12 -164
- package/packages/{agent-core/src → agent/src/loop}/types.ts +6 -105
- package/packages/agent/src/utils/child-process.ts +0 -13
- package/packages/agent/src/utils/image-convert.ts +0 -25
- package/packages/agent/src/utils/paths.ts +1 -71
- package/packages/agent/src/utils/shell.ts +13 -156
- package/packages/ai/dist/api/ai-sdk-messages.d.ts +9 -0
- package/packages/ai/dist/api/ai-sdk-transport.d.ts +13 -0
- package/packages/ai/dist/api/ai-sdk.d.ts +13 -0
- package/packages/ai/dist/api/ai-sdk.lazy.d.ts +3 -0
- package/packages/ai/dist/api/lazy.d.ts +15 -0
- package/packages/ai/dist/api/simple-options.d.ts +4 -0
- package/packages/ai/dist/api/transform-messages.d.ts +8 -0
- package/packages/ai/dist/api-registry.d.ts +25 -0
- package/packages/ai/dist/auth/context.d.ts +4 -0
- package/packages/ai/dist/auth/helpers.d.ts +4 -0
- package/packages/ai/dist/auth/resolve.d.ts +19 -0
- package/packages/ai/dist/auth/types.d.ts +51 -0
- package/packages/ai/dist/env-api-keys.d.ts +8 -0
- package/packages/ai/dist/index.d.ts +19 -0
- package/packages/ai/dist/models.d.ts +71 -0
- package/packages/ai/dist/models.generated.d.ts +8021 -0
- package/packages/ai/dist/providers/all.d.ts +15 -0
- package/packages/ai/dist/providers/faux.d.ts +97 -0
- package/packages/ai/dist/providers/openrouter.d.ts +3 -0
- package/packages/ai/dist/providers/openrouter.models.d.ts +8019 -0
- package/packages/ai/dist/types.d.ts +541 -0
- package/packages/ai/dist/utils/diagnostics.d.ts +13 -0
- package/packages/ai/dist/utils/error-body.d.ts +25 -0
- package/packages/ai/dist/utils/estimate.d.ts +17 -0
- package/packages/ai/dist/utils/event-stream.d.ts +21 -0
- package/packages/ai/dist/utils/headers.d.ts +2 -0
- package/packages/ai/dist/utils/json-parse.d.ts +16 -0
- package/packages/ai/dist/utils/overflow.d.ts +54 -0
- package/packages/ai/dist/utils/provider-env.d.ts +7 -0
- package/packages/ai/dist/utils/retry.d.ts +12 -0
- package/packages/ai/dist/utils/sanitize-unicode.d.ts +22 -0
- package/packages/ai/dist/utils/typebox-helpers.d.ts +17 -0
- package/packages/ai/dist/utils/validation.d.ts +10 -0
- package/packages/ai/package.json +2 -6
- package/packages/ai/src/api/ai-sdk-transport.ts +2 -2
- package/packages/ai/src/api/simple-options.ts +0 -34
- package/packages/ai/src/api-registry.ts +1 -12
- package/packages/ai/src/auth/context.ts +1 -30
- package/packages/ai/src/auth/helpers.ts +3 -34
- package/packages/ai/src/auth/resolve.ts +10 -108
- package/packages/ai/src/auth/types.ts +9 -176
- package/packages/ai/src/index.ts +1 -13
- package/packages/ai/src/models.ts +41 -407
- package/packages/ai/src/providers/all.ts +3 -31
- package/packages/ai/src/providers/openrouter.models.ts +14 -0
- package/packages/ai/src/types.ts +0 -104
- package/packages/ai/src/utils/diagnostics.ts +0 -32
- package/packages/ai/src/utils/headers.ts +0 -11
- package/packages/ai/src/utils/overflow.ts +0 -7
- package/packages/ai/src/utils/validation.ts +0 -15
- package/packages/ragents/package.json +3 -6
- package/packages/ragents/src/access.ts +2 -1
- package/packages/ragents/src/agents/actor-input.ts +14 -18
- package/packages/ragents/src/agents/catalog.ts +3 -3
- package/packages/ragents/src/agents/plugins.ts +0 -4
- package/packages/ragents/src/agents/scheduler.ts +232 -78
- package/packages/ragents/src/agents/schemas.ts +1 -36
- package/packages/ragents/src/agents/tool-orientation.ts +1 -1
- package/packages/ragents/src/agents/tools.ts +72 -73
- package/packages/ragents/src/agents/toolset.ts +5 -5
- package/packages/ragents/src/agents/turn.ts +2 -14
- package/packages/ragents/src/agents/workspaces.ts +18 -0
- package/packages/ragents/src/domain/actor-reference.ts +22 -0
- package/packages/ragents/src/domain/driver.ts +0 -9
- package/packages/ragents/src/domain/event-semantics.ts +62 -74
- package/packages/ragents/src/domain/event-validation.ts +22 -21
- package/packages/ragents/src/domain/events.ts +19 -7
- package/packages/ragents/src/domain/json.ts +2 -0
- package/packages/ragents/src/domain/model.ts +40 -18
- package/packages/ragents/src/domain/projection.ts +43 -15
- package/packages/ragents/src/domain/schema-errors.ts +3 -3
- package/packages/ragents/src/drivers/agent-hooks.ts +40 -0
- package/packages/ragents/src/drivers/agent-runtime.ts +118 -186
- package/packages/ragents/src/drivers/agent.ts +5 -20
- package/packages/ragents/src/drivers/attachments.ts +4 -24
- package/packages/ragents/src/drivers/skill-preload.ts +4 -16
- package/packages/ragents/src/drivers/types.ts +20 -3
- package/packages/ragents/src/http/contracts.ts +16 -3
- package/packages/ragents/src/http/methods.ts +32 -33
- package/packages/ragents/src/index.ts +5 -15
- package/packages/ragents/src/plugin-host.ts +151 -105
- package/packages/ragents/src/plugin-types.ts +86 -23
- package/packages/ragents/src/rpc/peer.ts +6 -0
- package/packages/ragents/src/runtime/decisions/actions.ts +40 -37
- package/packages/ragents/src/runtime/decisions/actors.ts +90 -51
- package/packages/ragents/src/runtime/decisions/artifacts.ts +2 -2
- package/packages/ragents/src/runtime/decisions/inputs.ts +3 -3
- package/packages/ragents/src/runtime/decisions/subscriptions.ts +9 -7
- package/packages/ragents/src/runtime/decisions/turns.ts +37 -4
- package/packages/ragents/src/runtime/guards.ts +12 -21
- package/packages/ragents/src/runtime/journal-storage.ts +4 -2
- package/packages/ragents/src/runtime/journal.ts +1 -1
- package/packages/ragents/src/runtime/orchestration.ts +31 -14
- package/packages/ragents/src/runtime/serial-queue.ts +24 -0
- package/packages/ragents/src/runtime/stop.ts +19 -44
- package/packages/ragents/src/script/mediators.ts +4 -5
- package/packages/ragents/src/typescript/index.ts +2 -0
- package/packages/ragents/src/typescript/run-context.ts +10 -8
- package/packages/ragents/src/typescript/snippet.ts +7 -6
- package/packages/workspace-executor/package.json +2 -2
- package/packages/workspace-executor/src/bash-launch.ts +45 -0
- package/packages/workspace-executor/src/browser/contract.ts +71 -0
- package/packages/workspace-executor/src/browser/module.ts +74 -0
- package/packages/workspace-executor/src/browser/pages.ts +298 -0
- package/packages/workspace-executor/src/browser/playwright.ts +52 -0
- package/packages/workspace-executor/src/commands.ts +170 -0
- package/packages/workspace-executor/src/context.ts +34 -6
- package/packages/workspace-executor/src/errors.ts +12 -0
- package/packages/workspace-executor/src/executor.ts +62 -104
- package/packages/workspace-executor/src/files.ts +287 -0
- package/packages/workspace-executor/src/index.ts +82 -18
- package/packages/workspace-executor/src/language-server/adapters/roslyn.ts +1 -0
- package/packages/workspace-executor/src/language-server/contract.ts +14 -0
- package/packages/workspace-executor/src/language-server/host.ts +82 -26
- package/packages/workspace-executor/src/language-server/module.ts +107 -0
- package/packages/workspace-executor/src/language-server/workspace-solutions.ts +90 -0
- package/packages/workspace-executor/src/managed-process.ts +1 -1
- package/packages/workspace-executor/src/module.ts +35 -0
- package/packages/workspace-executor/src/modules.ts +25 -0
- package/packages/workspace-executor/src/paths.ts +57 -5
- package/packages/workspace-executor/src/process-sandbox.ts +16 -0
- package/packages/workspace-executor/src/processes/module.ts +48 -0
- package/{plugins/ragents.processes/server → packages/workspace-executor/src/processes}/process-table.ts +80 -57
- package/packages/workspace-executor/src/processes/scanner.ts +106 -0
- package/{plugins/ragents.processes/server → packages/workspace-executor/src/processes}/snapshot.ts +23 -11
- package/{plugins/ragents.processes/server → packages/workspace-executor/src/processes}/terminator.ts +19 -20
- package/packages/workspace-executor/src/run-folders.ts +33 -0
- package/packages/workspace-executor/src/safe-environment.ts +14 -0
- package/packages/workspace-executor/src/sandbox-tools.ts +206 -36
- package/packages/workspace-executor/src/shell-platform.ts +2 -2
- package/plugins/package.json +1 -1
- package/plugins/ragents.activity/ragents-plugin.json +3 -0
- package/plugins/ragents.activity/server/index.ts +2 -2
- package/plugins/ragents.activity/web/ActivityHeader.tsx +2 -2
- package/plugins/ragents.activity/web/activity.ts +1 -1
- package/plugins/ragents.activity/web/index.tsx +1 -1
- package/plugins/ragents.actor-programs/prompt.hbs +8 -7
- package/plugins/ragents.actor-programs/ragents-plugin.json +3 -0
- package/plugins/ragents.actor-programs/server/agent-tools.ts +3 -3
- package/{apps/server/src/plugin-support/actor-programs → plugins/ragents.actor-programs/server}/capability-resolver.ts +1 -16
- package/plugins/ragents.actor-programs/server/controls-template.ts +5 -18
- package/plugins/ragents.actor-programs/server/controls-tool.ts +8 -11
- package/plugins/ragents.actor-programs/server/index.ts +10 -10
- package/{apps/server/src/plugin-support/actor-programs → plugins/ragents.actor-programs/server}/limits.ts +4 -4
- package/plugins/ragents.actor-programs/server/methods.ts +2 -2
- package/{apps/server/src/plugin-support/actor-programs → plugins/ragents.actor-programs/server}/operations.ts +2 -4
- package/plugins/ragents.actor-programs/server/project-diagnostics.ts +65 -70
- package/plugins/ragents.actor-programs/server/prompts.ts +4 -4
- package/plugins/ragents.actor-programs/server/routes.ts +14 -8
- package/plugins/ragents.actor-programs/server/runtime.ts +132 -55
- package/plugins/ragents.actor-programs/server/templates.ts +35 -80
- package/plugins/ragents.actor-programs/server/test-report.ts +106 -0
- package/plugins/ragents.actor-programs/server/tool-contributor.ts +4 -4
- package/plugins/ragents.actor-programs/summary.hbs +1 -1
- package/plugins/ragents.actor-programs/web/ActorViewFrame.tsx +15 -10
- package/plugins/ragents.actor-programs/web/AppsPanel.tsx +47 -30
- package/plugins/ragents.actor-programs/web/EmbeddedApps.tsx +15 -17
- package/plugins/ragents.actor-programs/web/FullscreenHost.tsx +3 -3
- package/plugins/ragents.actor-programs/web/FunctionForm.tsx +3 -3
- package/plugins/ragents.actor-programs/web/ProgramSource.tsx +12 -3
- package/plugins/ragents.actor-programs/web/api.ts +5 -5
- package/plugins/ragents.actor-programs/web/bridge.ts +2 -3
- package/plugins/ragents.actor-programs/web/chat-state.ts +9 -8
- package/plugins/ragents.actor-programs/web/index.tsx +7 -17
- package/plugins/ragents.actor-programs/web/program-state.ts +3 -3
- package/plugins/ragents.actor-programs/web/state-revision.ts +2 -2
- package/plugins/ragents.ask/ask-payload.ts +25 -0
- package/plugins/ragents.ask/contract.ts +2 -2
- package/plugins/ragents.ask/ragents-plugin.json +7 -0
- package/plugins/ragents.ask/server/answer-method.ts +1 -1
- package/plugins/ragents.ask/server/ask-service.ts +43 -19
- package/plugins/ragents.ask/server/ask-tool.ts +2 -2
- package/plugins/ragents.ask/server/contract.ts +9 -1
- package/plugins/ragents.ask/server/index.ts +8 -10
- package/plugins/ragents.ask/server/tool-contributor.ts +3 -3
- package/plugins/ragents.ask/web/AskActionView.tsx +36 -0
- package/{apps/web/src/chat → plugins/ragents.ask/web}/QuestionCard.tsx +7 -5
- package/plugins/ragents.ask/web/QuestionSection.tsx +22 -21
- package/plugins/ragents.ask/web/api.ts +1 -1
- package/plugins/ragents.ask/web/index.tsx +11 -8
- package/plugins/ragents.browser/provision.ts +9 -8
- package/plugins/ragents.browser/ragents-plugin.json +6 -0
- package/plugins/ragents.browser/server/browser.ts +165 -286
- package/plugins/ragents.browser/server/contract.ts +8 -19
- package/plugins/ragents.browser/server/index.ts +8 -7
- package/plugins/ragents.browser/server/tools.ts +29 -37
- package/plugins/ragents.browser/skills/browser-testing/SKILL.md +3 -1
- package/plugins/ragents.documents/contract.ts +4 -2
- package/plugins/ragents.documents/ragents-plugin.json +6 -0
- package/plugins/ragents.documents/server/config.ts +1 -1
- package/plugins/ragents.documents/server/document-write-tool.ts +2 -2
- package/plugins/ragents.documents/server/files-route.ts +2 -3
- package/plugins/ragents.documents/server/index.ts +10 -11
- package/plugins/ragents.documents/server/show-document-tool.ts +2 -2
- package/plugins/ragents.documents/server/store.ts +3 -3
- package/plugins/ragents.documents/server/tool-contributor.ts +3 -3
- package/plugins/ragents.documents/web/DocumentViewer.tsx +5 -6
- package/plugins/ragents.documents/web/api.ts +1 -1
- package/plugins/ragents.documents/web/index.tsx +4 -4
- package/plugins/ragents.lsp-fsharp/provision.ts +2 -2
- package/plugins/ragents.lsp-fsharp/ragents-plugin.json +3 -0
- package/plugins/ragents.lsp-fsharp/server/index.ts +3 -3
- package/plugins/ragents.lsp-fsharp/web/index.tsx +1 -1
- package/plugins/ragents.lsp-roslyn/provision.ts +2 -2
- package/plugins/ragents.lsp-roslyn/ragents-plugin.json +3 -0
- package/plugins/ragents.lsp-roslyn/server/index.ts +47 -8
- package/plugins/ragents.lsp-roslyn/server/solution-on-start.ts +145 -0
- package/plugins/ragents.lsp-roslyn/web/index.tsx +1 -1
- package/plugins/ragents.lsp-typescript/ragents-plugin.json +3 -0
- package/plugins/ragents.lsp-typescript/server/index.ts +3 -3
- package/plugins/ragents.lsp-typescript/web/index.tsx +1 -1
- package/plugins/ragents.model-relay/ragents-plugin.json +3 -0
- package/plugins/ragents.model-relay/server/config.ts +5 -31
- package/plugins/ragents.model-relay/server/index.ts +5 -6
- package/plugins/ragents.model-relay/server/relay.ts +8 -9
- package/plugins/ragents.orchestration/contract.ts +13 -14
- package/plugins/ragents.orchestration/orchestration.hbs +4 -3
- package/plugins/ragents.orchestration/ragents-plugin.json +6 -0
- package/plugins/ragents.orchestration/server/index.ts +13 -16
- package/plugins/ragents.orchestration/server/run-stop-tool.ts +4 -4
- package/plugins/ragents.orchestration/server/{canvas-tool.ts → surface-tool.ts} +42 -43
- package/plugins/ragents.orchestration/surface.hbs +34 -0
- package/plugins/ragents.orchestration/tiled-layout.ts +16 -16
- package/plugins/ragents.orchestration/web/ActorChat.tsx +16 -14
- package/plugins/ragents.orchestration/web/ActorChatControls.tsx +23 -26
- package/plugins/ragents.orchestration/web/ActorChatPreview.tsx +5 -6
- package/plugins/ragents.orchestration/web/ActorPopout.tsx +7 -5
- package/plugins/ragents.orchestration/web/ActorShortcut.tsx +16 -16
- package/plugins/ragents.orchestration/web/{ActorCanvasControls.tsx → ActorSurfaceControls.tsx} +23 -28
- package/plugins/ragents.orchestration/web/ActorTile.tsx +2 -2
- package/plugins/ragents.orchestration/web/Center.tsx +47 -55
- package/plugins/ragents.orchestration/web/DocumentsSection.tsx +4 -4
- package/plugins/ragents.orchestration/web/ExecutionsPanel.tsx +7 -7
- package/plugins/ragents.orchestration/web/FlowInspector.tsx +24 -42
- package/plugins/ragents.orchestration/web/JournalStatus.tsx +8 -8
- package/plugins/ragents.orchestration/web/MaterialBody.tsx +5 -5
- package/plugins/ragents.orchestration/web/StopRunButton.tsx +6 -6
- package/plugins/ragents.orchestration/web/SurfaceStartup.tsx +8 -0
- package/plugins/ragents.orchestration/web/{CanvasTiles.tsx → SurfaceTiles.tsx} +18 -18
- package/plugins/ragents.orchestration/web/{TiledCanvas.tsx → TiledSurface.tsx} +22 -22
- package/plugins/ragents.orchestration/web/actor-header-settings.ts +2 -2
- package/plugins/ragents.orchestration/web/api.ts +4 -10
- package/plugins/ragents.orchestration/web/constants.ts +0 -1
- package/plugins/ragents.orchestration/web/executions.ts +3 -3
- package/plugins/ragents.orchestration/web/index.tsx +19 -124
- package/plugins/ragents.orchestration/web/program-slot.ts +14 -0
- package/plugins/ragents.orchestration/web/run-panel/AddresseeControl.tsx +95 -0
- package/plugins/ragents.orchestration/web/run-panel/AddresseeTree.tsx +109 -0
- package/plugins/ragents.orchestration/web/{column/RunColumn.tsx → run-panel/RunPanel.tsx} +211 -83
- package/plugins/ragents.orchestration/web/{column/ColumnSettings.tsx → run-panel/RunPanelSettings.tsx} +13 -13
- package/plugins/ragents.orchestration/web/run-panel/addressee-tree.ts +165 -0
- package/plugins/ragents.orchestration/web/{column/column-actors.ts → run-panel/run-panel-actors.ts} +14 -13
- package/plugins/ragents.orchestration/web/run-panel/run-panel-settings.ts +47 -0
- package/plugins/ragents.orchestration/web/run-panel/run-panel-startup.ts +30 -0
- package/plugins/ragents.orchestration/web/run-panel/run-panel-state.ts +71 -0
- package/plugins/ragents.orchestration/web/{column → run-panel}/sheet-status.ts +4 -4
- package/plugins/ragents.orchestration/web/{canvas-stage.ts → surface-entities.ts} +2 -2
- package/plugins/ragents.orchestration/web/{canvas-startup.ts → surface-startup.ts} +7 -10
- package/plugins/ragents.orchestration/web/surface-view-settings.ts +42 -0
- package/plugins/ragents.orchestration/web/tile-docking.ts +14 -14
- package/plugins/ragents.orchestration/web/tiled-view-settings.ts +26 -26
- package/plugins/ragents.overseer/contract.ts +20 -14
- package/plugins/ragents.overseer/ragents-plugin.json +3 -0
- package/plugins/ragents.overseer/server/api.ts +34 -23
- package/plugins/ragents.overseer/server/coordinator-prompt.ts +3 -3
- package/plugins/ragents.overseer/server/coordinator.ts +19 -0
- package/plugins/ragents.overseer/server/index.ts +39 -27
- package/plugins/ragents.overseer/server/orientation.ts +4 -5
- package/plugins/ragents.overseer/server/quick-answer.ts +5 -4
- package/plugins/ragents.overseer/server/reset-method.ts +4 -3
- package/plugins/ragents.overseer/server/run-directory.ts +5 -5
- package/plugins/ragents.overseer/server/settings-method.ts +1 -1
- package/plugins/ragents.overseer/server/settings.ts +6 -6
- package/plugins/ragents.overseer/server/user-location.ts +20 -19
- package/plugins/ragents.overseer/web/ModelSettings.tsx +4 -4
- package/plugins/ragents.overseer/web/chat-display.ts +1 -1
- package/plugins/ragents.overseer/web/index.tsx +51 -26
- package/plugins/ragents.overseer/web/model-settings.ts +1 -1
- package/plugins/ragents.overseer/web/quick-answers.ts +2 -2
- package/plugins/ragents.processes/contract.ts +5 -5
- package/plugins/ragents.processes/ragents-plugin.json +3 -0
- package/plugins/ragents.processes/server/index.ts +13 -19
- package/plugins/ragents.processes/server/methods.ts +18 -20
- package/plugins/ragents.processes/server/observer.ts +64 -104
- package/plugins/ragents.processes/server/run-processes.ts +24 -0
- package/plugins/ragents.processes/web/ProcessHeader.tsx +13 -16
- package/plugins/ragents.processes/web/index.tsx +2 -1
- package/plugins/ragents.processes/web/processes.ts +1 -1
- package/plugins/ragents.product/ragents-plugin.json +3 -0
- package/plugins/ragents.product/server/config.ts +12 -13
- package/plugins/ragents.product/server/index.ts +15 -16
- package/plugins/ragents.product/server/runtime.ts +2 -2
- package/plugins/ragents.product/web/index.tsx +3 -3
- package/plugins/ragents.profile-distribution/contract.ts +6 -9
- package/plugins/ragents.profile-distribution/ragents-plugin.json +3 -0
- package/plugins/ragents.profile-distribution/server/archive.ts +26 -51
- package/plugins/ragents.profile-distribution/server/config.ts +2 -2
- package/plugins/ragents.profile-distribution/server/index.ts +9 -16
- package/plugins/ragents.reference/examples.ts +1 -1
- package/plugins/ragents.reference/ragents-plugin.json +3 -0
- package/plugins/ragents.reference/run-scripts/balcony-wizard/RUN.md +2 -2
- package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +1 -1
- package/plugins/ragents.reference/run-scripts/balcony-wizard/src/server.ts +1 -1
- package/plugins/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +4 -4
- package/plugins/ragents.reference/run-scripts/conversation-circle/RUN.md +1 -1
- package/plugins/ragents.reference/run-scripts/conversation-circle/src/server.ts +1 -1
- package/plugins/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +1 -1
- package/plugins/ragents.reference/run-scripts/learning-afternoon/RUN.md +2 -2
- package/plugins/ragents.reference/run-scripts/learning-afternoon/src/client.tsx +1 -1
- package/plugins/ragents.reference/run-scripts/learning-afternoon/src/server.ts +1 -1
- package/plugins/ragents.reference/run-scripts/learning-afternoon/src/state.ts +2 -2
- package/plugins/ragents.reference/run-scripts/learning-afternoon/src/view.tsx +11 -11
- package/plugins/ragents.reference/run-scripts/learning-afternoon/src/workflow.ts +15 -15
- package/plugins/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +3 -8
- package/plugins/ragents.reference/run-scripts/moderated-round/src/server.ts +1 -1
- package/plugins/ragents.reference/run-scripts/moderated-round/tests/helpers.ts +1 -1
- package/plugins/ragents.reference/run-scripts/moderated-round/tests/program.test.ts +2 -2
- package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/client.tsx +6 -6
- package/plugins/ragents.reference/run-scripts/shared-actor-list/src/server.ts +3 -3
- package/plugins/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +1 -1
- package/plugins/ragents.reference/run-scripts/word-game/RUN.md +1 -1
- package/plugins/ragents.reference/run-scripts/word-game/src/client.tsx +1 -1
- package/plugins/ragents.reference/run-scripts/word-game/src/server.ts +1 -2
- package/plugins/ragents.reference/run-scripts/word-game/src/state.ts +6 -6
- package/plugins/ragents.reference/run-scripts/word-game/src/view.tsx +14 -14
- package/plugins/ragents.reference/run-scripts/word-game/tests/program.test.ts +4 -5
- package/plugins/ragents.reference/server/index.ts +2 -2
- package/plugins/ragents.reference/skills/160-learning-companion/SKILL.md +1 -1
- package/plugins/ragents.reference/skills/240-live-result-list/SKILL.md +1 -1
- package/plugins/ragents.reference/skills/250-balcony-wizard/SKILL.md +1 -1
- package/plugins/ragents.reference/skills/90-actor-notes/SKILL.md +1 -1
- package/plugins/ragents.reference/skills/95-hello-world/SKILL.md +2 -2
- package/plugins/ragents.reference/skills/decision-brief/SKILL.md +2 -2
- package/plugins/ragents.reference/walkthroughs.ts +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 +3 -1
- 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/auth-storage.ts +0 -271
- package/packages/agent/src/core/bash-executor.ts +0 -156
- package/packages/agent/src/core/compaction/branch-summarization.ts +0 -372
- package/packages/agent/src/core/diagnostics.ts +0 -15
- package/packages/agent/src/core/event-bus.ts +0 -33
- package/packages/agent/src/core/exec.ts +0 -107
- package/packages/agent/src/core/experimental.ts +0 -3
- package/packages/agent/src/core/footer-data-provider.ts +0 -388
- package/packages/agent/src/core/http-dispatcher.ts +0 -106
- package/packages/agent/src/core/index.ts +0 -78
- package/packages/agent/src/core/model-config.ts +0 -287
- package/packages/agent/src/core/model-registry.ts +0 -126
- package/packages/agent/src/core/model-resolver.ts +0 -675
- package/packages/agent/src/core/output-guard.ts +0 -108
- package/packages/agent/src/core/package-manager.ts +0 -2441
- package/packages/agent/src/core/prompt-templates.ts +0 -284
- package/packages/agent/src/core/resolve-config-value.ts +0 -287
- package/packages/agent/src/core/runtime-credentials.ts +0 -48
- package/packages/agent/src/core/session-cwd.ts +0 -59
- package/packages/agent/src/core/settings-manager.ts +0 -1212
- package/packages/agent/src/core/slash-commands.ts +0 -41
- package/packages/agent/src/core/timings.ts +0 -50
- package/packages/agent/src/core/tools/tool-definition-wrapper.ts +0 -45
- package/packages/agent/src/core/trust-manager.ts +0 -244
- package/packages/agent/src/utils/ansi.ts +0 -60
- package/packages/agent/src/utils/fs-watch.ts +0 -30
- package/packages/agent/src/utils/git.ts +0 -226
- package/packages/agent/src/utils/json.ts +0 -6
- package/packages/agent/src/utils/tools-manager.ts +0 -63
- package/packages/agent-core/package.json +0 -32
- package/packages/ai/src/api/openrouter-images.lazy.ts +0 -10
- package/packages/ai/src/api/openrouter-images.ts +0 -98
- package/packages/ai/src/auth/credential-store.ts +0 -51
- package/packages/ai/src/compat/extension-oauth-types.ts +0 -45
- package/packages/ai/src/image-models.generated.ts +0 -533
- package/packages/ai/src/images-models.ts +0 -274
- package/packages/ai/src/models-store.ts +0 -38
- package/packages/ai/src/oauth.ts +0 -10
- package/packages/ai/src/providers/openrouter-images.ts +0 -14
- package/packages/ai/src/session-resources.ts +0 -24
- package/packages/ai/src/utils/abort-signals.ts +0 -41
- package/packages/ai/src/utils/deferred-tools.ts +0 -39
- package/packages/ai/src/utils/hash.ts +0 -13
- package/packages/ai/src/utils/node-http-proxy.ts +0 -112
- package/plugins/ragents.actor-programs/server/client-runtime.ts +0 -16
- package/plugins/ragents.ask/web/constants.ts +0 -1
- package/plugins/ragents.lsp-roslyn/web/api.ts +0 -10
- package/plugins/ragents.orchestration/web/CanvasStartup.tsx +0 -14
- package/plugins/ragents.orchestration/web/canvas-view-settings.ts +0 -42
- package/plugins/ragents.orchestration/web/column/AddresseeControl.tsx +0 -116
- package/plugins/ragents.orchestration/web/column/column-settings.ts +0 -47
- package/plugins/ragents.orchestration/web/column/column-state.ts +0 -68
- package/plugins/ragents.orchestration/web/contract.ts +0 -25
- package/plugins/ragents.product/model-settings-contract.ts +0 -10
- package/plugins/ragents.profile-distribution/server/web.ts +0 -24
- /package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/authoring-contracts.ts +0 -0
- /package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/runtime-libraries.ts +0 -0
- /package/{plugins/ragents.actor-programs → apps/server/src/plugin-support/actor-programs}/workflow/prompt-reader.ts +0 -0
- /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/file-contracts.d.ts +0 -0
- /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/flow-diagram-contracts.d.ts +0 -0
- /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/flow-diagram.css +0 -0
- /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/form-contracts.d.ts +0 -0
- /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/frame-layout.ts +0 -0
- /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/table-contracts.d.ts +0 -0
- /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/viewer-contracts.d.ts +0 -0
- /package/{plugins/ragents.orchestration/canvas.hbs → bundles/ragents.orchestration/surface.hbs} +0 -0
- /package/packages/{agent-core/src → agent/src/loop}/index.ts +0 -0
- /package/packages/{agent-core/src → agent/src/loop}/uuid.ts +0 -0
|
@@ -10,37 +10,38 @@ import {
|
|
|
10
10
|
type ReactNode,
|
|
11
11
|
} from "react";
|
|
12
12
|
import { createPortal } from "react-dom";
|
|
13
|
-
import { ChatInputToolbar } from "
|
|
14
|
-
import { primaryIsProgram, programChatNotice, runIsWorking
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import { DetailModeSwitch } from "./chat/DetailModeSwitch";
|
|
13
|
+
import { ChatInputToolbar, ChatMessages, ChatPanel, type ChatAttachmentInput, type ChatEvent, type ToolInfo } from "quassel";
|
|
14
|
+
import { primaryChatState, primaryIsProgram, programChatNotice, runIsWorking } from "./chat/chat-target";
|
|
15
|
+
import { StoppedActorNotice } from "./chat/StoppedActorNotice";
|
|
16
|
+
import { ChatViewSwitches, useChatViewSettings } from "./chat-view-settings";
|
|
18
17
|
import { useChat } from "./chat/useChat";
|
|
19
18
|
import { runUserLocation, type ChatRunLocation } from "./chat/user-location";
|
|
20
|
-
import
|
|
21
|
-
import { type SessionInfo } from "./api";
|
|
19
|
+
import { dismissAction, interruptActorTurn, type SessionInfo } from "./api";
|
|
22
20
|
import { useRunStore } from "./RunStore";
|
|
23
21
|
import { withToolSummaries } from "./toolLine";
|
|
24
|
-
import { StartOptionBadges, StartOptionsProvider } from "./StartOptions";
|
|
22
|
+
import { StartOptionBadges, StartOptionControls, StartOptionsProvider, useStartOptions } from "./StartOptions";
|
|
25
23
|
import { useAttachmentCapabilities } from "./chat/useAttachmentCapabilities";
|
|
26
|
-
import {
|
|
24
|
+
import { StartSelection } from "./StartSelection";
|
|
27
25
|
import { WorkspacePanel, useWorkspacePanelState, type WorkspacePanelState } from "./WorkspacePanel";
|
|
28
26
|
import { StatusGroup } from "./StatusGroup";
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
27
|
+
import { SurfaceShortcuts } from "./SurfaceShortcuts";
|
|
28
|
+
import { RunPanelHeader } from "./run-panel/RunPanelHeader";
|
|
29
|
+
import { RunPanelRail } from "./run-panel/RunPanelRail";
|
|
30
|
+
import { RunPanelWorkspace } from "./run-panel/RunPanelWorkspace";
|
|
31
|
+
import { activeWorkspaceTab, saveRunPanelWorkspaceState, useRunPanelWorkspaceState } from "./run-panel/workspace-state";
|
|
31
32
|
import { ToolbarItem, ToolbarText } from "./Toolbar";
|
|
32
|
-
import { DialogTitle, Spinner } from "./ui";
|
|
33
|
-
import {
|
|
33
|
+
import { cn, DialogTitle, Spinner } from "./ui";
|
|
34
|
+
import { SurfaceModalContext, RunModalContext } from "./ui/dialog";
|
|
34
35
|
import { Modal } from "./ui/modal";
|
|
35
36
|
import {
|
|
36
37
|
ChatStepsProvider,
|
|
37
38
|
PluginSessionProviders,
|
|
39
|
+
useActionRenderer,
|
|
38
40
|
useToolRenderer,
|
|
39
|
-
useChatSteps,
|
|
40
41
|
primaryChatActor,
|
|
41
|
-
|
|
42
|
-
type
|
|
43
|
-
type
|
|
42
|
+
useSurfaceController,
|
|
43
|
+
type ChatDisplayOptions,
|
|
44
|
+
type PluginEvent,
|
|
44
45
|
type PluginRegistry,
|
|
45
46
|
type SessionContext,
|
|
46
47
|
type SessionNavigation,
|
|
@@ -50,10 +51,12 @@ import {
|
|
|
50
51
|
|
|
51
52
|
const chatElementClass = "flex h-full min-h-0 w-full min-w-0 flex-1 flex-col overflow-hidden rounded-lg border border-border-soft/60 bg-card/55";
|
|
52
53
|
|
|
53
|
-
/** workspace:
|
|
54
|
-
export type ChatLayout = "workspace" | "
|
|
54
|
+
/** workspace: Fläche und Werkstatt; panel: das Run-Panel; element: genau ein Flächenelement in voller Größe. */
|
|
55
|
+
export type ChatLayout = "workspace" | "panel" | { element: string };
|
|
55
56
|
|
|
56
57
|
interface PluginChatProps {
|
|
58
|
+
autoFocusChat?: boolean;
|
|
59
|
+
onAutoFocusChatSettled?: () => void;
|
|
57
60
|
layout?: ChatLayout;
|
|
58
61
|
toolbarContainer?: HTMLElement | null;
|
|
59
62
|
statusContainer?: HTMLElement | null;
|
|
@@ -70,6 +73,8 @@ interface PluginChatProps {
|
|
|
70
73
|
}
|
|
71
74
|
|
|
72
75
|
interface ChatWorkspaceProps {
|
|
76
|
+
autoFocusChat?: boolean;
|
|
77
|
+
onAutoFocusChatSettled?: () => void;
|
|
73
78
|
layout: ChatLayout;
|
|
74
79
|
toolbarContainer?: HTMLElement | null;
|
|
75
80
|
statusContainer?: HTMLElement | null;
|
|
@@ -78,11 +83,10 @@ interface ChatWorkspaceProps {
|
|
|
78
83
|
headerContainer?: HTMLElement | null;
|
|
79
84
|
workspaceHeaderContainer?: HTMLElement | null;
|
|
80
85
|
startDialog?: { onClose: () => void; initialEntryId?: string };
|
|
81
|
-
onStarted
|
|
86
|
+
onStarted: () => void;
|
|
82
87
|
onModalContainer: (element: HTMLDivElement | null) => void;
|
|
83
|
-
|
|
88
|
+
onSurfaceModalContainer: (element: HTMLDivElement | null) => void;
|
|
84
89
|
navigation: SessionNavigation;
|
|
85
|
-
onCenterModeChange: (mode: SessionContext["centerMode"]) => void;
|
|
86
90
|
pendingTabIds: readonly string[];
|
|
87
91
|
registry: PluginRegistry;
|
|
88
92
|
runError?: string;
|
|
@@ -90,19 +94,21 @@ interface ChatWorkspaceProps {
|
|
|
90
94
|
tabs: readonly WorkspaceTabContribution[];
|
|
91
95
|
}
|
|
92
96
|
|
|
93
|
-
export function PluginChat({ layout = "workspace", headerContainer, toolbarContainer, workspaceHeaderContainer, statusContainer, initialStartOptions, onStarted, onLocationChange, onViewed, viewing = false, registry, session, startDialog }: PluginChatProps) {
|
|
97
|
+
export function PluginChat({ autoFocusChat, onAutoFocusChatSettled, layout = "workspace", headerContainer, toolbarContainer, workspaceHeaderContainer, statusContainer, initialStartOptions, onStarted, onLocationChange, onViewed, viewing = false, registry, session, startDialog }: PluginChatProps) {
|
|
94
98
|
const access = useAccess();
|
|
95
99
|
const startOnly = startDialog !== undefined;
|
|
96
100
|
const [modalContainer, setModalContainer] = useState<HTMLDivElement | null>(null);
|
|
97
|
-
const [
|
|
98
|
-
const [
|
|
101
|
+
const [surfaceModalContainer, setSurfaceModalContainer] = useState<HTMLDivElement | null>(null);
|
|
102
|
+
const [pluginEvents, setPluginEvents] = useState<readonly PluginEvent[]>([]);
|
|
99
103
|
const onChatEvent = useCallback((event: ChatEvent) => {
|
|
100
|
-
if (event.kind === "reset")
|
|
101
|
-
if (event.kind !== "
|
|
104
|
+
if (event.kind === "reset") setPluginEvents([]);
|
|
105
|
+
if (event.kind !== "plugin") return;
|
|
102
106
|
const { pluginId, type, payload, at } = event;
|
|
103
|
-
|
|
107
|
+
setPluginEvents((current) => [...current, { pluginId, type, payload, at }]);
|
|
104
108
|
}, []);
|
|
105
|
-
const { messages, running, connected, startup, send,
|
|
109
|
+
const { messages, running, connected, startup, send: sendMessage, startSkill, start } = useChat(session.id, onChatEvent, !startOnly);
|
|
110
|
+
const send = useCallback((text: string, attachments?: ChatAttachmentInput[], entryId?: string) =>
|
|
111
|
+
entryId === undefined ? sendMessage(text, attachments) : startSkill(entryId, text, attachments), [sendMessage, startSkill]);
|
|
106
112
|
const runStore = useRunStore(session.id, startOnly || registry.needsRunView || onViewed !== undefined, !startOnly);
|
|
107
113
|
useEffect(() => {
|
|
108
114
|
const view = runStore.view;
|
|
@@ -130,62 +136,43 @@ export function PluginChat({ layout = "workspace", headerContainer, toolbarConta
|
|
|
130
136
|
useEffect(() => {
|
|
131
137
|
if (startOnly && runExists) reportStarted();
|
|
132
138
|
}, [reportStarted, runExists, startOnly]);
|
|
133
|
-
const [centerMode, setCenterMode] = useState<SessionContext["centerMode"]>("chat");
|
|
134
|
-
const [requestedTabId, setRequestedTabId] = useState<string | undefined>(undefined);
|
|
135
139
|
const [tabSelections, setTabSelections] = useState<Record<string, unknown>>({});
|
|
136
140
|
const [pendingTabIds, setPendingTabIds] = useState<readonly string[]>([]);
|
|
137
141
|
const knownClientToolIds = useRef<Set<string>>(new Set());
|
|
138
142
|
|
|
139
|
-
const respond = useCallback(async (callId: string, payload: unknown) => {
|
|
140
|
-
const responder = registry.questionResponder;
|
|
141
|
-
if (!responder) throw new Error("Kein Plugin hat einen Question-Responder registriert");
|
|
142
|
-
return responder({ id: session.id }, callId, payload);
|
|
143
|
-
}, [registry, session.id]);
|
|
144
|
-
|
|
145
143
|
const sessionContext = useMemo<SessionContext>(() => ({
|
|
146
|
-
centerMode,
|
|
147
144
|
connected,
|
|
148
|
-
|
|
145
|
+
pluginEvents,
|
|
149
146
|
messages,
|
|
150
147
|
actorConversations: runStore.conversations,
|
|
151
148
|
conversationError: runStore.error,
|
|
152
|
-
respond,
|
|
153
149
|
runView: runStore.view,
|
|
154
150
|
running,
|
|
155
151
|
startup,
|
|
156
152
|
send,
|
|
157
153
|
session,
|
|
158
154
|
start,
|
|
159
|
-
|
|
160
|
-
}), [centerMode, connected, extensionEvents, messages, respond, runStore.view, runStore.conversations, runStore.error, running, startup, send, session, start, stop]);
|
|
155
|
+
}), [connected, pluginEvents, messages, runStore.view, runStore.conversations, runStore.error, running, startup, send, session, start]);
|
|
161
156
|
|
|
162
157
|
const registeredTabs = useMemo(() => registry.registeredTabs(sessionContext, access), [access, registry, sessionContext]);
|
|
163
158
|
const availableTabs = useMemo(() => registry.availableTabs(sessionContext, access), [access, registry, sessionContext]);
|
|
164
|
-
const activeTabId
|
|
165
|
-
? requestedTabId
|
|
166
|
-
: availableTabs[0]?.id ?? "";
|
|
167
|
-
|
|
168
|
-
const [panelState, updatePanelState] = useWorkspacePanelState(session.id);
|
|
159
|
+
const { activeTabId, panelState, showTab, togglePanel } = useWorkspaceTabs(session.id, layout, availableTabs);
|
|
169
160
|
|
|
170
161
|
const openTab = useCallback((tabId: string, selection?: unknown) => {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
throw new Error("Arbeitsbereichs-Tab ist nicht registriert: " + tabId);
|
|
162
|
+
if (!registeredTabs.some((tab) => tab.id === tabId)) {
|
|
163
|
+
throw new Error("Reiter der Leiste ist nicht registriert: " + tabId);
|
|
174
164
|
}
|
|
175
165
|
if (selection !== undefined) {
|
|
176
166
|
setTabSelections((current) => ({ ...current, [tabId]: selection }));
|
|
177
167
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
updatePanelState("expanded");
|
|
181
|
-
}
|
|
182
|
-
}, [registeredTabs, registry.canvas?.tabId, updatePanelState]);
|
|
168
|
+
showTab(tabId);
|
|
169
|
+
}, [registeredTabs, showTab]);
|
|
183
170
|
|
|
184
171
|
const selectionFor = useCallback((tabId: string) => tabSelections[tabId], [tabSelections]);
|
|
185
172
|
|
|
186
173
|
const revealEntity = useCallback((entity: { type: string; id: string }) => {
|
|
187
174
|
const target = registry.targetForEntity(entity, sessionContext);
|
|
188
|
-
if (!target ||
|
|
175
|
+
if (!target || !registeredTabs.some((tab) => tab.id === target.tabId)) return false;
|
|
189
176
|
openTab(target.tabId, target.selection);
|
|
190
177
|
return true;
|
|
191
178
|
}, [openTab, registeredTabs, registry, sessionContext]);
|
|
@@ -222,7 +209,7 @@ export function PluginChat({ layout = "workspace", headerContainer, toolbarConta
|
|
|
222
209
|
|
|
223
210
|
return (
|
|
224
211
|
<RunModalContext.Provider value={startOnly ? null : modalContainer}>
|
|
225
|
-
<
|
|
212
|
+
<SurfaceModalContext.Provider value={startOnly ? null : surfaceModalContainer}>
|
|
226
213
|
<ChatStepsProvider policy={registry.chatDisplayPolicy}>
|
|
227
214
|
<StartOptionsProvider
|
|
228
215
|
connected={connected}
|
|
@@ -234,19 +221,20 @@ export function PluginChat({ layout = "workspace", headerContainer, toolbarConta
|
|
|
234
221
|
{!startOnly && onLocationChange && <UserLocationReporter activeTabId={navigation.activeTabId} onChange={onLocationChange}
|
|
235
222
|
panelVisible={panelState === "expanded"} runId={session.id} tabs={availableTabs} />}
|
|
236
223
|
<ChatWorkspace
|
|
224
|
+
autoFocusChat={autoFocusChat}
|
|
225
|
+
onAutoFocusChatSettled={onAutoFocusChatSettled}
|
|
237
226
|
layout={layout}
|
|
238
227
|
toolbarContainer={toolbarContainer}
|
|
239
228
|
panelState={panelState}
|
|
240
|
-
onTogglePanel={
|
|
229
|
+
onTogglePanel={togglePanel}
|
|
241
230
|
headerContainer={headerContainer}
|
|
242
231
|
workspaceHeaderContainer={workspaceHeaderContainer}
|
|
243
232
|
statusContainer={statusContainer}
|
|
244
233
|
onModalContainer={setModalContainer}
|
|
245
|
-
|
|
234
|
+
onSurfaceModalContainer={setSurfaceModalContainer}
|
|
246
235
|
onStarted={reportStarted}
|
|
247
236
|
startDialog={startDialog}
|
|
248
237
|
navigation={navigation}
|
|
249
|
-
onCenterModeChange={setCenterMode}
|
|
250
238
|
pendingTabIds={pendingTabIds}
|
|
251
239
|
registry={registry}
|
|
252
240
|
runError={runStore.error}
|
|
@@ -256,11 +244,40 @@ export function PluginChat({ layout = "workspace", headerContainer, toolbarConta
|
|
|
256
244
|
</PluginSessionProviders>
|
|
257
245
|
</StartOptionsProvider>
|
|
258
246
|
</ChatStepsProvider>
|
|
259
|
-
</
|
|
247
|
+
</SurfaceModalContext.Provider>
|
|
260
248
|
</RunModalContext.Provider>
|
|
261
249
|
);
|
|
262
250
|
}
|
|
263
251
|
|
|
252
|
+
/** Der Reiterzustand je Layout: im Web ein flüchtiger Reiter und der gespeicherte Aufklappzustand, im Run-Panel der je Run gespeicherte offene Reiter der Leiste. */
|
|
253
|
+
function useWorkspaceTabs(runId: string, layout: ChatLayout, availableTabs: readonly WorkspaceTabContribution[]) {
|
|
254
|
+
const [requestedTabId, setRequestedTabId] = useState<string>();
|
|
255
|
+
const [workspaceState, updateWorkspaceState] = useWorkspacePanelState(runId);
|
|
256
|
+
const stored = useRunPanelWorkspaceState(runId);
|
|
257
|
+
const runPanel = layout === "panel";
|
|
258
|
+
const activeTabId = runPanel
|
|
259
|
+
? activeWorkspaceTab(stored, availableTabs)
|
|
260
|
+
: requestedTabId !== undefined && availableTabs.some((tab) => tab.id === requestedTabId) ? requestedTabId : availableTabs[0]?.id ?? "";
|
|
261
|
+
const panelState: WorkspacePanelState = runPanel ? (activeTabId === "" ? "collapsed" : "expanded") : workspaceState;
|
|
262
|
+
const firstTabId = availableTabs[0]?.id ?? null;
|
|
263
|
+
const showTab = useCallback((tabId: string) => {
|
|
264
|
+
if (runPanel) {
|
|
265
|
+
saveRunPanelWorkspaceState(runId, { ...stored, tab: tabId });
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
setRequestedTabId(tabId);
|
|
269
|
+
updateWorkspaceState("expanded");
|
|
270
|
+
}, [runId, runPanel, stored, updateWorkspaceState]);
|
|
271
|
+
const togglePanel = useCallback(() => {
|
|
272
|
+
if (runPanel) {
|
|
273
|
+
saveRunPanelWorkspaceState(runId, { ...stored, tab: panelState === "expanded" ? null : stored.tab ?? firstTabId });
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
276
|
+
updateWorkspaceState(panelState === "expanded" ? "collapsed" : "expanded");
|
|
277
|
+
}, [firstTabId, panelState, runId, runPanel, stored, updateWorkspaceState]);
|
|
278
|
+
return { activeTabId, panelState, showTab, togglePanel };
|
|
279
|
+
}
|
|
280
|
+
|
|
264
281
|
function UserLocationReporter({ activeTabId, onChange, panelVisible, runId, tabs }: {
|
|
265
282
|
activeTabId: string;
|
|
266
283
|
onChange: (location: ChatRunLocation) => void;
|
|
@@ -268,8 +285,8 @@ function UserLocationReporter({ activeTabId, onChange, panelVisible, runId, tabs
|
|
|
268
285
|
runId: string;
|
|
269
286
|
tabs: readonly WorkspaceTabContribution[];
|
|
270
287
|
}) {
|
|
271
|
-
const
|
|
272
|
-
const location = runUserLocation(runId, activeTabId, tabs, panelVisible,
|
|
288
|
+
const surface = useSurfaceController();
|
|
289
|
+
const location = runUserLocation(runId, activeTabId, tabs, panelVisible, surface?.selection);
|
|
273
290
|
const { tab, selection } = location;
|
|
274
291
|
const type = selection?.type;
|
|
275
292
|
const id = selection?.id;
|
|
@@ -280,6 +297,8 @@ function UserLocationReporter({ activeTabId, onChange, panelVisible, runId, tabs
|
|
|
280
297
|
}
|
|
281
298
|
|
|
282
299
|
function ChatWorkspace({
|
|
300
|
+
autoFocusChat,
|
|
301
|
+
onAutoFocusChatSettled,
|
|
283
302
|
layout,
|
|
284
303
|
toolbarContainer = null,
|
|
285
304
|
panelState,
|
|
@@ -288,11 +307,10 @@ function ChatWorkspace({
|
|
|
288
307
|
workspaceHeaderContainer,
|
|
289
308
|
statusContainer = null,
|
|
290
309
|
onModalContainer,
|
|
291
|
-
|
|
310
|
+
onSurfaceModalContainer,
|
|
292
311
|
onStarted,
|
|
293
312
|
startDialog,
|
|
294
313
|
navigation,
|
|
295
|
-
onCenterModeChange,
|
|
296
314
|
pendingTabIds,
|
|
297
315
|
registry,
|
|
298
316
|
runError,
|
|
@@ -301,16 +319,16 @@ function ChatWorkspace({
|
|
|
301
319
|
}: ChatWorkspaceProps) {
|
|
302
320
|
const access = useAccess();
|
|
303
321
|
const [runToolbarContainer, setRunToolbarContainer] = useState<HTMLDivElement | null>(null);
|
|
304
|
-
const headerContributions = registry.
|
|
305
|
-
const
|
|
322
|
+
const headerContributions = registry.headersFor(session, access, "header");
|
|
323
|
+
const surfaceContributions = registry.headersFor(session, access, "surface");
|
|
306
324
|
const startSession = useMemo<SessionContext>(() => {
|
|
307
325
|
const attempt = async (work: () => Promise<void>) => {
|
|
308
326
|
await work();
|
|
309
|
-
onStarted
|
|
327
|
+
onStarted();
|
|
310
328
|
};
|
|
311
329
|
return {
|
|
312
330
|
...session,
|
|
313
|
-
send: (text, attachments) => attempt(() => session.send(text, attachments)),
|
|
331
|
+
send: (text, attachments, entryId) => attempt(() => session.send(text, attachments, entryId)),
|
|
314
332
|
start: (entryId, input) => attempt(() => session.start(entryId, input)),
|
|
315
333
|
};
|
|
316
334
|
}, [onStarted, session]);
|
|
@@ -327,18 +345,21 @@ function ChatWorkspace({
|
|
|
327
345
|
};
|
|
328
346
|
}, [attentionActive]);
|
|
329
347
|
const hasWorkspace = !startDialog && tabs.length > 0;
|
|
330
|
-
const
|
|
331
|
-
const
|
|
348
|
+
const SurfaceCenter = registry.surface?.Center;
|
|
349
|
+
const SurfaceRunPanel = registry.surface?.RunPanel;
|
|
332
350
|
const bindCompactContainers = useCallback((element: HTMLDivElement | null) => {
|
|
333
351
|
onModalContainer(element);
|
|
334
|
-
|
|
335
|
-
}, [
|
|
352
|
+
onSurfaceModalContainer(element);
|
|
353
|
+
}, [onSurfaceModalContainer, onModalContainer]);
|
|
336
354
|
|
|
337
355
|
const renderTool = useToolRenderer();
|
|
338
356
|
|
|
339
|
-
const renderChat = (options:
|
|
357
|
+
const renderChat = (options: ChatDisplayOptions = {}) => (
|
|
340
358
|
<ChatSurface
|
|
359
|
+
autoFocus={autoFocusChat}
|
|
360
|
+
onAutoFocusSettled={onAutoFocusChatSettled}
|
|
341
361
|
options={options}
|
|
362
|
+
registry={registry}
|
|
342
363
|
renderTool={renderTool}
|
|
343
364
|
session={session}
|
|
344
365
|
/>
|
|
@@ -346,16 +367,16 @@ function ChatWorkspace({
|
|
|
346
367
|
|
|
347
368
|
if (startDialog) return (
|
|
348
369
|
<Modal className="gap-0 p-0 [&_[data-slot=dialog-body]:has([data-preparation])]:overflow-hidden" nextBehavior="push" onClose={startDialog.onClose} scope="page" showCloseButton size="full">
|
|
349
|
-
<DialogTitle className="sr-only">
|
|
350
|
-
<
|
|
370
|
+
<DialogTitle className="sr-only">Neuer Run</DialogTitle>
|
|
371
|
+
<StartSelection registry={registry} session={startSession} initialEntryId={startDialog.initialEntryId} onOpen={onStarted} />
|
|
351
372
|
</Modal>
|
|
352
373
|
);
|
|
353
374
|
|
|
354
375
|
const status = registry.sessionStatus.filter((entry) => !entry.readRight || access.can(entry.readRight)).map(({ id, order, Status }) => <StatusGroup container={statusContainer} key={id} label="Run-Aktionen" order={order}>
|
|
355
376
|
<Status navigation={navigation} session={session} />
|
|
356
377
|
</StatusGroup>);
|
|
357
|
-
const header = headerContainer && createPortal(layout === "
|
|
358
|
-
? <
|
|
378
|
+
const header = headerContainer && createPortal(layout === "panel"
|
|
379
|
+
? <RunPanelHeader attention={attention} contributions={headerContributions} navigation={navigation} registry={registry} runError={runError} session={session} working={session.running} />
|
|
359
380
|
: <div className="flex min-w-0 flex-[1_0_auto] items-stretch">
|
|
360
381
|
<div className="flex min-w-0 flex-none items-stretch text-[0.82rem] font-semibold text-foreground">
|
|
361
382
|
<ToolbarItem className="min-w-[140px] max-w-[260px] justify-start font-semibold max-md:min-w-[120px] max-md:max-w-[180px]" title={session.session.title}><ToolbarText>{session.session.title || "Neuer Run"}</ToolbarText></ToolbarItem>
|
|
@@ -382,21 +403,26 @@ function ChatWorkspace({
|
|
|
382
403
|
{header}
|
|
383
404
|
<div className="relative isolate flex min-h-0 min-w-0 flex-1" ref={bindCompactContainers}>
|
|
384
405
|
{typeof layout === "object"
|
|
385
|
-
? <
|
|
386
|
-
:
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
406
|
+
? <SurfaceElementView elementId={layout.element} navigation={navigation} registry={registry} session={session} />
|
|
407
|
+
: <>
|
|
408
|
+
<div className="relative flex min-h-0 min-w-0 flex-1 flex-col">
|
|
409
|
+
{SurfaceRunPanel
|
|
410
|
+
? <SurfaceRunPanel
|
|
411
|
+
toolbarContainer={toolbarContainer}
|
|
412
|
+
runToolbarContainer={null}
|
|
413
|
+
statusContainer={statusContainer}
|
|
414
|
+
cardSections={registry.cardSections}
|
|
415
|
+
surfaceElements={registry.surfaceElements}
|
|
416
|
+
navigation={navigation}
|
|
417
|
+
renderChat={renderChat}
|
|
418
|
+
session={session}
|
|
419
|
+
tabIds={tabs.map((tab) => tab.id)}
|
|
420
|
+
/>
|
|
421
|
+
: <DefaultCenter renderChat={renderChat} />}
|
|
422
|
+
{hasWorkspace && <RunPanelWorkspace navigation={navigation} onClose={onTogglePanel} open={panelState === "expanded"} session={session} tabs={tabs} />}
|
|
423
|
+
</div>
|
|
424
|
+
{hasWorkspace && <RunPanelRail navigation={navigation} onClose={onTogglePanel} open={panelState === "expanded"} pendingTabIds={pendingTabIds} session={session} tabs={tabs} />}
|
|
425
|
+
</>}
|
|
400
426
|
</div>
|
|
401
427
|
</div>
|
|
402
428
|
);
|
|
@@ -410,23 +436,22 @@ function ChatWorkspace({
|
|
|
410
436
|
ref={onModalContainer}
|
|
411
437
|
>
|
|
412
438
|
<div className="flex min-h-0 min-w-0 flex-1 flex-col">
|
|
413
|
-
{(
|
|
439
|
+
{(SurfaceCenter || surfaceContributions.length > 0) && <div aria-label="Apps und Actors" className="flex min-h-[52px] min-w-0 flex-none items-stretch border-b border-border bg-[color-mix(in_srgb,var(--surface)_55%,var(--card))]" role="region">
|
|
414
440
|
<div className="flex flex-none items-stretch empty:hidden" ref={setRunToolbarContainer} />
|
|
415
|
-
<
|
|
416
|
-
{
|
|
417
|
-
</
|
|
441
|
+
<SurfaceShortcuts key={session.session.id}>
|
|
442
|
+
{surfaceContributions.map(({ id, Header }) => <Header key={id} navigation={navigation} session={session} />)}
|
|
443
|
+
</SurfaceShortcuts>
|
|
418
444
|
</div>}
|
|
419
|
-
<div className="relative isolate flex min-h-0 min-w-0 flex-1" ref={
|
|
420
|
-
{
|
|
445
|
+
<div className="relative isolate flex min-h-0 min-w-0 flex-1" ref={onSurfaceModalContainer}>
|
|
446
|
+
{SurfaceCenter
|
|
421
447
|
? (
|
|
422
|
-
<
|
|
448
|
+
<SurfaceCenter
|
|
423
449
|
toolbarContainer={toolbarContainer}
|
|
424
450
|
runToolbarContainer={runToolbarContainer}
|
|
425
451
|
statusContainer={statusContainer}
|
|
426
452
|
cardSections={registry.cardSections}
|
|
427
|
-
|
|
453
|
+
surfaceElements={registry.surfaceElements}
|
|
428
454
|
navigation={navigation}
|
|
429
|
-
onCenterModeChange={onCenterModeChange}
|
|
430
455
|
renderChat={renderChat}
|
|
431
456
|
session={session}
|
|
432
457
|
tabIds={tabs.map((tab) => tab.id)}
|
|
@@ -452,7 +477,7 @@ function ChatWorkspace({
|
|
|
452
477
|
}
|
|
453
478
|
|
|
454
479
|
function DefaultCenter({ renderChat }: {
|
|
455
|
-
renderChat: (options?:
|
|
480
|
+
renderChat: (options?: ChatDisplayOptions) => ReactNode;
|
|
456
481
|
}) {
|
|
457
482
|
return (
|
|
458
483
|
<div className="relative flex min-h-0 min-w-0 flex-1">
|
|
@@ -463,14 +488,14 @@ function DefaultCenter({ renderChat }: {
|
|
|
463
488
|
);
|
|
464
489
|
}
|
|
465
490
|
|
|
466
|
-
/** Ein
|
|
467
|
-
function
|
|
491
|
+
/** Ein Flächenelement in voller Größe, etwa eine Mini-App im Editorbereich von VS Code. */
|
|
492
|
+
function SurfaceElementView({ elementId, navigation, registry, session }: {
|
|
468
493
|
elementId: string;
|
|
469
494
|
navigation: SessionNavigation;
|
|
470
495
|
registry: PluginRegistry;
|
|
471
496
|
session: SessionContext;
|
|
472
497
|
}) {
|
|
473
|
-
const match = registry.
|
|
498
|
+
const match = registry.surfaceElements.flatMap((contribution) => contribution.select(session)
|
|
474
499
|
.filter((definition) => definition.id === elementId && definition.visible !== false)
|
|
475
500
|
.map((definition) => ({ Element: contribution.Element, definition })))[0];
|
|
476
501
|
if (!match) return <div className="m-auto max-w-[420px] p-6 text-center text-muted-foreground" role="status">
|
|
@@ -482,29 +507,45 @@ function CanvasElementView({ elementId, navigation, registry, session }: {
|
|
|
482
507
|
}
|
|
483
508
|
|
|
484
509
|
function ChatSurface({
|
|
510
|
+
autoFocus,
|
|
511
|
+
onAutoFocusSettled,
|
|
485
512
|
options,
|
|
513
|
+
registry,
|
|
486
514
|
renderTool,
|
|
487
515
|
session,
|
|
488
516
|
}: {
|
|
489
|
-
|
|
517
|
+
autoFocus?: boolean;
|
|
518
|
+
onAutoFocusSettled?: () => void;
|
|
519
|
+
options: ChatDisplayOptions;
|
|
520
|
+
registry: PluginRegistry;
|
|
490
521
|
renderTool: (tool: ToolInfo) => ReactNode;
|
|
491
522
|
session: SessionContext;
|
|
492
523
|
}) {
|
|
493
524
|
const access = useAccess();
|
|
494
525
|
const writable = access.can("runs.write");
|
|
495
|
-
const
|
|
526
|
+
const renderAction = useActionRenderer();
|
|
527
|
+
const chatView = useChatViewSettings(session.session.id, primaryChatActor(session.runView), "coordinator");
|
|
496
528
|
const [sendError, setSendError] = useState<string>();
|
|
497
|
-
const
|
|
529
|
+
const startOptions = useStartOptions();
|
|
530
|
+
const attachments = useAttachmentCapabilities(session.session.id, "primary", JSON.stringify(startOptions.options.map(({ id, value }) => [id, value])));
|
|
498
531
|
const messages = useMemo(() => withToolSummaries(session.messages), [session.messages]);
|
|
499
532
|
const working = session.connected && (session.running || runIsWorking(session.runView, session.session.id));
|
|
533
|
+
const partner = primaryChatState(session.runView, session.session.id, session.running);
|
|
500
534
|
return (
|
|
501
535
|
<ChatPanel
|
|
502
|
-
className={
|
|
536
|
+
className={cn(chatElementClass, options.chatElementClassName)}
|
|
503
537
|
composer={
|
|
504
|
-
primaryIsProgram(session.runView, session.session.id) ? <
|
|
538
|
+
primaryIsProgram(session.runView, session.session.id) ? <div className="flex min-w-0 flex-col gap-1.5">
|
|
539
|
+
<p className="text-muted-foreground">{programChatNotice}</p>
|
|
540
|
+
<div className="flex min-w-0 flex-wrap items-center gap-2">{options.toolbarLeft}<ChatViewSwitches collapsible={false} settings={chatView} /></div>
|
|
541
|
+
</div>
|
|
542
|
+
: partner.kind === "stopped" ? <div className="[--qsl-input-card-radius:var(--radius-lg)]"><StoppedActorNotice actor={partner.actor} runId={session.session.id} toolbar={<>{options.toolbarLeft}<ChatViewSwitches collapsible={false} settings={chatView} /></>} /></div>
|
|
543
|
+
: <div className="[--qsl-input-card-radius:var(--radius-lg)]">
|
|
505
544
|
{sendError && <p className="text-[0.8rem] text-destructive" role="alert">{sendError}</p>}
|
|
506
545
|
<ChatInputToolbar
|
|
507
546
|
{...attachments}
|
|
547
|
+
autoFocus={autoFocus}
|
|
548
|
+
onAutoFocusSettled={onAutoFocusSettled}
|
|
508
549
|
disabled={!session.connected || !writable}
|
|
509
550
|
maxRows={4}
|
|
510
551
|
texts={writable ? undefined : { placeholder: "Lesezugriff auf diesen Run" }}
|
|
@@ -512,41 +553,34 @@ function ChatSurface({
|
|
|
512
553
|
setSendError(undefined);
|
|
513
554
|
return session.send(text, attachments);
|
|
514
555
|
}}
|
|
515
|
-
onStop={writable ? () => {
|
|
556
|
+
onStop={writable && partner.kind === "active" && partner.turnRunning ? () => {
|
|
516
557
|
setSendError(undefined);
|
|
517
|
-
void
|
|
558
|
+
void interruptActorTurn(session.session.id, partner.actorId).catch((error: unknown) => setSendError(error instanceof Error ? error.message : String(error)));
|
|
518
559
|
} : undefined}
|
|
519
560
|
rows={1}
|
|
520
561
|
running={working}
|
|
521
|
-
toolbarRight={options.toolbarRight}
|
|
522
562
|
toolbarLeft={
|
|
523
563
|
<>
|
|
524
564
|
{options.toolbarLeft}
|
|
525
|
-
{
|
|
526
|
-
<DetailModeSwitch
|
|
527
|
-
collapsible={false}
|
|
528
|
-
mode={steps.mode("coordinator")}
|
|
529
|
-
onChange={(mode) => steps.setMode("coordinator", mode)}
|
|
530
|
-
/>
|
|
531
|
-
)}
|
|
565
|
+
<ChatViewSwitches collapsible={false} settings={chatView} />
|
|
532
566
|
</>
|
|
533
567
|
}
|
|
568
|
+
toolbarRight={<StartOptionControls disabled={!session.connected || !writable} placement="composer" registry={registry} />}
|
|
534
569
|
/>
|
|
535
570
|
</div>
|
|
536
571
|
}
|
|
537
|
-
nodeRef={options.nodeRef}
|
|
538
572
|
>
|
|
539
|
-
<ChatMessages
|
|
540
|
-
detailMode={
|
|
541
|
-
emptyState={<div className="m-auto text-center text-muted-foreground">Der Run wird angelegt ...</div>}
|
|
573
|
+
{options.notice ?? <ChatMessages
|
|
574
|
+
detailMode={chatView.detailMode}
|
|
542
575
|
messages={messages}
|
|
543
|
-
|
|
576
|
+
onDismissAction={writable ? (actionId) => void dismissAction(session.session.id, actionId) : undefined}
|
|
577
|
+
renderAction={renderAction}
|
|
544
578
|
renderTool={renderTool}
|
|
545
579
|
running={working}
|
|
546
580
|
scrollerRef={options.chatScrollerRef}
|
|
547
|
-
showTimestamps
|
|
548
|
-
stepsExpandable={
|
|
549
|
-
/>
|
|
581
|
+
showTimestamps={chatView.showTimestamps}
|
|
582
|
+
stepsExpandable={chatView.stepsExpandable}
|
|
583
|
+
/>}
|
|
550
584
|
</ChatPanel>
|
|
551
585
|
);
|
|
552
586
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Alert, AlertDescription, AlertTitle } from "./ui";
|
|
2
|
+
import type { PluginFailure } from "./plugin-bootstrap";
|
|
3
|
+
|
|
4
|
+
/** Names every plugin whose web half did not load; the rest of the interface keeps working. */
|
|
5
|
+
export function PluginFailureNotice({ failures }: { failures: readonly PluginFailure[] }) {
|
|
6
|
+
if (failures.length === 0) return null;
|
|
7
|
+
return (
|
|
8
|
+
<Alert className="flex-none rounded-none border-x-0 border-t-0" data-slot="plugin-failures" variant="destructive">
|
|
9
|
+
<AlertTitle>{failures.length === 1 ? `Das Plugin ${failures[0]!.id} lädt nicht` : `${failures.length} Plugins laden nicht`}</AlertTitle>
|
|
10
|
+
<AlertDescription>
|
|
11
|
+
{failures.map((failure) => <p key={failure.id}>{failure.message}</p>)}
|
|
12
|
+
</AlertDescription>
|
|
13
|
+
</Alert>
|
|
14
|
+
);
|
|
15
|
+
}
|