@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
|
@@ -1,18 +1,7 @@
|
|
|
1
1
|
import { lazyStream } from "./api/lazy.ts";
|
|
2
|
-
import { defaultProviderAuthContext
|
|
3
|
-
import { InMemoryCredentialStore } from "./auth/credential-store.ts";
|
|
2
|
+
import { defaultProviderAuthContext } from "./auth/context.ts";
|
|
4
3
|
import { type AuthResolutionOverrides, ModelsError, resolveProviderAuth } from "./auth/resolve.ts";
|
|
5
|
-
import type {
|
|
6
|
-
AuthCheck,
|
|
7
|
-
AuthContext,
|
|
8
|
-
AuthInteraction,
|
|
9
|
-
AuthResult,
|
|
10
|
-
AuthType,
|
|
11
|
-
Credential,
|
|
12
|
-
CredentialStore,
|
|
13
|
-
ProviderAuth,
|
|
14
|
-
} from "./auth/types.ts";
|
|
15
|
-
import { InMemoryModelsStore, type ModelsStore, type ProviderModelsStore } from "./models-store.ts";
|
|
4
|
+
import type { AuthCheck, AuthContext, AuthResult, ProviderAuth } from "./auth/types.ts";
|
|
16
5
|
import type {
|
|
17
6
|
Api,
|
|
18
7
|
ApiStreamOptions,
|
|
@@ -31,46 +20,9 @@ import type {
|
|
|
31
20
|
|
|
32
21
|
export { ModelsError, type ModelsErrorCode } from "./auth/resolve.ts";
|
|
33
22
|
|
|
34
|
-
export interface RefreshModelsContext {
|
|
35
|
-
/** Effective configured credential. OAuth credentials are refreshed before network access. */
|
|
36
|
-
credential?: Credential;
|
|
37
|
-
/** Persistent model storage scoped to this provider ID. */
|
|
38
|
-
store: ProviderModelsStore;
|
|
39
|
-
/** False during offline/cache-only initialization. */
|
|
40
|
-
allowNetwork: boolean;
|
|
41
|
-
/** Bypass provider freshness checks and fetch immediately when network access is allowed. */
|
|
42
|
-
force?: boolean;
|
|
43
|
-
signal?: AbortSignal;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export interface ModelsRefreshOptions {
|
|
47
|
-
allowNetwork?: boolean;
|
|
48
|
-
/** Bypass provider freshness checks and fetch immediately when network access is allowed. */
|
|
49
|
-
force?: boolean;
|
|
50
|
-
signal?: AbortSignal;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export interface ModelsRefreshResult {
|
|
54
|
-
aborted: boolean;
|
|
55
|
-
errors: ReadonlyMap<string, Error>;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
export interface ModelsStreamTransforms {
|
|
59
|
-
/** Transform fully assembled model/auth/request headers before provider dispatch. */
|
|
60
|
-
transformHeaders?: (headers: ProviderHeaders) => ProviderHeaders | Promise<ProviderHeaders>;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export type ModelsApiStreamOptions<TApi extends Api> = ApiStreamOptions<TApi> & ModelsStreamTransforms;
|
|
64
|
-
export type ModelsSimpleStreamOptions = SimpleStreamOptions & ModelsStreamTransforms;
|
|
65
|
-
|
|
66
23
|
/**
|
|
67
24
|
* A provider is the concrete runtime unit. It owns id/name/base metadata,
|
|
68
|
-
* auth
|
|
69
|
-
*
|
|
70
|
-
* `TApi` lets concrete provider factories declare which APIs their models
|
|
71
|
-
* use (e.g. `openaiProvider(): Provider<"openai-responses" | "openai-completions">`),
|
|
72
|
-
* giving typed model lists to direct factory users. Inside a `Models`
|
|
73
|
-
* collection providers are held as `Provider<Api>`.
|
|
25
|
+
* API-key auth, the model list, and stream behavior.
|
|
74
26
|
*/
|
|
75
27
|
export interface Provider<TApi extends Api = Api> {
|
|
76
28
|
readonly id: string;
|
|
@@ -79,37 +31,12 @@ export interface Provider<TApi extends Api = Api> {
|
|
|
79
31
|
readonly baseUrl?: string;
|
|
80
32
|
readonly headers?: ProviderHeaders;
|
|
81
33
|
|
|
82
|
-
/**
|
|
83
|
-
* Required: at least one of `apiKey`/`oauth`. Every provider has auth
|
|
84
|
-
* semantics — even providers with only ambient credentials (env vars, AWS
|
|
85
|
-
* profiles, ADC files) and keyless local servers provide `apiKey` auth
|
|
86
|
-
* whose `resolve()` reports whether the provider is configured.
|
|
87
|
-
* `Models.getAuth()` returns undefined when the provider is unconfigured.
|
|
88
|
-
*/
|
|
34
|
+
/** Every provider resolves an API key, even from ambient sources; unresolved means unconfigured. */
|
|
89
35
|
readonly auth: ProviderAuth;
|
|
90
36
|
|
|
91
|
-
/**
|
|
92
|
-
* Current known models, sync. Static providers return their catalog;
|
|
93
|
-
* dynamic providers return the list as of the last `refreshModels()`
|
|
94
|
-
* (empty before the first). Must not throw; `Models` treats a throwing
|
|
95
|
-
* implementation as having no models.
|
|
96
|
-
*/
|
|
37
|
+
/** The models of the provider. Must not throw; `Models` treats a throwing implementation as having no models. */
|
|
97
38
|
getModels(): readonly Model<TApi>[];
|
|
98
39
|
|
|
99
|
-
/**
|
|
100
|
-
* Dynamic providers only: restore the provider-scoped stored catalog and optionally fetch
|
|
101
|
-
* a newer list using the effective credential. Implementations must retain their previous
|
|
102
|
-
* list on failure and honor the shared abort signal for network requests.
|
|
103
|
-
*/
|
|
104
|
-
refreshModels?(context: RefreshModelsContext): Promise<void>;
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* Optional provider policy for credential-specific model availability.
|
|
108
|
-
* `getModels()` remains the complete synchronous catalog; `Models.getAvailable()`
|
|
109
|
-
* applies this filter after confirming that provider auth is configured.
|
|
110
|
-
*/
|
|
111
|
-
filterModels?(models: readonly Model<TApi>[], credential: Credential | undefined): readonly Model<TApi>[];
|
|
112
|
-
|
|
113
40
|
stream<T extends TApi>(
|
|
114
41
|
model: Model<T>,
|
|
115
42
|
context: Context,
|
|
@@ -125,78 +52,36 @@ export interface Provider<TApi extends Api = Api> {
|
|
|
125
52
|
* delegates each request to the provider that owns the model.
|
|
126
53
|
*/
|
|
127
54
|
export interface Models {
|
|
128
|
-
getProviders(): readonly Provider[];
|
|
129
55
|
getProvider(id: string): Provider | undefined;
|
|
130
56
|
|
|
131
|
-
/**
|
|
132
|
-
* Sync read of last-known models from one provider or all providers.
|
|
133
|
-
* Best-effort: a provider whose `getModels()` throws yields no models.
|
|
134
|
-
*/
|
|
57
|
+
/** Models of one provider or of all providers; a provider whose `getModels()` throws yields none. */
|
|
135
58
|
getModels(provider?: string): readonly Model<Api>[];
|
|
136
59
|
|
|
137
|
-
/**
|
|
138
|
-
* Sync runtime model lookup against last-known lists. Dynamic model lists
|
|
139
|
-
* are typed as `Model<Api>`; narrow with the `hasApi()` type guard.
|
|
140
|
-
*/
|
|
141
60
|
getModel(provider: string, id: string): Model<Api> | undefined;
|
|
142
61
|
|
|
143
|
-
/**
|
|
144
|
-
* Refresh every configured dynamic provider concurrently. Provider errors and cancellation
|
|
145
|
-
* are returned without rejecting; static and unconfigured providers are skipped.
|
|
146
|
-
*/
|
|
147
|
-
refresh(options?: ModelsRefreshOptions): Promise<ModelsRefreshResult>;
|
|
148
|
-
|
|
149
|
-
/** Check whether a provider has complete auth configuration without refreshing OAuth. */
|
|
62
|
+
/** Whether a provider resolves an API key. */
|
|
150
63
|
checkAuth(providerId: string): Promise<AuthCheck | undefined>;
|
|
151
64
|
|
|
152
|
-
/** Return models whose providers have complete auth configuration. */
|
|
153
|
-
getAvailable(providerId?: string): Promise<readonly Model<Api>[]>;
|
|
154
|
-
|
|
155
65
|
/**
|
|
156
|
-
* Resolve provider
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
*
|
|
160
|
-
* stored credential is preserved for retry; re-login fixes it), code "auth"
|
|
161
|
-
* when api-key resolution or the credential store fails. Request paths
|
|
162
|
-
* surface rejections as stream errors.
|
|
66
|
+
* Resolve provider auth by provider id, or provider auth plus static model
|
|
67
|
+
* headers when passed a model. Resolves `undefined` when the provider is
|
|
68
|
+
* unknown or unconfigured, rejects with `ModelsError` code "auth" when
|
|
69
|
+
* the key cannot be resolved.
|
|
163
70
|
*/
|
|
164
71
|
getAuth(providerId: string, overrides?: AuthResolutionOverrides): Promise<AuthResult | undefined>;
|
|
165
72
|
getAuth(model: Model<Api>, overrides?: AuthResolutionOverrides): Promise<AuthResult | undefined>;
|
|
166
73
|
|
|
167
|
-
|
|
168
|
-
login(providerId: string, type: AuthType, interaction: AuthInteraction): Promise<Credential>;
|
|
169
|
-
|
|
170
|
-
/** Remove the stored credential for a provider. */
|
|
171
|
-
logout(providerId: string): Promise<void>;
|
|
172
|
-
|
|
173
|
-
stream<TApi extends Api>(
|
|
174
|
-
model: Model<TApi>,
|
|
175
|
-
context: Context,
|
|
176
|
-
options?: ModelsApiStreamOptions<TApi>,
|
|
177
|
-
): AssistantMessageEventStream;
|
|
74
|
+
stream<TApi extends Api>(model: Model<TApi>, context: Context, options?: ApiStreamOptions<TApi>): AssistantMessageEventStream;
|
|
178
75
|
|
|
179
|
-
complete<TApi extends Api>(
|
|
180
|
-
model: Model<TApi>,
|
|
181
|
-
context: Context,
|
|
182
|
-
options?: ModelsApiStreamOptions<TApi>,
|
|
183
|
-
): Promise<AssistantMessage>;
|
|
76
|
+
complete<TApi extends Api>(model: Model<TApi>, context: Context, options?: ApiStreamOptions<TApi>): Promise<AssistantMessage>;
|
|
184
77
|
|
|
185
|
-
streamSimple(model: Model<Api>, context: Context, options?:
|
|
186
|
-
completeSimple(model: Model<Api>, context: Context, options?:
|
|
78
|
+
streamSimple(model: Model<Api>, context: Context, options?: SimpleStreamOptions): AssistantMessageEventStream;
|
|
79
|
+
completeSimple(model: Model<Api>, context: Context, options?: SimpleStreamOptions): Promise<AssistantMessage>;
|
|
187
80
|
}
|
|
188
81
|
|
|
189
82
|
export interface MutableModels extends Models {
|
|
190
83
|
/** Upsert/replace by provider.id. Provider ids are unique. */
|
|
191
84
|
setProvider(provider: Provider): void;
|
|
192
|
-
deleteProvider(id: string): void;
|
|
193
|
-
clearProviders(): void;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
export interface CreateModelsOptions {
|
|
197
|
-
credentials?: CredentialStore;
|
|
198
|
-
modelsStore?: ModelsStore;
|
|
199
|
-
authContext?: AuthContext;
|
|
200
85
|
}
|
|
201
86
|
|
|
202
87
|
function mergeHeaders(
|
|
@@ -216,198 +101,48 @@ function mergeHeaders(
|
|
|
216
101
|
}
|
|
217
102
|
|
|
218
103
|
class ModelsImpl implements MutableModels {
|
|
219
|
-
private providers = new Map<string, Provider>();
|
|
220
|
-
private
|
|
221
|
-
private modelsStore: ModelsStore;
|
|
222
|
-
private authContext: AuthContext;
|
|
223
|
-
|
|
224
|
-
constructor(options?: CreateModelsOptions) {
|
|
225
|
-
this.credentials = options?.credentials ?? new InMemoryCredentialStore();
|
|
226
|
-
this.modelsStore = options?.modelsStore ?? new InMemoryModelsStore();
|
|
227
|
-
this.authContext = options?.authContext ?? defaultAuthContext();
|
|
228
|
-
}
|
|
104
|
+
private readonly providers = new Map<string, Provider>();
|
|
105
|
+
private readonly authContext: AuthContext = defaultProviderAuthContext();
|
|
229
106
|
|
|
230
107
|
setProvider(provider: Provider): void {
|
|
231
108
|
this.providers.set(provider.id, provider);
|
|
232
109
|
}
|
|
233
110
|
|
|
234
|
-
deleteProvider(id: string): void {
|
|
235
|
-
this.providers.delete(id);
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
clearProviders(): void {
|
|
239
|
-
this.providers.clear();
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
getProviders(): readonly Provider[] {
|
|
243
|
-
return Array.from(this.providers.values());
|
|
244
|
-
}
|
|
245
|
-
|
|
246
111
|
getProvider(id: string): Provider | undefined {
|
|
247
112
|
return this.providers.get(id);
|
|
248
113
|
}
|
|
249
114
|
|
|
250
115
|
getModels(provider?: string): readonly Model<Api>[] {
|
|
251
|
-
|
|
252
|
-
|
|
116
|
+
const entries = provider !== undefined ? [this.providers.get(provider)] : [...this.providers.values()];
|
|
117
|
+
return entries.flatMap((entry) => {
|
|
253
118
|
if (!entry) return [];
|
|
254
119
|
try {
|
|
255
120
|
return entry.getModels();
|
|
256
121
|
} catch {
|
|
257
122
|
return [];
|
|
258
123
|
}
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
const models: Model<Api>[] = [];
|
|
262
|
-
for (const entry of this.providers.values()) {
|
|
263
|
-
try {
|
|
264
|
-
models.push(...entry.getModels());
|
|
265
|
-
} catch {
|
|
266
|
-
// Best-effort: ill-behaved providers yield no models.
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
return models;
|
|
124
|
+
});
|
|
270
125
|
}
|
|
271
126
|
|
|
272
127
|
getModel(provider: string, id: string): Model<Api> | undefined {
|
|
273
128
|
return this.getModels(provider).find((model) => model.id === id);
|
|
274
129
|
}
|
|
275
130
|
|
|
276
|
-
async
|
|
277
|
-
const
|
|
278
|
-
|
|
279
|
-
const refreshable = Array.from(this.providers.values()).filter(
|
|
280
|
-
(provider): provider is Provider & Required<Pick<Provider, "refreshModels">> =>
|
|
281
|
-
provider.refreshModels !== undefined,
|
|
282
|
-
);
|
|
283
|
-
|
|
284
|
-
await Promise.all(
|
|
285
|
-
refreshable.map(async (provider) => {
|
|
286
|
-
if (options.signal?.aborted) return;
|
|
287
|
-
const store: ProviderModelsStore = {
|
|
288
|
-
read: () => this.modelsStore.read(provider.id),
|
|
289
|
-
write: (entry) => this.modelsStore.write(provider.id, entry),
|
|
290
|
-
delete: () => this.modelsStore.delete(provider.id),
|
|
291
|
-
};
|
|
292
|
-
let stored: Credential | undefined;
|
|
293
|
-
try {
|
|
294
|
-
stored = await this.readCredential(provider.id);
|
|
295
|
-
const credential = await this.resolveRefreshCredential(provider, stored, allowNetwork, options.signal);
|
|
296
|
-
if (!credential) return;
|
|
297
|
-
await provider.refreshModels({
|
|
298
|
-
credential,
|
|
299
|
-
store,
|
|
300
|
-
allowNetwork,
|
|
301
|
-
force: options.force,
|
|
302
|
-
signal: options.signal,
|
|
303
|
-
});
|
|
304
|
-
} catch (error) {
|
|
305
|
-
if (!options.signal?.aborted) {
|
|
306
|
-
errors.set(
|
|
307
|
-
provider.id,
|
|
308
|
-
error instanceof Error
|
|
309
|
-
? error
|
|
310
|
-
: new ModelsError("model_source", `Model refresh failed for ${provider.id}`, { cause: error }),
|
|
311
|
-
);
|
|
312
|
-
}
|
|
313
|
-
try {
|
|
314
|
-
await provider.refreshModels({
|
|
315
|
-
credential: stored,
|
|
316
|
-
store,
|
|
317
|
-
allowNetwork: false,
|
|
318
|
-
signal: options.signal,
|
|
319
|
-
});
|
|
320
|
-
} catch {
|
|
321
|
-
// Preserve the original auth/network error; cache restoration is best-effort here.
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
}),
|
|
325
|
-
);
|
|
326
|
-
|
|
327
|
-
return { aborted: options.signal?.aborted ?? false, errors };
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
private async resolveRefreshCredential(
|
|
331
|
-
provider: Provider,
|
|
332
|
-
stored: Credential | undefined,
|
|
333
|
-
allowNetwork: boolean,
|
|
334
|
-
signal?: AbortSignal,
|
|
335
|
-
): Promise<Credential | undefined> {
|
|
336
|
-
if (stored?.type === "oauth") {
|
|
337
|
-
const oauth = provider.auth.oauth;
|
|
338
|
-
if (!oauth) return undefined;
|
|
339
|
-
if (!allowNetwork || Date.now() < stored.expires) return stored;
|
|
340
|
-
if (signal?.aborted) return undefined;
|
|
341
|
-
const post = await this.credentials.modify(provider.id, async (current) => {
|
|
342
|
-
if (current?.type !== "oauth" || Date.now() < current.expires) return undefined;
|
|
343
|
-
return oauth.refresh(current, signal);
|
|
344
|
-
});
|
|
345
|
-
return post?.type === "oauth" ? post : undefined;
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
const apiKey = provider.auth.apiKey;
|
|
349
|
-
if (!apiKey) return undefined;
|
|
350
|
-
const credential = stored?.type === "api_key" ? stored : undefined;
|
|
351
|
-
const result = await apiKey.resolve({ ctx: this.authContext, credential });
|
|
352
|
-
if (!result) return undefined;
|
|
353
|
-
return { type: "api_key", key: result.auth.apiKey, env: result.env };
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
private async readCredential(providerId: string): Promise<Credential | undefined> {
|
|
357
|
-
try {
|
|
358
|
-
return await this.credentials.read(providerId);
|
|
359
|
-
} catch (error) {
|
|
360
|
-
throw new ModelsError("auth", `Credential store read failed for ${providerId}`, { cause: error });
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
private async checkProviderAuth(
|
|
365
|
-
provider: Provider,
|
|
366
|
-
credential: Credential | undefined,
|
|
367
|
-
): Promise<AuthCheck | undefined> {
|
|
368
|
-
if (credential?.type === "oauth") {
|
|
369
|
-
return provider.auth.oauth ? { source: "OAuth", type: "oauth" } : undefined;
|
|
370
|
-
}
|
|
131
|
+
async checkAuth(providerId: string): Promise<AuthCheck | undefined> {
|
|
132
|
+
const provider = this.providers.get(providerId);
|
|
133
|
+
if (!provider) return undefined;
|
|
371
134
|
const apiKey = provider.auth.apiKey;
|
|
372
|
-
if (!apiKey) return undefined;
|
|
373
135
|
if (apiKey.check) {
|
|
374
136
|
try {
|
|
375
|
-
return await apiKey.check({
|
|
376
|
-
ctx: this.authContext,
|
|
377
|
-
credential: credential?.type === "api_key" ? credential : undefined,
|
|
378
|
-
});
|
|
137
|
+
return await apiKey.check({ ctx: this.authContext });
|
|
379
138
|
} catch (error) {
|
|
380
139
|
throw new ModelsError("auth", `API key auth check failed for provider ${provider.id}`, { cause: error });
|
|
381
140
|
}
|
|
382
141
|
}
|
|
383
|
-
|
|
384
|
-
const resolution = await resolveProviderAuth(provider, this.credentials, this.authContext);
|
|
142
|
+
const resolution = await resolveProviderAuth(provider, this.authContext);
|
|
385
143
|
return resolution ? { source: resolution.source, type: "api_key" } : undefined;
|
|
386
144
|
}
|
|
387
145
|
|
|
388
|
-
async checkAuth(providerId: string): Promise<AuthCheck | undefined> {
|
|
389
|
-
const provider = this.providers.get(providerId);
|
|
390
|
-
if (!provider) return undefined;
|
|
391
|
-
return this.checkProviderAuth(provider, await this.readCredential(providerId));
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
async getAvailable(providerId?: string): Promise<readonly Model<Api>[]> {
|
|
395
|
-
const providers = providerId
|
|
396
|
-
? [this.providers.get(providerId)].filter((entry) => entry !== undefined)
|
|
397
|
-
: this.getProviders();
|
|
398
|
-
const checks = await Promise.all(
|
|
399
|
-
providers.map(async (provider) => {
|
|
400
|
-
const credential = await this.readCredential(provider.id);
|
|
401
|
-
return { provider, credential, auth: await this.checkProviderAuth(provider, credential) };
|
|
402
|
-
}),
|
|
403
|
-
);
|
|
404
|
-
return checks.flatMap(({ provider, credential, auth }) => {
|
|
405
|
-
if (!auth) return [];
|
|
406
|
-
const models = provider.getModels();
|
|
407
|
-
return provider.filterModels?.(models, credential) ?? models;
|
|
408
|
-
});
|
|
409
|
-
}
|
|
410
|
-
|
|
411
146
|
getAuth(providerId: string, overrides?: AuthResolutionOverrides): Promise<AuthResult | undefined>;
|
|
412
147
|
getAuth(model: Model<Api>, overrides?: AuthResolutionOverrides): Promise<AuthResult | undefined>;
|
|
413
148
|
async getAuth(
|
|
@@ -417,7 +152,7 @@ class ModelsImpl implements MutableModels {
|
|
|
417
152
|
const providerId = typeof providerOrModel === "string" ? providerOrModel : providerOrModel.provider;
|
|
418
153
|
const provider = this.providers.get(providerId);
|
|
419
154
|
if (!provider) return undefined;
|
|
420
|
-
const result = await resolveProviderAuth(provider, this.
|
|
155
|
+
const result = await resolveProviderAuth(provider, this.authContext, overrides);
|
|
421
156
|
if (!result || typeof providerOrModel === "string" || !providerOrModel.headers) return result;
|
|
422
157
|
return {
|
|
423
158
|
...result,
|
|
@@ -428,30 +163,6 @@ class ModelsImpl implements MutableModels {
|
|
|
428
163
|
};
|
|
429
164
|
}
|
|
430
165
|
|
|
431
|
-
async login(providerId: string, type: AuthType, interaction: AuthInteraction): Promise<Credential> {
|
|
432
|
-
const provider = this.providers.get(providerId);
|
|
433
|
-
if (!provider) throw new ModelsError("provider", `Unknown provider: ${providerId}`);
|
|
434
|
-
const method = type === "oauth" ? provider.auth.oauth : provider.auth.apiKey;
|
|
435
|
-
if (!method?.login) {
|
|
436
|
-
throw new ModelsError("auth", `${provider.name} does not support ${type} login`);
|
|
437
|
-
}
|
|
438
|
-
const credential = await method.login(interaction);
|
|
439
|
-
try {
|
|
440
|
-
await this.credentials.modify(providerId, async () => credential);
|
|
441
|
-
} catch (error) {
|
|
442
|
-
throw new ModelsError("auth", `Credential store modify failed for ${providerId}`, { cause: error });
|
|
443
|
-
}
|
|
444
|
-
return credential;
|
|
445
|
-
}
|
|
446
|
-
|
|
447
|
-
async logout(providerId: string): Promise<void> {
|
|
448
|
-
try {
|
|
449
|
-
await this.credentials.delete(providerId);
|
|
450
|
-
} catch (error) {
|
|
451
|
-
throw new ModelsError("auth", `Credential store delete failed for ${providerId}`, { cause: error });
|
|
452
|
-
}
|
|
453
|
-
}
|
|
454
|
-
|
|
455
166
|
private requireProvider(model: Model<Api>): Provider {
|
|
456
167
|
const provider = this.providers.get(model.provider);
|
|
457
168
|
if (!provider) {
|
|
@@ -460,7 +171,7 @@ class ModelsImpl implements MutableModels {
|
|
|
460
171
|
return provider;
|
|
461
172
|
}
|
|
462
173
|
|
|
463
|
-
private async applyAuth<TOptions extends StreamOptions
|
|
174
|
+
private async applyAuth<TOptions extends StreamOptions>(
|
|
464
175
|
model: Model<Api>,
|
|
465
176
|
options: TOptions | undefined,
|
|
466
177
|
): Promise<{ requestModel: Model<Api>; requestOptions: StreamOptions | undefined }> {
|
|
@@ -474,14 +185,12 @@ class ModelsImpl implements MutableModels {
|
|
|
474
185
|
}
|
|
475
186
|
const auth = resolution.auth;
|
|
476
187
|
|
|
477
|
-
// Explicit request options win per-field
|
|
188
|
+
// Explicit request options win per-field.
|
|
478
189
|
const apiKey = options?.apiKey ?? auth.apiKey;
|
|
479
|
-
|
|
480
|
-
if (options?.transformHeaders) headers = await options.transformHeaders(headers ?? {});
|
|
190
|
+
const headers = mergeHeaders(auth.headers, options?.headers);
|
|
481
191
|
const env = resolution.env || options?.env ? { ...(resolution.env ?? {}), ...(options?.env ?? {}) } : undefined;
|
|
482
192
|
const requestModel = auth.baseUrl ? { ...model, baseUrl: auth.baseUrl } : model;
|
|
483
|
-
const {
|
|
484
|
-
const requestOptions = { ...providerOptions, apiKey, headers, env } as StreamOptions;
|
|
193
|
+
const requestOptions = { ...options, apiKey, headers, env } as StreamOptions;
|
|
485
194
|
|
|
486
195
|
return { requestModel, requestOptions };
|
|
487
196
|
}
|
|
@@ -489,14 +198,11 @@ class ModelsImpl implements MutableModels {
|
|
|
489
198
|
stream<TApi extends Api>(
|
|
490
199
|
model: Model<TApi>,
|
|
491
200
|
context: Context,
|
|
492
|
-
options?:
|
|
201
|
+
options?: ApiStreamOptions<TApi>,
|
|
493
202
|
): AssistantMessageEventStream {
|
|
494
203
|
return lazyStream(model, async () => {
|
|
495
204
|
const provider = this.requireProvider(model);
|
|
496
|
-
const { requestModel, requestOptions } = await this.applyAuth(
|
|
497
|
-
model,
|
|
498
|
-
options as ModelsApiStreamOptions<Api> | undefined,
|
|
499
|
-
);
|
|
205
|
+
const { requestModel, requestOptions } = await this.applyAuth(model, options as ApiStreamOptions<Api> | undefined);
|
|
500
206
|
return provider.stream(requestModel as Model<TApi>, context, requestOptions as ApiStreamOptions<TApi>);
|
|
501
207
|
});
|
|
502
208
|
}
|
|
@@ -504,12 +210,12 @@ class ModelsImpl implements MutableModels {
|
|
|
504
210
|
async complete<TApi extends Api>(
|
|
505
211
|
model: Model<TApi>,
|
|
506
212
|
context: Context,
|
|
507
|
-
options?:
|
|
213
|
+
options?: ApiStreamOptions<TApi>,
|
|
508
214
|
): Promise<AssistantMessage> {
|
|
509
215
|
return this.stream(model, context, options).result();
|
|
510
216
|
}
|
|
511
217
|
|
|
512
|
-
streamSimple(model: Model<Api>, context: Context, options?:
|
|
218
|
+
streamSimple(model: Model<Api>, context: Context, options?: SimpleStreamOptions): AssistantMessageEventStream {
|
|
513
219
|
return lazyStream(model, async () => {
|
|
514
220
|
const provider = this.requireProvider(model);
|
|
515
221
|
const { requestModel, requestOptions } = await this.applyAuth(model, options);
|
|
@@ -517,17 +223,13 @@ class ModelsImpl implements MutableModels {
|
|
|
517
223
|
});
|
|
518
224
|
}
|
|
519
225
|
|
|
520
|
-
async completeSimple(
|
|
521
|
-
model: Model<Api>,
|
|
522
|
-
context: Context,
|
|
523
|
-
options?: ModelsSimpleStreamOptions,
|
|
524
|
-
): Promise<AssistantMessage> {
|
|
226
|
+
async completeSimple(model: Model<Api>, context: Context, options?: SimpleStreamOptions): Promise<AssistantMessage> {
|
|
525
227
|
return this.streamSimple(model, context, options).result();
|
|
526
228
|
}
|
|
527
229
|
}
|
|
528
230
|
|
|
529
|
-
export function createModels(
|
|
530
|
-
return new ModelsImpl(
|
|
231
|
+
export function createModels(): MutableModels {
|
|
232
|
+
return new ModelsImpl();
|
|
531
233
|
}
|
|
532
234
|
|
|
533
235
|
export interface CreateProviderOptions<TApi extends Api = Api> {
|
|
@@ -536,37 +238,18 @@ export interface CreateProviderOptions<TApi extends Api = Api> {
|
|
|
536
238
|
name?: string;
|
|
537
239
|
baseUrl?: string;
|
|
538
240
|
headers?: ProviderHeaders;
|
|
539
|
-
/** Required — every provider has auth semantics, even ambient/keyless ones. */
|
|
540
241
|
auth: ProviderAuth;
|
|
541
|
-
/** Static baseline model list (empty for purely dynamic providers). */
|
|
542
242
|
models: readonly Model<TApi>[];
|
|
543
|
-
/** Fetch a dynamic model overlay. createProvider restores/persists it through ModelsStore. */
|
|
544
|
-
fetchModels?: (context: RefreshModelsContext) => Promise<readonly Model<TApi>[]>;
|
|
545
|
-
filterModels?: (models: readonly Model<TApi>[], credential: Credential | undefined) => readonly Model<TApi>[];
|
|
546
243
|
/** Single implementation, or map keyed by `model.api` for mixed-API providers. */
|
|
547
244
|
api: ProviderStreams | Partial<Record<TApi, ProviderStreams>>;
|
|
548
245
|
}
|
|
549
246
|
|
|
550
247
|
/**
|
|
551
|
-
* Builds a provider from parts.
|
|
552
|
-
*
|
|
553
|
-
*
|
|
554
|
-
* produces a stream error.
|
|
248
|
+
* Builds a provider from parts. A single `api` streams all models; an `api`
|
|
249
|
+
* map dispatches on `model.api`, and a model whose api has no entry produces
|
|
250
|
+
* a stream error.
|
|
555
251
|
*/
|
|
556
252
|
export function createProvider<TApi extends Api = Api>(input: CreateProviderOptions<TApi>): Provider<TApi> {
|
|
557
|
-
const baselineModels = input.models;
|
|
558
|
-
let dynamicModels: readonly Model<TApi>[] = [];
|
|
559
|
-
let inflightRefresh: Promise<void> | undefined;
|
|
560
|
-
const fetchModels = input.fetchModels;
|
|
561
|
-
const currentModels = (): readonly Model<TApi>[] => {
|
|
562
|
-
const merged = [...baselineModels];
|
|
563
|
-
for (const model of dynamicModels) {
|
|
564
|
-
const index = merged.findIndex((entry) => entry.id === model.id);
|
|
565
|
-
if (index >= 0) merged[index] = model;
|
|
566
|
-
else merged.push(model);
|
|
567
|
-
}
|
|
568
|
-
return merged;
|
|
569
|
-
};
|
|
570
253
|
const single =
|
|
571
254
|
typeof (input.api as ProviderStreams).stream === "function" ? (input.api as ProviderStreams) : undefined;
|
|
572
255
|
const byApi = single ? undefined : (input.api as Partial<Record<string, ProviderStreams>>);
|
|
@@ -592,50 +275,13 @@ export function createProvider<TApi extends Api = Api>(input: CreateProviderOpti
|
|
|
592
275
|
baseUrl: input.baseUrl,
|
|
593
276
|
headers: input.headers,
|
|
594
277
|
auth: input.auth,
|
|
595
|
-
getModels:
|
|
596
|
-
refreshModels: fetchModels
|
|
597
|
-
? (context) => {
|
|
598
|
-
inflightRefresh ??= (async () => {
|
|
599
|
-
try {
|
|
600
|
-
const stored = await context.store.read();
|
|
601
|
-
if (stored) {
|
|
602
|
-
dynamicModels = stored.models
|
|
603
|
-
.filter((model) => model.provider === input.id)
|
|
604
|
-
.map((model) => model as Model<TApi>);
|
|
605
|
-
}
|
|
606
|
-
if (!context.allowNetwork || context.signal?.aborted) return;
|
|
607
|
-
const refreshed = await fetchModels(context);
|
|
608
|
-
if (context.signal?.aborted) return;
|
|
609
|
-
dynamicModels = refreshed;
|
|
610
|
-
await context.store.write({ models: refreshed, checkedAt: Date.now() });
|
|
611
|
-
} finally {
|
|
612
|
-
inflightRefresh = undefined;
|
|
613
|
-
}
|
|
614
|
-
})();
|
|
615
|
-
return inflightRefresh;
|
|
616
|
-
}
|
|
617
|
-
: undefined,
|
|
618
|
-
filterModels: input.filterModels,
|
|
278
|
+
getModels: () => input.models,
|
|
619
279
|
stream: (model, context, options) => dispatch(model, (streams) => streams.stream(model, context, options)),
|
|
620
280
|
streamSimple: (model, context, options) =>
|
|
621
281
|
dispatch(model, (streams) => streams.streamSimple(model, context, options)),
|
|
622
282
|
};
|
|
623
283
|
}
|
|
624
284
|
|
|
625
|
-
/**
|
|
626
|
-
* Runtime-checked narrowing for dynamically looked-up models:
|
|
627
|
-
*
|
|
628
|
-
* ```ts
|
|
629
|
-
* const model = models.getModel("anthropic", "claude-opus-4-7");
|
|
630
|
-
* if (model && hasApi(model, "anthropic-messages")) {
|
|
631
|
-
* // model: Model<"anthropic-messages">, stream options fully typed
|
|
632
|
-
* }
|
|
633
|
-
* ```
|
|
634
|
-
*/
|
|
635
|
-
export function hasApi<TApi extends Api>(model: Model<Api>, api: TApi): model is Model<TApi> {
|
|
636
|
-
return model.api === api;
|
|
637
|
-
}
|
|
638
|
-
|
|
639
285
|
export function calculateCost<TApi extends Api>(model: Model<TApi>, usage: Usage): Usage["cost"] {
|
|
640
286
|
const inputTokens = usage.input + usage.cacheRead + usage.cacheWrite;
|
|
641
287
|
let rates: ModelCostRates = model.cost;
|
|
@@ -691,15 +337,3 @@ export function clampThinkingLevel<TApi extends Api>(
|
|
|
691
337
|
}
|
|
692
338
|
return availableLevels[0] ?? "off";
|
|
693
339
|
}
|
|
694
|
-
|
|
695
|
-
/**
|
|
696
|
-
* Check if two models are equal by comparing both their id and provider.
|
|
697
|
-
* Returns false if either model is null or undefined.
|
|
698
|
-
*/
|
|
699
|
-
export function modelsAreEqual<TApi extends Api>(
|
|
700
|
-
a: Model<TApi> | null | undefined,
|
|
701
|
-
b: Model<TApi> | null | undefined,
|
|
702
|
-
): boolean {
|
|
703
|
-
if (!a || !b) return false;
|
|
704
|
-
return a.id === b.id && a.provider === b.provider;
|
|
705
|
-
}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { createImagesModels, type ImagesProvider, type MutableImagesModels } from "../images-models.ts";
|
|
2
1
|
import { MODELS } from "../models.generated.ts";
|
|
3
|
-
import {
|
|
2
|
+
import { createModels, type MutableModels, type Provider } from "../models.ts";
|
|
4
3
|
import type { Api, Model } from "../types.ts";
|
|
5
4
|
import { openrouterProvider } from "./openrouter.ts";
|
|
6
|
-
import { openrouterImagesProvider } from "./openrouter-images.ts";
|
|
7
5
|
|
|
8
6
|
/** Providers present in the generated catalog. */
|
|
9
7
|
export type BuiltinProvider = keyof typeof MODELS;
|
|
@@ -13,19 +11,6 @@ type BuiltinModelApi<
|
|
|
13
11
|
TModelId extends keyof (typeof MODELS)[TProvider],
|
|
14
12
|
> = (typeof MODELS)[TProvider][TModelId] extends { api: infer TApi } ? (TApi extends Api ? TApi : never) : never;
|
|
15
13
|
|
|
16
|
-
/** Typed read of the generated built-in catalog. */
|
|
17
|
-
export function getBuiltinModel<TProvider extends BuiltinProvider, TModelId extends keyof (typeof MODELS)[TProvider]>(
|
|
18
|
-
provider: TProvider,
|
|
19
|
-
modelId: TModelId,
|
|
20
|
-
): Model<BuiltinModelApi<TProvider, TModelId>> {
|
|
21
|
-
const models = MODELS[provider] as Record<string, Model<Api>> | undefined;
|
|
22
|
-
return models?.[modelId as string] as Model<BuiltinModelApi<TProvider, TModelId>>;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export function getBuiltinProviders(): BuiltinProvider[] {
|
|
26
|
-
return Object.keys(MODELS) as BuiltinProvider[];
|
|
27
|
-
}
|
|
28
|
-
|
|
29
14
|
export function getBuiltinModels<TProvider extends BuiltinProvider>(
|
|
30
15
|
provider: TProvider,
|
|
31
16
|
): Model<BuiltinModelApi<TProvider, keyof (typeof MODELS)[TProvider]>>[] {
|
|
@@ -41,24 +26,11 @@ export function builtinProviders(): Provider[] {
|
|
|
41
26
|
}
|
|
42
27
|
|
|
43
28
|
/** A `Models` collection with every built-in provider registered. */
|
|
44
|
-
export function builtinModels(
|
|
45
|
-
const models = createModels(
|
|
29
|
+
export function builtinModels(): MutableModels {
|
|
30
|
+
const models = createModels();
|
|
46
31
|
for (const provider of builtinProviders()) {
|
|
47
32
|
models.setProvider(provider);
|
|
48
33
|
}
|
|
49
34
|
return models;
|
|
50
35
|
}
|
|
51
36
|
|
|
52
|
-
/** All built-in image-generation providers, freshly constructed. */
|
|
53
|
-
export function builtinImagesProviders(): ImagesProvider[] {
|
|
54
|
-
return [openrouterImagesProvider()];
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/** An `ImagesModels` collection with every built-in image-generation provider registered. */
|
|
58
|
-
export function builtinImagesModels(options?: CreateModelsOptions): MutableImagesModels {
|
|
59
|
-
const models = createImagesModels(options);
|
|
60
|
-
for (const provider of builtinImagesProviders()) {
|
|
61
|
-
models.setProvider(provider);
|
|
62
|
-
}
|
|
63
|
-
return models;
|
|
64
|
-
}
|