@schlenkr/ragents 0.1.10 → 0.1.12
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 +1 -1
- package/apps/server/package.json +1 -1
- package/apps/server/src/access-projection.ts +6 -6
- package/apps/server/src/access-service.ts +3 -3
- package/apps/server/src/access-session.ts +19 -19
- package/apps/server/src/api/contracts.ts +29 -29
- package/apps/server/src/api/core-methods.ts +17 -17
- package/apps/server/src/api/delivery.ts +2 -2
- package/apps/server/src/api/reference.ts +27 -27
- package/apps/server/src/api/rights.ts +18 -18
- package/apps/server/src/chat-handler.ts +5 -5
- package/apps/server/src/config-definition.ts +37 -10
- package/apps/server/src/config-file.ts +49 -49
- package/apps/server/src/config.ts +2 -0
- package/apps/server/src/data-directory.ts +2 -2
- package/apps/server/src/external-access.ts +1 -1
- package/apps/server/src/folder-install.ts +1 -1
- package/apps/server/src/help-files.ts +1 -1
- package/apps/server/src/host-api.json +6 -1
- package/apps/server/src/host-api.ts +3 -2
- package/apps/server/src/host-record.ts +3 -3
- package/apps/server/src/host-resolution-hooks.mjs +4 -4
- package/apps/server/src/host-version.ts +17 -17
- package/apps/server/src/host-web.ts +5 -5
- package/apps/server/src/main.ts +6 -6
- package/apps/server/src/missing-environment.ts +6 -6
- package/apps/server/src/parent-watch.ts +4 -4
- package/apps/server/src/plugin-build/build.ts +38 -38
- package/apps/server/src/plugin-build/host-api-names.ts +7 -7
- package/apps/server/src/plugin-build/plugin-description.ts +15 -15
- package/apps/server/src/plugin-build/typecheck.ts +1 -1
- package/apps/server/src/plugin-support/actor-programs/app-project.ts +19 -19
- package/apps/server/src/plugin-support/actor-programs/client-compiler.ts +4 -4
- package/apps/server/src/plugin-support/actor-programs/client-contracts.ts +11 -11
- package/apps/server/src/plugin-support/actor-programs/contract.ts +17 -17
- package/apps/server/src/plugin-support/actor-programs/runtime-libraries.ts +1 -1
- package/apps/server/src/plugin-support/actor-programs/workflow/index.ts +5 -5
- package/apps/server/src/plugin-support/actor-programs/workflow/prompt-reader.ts +2 -2
- package/apps/server/src/plugin-support/chat-display-policy.ts +2 -2
- package/apps/server/src/plugin-support/front-matter.ts +6 -6
- package/apps/server/src/plugin-support/http.ts +2 -2
- package/apps/server/src/plugin-support/language-server/contract.ts +8 -8
- package/apps/server/src/plugin-support/language-server/plugin.ts +2 -2
- package/apps/server/src/plugin-support/language-server/snapshot-method.ts +1 -1
- package/apps/server/src/plugin-support/language-server/tools.ts +11 -11
- package/apps/server/src/plugin-support/model-aliases.ts +30 -20
- package/apps/server/src/plugin-support/model-choice.ts +15 -15
- package/apps/server/src/plugin-support/model-completion.ts +44 -23
- package/apps/server/src/plugin-support/model-providers.ts +170 -0
- package/apps/server/src/plugin-support/model-upstreams.ts +1 -1
- package/apps/server/src/plugin-support/native-typescript-child.ts +4 -4
- package/apps/server/src/plugin-support/native-typescript-executor.ts +12 -12
- package/apps/server/src/plugin-support/plugin-config.ts +3 -3
- package/apps/server/src/plugin-support/plugin-folder.ts +2 -2
- package/apps/server/src/plugin-support/plugins-root.ts +2 -2
- package/apps/server/src/plugin-support/process-sandbox.ts +39 -39
- package/apps/server/src/plugin-support/product-model-settings-contract.ts +3 -3
- package/apps/server/src/plugin-support/product-model-settings.ts +10 -10
- package/apps/server/src/plugin-support/product-relay.ts +9 -9
- package/apps/server/src/plugin-support/product-start-options.ts +4 -4
- package/apps/server/src/plugin-support/prompt.ts +1 -1
- package/apps/server/src/plugin-support/provision.ts +8 -8
- package/apps/server/src/plugin-support/run-scripts.ts +17 -17
- package/apps/server/src/plugin-support/skills.ts +18 -18
- package/apps/server/src/plugin-support/start-entries-contract.ts +17 -17
- package/apps/server/src/plugin-support/start-options-contract.ts +5 -5
- package/apps/server/src/plugin-support/system-prompts.ts +11 -11
- package/apps/server/src/plugin-support/thinking-level.ts +2 -2
- package/apps/server/src/plugin-support/tool-availability.ts +2 -2
- package/apps/server/src/plugin-support/workspace-ownership.ts +5 -5
- package/apps/server/src/plugin-support/workspace-sandbox-host.ts +37 -37
- package/apps/server/src/plugin-support/zip.ts +7 -7
- package/apps/server/src/profile/bundle-manifest.ts +27 -27
- package/apps/server/src/profile/compose.ts +12 -7
- package/apps/server/src/profile/plugin-discovery.ts +14 -14
- package/apps/server/src/profile/provisioning.ts +5 -5
- package/apps/server/src/profile-target.ts +10 -10
- package/apps/server/src/protocol.ts +2 -2
- package/apps/server/src/provider.ts +62 -57
- package/apps/server/src/ragents/actor-chat-history.ts +8 -8
- package/apps/server/src/ragents/chat-text-positions.ts +2 -2
- package/apps/server/src/ragents/coordinator.ts +2 -2
- package/apps/server/src/ragents/engine.ts +23 -23
- package/apps/server/src/ragents/global-chat.ts +8 -8
- package/apps/server/src/ragents/host-services.ts +6 -3
- package/apps/server/src/ragents/journal-chat-events.ts +1 -1
- package/apps/server/src/ragents/run-owner.ts +2 -2
- package/apps/server/src/ragents/session.ts +49 -49
- package/apps/server/src/ragents/typescript-tools.ts +12 -12
- package/apps/server/src/ragents/workspace-runtime.ts +28 -28
- package/apps/server/src/rpc/dispatcher.ts +19 -19
- package/apps/server/src/rpc/http-transport.ts +11 -11
- package/apps/server/src/rpc/stdio-transport.ts +3 -3
- package/apps/server/src/run-preparation-input.ts +5 -5
- package/apps/server/src/run-preparation.ts +24 -24
- package/apps/server/src/run-transfer.ts +39 -39
- package/apps/server/src/server.ts +48 -48
- package/apps/server/src/settings.ts +1 -1
- package/apps/server/src/startup.ts +3 -3
- package/apps/server/src/title-compactor.ts +9 -9
- package/apps/server/src/title-settings.ts +3 -3
- package/apps/server/src/web-bundles.ts +2 -2
- package/apps/server/src/web-stylesheet.ts +2 -2
- package/apps/web/dist/assets/{highlighted-body-KPVGNVTW-BO4wLQtE.js → highlighted-body-KPVGNVTW-CpPi6QLr.js} +1 -1
- package/apps/web/dist/assets/main-DJmCHGzM.js +11 -0
- package/apps/web/dist/assets/mermaid-HWGCJPDP-q-mf1kLN.js +608 -0
- package/apps/web/dist/assets/runPanel-nk_aMxSn.js +21 -0
- package/apps/web/dist/help/guide-access.html +5 -5
- package/apps/web/dist/help/guide-access.md +2 -2
- package/apps/web/dist/help/guide-clients.html +53 -54
- package/apps/web/dist/help/guide-clients.md +50 -51
- package/apps/web/dist/help/guide-distributed.html +12 -7
- package/apps/web/dist/help/guide-distributed.md +9 -4
- package/apps/web/dist/help/guide-functions.html +3 -3
- package/apps/web/dist/help/guide-getting-started.html +24 -15
- package/apps/web/dist/help/guide-getting-started.md +22 -12
- package/apps/web/dist/help/guide-ideas.html +3 -3
- package/apps/web/dist/help/guide-plugins.html +5 -4
- package/apps/web/dist/help/guide-plugins.md +2 -1
- package/apps/web/dist/help/guide-programs.html +3 -3
- package/apps/web/dist/help/guide-runtime.html +6 -6
- package/apps/web/dist/help/guide-runtime.md +3 -3
- package/apps/web/dist/help/guide.html +3 -3
- package/apps/web/dist/help/index.html +196 -144
- package/apps/web/dist/help/mini-app.css +6 -0
- package/apps/web/dist/help/mini-app.js +14 -14
- package/apps/web/dist/host-web.json +91 -91
- package/apps/web/dist/index.html +3 -3
- package/apps/web/dist/run-panel.html +3 -3
- package/apps/web/package.json +1 -1
- package/apps/web/src/AccessContext.tsx +15 -15
- package/apps/web/src/App.tsx +13 -13
- package/apps/web/src/DiffCode.tsx +2 -2
- package/apps/web/src/HelpDialog.tsx +3 -3
- package/apps/web/src/Overview.tsx +13 -13
- package/apps/web/src/PluginActivation.ts +1 -1
- package/apps/web/src/PluginChat.tsx +15 -15
- package/apps/web/src/PluginFailureNotice.tsx +1 -1
- package/apps/web/src/PluginRegistry.tsx +44 -44
- package/apps/web/src/RunPreparationChat.tsx +11 -11
- package/apps/web/src/RunStore.ts +1 -1
- package/apps/web/src/SessionList.tsx +14 -14
- package/apps/web/src/SettingsModal.tsx +112 -112
- package/apps/web/src/StartOptions.tsx +11 -11
- package/apps/web/src/StartSelection.tsx +11 -11
- package/apps/web/src/StartTiles.tsx +8 -8
- package/apps/web/src/SurfaceShortcuts.tsx +3 -3
- package/apps/web/src/ThemeSettings.tsx +8 -8
- package/apps/web/src/TitleModelSettings.tsx +13 -13
- package/apps/web/src/WorkspacePanel.tsx +9 -9
- package/apps/web/src/access-session.ts +4 -4
- package/apps/web/src/access-token.ts +5 -5
- package/apps/web/src/actor-conversation.ts +3 -3
- package/apps/web/src/actor-programs/client-ui/DataTable.tsx +8 -8
- package/apps/web/src/actor-programs/client-ui/FilePicker.tsx +4 -4
- package/apps/web/src/actor-programs/client-ui/FlowDiagram.tsx +13 -13
- package/apps/web/src/actor-programs/client-ui/Viewers.tsx +4 -4
- package/apps/web/src/actor-programs/client-ui/WorkflowDiagram.tsx +1 -1
- package/apps/web/src/actor-programs/client-ui/file-contracts.d.ts +4 -4
- package/apps/web/src/actor-programs/client-ui/file-selection.ts +1 -1
- package/apps/web/src/actor-programs/client-ui/viewer-contracts.d.ts +3 -3
- package/apps/web/src/api.ts +7 -7
- package/apps/web/src/chat/QuasselHost.tsx +1 -1
- package/apps/web/src/chat/StoppedActorNotice.tsx +5 -5
- package/apps/web/src/chat/chat-target.ts +3 -3
- package/apps/web/src/chat/requests.ts +2 -2
- package/apps/web/src/chat/useAttachmentCapabilities.ts +2 -2
- package/apps/web/src/chat-view-settings.tsx +5 -6
- package/apps/web/src/diff-view.css +1 -1
- package/apps/web/src/highlighting.css +1 -1
- package/apps/web/src/language-server/language-server-plugin.tsx +30 -30
- package/apps/web/src/lib/labels.ts +6 -6
- package/apps/web/src/main.tsx +4 -4
- package/apps/web/src/offered-machines.ts +2 -2
- package/apps/web/src/page-opener.tsx +1 -1
- package/apps/web/src/panel/ConnectionsPage.tsx +23 -23
- package/apps/web/src/panel/LoginForm.tsx +6 -6
- package/apps/web/src/panel/PanelDialogs.tsx +22 -22
- package/apps/web/src/panel/PanelHeader.tsx +2 -2
- package/apps/web/src/panel/PanelPage.tsx +1 -1
- package/apps/web/src/panel/RunLine.tsx +4 -4
- package/apps/web/src/panel/RunsPage.tsx +15 -15
- package/apps/web/src/panel/StartPage.tsx +26 -26
- package/apps/web/src/panel/connection-state.ts +9 -9
- package/apps/web/src/panel/contract.ts +28 -28
- package/apps/web/src/panel.tsx +1 -1
- package/apps/web/src/plugin-bootstrap.ts +5 -5
- package/apps/web/src/product/ModelControl.tsx +3 -3
- package/apps/web/src/product/ProductModelSettings.tsx +16 -16
- package/apps/web/src/product/SystemPromptControl.tsx +11 -11
- package/apps/web/src/product/model-settings.ts +2 -2
- package/apps/web/src/rpc/client.ts +16 -16
- package/apps/web/src/rpc.ts +1 -1
- package/apps/web/src/run-overview.ts +1 -1
- package/apps/web/src/run-panel/RunPanelApp.tsx +39 -39
- package/apps/web/src/run-panel/RunPanelHeader.tsx +6 -6
- package/apps/web/src/run-panel/RunPanelMenu.tsx +6 -6
- package/apps/web/src/run-panel/RunPanelRail.tsx +4 -4
- package/apps/web/src/run-panel/RunPanelWorkspace.tsx +3 -3
- package/apps/web/src/run-panel/clipboard.ts +3 -3
- package/apps/web/src/run-panel/host-contract.ts +5 -5
- package/apps/web/src/run-panel/host.ts +15 -15
- package/apps/web/src/run-panel/input-bridge.ts +1 -1
- package/apps/web/src/run-panel/run-panel-location.ts +5 -5
- package/apps/web/src/run-panel/use-session-list.ts +1 -1
- package/apps/web/src/run-panel/workspace-state.ts +3 -3
- package/apps/web/src/run-panel.tsx +4 -4
- package/apps/web/src/run-preparation.ts +2 -2
- package/apps/web/src/run-view.ts +3 -3
- package/apps/web/src/settings-contributions.ts +32 -32
- package/apps/web/src/theme.ts +9 -9
- package/apps/web/src/title-model-settings.ts +6 -6
- package/apps/web/src/ui/ListDetail.tsx +9 -9
- package/apps/web/src/ui/dialog.tsx +2 -2
- package/apps/web/src/ui/modal-controller.ts +3 -3
- package/apps/web/src/ui/modal.tsx +2 -2
- package/apps/web/src/ui/popover.tsx +1 -1
- package/apps/web/src/ui/relative-time.ts +8 -8
- package/apps/web/src/ui/startup-notice.tsx +2 -2
- package/apps/web/src/ui/state-icon.tsx +1 -1
- package/apps/web/src/ui/state-vocabulary.ts +16 -16
- package/apps/web/src/ui/stop-button.tsx +2 -2
- package/bundles/ragents.activity/ragents-bundle.json +3 -3
- package/bundles/ragents.activity/web/classes.json +1 -1
- package/bundles/ragents.activity/web/index.js +1 -1
- package/bundles/ragents.activity/web/index.js.map +2 -2
- package/bundles/ragents.actor-programs/ragents-bundle.json +3 -3
- package/bundles/ragents.actor-programs/server/index.js +225 -225
- package/bundles/ragents.actor-programs/server/index.js.map +2 -2
- package/bundles/ragents.actor-programs/web/classes.json +1 -1
- package/bundles/ragents.actor-programs/web/index.js +1 -1
- package/bundles/ragents.actor-programs/web/index.js.map +3 -3
- package/bundles/ragents.ask/ragents-bundle.json +3 -3
- package/bundles/ragents.ask/server/chunks/{chunk-PDJO75SQ.js → chunk-YOV27MAR.js} +2 -2
- package/bundles/ragents.ask/server/chunks/chunk-YOV27MAR.js.map +7 -0
- package/bundles/ragents.ask/server/exports/server/contract.js +1 -1
- package/bundles/ragents.ask/server/index.js +23 -23
- package/bundles/ragents.ask/server/index.js.map +2 -2
- package/bundles/ragents.ask/web/chunks/{chunk-WFN4374U.js → chunk-D6NNB5DS.js} +1 -1
- package/bundles/ragents.ask/web/chunks/chunk-D6NNB5DS.js.map +7 -0
- package/bundles/ragents.ask/web/chunks/{chunk-MBRPS477.js → chunk-IQBHK7MV.js} +2 -2
- package/bundles/ragents.ask/web/chunks/{chunk-MBRPS477.js.map → chunk-IQBHK7MV.js.map} +3 -3
- package/bundles/ragents.ask/web/chunks/chunk-PWFIAMX4.js +2 -0
- package/bundles/ragents.ask/web/chunks/chunk-PWFIAMX4.js.map +7 -0
- package/bundles/ragents.ask/web/chunks/chunk-QHGKEESD.js +2 -0
- package/bundles/ragents.ask/web/chunks/chunk-QHGKEESD.js.map +7 -0
- package/bundles/ragents.ask/web/classes.json +1 -1
- package/bundles/ragents.ask/web/exports/ask-payload.js +1 -1
- package/bundles/ragents.ask/web/exports/web/QuestionCard.js +1 -1
- package/bundles/ragents.ask/web/exports/web/api.js +1 -1
- package/bundles/ragents.ask/web/index.js +1 -1
- package/bundles/ragents.ask/web/index.js.map +2 -2
- package/bundles/ragents.browser/executor/index.mjs +35 -35
- package/bundles/ragents.browser/executor/index.mjs.map +2 -2
- package/bundles/ragents.browser/ragents-bundle.json +3 -3
- package/bundles/ragents.browser/server/chunks/{chunk-CWLX4VA5.js → chunk-PYEISBNE.js} +1 -1
- package/bundles/ragents.browser/server/chunks/{chunk-CWLX4VA5.js.map → chunk-PYEISBNE.js.map} +1 -1
- package/bundles/ragents.browser/server/exports/server/contract.js +1 -1
- package/bundles/ragents.browser/server/index.js +31 -31
- package/bundles/ragents.browser/server/index.js.map +2 -2
- package/bundles/ragents.browser/skills/browser-testing/SKILL.md +30 -30
- package/bundles/ragents.documents/prompt.hbs +1 -1
- package/bundles/ragents.documents/ragents-bundle.json +3 -3
- package/bundles/ragents.documents/server/chunks/{chunk-QIECRZ7C.js → chunk-KMZWOVTI.js} +3 -3
- package/bundles/ragents.documents/server/chunks/{chunk-QIECRZ7C.js.map → chunk-KMZWOVTI.js.map} +2 -2
- package/bundles/ragents.documents/server/exports/contract.js +1 -1
- package/bundles/ragents.documents/server/index.js +26 -26
- package/bundles/ragents.documents/server/index.js.map +2 -2
- package/bundles/ragents.documents/web/classes.json +1 -1
- package/bundles/ragents.documents/web/index.js +1 -1
- package/bundles/ragents.documents/web/index.js.map +3 -3
- package/bundles/ragents.lsp-fsharp/executor/index.mjs +4 -4
- package/bundles/ragents.lsp-fsharp/executor/index.mjs.map +2 -2
- package/bundles/ragents.lsp-fsharp/ragents-bundle.json +3 -3
- package/bundles/ragents.lsp-fsharp/server/index.js +5 -5
- package/bundles/ragents.lsp-fsharp/server/index.js.map +2 -2
- package/bundles/ragents.lsp-fsharp/web/index.js +1 -1
- package/bundles/ragents.lsp-fsharp/web/index.js.map +2 -2
- package/bundles/ragents.lsp-roslyn/executor/index.mjs +3 -3
- package/bundles/ragents.lsp-roslyn/executor/index.mjs.map +2 -2
- package/bundles/ragents.lsp-roslyn/ragents-bundle.json +3 -3
- package/bundles/ragents.lsp-roslyn/server/index.js +17 -17
- package/bundles/ragents.lsp-roslyn/server/index.js.map +2 -2
- package/bundles/ragents.lsp-roslyn/web/index.js +1 -1
- package/bundles/ragents.lsp-roslyn/web/index.js.map +2 -2
- package/bundles/ragents.lsp-typescript/executor/index.mjs +2 -2
- package/bundles/ragents.lsp-typescript/executor/index.mjs.map +2 -2
- package/bundles/ragents.lsp-typescript/ragents-bundle.json +3 -3
- package/bundles/ragents.lsp-typescript/server/index.js.map +1 -1
- package/bundles/ragents.lsp-typescript/web/index.js +1 -1
- package/bundles/ragents.lsp-typescript/web/index.js.map +2 -2
- package/bundles/ragents.model-relay/ragents-bundle.json +8 -4
- package/bundles/ragents.model-relay/server/index.js +25 -21
- package/bundles/ragents.model-relay/server/index.js.map +2 -2
- package/bundles/ragents.orchestration/ragents-bundle.json +3 -3
- package/bundles/ragents.orchestration/server/index.js +28 -28
- package/bundles/ragents.orchestration/server/index.js.map +2 -2
- package/bundles/ragents.orchestration/web/chunks/{chunk-OSKPH6SZ.js → chunk-CFMJD5ZI.js} +2 -2
- package/bundles/ragents.orchestration/web/chunks/chunk-HOBLI364.js +2 -0
- package/bundles/ragents.orchestration/web/chunks/{chunk-OQYCNYXN.js.map → chunk-HOBLI364.js.map} +2 -2
- package/bundles/ragents.orchestration/web/chunks/{chunk-ODMMQGX2.js → chunk-UCIMT2R4.js} +2 -2
- package/bundles/ragents.orchestration/web/classes.json +1 -1
- package/bundles/ragents.orchestration/web/exports/web/program-slot.js +1 -1
- package/bundles/ragents.orchestration/web/exports/web/surface-entities.js +1 -1
- package/bundles/ragents.orchestration/web/index.js +8 -8
- package/bundles/ragents.orchestration/web/index.js.map +2 -2
- package/bundles/ragents.overseer/ragents-bundle.json +3 -3
- package/bundles/ragents.overseer/server/index.js +98 -98
- package/bundles/ragents.overseer/server/index.js.map +2 -2
- package/bundles/ragents.overseer/web/classes.json +1 -1
- package/bundles/ragents.overseer/web/index.js +1 -1
- package/bundles/ragents.overseer/web/index.js.map +2 -2
- package/bundles/ragents.processes/ragents-bundle.json +3 -3
- package/bundles/ragents.processes/server/index.js +11 -11
- package/bundles/ragents.processes/server/index.js.map +2 -2
- package/bundles/ragents.processes/web/classes.json +1 -1
- package/bundles/ragents.processes/web/index.js +3 -3
- package/bundles/ragents.processes/web/index.js.map +2 -2
- package/bundles/ragents.product/ragents-bundle.json +3 -3
- package/bundles/ragents.product/server/index.js +12 -13
- package/bundles/ragents.product/server/index.js.map +2 -2
- package/bundles/ragents.product/web/classes.json +1 -1
- package/bundles/ragents.product/web/index.js +1 -1
- package/bundles/ragents.product/web/index.js.map +2 -2
- package/bundles/ragents.profile-distribution/ragents-bundle.json +3 -3
- package/bundles/ragents.profile-distribution/server/index.js +31 -31
- package/bundles/ragents.profile-distribution/server/index.js.map +2 -2
- package/bundles/ragents.reference/ragents-bundle.json +3 -3
- package/bundles/ragents.reference/run-scripts/balcony-wizard/RUN.md +19 -19
- package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/package.json +2 -2
- package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +14 -14
- package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/conversation.ts +2 -2
- package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/tests/conversation.test.ts +49 -49
- package/bundles/ragents.reference/run-scripts/balcony-wizard/package.json +1 -1
- package/bundles/ragents.reference/run-scripts/balcony-wizard/src/server.ts +9 -9
- package/bundles/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +9 -9
- package/bundles/ragents.reference/run-scripts/conversation-circle/RUN.md +7 -7
- package/bundles/ragents.reference/run-scripts/conversation-circle/package.json +1 -1
- package/bundles/ragents.reference/run-scripts/conversation-circle/src/server.ts +13 -13
- package/bundles/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +1 -1
- package/bundles/ragents.reference/run-scripts/conversation-circle/tests/program.test.ts +8 -8
- package/bundles/ragents.reference/run-scripts/learning-afternoon/RUN.md +16 -16
- package/bundles/ragents.reference/run-scripts/learning-afternoon/package.json +1 -1
- package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/experiment.md +1 -1
- package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/helper.md +3 -3
- package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/quiz.md +1 -1
- package/bundles/ragents.reference/run-scripts/learning-afternoon/src/server.ts +9 -9
- package/bundles/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +39 -39
- package/bundles/ragents.reference/run-scripts/moderated-round/RUN.md +7 -7
- package/bundles/ragents.reference/run-scripts/moderated-round/package.json +1 -1
- package/bundles/ragents.reference/run-scripts/moderated-round/src/server.ts +9 -9
- package/bundles/ragents.reference/run-scripts/moderated-round/tests/helpers.ts +1 -1
- package/bundles/ragents.reference/run-scripts/moderated-round/tests/program.test.ts +6 -6
- package/bundles/ragents.reference/run-scripts/shared-actor-list/RUN.md +12 -12
- package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/package.json +2 -2
- package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/contract.ts +3 -3
- package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/tests/program.test.ts +4 -4
- package/bundles/ragents.reference/run-scripts/shared-actor-list/package.json +1 -1
- package/bundles/ragents.reference/run-scripts/shared-actor-list/src/server.ts +11 -11
- package/bundles/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +1 -1
- package/bundles/ragents.reference/run-scripts/shared-actor-list/tests/program.test.ts +13 -13
- package/bundles/ragents.reference/run-scripts/word-game/RUN.md +18 -18
- package/bundles/ragents.reference/run-scripts/word-game/package.json +2 -2
- package/bundles/ragents.reference/run-scripts/word-game/src/client.tsx +1 -1
- package/bundles/ragents.reference/run-scripts/word-game/src/contract.ts +2 -2
- package/bundles/ragents.reference/run-scripts/word-game/src/server.ts +16 -16
- package/bundles/ragents.reference/run-scripts/word-game/tests/program.test.ts +39 -39
- package/bundles/ragents.reference/skills/100-shared-actor-list/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/110-all-card-slots/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/150-editorial-workbench/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/160-learning-companion/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/170-photo-collection/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/180-decision-workbench/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/190-review-queue/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/20-circle-of-four/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/200-typescript-diagnostics/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/210-moderator-handover/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/220-actor-approval-list/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/230-shared-state-views/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/240-live-result-list/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/250-balcony-wizard/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/30-llm-without-runtime-knowledge/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/35-actor-input-fifo/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/40-subscription-matrix/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/50-subscription-removal/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/60-stop-in-the-circle/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/65-artifact-least-privilege/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/70-headless-counter/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/75-lsp-demo/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/80-actor-text-analysis/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/90-actor-notes/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/95-hello-world/SKILL.md +5 -5
- package/bundles/ragents.reference/skills/decision-brief/SKILL.md +24 -24
- package/bundles/ragents.reference/skills/learning-sprint/SKILL.md +24 -24
- package/bundles/ragents.reference/web/classes.json +1 -1
- package/bundles/ragents.reference/web/index.js +1 -1
- package/bundles/ragents.reference/web/index.js.map +2 -2
- package/bundles/ragents.todo/ragents-bundle.json +3 -3
- package/bundles/ragents.todo/server/index.js +5 -8
- package/bundles/ragents.todo/server/index.js.map +2 -2
- package/bundles/ragents.todo/web/classes.json +1 -1
- package/bundles/ragents.todo/web/index.js +1 -1
- package/bundles/ragents.todo/web/index.js.map +2 -2
- package/bundles/ragents.transcript/ragents-bundle.json +3 -3
- package/bundles/ragents.transcript/server/index.js +11 -11
- package/bundles/ragents.transcript/server/index.js.map +2 -2
- package/bundles/ragents.watch/ragents-bundle.json +3 -3
- package/bundles/ragents.watch/server/index.js +48 -48
- package/bundles/ragents.watch/server/index.js.map +2 -2
- package/bundles/ragents.workspace/ragents-bundle.json +3 -3
- package/bundles/ragents.workspace/server/index.js +83 -83
- package/bundles/ragents.workspace/server/index.js.map +2 -2
- package/bundles/ragents.workspace/web/classes.json +1 -1
- package/bundles/ragents.workspace/web/index.js +1 -1
- package/bundles/ragents.workspace/web/index.js.map +2 -2
- package/package.json +4 -4
- package/packages/agent/dist/core/model-runtime.d.ts +7 -2
- package/packages/agent/dist/index.d.ts +1 -1
- package/packages/agent/dist/loop/agent-loop.d.ts +2 -2
- package/packages/agent/src/core/compaction/utils.ts +1 -1
- package/packages/agent/src/core/model-runtime.ts +45 -5
- package/packages/agent/src/index.ts +1 -1
- package/packages/agent/src/loop/agent-loop.ts +2 -2
- package/packages/ai/dist/models.d.ts +1 -0
- package/packages/ai/dist/models.generated.d.ts +4544 -983
- package/packages/ai/dist/providers/openrouter.models.d.ts +4544 -983
- package/packages/ai/src/api/ai-sdk.ts +33 -7
- package/packages/ai/src/api-registry.ts +1 -1
- package/packages/ai/src/index.ts +2 -2
- package/packages/ai/src/models.generated.ts +1 -1
- package/packages/ai/src/models.ts +1 -1
- package/packages/ai/src/providers/openrouter.models.ts +3725 -552
- package/packages/ragents/src/access.ts +12 -12
- package/packages/ragents/src/agents/actor-input.ts +33 -33
- package/packages/ragents/src/agents/catalog.ts +1 -1
- package/packages/ragents/src/agents/delivery.ts +17 -17
- package/packages/ragents/src/agents/plugins.ts +1 -1
- package/packages/ragents/src/agents/scheduler.ts +7 -7
- package/packages/ragents/src/agents/schemas.ts +1 -1
- package/packages/ragents/src/agents/tool-orientation.ts +4 -4
- package/packages/ragents/src/agents/tools.ts +20 -20
- package/packages/ragents/src/agents/toolset.ts +5 -5
- package/packages/ragents/src/agents/workspaces.ts +1 -1
- package/packages/ragents/src/domain/events.ts +1 -1
- package/packages/ragents/src/domain/model.ts +5 -5
- package/packages/ragents/src/drivers/agent-runtime.ts +1 -1
- package/packages/ragents/src/drivers/agent-turn.ts +4 -4
- package/packages/ragents/src/drivers/agent.ts +2 -2
- package/packages/ragents/src/drivers/attachments.ts +4 -4
- package/packages/ragents/src/http/contracts.ts +14 -14
- package/packages/ragents/src/http/methods.ts +6 -6
- package/packages/ragents/src/plugin-host.ts +119 -119
- package/packages/ragents/src/plugin-types.ts +16 -16
- package/packages/ragents/src/rpc/contract.ts +5 -5
- package/packages/ragents/src/rpc/contribution.ts +2 -2
- package/packages/ragents/src/rpc/peer.ts +11 -11
- package/packages/ragents/src/rpc/protocol.ts +2 -2
- package/packages/ragents/src/runtime/decisions/turns.ts +1 -1
- package/packages/ragents/src/runtime/journal-storage.ts +1 -1
- package/packages/ragents/src/runtime/journal.ts +10 -10
- package/packages/ragents/src/runtime/orchestration.ts +8 -8
- package/packages/ragents/src/runtime/stop.ts +2 -2
- package/packages/ragents/src/script/mediators.ts +35 -35
- package/packages/ragents/src/typescript/async-compiler.ts +14 -14
- package/packages/ragents/src/typescript/compiler-worker.ts +2 -2
- package/packages/ragents/src/typescript/compiler.ts +7 -7
- package/packages/ragents/src/typescript/snippet.ts +5 -5
- package/packages/workspace-executor/src/bash-launch.ts +13 -13
- package/packages/workspace-executor/src/commands.ts +18 -18
- package/packages/workspace-executor/src/context.ts +15 -15
- package/packages/workspace-executor/src/contributions.ts +44 -44
- package/packages/workspace-executor/src/errors.ts +1 -1
- package/packages/workspace-executor/src/executor.ts +16 -16
- package/packages/workspace-executor/src/files.ts +31 -31
- package/packages/workspace-executor/src/index.ts +1 -1
- package/packages/workspace-executor/src/language-server/contract.ts +2 -2
- package/packages/workspace-executor/src/language-server/diagnostics.ts +4 -4
- package/packages/workspace-executor/src/language-server/host.ts +36 -36
- package/packages/workspace-executor/src/language-server/json-rpc.ts +4 -4
- package/packages/workspace-executor/src/language-server/module.ts +11 -11
- package/packages/workspace-executor/src/language-server/roots.ts +3 -3
- package/packages/workspace-executor/src/language-server/session.ts +15 -15
- package/packages/workspace-executor/src/language-server/workspace-solutions.ts +3 -3
- package/packages/workspace-executor/src/managed-process.ts +12 -12
- package/packages/workspace-executor/src/module.ts +8 -8
- package/packages/workspace-executor/src/modules.ts +3 -3
- package/packages/workspace-executor/src/paths.ts +11 -11
- package/packages/workspace-executor/src/process-sandbox.ts +3 -3
- package/packages/workspace-executor/src/processes/module.ts +3 -3
- package/packages/workspace-executor/src/processes/process-table.ts +20 -20
- package/packages/workspace-executor/src/processes/scanner.ts +3 -3
- package/packages/workspace-executor/src/processes/snapshot.ts +2 -2
- package/packages/workspace-executor/src/processes/terminator.ts +13 -13
- package/packages/workspace-executor/src/run-folders.ts +3 -3
- package/packages/workspace-executor/src/safe-environment.ts +4 -4
- package/packages/workspace-executor/src/sandbox-tools.ts +28 -28
- package/packages/workspace-executor/src/session-ident.ts +2 -2
- package/packages/workspace-executor/src/shell-platform.ts +2 -2
- package/packages/workspace-executor/src/tools.ts +5 -5
- package/plugins/ragents.activity/web/ActivityHeader.tsx +3 -3
- package/plugins/ragents.activity/web/activity.ts +2 -2
- package/plugins/ragents.actor-programs/server/access-projections.ts +1 -1
- package/plugins/ragents.actor-programs/server/agent-tools.ts +2 -2
- package/plugins/ragents.actor-programs/server/capability-resolver.ts +3 -3
- package/plugins/ragents.actor-programs/server/controls-template.ts +46 -46
- package/plugins/ragents.actor-programs/server/controls-tool.ts +4 -4
- package/plugins/ragents.actor-programs/server/limits.ts +3 -3
- package/plugins/ragents.actor-programs/server/methods.ts +1 -1
- package/plugins/ragents.actor-programs/server/project-diagnostics.ts +8 -8
- package/plugins/ragents.actor-programs/server/routes.ts +8 -8
- package/plugins/ragents.actor-programs/server/runtime.ts +90 -90
- package/plugins/ragents.actor-programs/server/templates.ts +59 -59
- package/plugins/ragents.actor-programs/server/test-report.ts +5 -5
- package/plugins/ragents.actor-programs/server/tool-contributor.ts +1 -1
- package/plugins/ragents.actor-programs/web/ActorViewFrame.tsx +17 -17
- package/plugins/ragents.actor-programs/web/AppsPanel.tsx +26 -26
- package/plugins/ragents.actor-programs/web/EmbeddedApps.tsx +3 -3
- package/plugins/ragents.actor-programs/web/FullscreenHost.tsx +2 -2
- package/plugins/ragents.actor-programs/web/FunctionForm.tsx +16 -16
- package/plugins/ragents.actor-programs/web/ProgramSource.tsx +5 -5
- package/plugins/ragents.actor-programs/web/api.ts +36 -36
- package/plugins/ragents.actor-programs/web/bridge.ts +8 -8
- package/plugins/ragents.actor-programs/web/chat-state.ts +4 -4
- package/plugins/ragents.actor-programs/web/context.ts +1 -1
- package/plugins/ragents.actor-programs/web/function-input.ts +6 -6
- package/plugins/ragents.actor-programs/web/index.tsx +1 -1
- package/plugins/ragents.actor-programs/web/program-state.ts +4 -4
- package/plugins/ragents.ask/ask-payload.ts +1 -1
- package/plugins/ragents.ask/contract.ts +5 -5
- package/plugins/ragents.ask/server/answer-method.ts +1 -1
- package/plugins/ragents.ask/server/ask-service.ts +9 -9
- package/plugins/ragents.ask/server/ask-tool.ts +10 -10
- package/plugins/ragents.ask/server/contract.ts +5 -5
- package/plugins/ragents.ask/web/AskActionView.tsx +1 -1
- package/plugins/ragents.ask/web/QuestionCard.tsx +22 -22
- package/plugins/ragents.ask/web/index.tsx +2 -2
- package/plugins/ragents.browser/executor/contract.ts +6 -6
- package/plugins/ragents.browser/executor/index.ts +1 -1
- package/plugins/ragents.browser/executor/module.ts +6 -6
- package/plugins/ragents.browser/executor/pages.ts +32 -32
- package/plugins/ragents.browser/executor/playwright.ts +8 -8
- package/plugins/ragents.browser/provision.ts +7 -7
- package/plugins/ragents.browser/server/browser.ts +14 -14
- package/plugins/ragents.browser/server/contract.ts +1 -1
- package/plugins/ragents.browser/server/index.ts +1 -1
- package/plugins/ragents.browser/server/tools.ts +14 -14
- package/plugins/ragents.browser/skills/browser-testing/SKILL.md +30 -30
- package/plugins/ragents.documents/contract.ts +2 -2
- package/plugins/ragents.documents/prompt.hbs +1 -1
- package/plugins/ragents.documents/server/document-write-tool.ts +12 -12
- package/plugins/ragents.documents/server/files-route.ts +6 -6
- package/plugins/ragents.documents/server/show-document-tool.ts +26 -26
- package/plugins/ragents.documents/server/store.ts +1 -1
- package/plugins/ragents.documents/web/DocumentViewer.tsx +37 -37
- package/plugins/ragents.documents/web/index.tsx +11 -11
- package/plugins/ragents.lsp-fsharp/executor.ts +7 -7
- package/plugins/ragents.lsp-fsharp/provision.ts +7 -7
- package/plugins/ragents.lsp-roslyn/executor.ts +5 -5
- package/plugins/ragents.lsp-roslyn/provision.ts +4 -4
- package/plugins/ragents.lsp-roslyn/server/index.ts +5 -5
- package/plugins/ragents.lsp-roslyn/server/solution-on-start.ts +13 -13
- package/plugins/ragents.lsp-typescript/executor.ts +3 -3
- package/plugins/ragents.model-relay/server/config.ts +6 -2
- package/plugins/ragents.model-relay/server/index.ts +2 -2
- package/plugins/ragents.model-relay/server/relay.ts +23 -22
- package/plugins/ragents.orchestration/contract.ts +8 -8
- package/plugins/ragents.orchestration/server/index.ts +4 -4
- package/plugins/ragents.orchestration/server/run-stop-tool.ts +3 -3
- package/plugins/ragents.orchestration/server/surface-tool.ts +5 -5
- package/plugins/ragents.orchestration/tiled-layout.ts +11 -11
- package/plugins/ragents.orchestration/web/ActorChat.tsx +3 -3
- package/plugins/ragents.orchestration/web/ActorChatControls.tsx +4 -5
- package/plugins/ragents.orchestration/web/ActorChatPreview.tsx +1 -1
- package/plugins/ragents.orchestration/web/ActorPopout.tsx +1 -1
- package/plugins/ragents.orchestration/web/ActorShortcut.tsx +6 -6
- package/plugins/ragents.orchestration/web/ActorSurfaceControls.tsx +15 -15
- package/plugins/ragents.orchestration/web/Center.tsx +5 -5
- package/plugins/ragents.orchestration/web/DocumentsSection.tsx +2 -2
- package/plugins/ragents.orchestration/web/ExecutionsPanel.tsx +15 -15
- package/plugins/ragents.orchestration/web/FlowInspector.tsx +103 -103
- package/plugins/ragents.orchestration/web/JournalStatus.tsx +11 -11
- package/plugins/ragents.orchestration/web/MaterialBody.tsx +2 -2
- package/plugins/ragents.orchestration/web/StopRunButton.tsx +6 -6
- package/plugins/ragents.orchestration/web/TiledSurface.tsx +9 -9
- package/plugins/ragents.orchestration/web/actor-header-settings.ts +5 -5
- package/plugins/ragents.orchestration/web/constants.ts +2 -2
- package/plugins/ragents.orchestration/web/executions.ts +6 -6
- package/plugins/ragents.orchestration/web/format.ts +1 -1
- package/plugins/ragents.orchestration/web/index.tsx +2 -2
- package/plugins/ragents.orchestration/web/run-panel/AddresseeControl.tsx +7 -7
- package/plugins/ragents.orchestration/web/run-panel/AddresseeTree.tsx +8 -8
- package/plugins/ragents.orchestration/web/run-panel/RunPanel.tsx +22 -22
- package/plugins/ragents.orchestration/web/run-panel/RunPanelSettings.tsx +7 -7
- package/plugins/ragents.orchestration/web/run-panel/addressee-tree.ts +13 -13
- package/plugins/ragents.orchestration/web/run-panel/run-panel-actors.ts +3 -3
- package/plugins/ragents.orchestration/web/run-panel/run-panel-settings.ts +2 -2
- package/plugins/ragents.orchestration/web/run-panel/run-panel-startup.ts +3 -3
- package/plugins/ragents.orchestration/web/run-panel/run-panel-state.ts +7 -7
- package/plugins/ragents.orchestration/web/run-panel/sheet-status.ts +9 -9
- package/plugins/ragents.orchestration/web/surface-startup.ts +8 -8
- package/plugins/ragents.orchestration/web/surface-view-settings.ts +1 -1
- package/plugins/ragents.orchestration/web/tiled-view-settings.ts +1 -1
- package/plugins/ragents.overseer/contract.ts +20 -20
- package/plugins/ragents.overseer/server/api.ts +6 -6
- package/plugins/ragents.overseer/server/coordinator-prompt.ts +10 -10
- package/plugins/ragents.overseer/server/coordinator.ts +4 -4
- package/plugins/ragents.overseer/server/index.ts +24 -24
- package/plugins/ragents.overseer/server/orientation.ts +8 -8
- package/plugins/ragents.overseer/server/quick-answer.ts +9 -9
- package/plugins/ragents.overseer/server/run-directory.ts +5 -5
- package/plugins/ragents.overseer/server/settings.ts +6 -6
- package/plugins/ragents.overseer/server/user-location.ts +16 -16
- package/plugins/ragents.overseer/web/ModelSettings.tsx +9 -9
- package/plugins/ragents.overseer/web/index.tsx +20 -20
- 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/server/methods.ts +4 -4
- package/plugins/ragents.processes/server/observer.ts +8 -8
- package/plugins/ragents.processes/server/run-processes.ts +2 -2
- package/plugins/ragents.processes/web/ProcessHeader.tsx +10 -10
- package/plugins/ragents.processes/web/processes.ts +10 -10
- package/plugins/ragents.product/server/config.ts +1 -1
- package/plugins/ragents.product/server/index.ts +4 -4
- package/plugins/ragents.product/server/runtime.ts +9 -10
- package/plugins/ragents.product/web/index.tsx +1 -1
- package/plugins/ragents.profile-distribution/contract.ts +10 -10
- package/plugins/ragents.profile-distribution/server/archive.ts +20 -20
- package/plugins/ragents.profile-distribution/server/config.ts +2 -2
- package/plugins/ragents.profile-distribution/server/index.ts +4 -4
- package/plugins/ragents.reference/examples.ts +27 -27
- package/plugins/ragents.reference/run-scripts/balcony-wizard/RUN.md +19 -19
- package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/package.json +2 -2
- package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +14 -14
- package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/conversation.ts +2 -2
- package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/tests/conversation.test.ts +49 -49
- package/plugins/ragents.reference/run-scripts/balcony-wizard/package.json +1 -1
- package/plugins/ragents.reference/run-scripts/balcony-wizard/src/server.ts +9 -9
- package/plugins/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +9 -9
- package/plugins/ragents.reference/run-scripts/conversation-circle/RUN.md +7 -7
- package/plugins/ragents.reference/run-scripts/conversation-circle/package.json +1 -1
- package/plugins/ragents.reference/run-scripts/conversation-circle/src/server.ts +13 -13
- package/plugins/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +1 -1
- package/plugins/ragents.reference/run-scripts/conversation-circle/tests/program.test.ts +8 -8
- package/plugins/ragents.reference/run-scripts/learning-afternoon/RUN.md +16 -16
- package/plugins/ragents.reference/run-scripts/learning-afternoon/package.json +1 -1
- package/plugins/ragents.reference/run-scripts/learning-afternoon/prompts/experiment.md +1 -1
- package/plugins/ragents.reference/run-scripts/learning-afternoon/prompts/helper.md +3 -3
- package/plugins/ragents.reference/run-scripts/learning-afternoon/prompts/quiz.md +1 -1
- package/plugins/ragents.reference/run-scripts/learning-afternoon/src/server.ts +9 -9
- package/plugins/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +39 -39
- package/plugins/ragents.reference/run-scripts/moderated-round/RUN.md +7 -7
- package/plugins/ragents.reference/run-scripts/moderated-round/package.json +1 -1
- package/plugins/ragents.reference/run-scripts/moderated-round/src/server.ts +9 -9
- 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 +6 -6
- package/plugins/ragents.reference/run-scripts/shared-actor-list/RUN.md +12 -12
- package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/package.json +2 -2
- package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/contract.ts +3 -3
- package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/tests/program.test.ts +4 -4
- package/plugins/ragents.reference/run-scripts/shared-actor-list/package.json +1 -1
- package/plugins/ragents.reference/run-scripts/shared-actor-list/src/server.ts +11 -11
- package/plugins/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +1 -1
- package/plugins/ragents.reference/run-scripts/shared-actor-list/tests/program.test.ts +13 -13
- package/plugins/ragents.reference/run-scripts/word-game/RUN.md +18 -18
- package/plugins/ragents.reference/run-scripts/word-game/package.json +2 -2
- package/plugins/ragents.reference/run-scripts/word-game/src/client.tsx +1 -1
- package/plugins/ragents.reference/run-scripts/word-game/src/contract.ts +2 -2
- package/plugins/ragents.reference/run-scripts/word-game/src/server.ts +16 -16
- package/plugins/ragents.reference/run-scripts/word-game/tests/program.test.ts +39 -39
- package/plugins/ragents.reference/skills/100-shared-actor-list/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/110-all-card-slots/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/150-editorial-workbench/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/160-learning-companion/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/170-photo-collection/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/180-decision-workbench/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/190-review-queue/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/20-circle-of-four/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/200-typescript-diagnostics/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/210-moderator-handover/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/220-actor-approval-list/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/230-shared-state-views/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/240-live-result-list/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/250-balcony-wizard/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/30-llm-without-runtime-knowledge/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/35-actor-input-fifo/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/40-subscription-matrix/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/50-subscription-removal/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/60-stop-in-the-circle/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/65-artifact-least-privilege/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/70-headless-counter/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/75-lsp-demo/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/80-actor-text-analysis/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/90-actor-notes/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/95-hello-world/SKILL.md +5 -5
- package/plugins/ragents.reference/skills/decision-brief/SKILL.md +24 -24
- package/plugins/ragents.reference/skills/learning-sprint/SKILL.md +24 -24
- package/plugins/ragents.reference/walkthroughs.ts +128 -128
- package/plugins/ragents.reference/web/StartGuides.tsx +23 -23
- package/plugins/ragents.todo/contract.ts +0 -3
- package/plugins/ragents.todo/server/todo-tool.ts +6 -6
- package/plugins/ragents.todo/web/TodoSection.tsx +1 -1
- package/plugins/ragents.transcript/server/transcript.ts +11 -11
- package/plugins/ragents.watch/server/condition.ts +4 -4
- package/plugins/ragents.watch/server/functions.ts +27 -27
- package/plugins/ragents.watch/server/observation.ts +2 -2
- package/plugins/ragents.watch/server/service.ts +14 -14
- package/plugins/ragents.workspace/client/transport.ts +1 -1
- package/plugins/ragents.workspace/client/workspace-client.ts +63 -63
- package/plugins/ragents.workspace/contract.ts +46 -46
- package/plugins/ragents.workspace/server/binding.ts +20 -20
- package/plugins/ragents.workspace/server/browse-route.ts +8 -8
- package/plugins/ragents.workspace/server/clients.ts +50 -50
- package/plugins/ragents.workspace/server/config.ts +7 -7
- package/plugins/ragents.workspace/server/index.ts +3 -3
- package/plugins/ragents.workspace/server/runtime.ts +26 -26
- package/plugins/ragents.workspace/server/shell-platform.ts +1 -1
- package/plugins/ragents.workspace/web/FileBrowser.tsx +10 -10
- package/plugins/ragents.workspace/web/WorkspaceBinding.tsx +24 -24
- package/plugins/ragents.workspace/web/index.tsx +1 -1
- package/ragents.config.core.ts +1 -1
- package/ragents.config.developer.ts +3 -3
- package/ragents.config.showcase.ts +2 -2
- package/scripts/agent/agent-cli.ts +96 -96
- package/scripts/agent/journal.ts +5 -5
- package/scripts/agent/turn-control.ts +4 -4
- package/scripts/package/build-package.ts +31 -31
- package/scripts/package/host-links.mjs +3 -3
- package/scripts/package/publish-package.ts +29 -29
- package/scripts/package/ragents.mjs +19 -19
- package/scripts/plugin/build-builtin-plugins.ts +5 -5
- package/scripts/plugin/plugin-cli.ts +14 -14
- package/scripts/provision/run-provision.ts +14 -15
- package/scripts/remote/connect.ts +49 -49
- package/scripts/remote/start.ts +18 -18
- package/scripts/workspace-client/run-workspace-client.ts +23 -23
- package/apps/web/dist/assets/main-DnnqWHkH.js +0 -11
- package/apps/web/dist/assets/mermaid-HWGCJPDP-BLLeth5_.js +0 -568
- package/apps/web/dist/assets/runPanel-DPm7s3KM.js +0 -21
- package/bundles/ragents.ask/server/chunks/chunk-PDJO75SQ.js.map +0 -7
- package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js +0 -2
- package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js.map +0 -7
- package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js +0 -2
- package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js.map +0 -7
- package/bundles/ragents.ask/web/chunks/chunk-WFN4374U.js.map +0 -7
- package/bundles/ragents.orchestration/web/chunks/chunk-OQYCNYXN.js +0 -2
- /package/bundles/ragents.orchestration/web/chunks/{chunk-OSKPH6SZ.js.map → chunk-CFMJD5ZI.js.map} +0 -0
- /package/bundles/ragents.orchestration/web/chunks/{chunk-ODMMQGX2.js.map → chunk-UCIMT2R4.js.map} +0 -0
|
@@ -46,10 +46,10 @@ type SettingsPageSelection =
|
|
|
46
46
|
| { kind: "capability"; id: ContributionKind };
|
|
47
47
|
|
|
48
48
|
const settingsAreas = [
|
|
49
|
-
{ id: "models", label: "
|
|
50
|
-
{ id: "appearance", label: "
|
|
49
|
+
{ id: "models", label: "Models" },
|
|
50
|
+
{ id: "appearance", label: "Appearance" },
|
|
51
51
|
{ id: "plugins", label: "Plugins" },
|
|
52
|
-
{ id: "runtime", label: "
|
|
52
|
+
{ id: "runtime", label: "Runtime" },
|
|
53
53
|
] as const;
|
|
54
54
|
const capabilities = contributionFilters.filter(
|
|
55
55
|
(option): option is { id: ContributionKind; label: string } => option.id !== "all",
|
|
@@ -190,14 +190,14 @@ export function SettingsModal({ onClose, registry }: SettingsModalProps) {
|
|
|
190
190
|
<header className="grid flex-none grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-3 border-b border-border px-3.5 py-2.5">
|
|
191
191
|
<span className="flex size-[34px] items-center justify-center rounded-[10px] bg-[color-mix(in_srgb,var(--primary)_12%,var(--background))] text-primary"><SettingsIcon size={18} /></span>
|
|
192
192
|
<span className="grid min-w-0 gap-px">
|
|
193
|
-
<DialogTitle render={<strong />}>
|
|
194
|
-
<span className="truncate text-[0.7rem] text-muted-foreground max-[520px]:hidden">
|
|
193
|
+
<DialogTitle render={<strong />}>Settings</DialogTitle>
|
|
194
|
+
<span className="truncate text-[0.7rem] text-muted-foreground max-[520px]:hidden">Adjust models and appearance</span>
|
|
195
195
|
</span>
|
|
196
|
-
<Button aria-label="
|
|
196
|
+
<Button aria-label="Close" className="rounded-full" onClick={onClose} ref={closeRef} size="icon" variant="outline">
|
|
197
197
|
<XIcon />
|
|
198
198
|
</Button>
|
|
199
199
|
</header>
|
|
200
|
-
<nav aria-label="
|
|
200
|
+
<nav aria-label="Settings areas" className="flex flex-none gap-1 overflow-x-auto border-b border-border px-4.5 max-md:px-2">
|
|
201
201
|
{settingsAreas.map((area) => <button
|
|
202
202
|
aria-current={activeArea === area.id ? "page" : undefined}
|
|
203
203
|
className={cn(settingsAreaClass, activeArea === area.id ? "border-b-primary font-bold text-primary" : "text-muted-foreground hover:text-foreground")}
|
|
@@ -207,14 +207,14 @@ export function SettingsModal({ onClose, registry }: SettingsModalProps) {
|
|
|
207
207
|
>{area.label}</button>)}
|
|
208
208
|
</nav>
|
|
209
209
|
{catalogVisible && <div className="flex flex-none gap-1 border-b border-border-soft px-3.5 py-2.5">
|
|
210
|
-
<ToggleGroup aria-label="
|
|
210
|
+
<ToggleGroup aria-label="Group plugins" size="sm" spacing={0} value={[axis]} variant="outline"
|
|
211
211
|
onValueChange={([value]) => { if (value) changeAxis(value === "capability" ? "capability" : "plugin"); }}>
|
|
212
|
-
<ToggleGroupItem value="plugin">
|
|
213
|
-
<ToggleGroupItem value="capability">
|
|
212
|
+
<ToggleGroupItem value="plugin">By plugin</ToggleGroupItem>
|
|
213
|
+
<ToggleGroupItem value="capability">By capability</ToggleGroupItem>
|
|
214
214
|
</ToggleGroup>
|
|
215
215
|
</div>}
|
|
216
216
|
<div className={cn("grid min-h-0 flex-1", catalogVisible ? "grid-cols-[230px_minmax(0,1fr)] max-[900px]:grid-cols-[190px_minmax(0,1fr)] max-md:grid-cols-[minmax(0,1fr)] max-md:grid-rows-[auto_minmax(0,1fr)]" : "grid-cols-[minmax(0,1fr)]")}>
|
|
217
|
-
{catalogVisible && <nav aria-label="
|
|
217
|
+
{catalogVisible && <nav aria-label="Browse plugins" className="flex min-w-0 flex-col gap-[3px] overflow-y-auto border-r border-border-soft bg-background/72 px-2.5 py-4 max-md:flex-row max-md:overflow-x-auto max-md:border-r-0 max-md:border-b max-md:border-border-soft max-md:p-2" ref={navigationRef}>
|
|
218
218
|
{axis === "plugin" && filtered.map((group) => {
|
|
219
219
|
const count = countContributions(group);
|
|
220
220
|
const selected = selection.kind === "plugin" && selection.id === group.id;
|
|
@@ -253,12 +253,12 @@ export function SettingsModal({ onClose, registry }: SettingsModalProps) {
|
|
|
253
253
|
})}
|
|
254
254
|
</nav>}
|
|
255
255
|
<div className="min-h-0 min-w-0 overflow-y-auto bg-app [scrollbar-width:thin]" ref={contentRef}>
|
|
256
|
-
{selection.kind === "models" && <SettingsPage title="
|
|
256
|
+
{selection.kind === "models" && <SettingsPage title="Models" description="Choose the model and reasoning depth for each task.">
|
|
257
257
|
<div className={settingsPanelsClass}>
|
|
258
258
|
<PluginSettings contributions={modelSettings} panel />
|
|
259
|
-
{access.can("settings.read") && <SettingsSection panel title="
|
|
259
|
+
{access.can("settings.read") && <SettingsSection panel title="Titles"><TitleModelSettings /></SettingsSection>}
|
|
260
260
|
</div>
|
|
261
|
-
{modelSettings.length === 0 && !access.can("settings.read") && <SettingsEmpty>
|
|
261
|
+
{modelSettings.length === 0 && !access.can("settings.read") && <SettingsEmpty>No model settings are available for your access rights.</SettingsEmpty>}
|
|
262
262
|
</SettingsPage>}
|
|
263
263
|
{selection.kind === "appearance" && <div className="[&>:first-child]:pb-0">
|
|
264
264
|
<ThemeSettings />
|
|
@@ -267,26 +267,26 @@ export function SettingsModal({ onClose, registry }: SettingsModalProps) {
|
|
|
267
267
|
</div>}
|
|
268
268
|
</div>}
|
|
269
269
|
{(catalogVisible || selection.kind === "runtime") && settings !== null && state.status !== "ready" && <p className="border-b border-border-soft px-5 py-2.5 text-[0.72rem] text-muted-foreground" role={state.status === "failed" ? "alert" : "status"}>
|
|
270
|
-
{state.status === "loading" ? "
|
|
270
|
+
{state.status === "loading" ? "Refreshing catalog ..." : <>Could not refresh the catalog: {state.error} <Button onClick={() => setReload((value) => value + 1)} size="sm" variant="outline">Reload</Button></>}
|
|
271
271
|
</p>}
|
|
272
272
|
{(catalogVisible || selection.kind === "runtime") && settings === null && state.status === "loading" && (
|
|
273
273
|
<div className={loadStateClass}>
|
|
274
274
|
<Spinner aria-hidden className="size-3" />
|
|
275
|
-
|
|
275
|
+
Loading runtime and plugins.
|
|
276
276
|
</div>
|
|
277
277
|
)}
|
|
278
278
|
{(catalogVisible || selection.kind === "runtime") && settings === null && state.status === "failed" && (
|
|
279
279
|
<div className={cn(loadStateClass, "flex-col text-center text-destructive")} role="alert">
|
|
280
280
|
<CircleAlertIcon size={14} />
|
|
281
|
-
<strong className="text-[0.86rem] text-foreground">
|
|
281
|
+
<strong className="text-[0.86rem] text-foreground">Catalog unreachable</strong>
|
|
282
282
|
<span className="max-w-[560px]">{state.error}</span>
|
|
283
|
-
<Button className="mt-1.5" onClick={() => setReload((value) => value + 1)} size="sm" variant="outline">
|
|
283
|
+
<Button className="mt-1.5" onClick={() => setReload((value) => value + 1)} size="sm" variant="outline">Reload</Button>
|
|
284
284
|
</div>
|
|
285
285
|
)}
|
|
286
286
|
{settings !== null && selection.kind === "runtime" && <RuntimePage groups={groups} registry={registry} settings={settings} />}
|
|
287
|
-
{settings !== null && selection.kind === "plugins" && <SettingsPage title="Plugins" description="
|
|
287
|
+
{settings !== null && selection.kind === "plugins" && <SettingsPage title="Plugins" description="Browse the installed contributions by plugin or capability. Choose a plugin for its details.">
|
|
288
288
|
<div className="grid gap-4">{groups.map((group) => <button className={ownerLinkClass} key={group.id} onClick={() => openPlugin(group.id)} type="button">
|
|
289
|
-
{group.id}<span className={ownerLinkNoteClass}>{countContributions(group)}
|
|
289
|
+
{group.id}<span className={ownerLinkNoteClass}>{countContributions(group)} contributions</span>
|
|
290
290
|
</button>)}</div>
|
|
291
291
|
</SettingsPage>}
|
|
292
292
|
{settings !== null && (selection.kind === "plugin" || selection.kind === "capability") && (
|
|
@@ -294,12 +294,12 @@ export function SettingsModal({ onClose, registry }: SettingsModalProps) {
|
|
|
294
294
|
)}
|
|
295
295
|
{settings !== null && selection.kind === "plugin" && (
|
|
296
296
|
active === undefined
|
|
297
|
-
? <div className={settingsPageClass}><SettingsEmpty>
|
|
297
|
+
? <div className={settingsPageClass}><SettingsEmpty>This plugin is no longer loaded.</SettingsEmpty></div>
|
|
298
298
|
: <PluginPage group={active} key={active.id} settings={registry.settings} />
|
|
299
299
|
)}
|
|
300
300
|
{settings !== null && activeCapability !== undefined && (
|
|
301
|
-
<SettingsPage title={activeCapability.label} description={`${activeCapability.groups.length}
|
|
302
|
-
{activeCapability.groups.length === 0 && <SettingsEmpty>
|
|
301
|
+
<SettingsPage title={activeCapability.label} description={`${activeCapability.groups.length} plugins provide matching contributions. Open a plugin for its full details.`}>
|
|
302
|
+
{activeCapability.groups.length === 0 && <SettingsEmpty>No contributions found. Choose another capability or change the search.</SettingsEmpty>}
|
|
303
303
|
{activeCapability.groups.map((group) => (
|
|
304
304
|
<PluginPage
|
|
305
305
|
group={group} key={`${activeCapability.id}:${group.id}`} settings={group.settings}
|
|
@@ -324,7 +324,7 @@ function ContributionFilterBar({ filter, onFilter, onQuery, query, showKinds }:
|
|
|
324
324
|
}) {
|
|
325
325
|
return (
|
|
326
326
|
<div className="sticky top-0 z-[2] grid gap-2.5 border-b border-border-soft bg-background/92 px-[clamp(20px,4vw,46px)] py-3 backdrop-blur-[6px] max-md:px-3.5">
|
|
327
|
-
{showKinds && <div aria-label="
|
|
327
|
+
{showKinds && <div aria-label="Contribution kinds" className="flex flex-wrap gap-1.5" role="group">
|
|
328
328
|
{contributionFilters.map((option) => (
|
|
329
329
|
<Toggle key={option.id} pressed={filter === option.id} onPressedChange={() => onFilter(option.id)} size="sm" variant="outline">
|
|
330
330
|
{option.label}
|
|
@@ -332,10 +332,10 @@ function ContributionFilterBar({ filter, onFilter, onQuery, query, showKinds }:
|
|
|
332
332
|
))}
|
|
333
333
|
</div>}
|
|
334
334
|
<label className="grid gap-1.5">
|
|
335
|
-
<span className="text-[0.67rem] font-medium text-muted-foreground">
|
|
335
|
+
<span className="text-[0.67rem] font-medium text-muted-foreground">Search contributions</span>
|
|
336
336
|
<Input
|
|
337
337
|
onChange={(event) => onQuery(event.target.value)}
|
|
338
|
-
placeholder="
|
|
338
|
+
placeholder="ID, name, title or description"
|
|
339
339
|
type="search"
|
|
340
340
|
value={query}
|
|
341
341
|
/>
|
|
@@ -354,85 +354,85 @@ function RuntimePage({ groups, registry, settings }: {
|
|
|
354
354
|
const internalHooks = settings.agentHooks.filter((hook) => hook.kind === "internal");
|
|
355
355
|
return (
|
|
356
356
|
<SettingsPage
|
|
357
|
-
description={`
|
|
358
|
-
title="
|
|
357
|
+
description={`The values come from the currently running ${registry.brand.title} instance. The server does not deliver configuration values that contain secrets.`}
|
|
358
|
+
title="Runtime"
|
|
359
359
|
>
|
|
360
360
|
<div className="grid grid-cols-4 gap-2.5 max-[900px]:grid-cols-2 max-[520px]:grid-cols-1">
|
|
361
|
-
<SettingsFact label="
|
|
362
|
-
<SettingsFact label="
|
|
363
|
-
<SettingsFact label="Workspace
|
|
364
|
-
<SettingsFact label="
|
|
365
|
-
<SettingsFact label="Plugins" value={String(groups.length)} detail={`${settings.tools.length}
|
|
361
|
+
<SettingsFact label="Product" value={settings.product.title} detail={settings.product.id} />
|
|
362
|
+
<SettingsFact label="Profile" value={settings.runtime.profile} detail={settings.product.id} />
|
|
363
|
+
<SettingsFact label="Workspace mode" value={settings.runtime.workspaceMode} detail="per run" />
|
|
364
|
+
<SettingsFact label="Models" value={String(settings.models.length)} detail={`${settings.profiles.length} profiles`} />
|
|
365
|
+
<SettingsFact label="Plugins" value={String(groups.length)} detail={`${settings.tools.length} functions`} />
|
|
366
366
|
</div>
|
|
367
|
-
<SettingsSection title="
|
|
368
|
-
<SettingsValue label="Working
|
|
367
|
+
<SettingsSection title="Runtime and working directories">
|
|
368
|
+
<SettingsValue label="Working directory" value={settings.runtime.host.workingDirectory} copy />
|
|
369
369
|
<SettingsValue
|
|
370
370
|
label="Host"
|
|
371
|
-
value={`${settings.runtime.host.mode === "native" ? "
|
|
371
|
+
value={`${settings.runtime.host.mode === "native" ? "Local" : "Container"} / ${settings.runtime.host.platform}`}
|
|
372
372
|
/>
|
|
373
|
-
<SettingsValue label="
|
|
373
|
+
<SettingsValue label="Data directory" value={settings.runtime.dataDirectory} copy />
|
|
374
374
|
<SettingsValue
|
|
375
|
-
label="
|
|
376
|
-
value={settings.runtime.configFile ?? "
|
|
375
|
+
label="Configuration file"
|
|
376
|
+
value={settings.runtime.configFile ?? "none loaded"}
|
|
377
377
|
copy={settings.runtime.configFile !== null}
|
|
378
378
|
/>
|
|
379
|
-
<SettingsValue label="Workspace
|
|
379
|
+
<SettingsValue label="Workspace pattern per run" value={workspace.directoryPattern} copy />
|
|
380
380
|
<SettingsValue
|
|
381
|
-
label="
|
|
382
|
-
value={documents?.directoryPattern ?? "
|
|
381
|
+
label="File storage per run"
|
|
382
|
+
value={documents?.directoryPattern ?? "no document store loaded"}
|
|
383
383
|
copy={documents !== null}
|
|
384
384
|
/>
|
|
385
385
|
</SettingsSection>
|
|
386
386
|
<SettingsNote>
|
|
387
|
-
|
|
388
|
-
|
|
387
|
+
An agent can receive its own role prompt within a run. This run-specific prompt is not a
|
|
388
|
+
static model value and is therefore not shown in this product overview.
|
|
389
389
|
</SettingsNote>
|
|
390
|
-
<SettingsSection count={settings.models.length} title="
|
|
390
|
+
<SettingsSection count={settings.models.length} title="Available models">
|
|
391
391
|
<p className={sectionCopyClass}>
|
|
392
|
-
|
|
392
|
+
Models are selectable runtime targets. Profiles bundle model, driver, thinking level and execution limits.
|
|
393
393
|
</p>
|
|
394
394
|
<div className="grid grid-cols-2 gap-2.5 max-md:grid-cols-1">
|
|
395
395
|
{settings.models.map((model) => <ModelCard key={modelKey(model)} model={model} />)}
|
|
396
396
|
</div>
|
|
397
397
|
</SettingsSection>
|
|
398
|
-
<SettingsSection count={settings.profiles.length} title="
|
|
398
|
+
<SettingsSection count={settings.profiles.length} title="Profiles">
|
|
399
399
|
<p className={sectionCopyClass}>
|
|
400
|
-
Retries
|
|
401
|
-
|
|
400
|
+
Retries apply per agent turn after technical errors. The first execution does not count as a retry.
|
|
401
|
+
Turns that are not replay-safe or are terminally blocked are not executed again.
|
|
402
402
|
</p>
|
|
403
403
|
<div className={cardListClass}>
|
|
404
404
|
{settings.profiles.map((profile) => <ProfileCard key={profile.name} profile={profile} />)}
|
|
405
405
|
</div>
|
|
406
406
|
</SettingsSection>
|
|
407
|
-
<SettingsSection title="
|
|
407
|
+
<SettingsSection title="Composed product system prompt">
|
|
408
408
|
<p className={sectionCopyClass}>
|
|
409
|
-
{settings.systemPrompt.composition}
|
|
410
|
-
|
|
409
|
+
{settings.systemPrompt.composition} The final agent prompt is run-specific and therefore not a fixed
|
|
410
|
+
model setting.
|
|
411
411
|
</p>
|
|
412
|
-
<PromptCode content={settings.systemPrompt.content} copyLabel="
|
|
412
|
+
<PromptCode content={settings.systemPrompt.content} copyLabel="Copy product system prompt" />
|
|
413
413
|
</SettingsSection>
|
|
414
|
-
<SettingsSection count={settings.systemPrompt.runtimeContracts.length} title="RAgents
|
|
414
|
+
<SettingsSection count={settings.systemPrompt.runtimeContracts.length} title="RAgents runtime contracts">
|
|
415
415
|
<div className={cardListClass}>
|
|
416
416
|
{settings.systemPrompt.runtimeContracts.map((contract) => (
|
|
417
417
|
<details className={disclosureClass} key={contract.audience}>
|
|
418
418
|
<summary className={summaryClass}>
|
|
419
419
|
<span className={cardCopyClass}>
|
|
420
|
-
<strong className={cardTitleClass}>{contract.audience === "coordinator" ? "
|
|
421
|
-
<small className={cardNoteClass}>
|
|
420
|
+
<strong className={cardTitleClass}>{contract.audience === "coordinator" ? "Coordinator" : "Agent"}</strong>
|
|
421
|
+
<small className={cardNoteClass}>Added at runtime</small>
|
|
422
422
|
</span>
|
|
423
423
|
</summary>
|
|
424
|
-
<PromptCode content={contract.content} copyLabel={
|
|
424
|
+
<PromptCode content={contract.content} copyLabel={`Copy ${contract.audience} runtime contract`} />
|
|
425
425
|
</details>
|
|
426
426
|
))}
|
|
427
427
|
</div>
|
|
428
428
|
</SettingsSection>
|
|
429
|
-
<SettingsSection count={internalHooks.length} title="
|
|
429
|
+
<SettingsSection count={internalHooks.length} title="Internal hooks">
|
|
430
430
|
<p className={sectionCopyClass}>
|
|
431
|
-
|
|
432
|
-
|
|
431
|
+
These hooks belong to the agent runtime itself and come from no plugin. A plugin's hooks
|
|
432
|
+
are listed on that plugin's page.
|
|
433
433
|
</p>
|
|
434
434
|
{internalHooks.length === 0
|
|
435
|
-
? <SettingsEmpty>
|
|
435
|
+
? <SettingsEmpty>No internal hook registered.</SettingsEmpty>
|
|
436
436
|
: (
|
|
437
437
|
<div className={cardListClass}>
|
|
438
438
|
{internalHooks.map((hook) => (
|
|
@@ -470,18 +470,18 @@ function PluginPage({ group, settings, onOpenPlugin }: {
|
|
|
470
470
|
<header>
|
|
471
471
|
<div className="flex items-center justify-between gap-3">
|
|
472
472
|
{onOpenPlugin
|
|
473
|
-
? <button className={ownerLinkClass} onClick={onOpenPlugin} type="button">{group.id}<span className={ownerLinkNoteClass}>
|
|
473
|
+
? <button className={ownerLinkClass} onClick={onOpenPlugin} type="button">{group.id}<span className={ownerLinkNoteClass}>Open plugin</span></button>
|
|
474
474
|
: <h2 className={`${pageTitleClass} truncate font-mono`}>{group.id}</h2>}
|
|
475
475
|
{!onOpenPlugin && <span className={statusListClass}>
|
|
476
|
-
<StatusBadge active={group.serverRegistered} label={group.serverRegistered ? "Server
|
|
477
|
-
<StatusBadge active={group.webActive} label={group.webActive ? "Web
|
|
476
|
+
<StatusBadge active={group.serverRegistered} label={group.serverRegistered ? "Server registered" : "Server unknown"} />
|
|
477
|
+
<StatusBadge active={group.webActive} label={group.webActive ? "Web active" : "Web inactive"} />
|
|
478
478
|
</span>}
|
|
479
479
|
</div>
|
|
480
|
-
{!onOpenPlugin && <p className={pageLeadClass}>
|
|
480
|
+
{!onOpenPlugin && <p className={pageLeadClass}>Dependencies: {group.requires.length === 0 ? "none" : group.requires.join(", ")}</p>}
|
|
481
481
|
</header>
|
|
482
482
|
<PluginSettings contributions={contributions} />
|
|
483
483
|
{group.tools.length > 0 && (
|
|
484
|
-
<SettingsSection count={group.tools.length} title="
|
|
484
|
+
<SettingsSection count={group.tools.length} title="Functions">
|
|
485
485
|
<div className={cardListClass}>
|
|
486
486
|
{group.tools.map((tool) => <ToolCard key={tool.id} tool={tool} />)}
|
|
487
487
|
</div>
|
|
@@ -497,20 +497,20 @@ function PluginPage({ group, settings, onOpenPlugin }: {
|
|
|
497
497
|
<strong className={cardTitleClass}>{contribution.id}</strong>
|
|
498
498
|
<small className={cardNoteClass}>{contribution.owner}</small>
|
|
499
499
|
</span>
|
|
500
|
-
<span className={chipClass}>
|
|
500
|
+
<span className={chipClass}>Order {contribution.order}</span>
|
|
501
501
|
</summary>
|
|
502
|
-
<PromptCode content={contribution.content} copyLabel={
|
|
502
|
+
<PromptCode content={contribution.content} copyLabel={`Copy ${contribution.id}`} />
|
|
503
503
|
</details>
|
|
504
504
|
))}
|
|
505
505
|
</div>
|
|
506
506
|
</SettingsSection>
|
|
507
507
|
)}
|
|
508
508
|
{group.startEntries.length > 0 && (
|
|
509
|
-
<SettingsSection count={group.startEntries.length} title="
|
|
509
|
+
<SettingsSection count={group.startEntries.length} title="Templates">
|
|
510
510
|
<p className={sectionCopyClass}>
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
511
|
+
What the plugin puts on the Start page. A skill opens an editable task;
|
|
512
|
+
a run script builds the run itself before
|
|
513
|
+
the chat begins. If a template names a guide, the click opens its dialog first.
|
|
514
514
|
</p>
|
|
515
515
|
<div className={cardListClass}>
|
|
516
516
|
{group.startEntries.map((entry) => (
|
|
@@ -521,21 +521,21 @@ function PluginPage({ group, settings, onOpenPlugin }: {
|
|
|
521
521
|
<small className={cardNoteClass}>{entry.owner} / {entry.id}</small>
|
|
522
522
|
</span>
|
|
523
523
|
<span className={chipClass}>{entryActionLabel(entry)}</span>
|
|
524
|
-
{entry.action === "skill" && <CopyButton label={
|
|
524
|
+
{entry.action === "skill" && <CopyButton label={`Copy ${entry.title}`} text={entry.prompt} />}
|
|
525
525
|
</header>
|
|
526
526
|
<p className={cardCopyTextClass}>{entry.description}</p>
|
|
527
|
-
{entry.action === "skill" && <p className={cardCopyTextClass}>
|
|
527
|
+
{entry.action === "skill" && <p className={cardCopyTextClass}>Category: {entry.category}</p>}
|
|
528
528
|
{entry.action === "skill" && <pre className={`${preClass} max-h-[180px] px-3 py-2.5`}>{entry.prompt}</pre>}
|
|
529
529
|
{entry.action === "skill" && (
|
|
530
530
|
<p className={cardCopyTextClass}>
|
|
531
531
|
Skill <code>{entry.skill}</code>
|
|
532
|
-
{entry.guide ? <> ·
|
|
532
|
+
{entry.guide ? <> · guide <code>{entry.guide}</code></> : " · no guide"}
|
|
533
533
|
</p>
|
|
534
534
|
)}
|
|
535
535
|
{entry.action === "script" && (
|
|
536
536
|
<p className={cardCopyTextClass}>
|
|
537
|
-
{entry.coordinator ? "
|
|
538
|
-
{entry.guide ? <> ·
|
|
537
|
+
{entry.coordinator ? "With coordinator" : "Without coordinator, the script chooses the primary actor"}
|
|
538
|
+
{entry.guide ? <> · guide <code>{entry.guide}</code></> : " · no guide"}
|
|
539
539
|
</p>
|
|
540
540
|
)}
|
|
541
541
|
</article>
|
|
@@ -581,26 +581,26 @@ function PluginPage({ group, settings, onOpenPlugin }: {
|
|
|
581
581
|
</SettingsSection>
|
|
582
582
|
)}
|
|
583
583
|
{(group.configuration.length > 0 || publicConfigText !== undefined) && (
|
|
584
|
-
<SettingsSection count={group.configuration.length} title="
|
|
584
|
+
<SettingsSection count={group.configuration.length} title="Configuration">
|
|
585
585
|
<p className={sectionCopyClass}>
|
|
586
|
-
|
|
587
|
-
|
|
586
|
+
Shown are the origin of the configuration keys and the public client configuration,
|
|
587
|
+
never secret values.
|
|
588
588
|
</p>
|
|
589
589
|
{group.configuration.length > 0 && (
|
|
590
590
|
<div className="grid gap-1.5 rounded-lg border border-border-soft bg-background/68 px-2.5 py-2">
|
|
591
|
-
<span className={valueLabelClass}>
|
|
591
|
+
<span className={valueLabelClass}>Configuration sources</span>
|
|
592
592
|
<div className="flex flex-wrap gap-1.5">
|
|
593
593
|
{group.configuration.map((entry) => (
|
|
594
594
|
<span className={tagClass} key={entry.key}>
|
|
595
595
|
<code className="font-mono">{entry.key}</code>
|
|
596
|
-
<small className="text-[0.59rem] text-muted-foreground">{entry.secret ? `${entry.source} (
|
|
596
|
+
<small className="text-[0.59rem] text-muted-foreground">{entry.secret ? `${entry.source} (secret)` : entry.source}</small>
|
|
597
597
|
</span>
|
|
598
598
|
))}
|
|
599
599
|
</div>
|
|
600
600
|
</div>
|
|
601
601
|
)}
|
|
602
602
|
{publicConfigText !== undefined && (
|
|
603
|
-
<PromptCode content={publicConfigText} copyLabel={
|
|
603
|
+
<PromptCode content={publicConfigText} copyLabel={`Copy ${group.id} client configuration`} />
|
|
604
604
|
)}
|
|
605
605
|
</SettingsSection>
|
|
606
606
|
)}
|
|
@@ -609,8 +609,8 @@ function PluginPage({ group, settings, onOpenPlugin }: {
|
|
|
609
609
|
count={group.web.state === "contributions" ? group.web.contributions.length : undefined}
|
|
610
610
|
title="Web"
|
|
611
611
|
>
|
|
612
|
-
{group.web.state === "none" && <SettingsEmpty>
|
|
613
|
-
{group.web.state === "withoutContributions" && <SettingsEmpty>Web
|
|
612
|
+
{group.web.state === "none" && <SettingsEmpty>No web module</SettingsEmpty>}
|
|
613
|
+
{group.web.state === "withoutContributions" && <SettingsEmpty>Web module without contributions</SettingsEmpty>}
|
|
614
614
|
{group.web.state === "contributions" && (
|
|
615
615
|
<div className="grid gap-[7px]">
|
|
616
616
|
{group.web.contributions.map((contribution) => (
|
|
@@ -632,7 +632,7 @@ function PluginPage({ group, settings, onOpenPlugin }: {
|
|
|
632
632
|
)}
|
|
633
633
|
</SettingsSection>
|
|
634
634
|
)}
|
|
635
|
-
{empty && <SettingsEmpty>
|
|
635
|
+
{empty && <SettingsEmpty>No contributions match the filter and search.</SettingsEmpty>}
|
|
636
636
|
</div>
|
|
637
637
|
);
|
|
638
638
|
}
|
|
@@ -665,33 +665,33 @@ function SkillDetail({ onBack, skill }: { onBack: () => void; skill: SettingsSki
|
|
|
665
665
|
return (
|
|
666
666
|
<div className={settingsPageClass}>
|
|
667
667
|
<header className="grid justify-items-start gap-2.5">
|
|
668
|
-
<Button aria-label="
|
|
668
|
+
<Button aria-label="Back to contributions" className="rounded-full" onClick={onBack} size="icon" variant="outline"><ArrowLeftIcon /></Button>
|
|
669
669
|
<span className="grid gap-1">
|
|
670
670
|
<h2 className={pageTitleClass}>{skill.id}</h2>
|
|
671
|
-
<p className="text-[0.73rem] text-muted-foreground">{skill.owner}{files.length > 0 && ` / ${files.length} ${files.length === 1 ? "
|
|
671
|
+
<p className="text-[0.73rem] text-muted-foreground">{skill.owner}{files.length > 0 && ` / ${files.length} ${files.length === 1 ? "file" : "files"}`}</p>
|
|
672
672
|
</span>
|
|
673
673
|
</header>
|
|
674
|
-
<SettingsSection title="
|
|
675
|
-
<SettingsValue label="
|
|
674
|
+
<SettingsSection title="Availability">
|
|
675
|
+
<SettingsValue label="Audience" value={skill.audiences.map(skillAudienceLabel).join(", ")} />
|
|
676
676
|
</SettingsSection>
|
|
677
|
-
<SettingsSection title="
|
|
678
|
-
{skill.paths.map((path) => <SettingsValue copy key={path} label="
|
|
677
|
+
<SettingsSection title="Registered paths">
|
|
678
|
+
{skill.paths.map((path) => <SettingsValue copy key={path} label="Path" value={path} />)}
|
|
679
679
|
</SettingsSection>
|
|
680
680
|
{state.status === "loading" && (
|
|
681
681
|
<div className={loadStateClass}>
|
|
682
682
|
<Spinner aria-hidden className="size-3" />
|
|
683
|
-
|
|
683
|
+
Reading skill.
|
|
684
684
|
</div>
|
|
685
685
|
)}
|
|
686
686
|
{state.status === "failed" && (
|
|
687
687
|
<div className={cn(loadStateClass, "flex-col text-center text-destructive")} role="alert">
|
|
688
688
|
<CircleAlertIcon size={14} />
|
|
689
|
-
<strong className="text-[0.86rem] text-foreground">Skill
|
|
689
|
+
<strong className="text-[0.86rem] text-foreground">Skill not readable</strong>
|
|
690
690
|
<span className="max-w-[560px]">{state.error}</span>
|
|
691
691
|
</div>
|
|
692
692
|
)}
|
|
693
693
|
{state.status === "ready" && files.length === 0 && (
|
|
694
|
-
<SettingsEmpty>
|
|
694
|
+
<SettingsEmpty>The skill path contains no files.</SettingsEmpty>
|
|
695
695
|
)}
|
|
696
696
|
{files.length > 1 && (
|
|
697
697
|
<div className="flex flex-wrap gap-1.5">
|
|
@@ -715,21 +715,21 @@ function SkillDocument({ file }: { file: SettingsSkillFile }) {
|
|
|
715
715
|
<strong className={cardTitleClass}>{file.path}</strong>
|
|
716
716
|
<small className="text-[0.63rem] text-muted-foreground">{formatBytes(file.bytes)}</small>
|
|
717
717
|
</span>
|
|
718
|
-
{file.content !== null && <CopyButton label={
|
|
718
|
+
{file.content !== null && <CopyButton label={`Copy ${file.path}`} text={skillFileText(file)} />}
|
|
719
719
|
</header>
|
|
720
720
|
{file.frontMatter !== null && (
|
|
721
721
|
<details className={cn(disclosureClass, "mt-3 mr-3 ml-3")}>
|
|
722
722
|
<summary className={summaryClass}>
|
|
723
723
|
<span className={cardCopyClass}>
|
|
724
724
|
<strong className={cardTitleClass}>Frontmatter</strong>
|
|
725
|
-
<small className={cardNoteClass}>
|
|
725
|
+
<small className={cardNoteClass}>Header data the agent runtime reads from the file</small>
|
|
726
726
|
</span>
|
|
727
727
|
</summary>
|
|
728
|
-
<PromptCode content={file.frontMatter} copyLabel="
|
|
728
|
+
<PromptCode content={file.frontMatter} copyLabel="Copy frontmatter" />
|
|
729
729
|
</details>
|
|
730
730
|
)}
|
|
731
731
|
{file.content === null
|
|
732
|
-
? <SettingsEmpty className="m-3">
|
|
732
|
+
? <SettingsEmpty className="m-3">This file cannot be shown as text.</SettingsEmpty>
|
|
733
733
|
: file.path.toLowerCase().endsWith(".md")
|
|
734
734
|
? <div className="px-4.5 pt-4 pb-5 text-[0.79rem] leading-[1.62] text-foreground"><Markdown text={file.content} /></div>
|
|
735
735
|
: <div className="overflow-auto"><SourceCode className="px-4 pt-4 pb-5 text-[0.7rem] leading-[1.55]" content={file.content} path={file.path} /></div>}
|
|
@@ -742,7 +742,7 @@ function ModelCard({ model }: { model: SettingsModel }) {
|
|
|
742
742
|
<article className={cn(cardClass, "grid gap-[3px] px-3.5 py-3")}>
|
|
743
743
|
<strong className="truncate text-[0.79rem]">{model.label}</strong>
|
|
744
744
|
<span className="truncate text-[0.67rem] text-muted-foreground">{model.provider} / {model.model}</span>
|
|
745
|
-
<small className="truncate text-[0.67rem] text-muted-foreground">
|
|
745
|
+
<small className="truncate text-[0.67rem] text-muted-foreground">Driver: {model.driver}</small>
|
|
746
746
|
</article>
|
|
747
747
|
);
|
|
748
748
|
}
|
|
@@ -753,7 +753,7 @@ function ProfileCard({ profile }: { profile: SettingsProfile }) {
|
|
|
753
753
|
profile.driver,
|
|
754
754
|
profile.provider,
|
|
755
755
|
profile.model,
|
|
756
|
-
...(profile.thinking ? [`
|
|
756
|
+
...(profile.thinking ? [`Thinking level ${profile.thinking}`] : []),
|
|
757
757
|
]
|
|
758
758
|
: [profile.driver];
|
|
759
759
|
return (
|
|
@@ -766,8 +766,8 @@ function ProfileCard({ profile }: { profile: SettingsProfile }) {
|
|
|
766
766
|
</header>
|
|
767
767
|
<p className={cardCopyTextClass}>{profile.description}</p>
|
|
768
768
|
<footer className="flex flex-wrap gap-x-3 gap-y-1.5 text-[0.64rem] text-muted-foreground">
|
|
769
|
-
<span>{profile.turnTimeoutMs === null ? "
|
|
770
|
-
<span>{profile.isolateWorkspace ? "
|
|
769
|
+
<span>{profile.turnTimeoutMs === null ? "No turn timeout" : `Turn timeout ${formatDuration(profile.turnTimeoutMs)}`}</span>
|
|
770
|
+
<span>{profile.isolateWorkspace ? "Own agent workspace" : "Shared run workspace"}</span>
|
|
771
771
|
</footer>
|
|
772
772
|
</article>
|
|
773
773
|
);
|
|
@@ -781,9 +781,9 @@ function HookCard({ hook }: { hook: SettingsAgentHook }) {
|
|
|
781
781
|
<strong className={cardTitleClass}>{hook.id}</strong>
|
|
782
782
|
<small className={cardNoteClass}>{hook.owner}</small>
|
|
783
783
|
</span>
|
|
784
|
-
<StatusBadge active label={hook.kind === "internal" ? "
|
|
784
|
+
<StatusBadge active label={hook.kind === "internal" ? "Internal" : "Plugin contribution"} />
|
|
785
785
|
</header>
|
|
786
|
-
<SettingsValue label="
|
|
786
|
+
<SettingsValue label="Resolved per agent" value={hook.resolvesPerAgent ? "Yes" : "No"} />
|
|
787
787
|
{hook.factories.length > 0 && (
|
|
788
788
|
<SettingsValue
|
|
789
789
|
label="Factories"
|
|
@@ -812,7 +812,7 @@ function ToolCard({ tool }: { tool: SettingsTool }) {
|
|
|
812
812
|
</header>
|
|
813
813
|
<p className={cn(cardCopyTextClass, "my-0")}>{tool.description}</p>
|
|
814
814
|
<dl className="grid grid-cols-2 gap-1.5 max-md:grid-cols-1">
|
|
815
|
-
{[["
|
|
815
|
+
{[["Owner", tool.owner], ["Source", tool.source], ["Scope", toolScopeLabel(tool.scope)], ["Availability", tool.availabilityDetail]].map(([label, value]) => (
|
|
816
816
|
<div className="grid min-w-0 gap-0.5 rounded-lg border border-border-soft bg-background/68 px-2 py-1.5" key={label}>
|
|
817
817
|
<dt className="text-[0.61rem] text-muted-foreground">{label}</dt>
|
|
818
818
|
<dd className="min-w-0 text-[0.68rem] text-foreground [overflow-wrap:anywhere]">{value}</dd>
|
|
@@ -864,7 +864,7 @@ function SettingsValue({ copy = false, label, value }: { copy?: boolean; label:
|
|
|
864
864
|
<div className="grid min-h-[38px] grid-cols-[minmax(130px,0.28fr)_minmax(0,1fr)_auto] items-center gap-2.5 rounded-lg border border-border-soft bg-background/68 px-2.5 py-1.5 max-[520px]:grid-cols-[minmax(0,1fr)_auto]">
|
|
865
865
|
<span className={cn(valueLabelClass, "max-[520px]:col-span-full")}>{label}</span>
|
|
866
866
|
<code className="min-w-0 truncate font-mono text-[0.7rem] text-foreground" title={value}>{value}</code>
|
|
867
|
-
{copy && <CopyButton label={
|
|
867
|
+
{copy && <CopyButton label={`Copy ${label}`} text={value} />}
|
|
868
868
|
</div>
|
|
869
869
|
);
|
|
870
870
|
}
|
|
@@ -894,7 +894,7 @@ function CopyButton({ className, label, text }: { className?: string; label: str
|
|
|
894
894
|
.then(() => setStatus("copied"))
|
|
895
895
|
.catch(() => setStatus("failed"));
|
|
896
896
|
};
|
|
897
|
-
const statusLabel = status === "copied" ? "
|
|
897
|
+
const statusLabel = status === "copied" ? "Copied" : status === "failed" ? "Not copied" : "Copy";
|
|
898
898
|
return (
|
|
899
899
|
<Button
|
|
900
900
|
aria-label={label}
|
|
@@ -931,16 +931,16 @@ const skillFileText = (file: SettingsSkillFile) =>
|
|
|
931
931
|
|
|
932
932
|
const formatDuration = (milliseconds: number) => {
|
|
933
933
|
const seconds = milliseconds / 1000;
|
|
934
|
-
if (seconds < 60) return `${seconds.toLocaleString("
|
|
934
|
+
if (seconds < 60) return `${seconds.toLocaleString("en-US")} s`;
|
|
935
935
|
const minutes = seconds / 60;
|
|
936
|
-
if (minutes < 60) return `${minutes.toLocaleString("
|
|
937
|
-
return `${(minutes / 60).toLocaleString("
|
|
936
|
+
if (minutes < 60) return `${minutes.toLocaleString("en-US")} min`;
|
|
937
|
+
return `${(minutes / 60).toLocaleString("en-US")} h`;
|
|
938
938
|
};
|
|
939
939
|
|
|
940
940
|
const sensitiveKey = (key: string) => /secret|token|password|credential|api.?key|authorization|cookie/i.test(key);
|
|
941
941
|
|
|
942
942
|
const sanitizedValue = (value: unknown, key = ""): unknown => {
|
|
943
|
-
if (key && sensitiveKey(key)) return "[
|
|
943
|
+
if (key && sensitiveKey(key)) return "[hidden]";
|
|
944
944
|
if (Array.isArray(value)) return value.map((entry) => sanitizedValue(entry));
|
|
945
945
|
if (typeof value !== "object" || value === null) return value;
|
|
946
946
|
return Object.fromEntries(
|