@schlenkr/ragents 0.1.10 → 0.1.11
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/apps/server/package.json +1 -1
- package/apps/server/src/access-projection.ts +4 -4
- 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 +31 -31
- 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 +17 -17
- package/apps/server/src/profile/compose.ts +12 -7
- package/apps/server/src/profile/plugin-discovery.ts +12 -12
- 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 +61 -56
- 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-BfNSGxjB.js} +1 -1
- package/apps/web/dist/assets/main-D6bsKcIK.js +11 -0
- package/apps/web/dist/assets/mermaid-HWGCJPDP-DROEqEeg.js +608 -0
- package/apps/web/dist/assets/runPanel-Dumuuqry.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 +90 -90
- 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/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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +7 -3
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- package/bundles/ragents.todo/server/index.js +5 -5
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- package/bundles/ragents.workspace/server/index.js +81 -81
- 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 +3723 -550
- 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.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 +35 -35
- package/packages/workspace-executor/src/errors.ts +1 -1
- package/packages/workspace-executor/src/executor.ts +15 -15
- package/packages/workspace-executor/src/files.ts +30 -30
- 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 +35 -35
- 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 +2 -2
- 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 +2 -2
- package/plugins/ragents.orchestration/web/ActorChatControls.tsx +4 -4
- 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/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 +54 -54
- 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 +42 -42
- 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 +29 -29
- 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 +46 -46
- 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
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var t=(l,
|
|
1
|
+
var t=(l,f)=>{let r=globalThis.__ragentsHostModules?.[l];if(r===void 0)throw new Error(`The host does not provide ${l}`);if(!(f in r))throw new Error(`The host does not provide ${f} from ${l}; the bundle was built against a newer host`);return r[f]};var n=t("react","useState");var m=t("@ragents/web/ui","Button");var h=t("@ragents/web/ui","Card");var i=t("@ragents/web/ui","Input");var p=t("@ragents/web/ui","Textarea");var e=t("react/jsx-runtime","jsx");var a=t("react/jsx-runtime","jsxs");var b="grid gap-5.5 mx-auto max-w-[820px] p-6 text-foreground max-sm:p-4.5",v="leading-[1.6] text-muted-foreground",x="grid min-w-0 gap-2.5 [&>span]:font-semibold",y="leading-[1.5] text-muted-foreground",C="flex flex-wrap justify-end gap-2.5 pt-2";function w({onCancel:l,onComplete:f}){let[r,c]=n("Should city centers become car-free?"),[u,g]=n("2"),d=Number(u),s=r.trim().length>0&&Number.isInteger(d)&&d>=1&&d<=5;return a("form",{className:b,onSubmit:o=>{o.preventDefault(),s&&f({topic:r.trim(),rounds:d})},children:[e("p",{className:v,children:"Three perspectives on one question. The coordinator leads the round and summarizes the results."}),a("label",{className:x,children:[e("span",{children:"What should the round talk about?"}),e(p,{autoFocus:!0,maxLength:160,onChange:o=>c(o.target.value),required:!0,rows:3,value:r})]}),e("div",{"aria-label":"Conversation partners",className:"grid grid-cols-3 gap-3.5 max-sm:grid-cols-1 max-sm:gap-2",children:[{name:"Mira",role:"Asks curious questions"},{name:"Jon",role:"Politely disagrees"},{name:"Ada",role:"Looks for common ground"}].map(o=>a("div",{className:"grid gap-[7px] rounded-lg bg-secondary p-3.5",children:[e("strong",{children:o.name}),e("span",{className:"text-[0.85rem] leading-[1.4] text-muted-foreground",children:o.role})]},o.name))}),a("label",{className:x,children:[e("span",{children:"Rounds"}),e(i,{className:"max-w-25",max:5,min:1,onChange:o=>g(o.target.value),required:!0,step:1,type:"number",value:u}),e("small",{className:y,children:"1 to 5 rounds, with one contribution per person and round."})]}),a("div",{className:C,children:[e(m,{onClick:l,variant:"outline",children:"Cancel"}),e(m,{disabled:!s,type:"submit",children:"Start conversation"})]})]})}function S({onCancel:l,onComplete:f}){let[r,c]=n("Ideas for our team breakfast"),[u,g]=n("Everyone brings something from their favorite cuisine."),d=r.trim().length>0&&u.trim().length>0;return a("form",{className:b,onSubmit:s=>{s.preventDefault(),d&&f({title:r.trim(),firstEntry:u.trim()})},children:[e("p",{className:v,children:"Collects ideas, questions, or tasks in one place. You add to the list in its view, the list helper through its tool."}),a("div",{className:"grid grid-cols-2 gap-6 max-sm:grid-cols-1",children:[a("div",{className:"grid min-w-0 gap-5.5",children:[a("label",{className:x,children:[e("span",{children:"What do you want to collect?"}),e(i,{autoFocus:!0,maxLength:160,onChange:s=>c(s.target.value),required:!0,value:r})]}),a("label",{className:x,children:[e("span",{children:"First entry"}),e(p,{maxLength:2e3,onChange:s=>g(s.target.value),required:!0,rows:5,value:u})]})]}),e("aside",{"aria-label":"Collection board preview",children:a(h,{className:"h-full gap-0 bg-secondary p-5 [overflow-wrap:anywhere]",children:[e("small",{className:y,children:"This is how your collection starts"}),e("h3",{className:"mt-3 mb-4.5 text-[1.05rem]",children:r.trim()||"Collection title"}),e("ol",{className:"list-decimal pl-5.5 leading-[1.6] whitespace-pre-wrap",children:e("li",{children:u.trim()||"Your first entry"})}),e("p",{className:"mt-5.5 text-[0.85rem] leading-[1.5] text-muted-foreground",children:"The list helper adds this entry after the start. After that, both of you can add more."})]})})]}),a("div",{className:C,children:[e(m,{onClick:l,variant:"outline",children:"Cancel"}),e(m,{disabled:!d,type:"submit",children:"Start collection board"})]})]})}var ee={id:"ragents.reference",guides:[{id:"ragents.reference.conversation-circle",Guide:w},{id:"ragents.reference.shared-actor-list",Guide:S}]};export{ee as webPlugin};
|
|
2
2
|
//# sourceMappingURL=/plugins/ragents.reference/web/index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["ragents-host-read:read", "ragents-host-value:react#useState", "ragents-host-value:@ragents/web/ui#Button", "ragents-host-value:@ragents/web/ui#Card", "ragents-host-value:@ragents/web/ui#Input", "ragents-host-value:@ragents/web/ui#Textarea", "ragents-host-value:react/jsx-runtime#jsx", "ragents-host-value:react/jsx-runtime#jsxs", "../../../plugins/ragents.reference/web/StartGuides.tsx", "../../../plugins/ragents.reference/web/index.tsx"],
|
|
4
|
-
"sourcesContent": ["export const read = (specifier, name) => {\n const module = globalThis[\"__ragentsHostModules\"]?.[specifier];\n if (module === undefined) throw new Error(`
|
|
5
|
-
"mappings": "AAAO,IAAMA,EAAO,CAACC,EAAWC,IAAS,CACvC,IAAMC,EAAS,WAAW,uBAA0BF,CAAS,EAC7D,GAAIE,IAAW,OAAW,MAAM,IAAI,MAAM,
|
|
4
|
+
"sourcesContent": ["export const read = (specifier, name) => {\n const module = globalThis[\"__ragentsHostModules\"]?.[specifier];\n if (module === undefined) throw new Error(`The host does not provide ${specifier}`);\n if (!(name in module)) throw new Error(`The host does not provide ${name} from ${specifier}; the bundle was built against a newer host`);\n return module[name];\n};", "import { read } from \"ragents-host-read:read\";\nexport default read(\"react\", \"useState\");\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"@ragents/web/ui\", \"Button\");\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"@ragents/web/ui\", \"Card\");\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"@ragents/web/ui\", \"Input\");\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"@ragents/web/ui\", \"Textarea\");\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"react/jsx-runtime\", \"jsx\");\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"react/jsx-runtime\", \"jsxs\");\n", "import { useState } from \"react\";\nimport type { EntryGuideContext } from \"@ragents/web/PluginRegistry\";\nimport { Button, Card, Input, Textarea } from \"@ragents/web/ui\";\n\nconst formClass = \"grid gap-5.5 mx-auto max-w-[820px] p-6 text-foreground max-sm:p-4.5\";\nconst introClass = \"leading-[1.6] text-muted-foreground\";\nconst fieldClass = \"grid min-w-0 gap-2.5 [&>span]:font-semibold\";\nconst hintClass = \"leading-[1.5] text-muted-foreground\";\nconst actionsClass = \"flex flex-wrap justify-end gap-2.5 pt-2\";\n\nexport function ConversationGuide({ onCancel, onComplete }: EntryGuideContext) {\n const [topic, setTopic] = useState(\"Should city centers become car-free?\");\n const [rounds, setRounds] = useState(\"2\");\n const count = Number(rounds);\n const valid = topic.trim().length > 0 && Number.isInteger(count) && count >= 1 && count <= 5;\n\n return (\n <form className={formClass} onSubmit={(event) => {\n event.preventDefault();\n if (valid) onComplete({ topic: topic.trim(), rounds: count });\n }}>\n <p className={introClass}>Three perspectives on one question. The coordinator leads the round and summarizes the results.</p>\n <label className={fieldClass}>\n <span>What should the round talk about?</span>\n <Textarea autoFocus maxLength={160} onChange={(event) => setTopic(event.target.value)} required rows={3} value={topic} />\n </label>\n <div aria-label=\"Conversation partners\" className=\"grid grid-cols-3 gap-3.5 max-sm:grid-cols-1 max-sm:gap-2\">\n {[\n { name: \"Mira\", role: \"Asks curious questions\" },\n { name: \"Jon\", role: \"Politely disagrees\" },\n { name: \"Ada\", role: \"Looks for common ground\" },\n ].map((partner) => (\n <div className=\"grid gap-[7px] rounded-lg bg-secondary p-3.5\" key={partner.name}>\n <strong>{partner.name}</strong>\n <span className=\"text-[0.85rem] leading-[1.4] text-muted-foreground\">{partner.role}</span>\n </div>\n ))}\n </div>\n <label className={fieldClass}>\n <span>Rounds</span>\n <Input className=\"max-w-25\" max={5} min={1} onChange={(event) => setRounds(event.target.value)} required step={1} type=\"number\" value={rounds} />\n <small className={hintClass}>1 to 5 rounds, with one contribution per person and round.</small>\n </label>\n <div className={actionsClass}>\n <Button onClick={onCancel} variant=\"outline\">Cancel</Button>\n <Button disabled={!valid} type=\"submit\">Start conversation</Button>\n </div>\n </form>\n );\n}\n\nexport function SharedBoardGuide({ onCancel, onComplete }: EntryGuideContext) {\n const [title, setTitle] = useState(\"Ideas for our team breakfast\");\n const [firstEntry, setFirstEntry] = useState(\"Everyone brings something from their favorite cuisine.\");\n const valid = title.trim().length > 0 && firstEntry.trim().length > 0;\n\n return (\n <form className={formClass} onSubmit={(event) => {\n event.preventDefault();\n if (valid) onComplete({ title: title.trim(), firstEntry: firstEntry.trim() });\n }}>\n <p className={introClass}>Collects ideas, questions, or tasks in one place. You add to the list in its view, the list helper through its tool.</p>\n <div className=\"grid grid-cols-2 gap-6 max-sm:grid-cols-1\">\n <div className=\"grid min-w-0 gap-5.5\">\n <label className={fieldClass}>\n <span>What do you want to collect?</span>\n <Input autoFocus maxLength={160} onChange={(event) => setTitle(event.target.value)} required value={title} />\n </label>\n <label className={fieldClass}>\n <span>First entry</span>\n <Textarea maxLength={2000} onChange={(event) => setFirstEntry(event.target.value)} required rows={5} value={firstEntry} />\n </label>\n </div>\n <aside aria-label=\"Collection board preview\">\n <Card className=\"h-full gap-0 bg-secondary p-5 [overflow-wrap:anywhere]\">\n <small className={hintClass}>This is how your collection starts</small>\n <h3 className=\"mt-3 mb-4.5 text-[1.05rem]\">{title.trim() || \"Collection title\"}</h3>\n <ol className=\"list-decimal pl-5.5 leading-[1.6] whitespace-pre-wrap\"><li>{firstEntry.trim() || \"Your first entry\"}</li></ol>\n <p className=\"mt-5.5 text-[0.85rem] leading-[1.5] text-muted-foreground\">The list helper adds this entry after the start. After that, both of you can add more.</p>\n </Card>\n </aside>\n </div>\n <div className={actionsClass}>\n <Button onClick={onCancel} variant=\"outline\">Cancel</Button>\n <Button disabled={!valid} type=\"submit\">Start collection board</Button>\n </div>\n </form>\n );\n}\n", "import type { WebPlugin } from \"@ragents/web/PluginRegistry\";\nimport { ConversationGuide, SharedBoardGuide } from \"./StartGuides\";\n\nexport const webPlugin: WebPlugin = {\n id: \"ragents.reference\",\n guides: [\n { id: \"ragents.reference.conversation-circle\", Guide: ConversationGuide },\n { id: \"ragents.reference.shared-actor-list\", Guide: SharedBoardGuide },\n ],\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["read", "specifier", "name", "module", "react_useState_default", "read", "ui_Button_default", "read", "ui_Card_default", "read", "ui_Input_default", "read", "ui_Textarea_default", "read", "jsx_runtime_jsx_default", "read", "jsx_runtime_jsxs_default", "read", "formClass", "introClass", "fieldClass", "hintClass", "actionsClass", "ConversationGuide", "onCancel", "onComplete", "topic", "setTopic", "react_useState_default", "rounds", "setRounds", "count", "valid", "jsx_runtime_jsxs_default", "event", "jsx_runtime_jsx_default", "ui_Textarea_default", "partner", "ui_Input_default", "ui_Button_default", "SharedBoardGuide", "title", "setTitle", "firstEntry", "setFirstEntry", "ui_Card_default", "webPlugin", "ConversationGuide", "SharedBoardGuide"]
|
|
7
7
|
}
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
]
|
|
33
33
|
}
|
|
34
34
|
},
|
|
35
|
-
"stand": "
|
|
36
|
-
"sourceStand": "
|
|
35
|
+
"stand": "d211b988a287cc1df7ad6b657be4e1bbe40dc0c16873f8df234f530a7c0c86fd",
|
|
36
|
+
"sourceStand": "309ce99effca0c0df061ec66cff775747b9ffa1eab3bffb557094adf42b7ec1a",
|
|
37
37
|
"server": "server/index.js",
|
|
38
38
|
"web": {
|
|
39
39
|
"entry": "web/index.js",
|
|
@@ -48,7 +48,7 @@ var todoToolMetadata = {
|
|
|
48
48
|
};
|
|
49
49
|
var canManageTodos = defineToolAvailability({
|
|
50
50
|
availability: "conditional",
|
|
51
|
-
availabilityDetail: "
|
|
51
|
+
availabilityDetail: "Only for agents with the capability plugin.state.write."
|
|
52
52
|
}, (actor) => actor.kind === "agent" && holdsUsable(actor, "plugin.state.write"));
|
|
53
53
|
var checked = (todos) => {
|
|
54
54
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -56,9 +56,9 @@ var checked = (todos) => {
|
|
|
56
56
|
const id = todo.id.trim();
|
|
57
57
|
const text = todo.text.trim();
|
|
58
58
|
const status = todoStatusOf(todo.status);
|
|
59
|
-
if (!id) throw new DomainError("invalid-todo", `todos[${index}].id
|
|
60
|
-
if (!text) throw new DomainError("invalid-todo", `todos[${index}].text
|
|
61
|
-
if (!status) throw new DomainError("invalid-todo", `todos[${index}].status ${todo.status}
|
|
59
|
+
if (!id) throw new DomainError("invalid-todo", `todos[${index}].id is empty.`, 400);
|
|
60
|
+
if (!text) throw new DomainError("invalid-todo", `todos[${index}].text is empty.`, 400);
|
|
61
|
+
if (!status) throw new DomainError("invalid-todo", `todos[${index}].status ${todo.status} is unknown.`, 400);
|
|
62
62
|
if (seen.has(id)) throw new DomainError("duplicate-todo-id", `To-do ID ${id} occurs more than once.`, 400);
|
|
63
63
|
seen.add(id);
|
|
64
64
|
return { id, text, status };
|
|
@@ -72,7 +72,7 @@ var createTodoTool = () => defineRunFunction({
|
|
|
72
72
|
id: Type.String({ minLength: 1 }),
|
|
73
73
|
text: Type.String({ minLength: 1 }),
|
|
74
74
|
status: Type.Union(TODO_STATUS_INPUTS.map((value) => Type.Literal(value)), {
|
|
75
|
-
description: "open =
|
|
75
|
+
description: "open = not started, active = in progress, completed = done; pending, in_progress and done are accepted as well"
|
|
76
76
|
})
|
|
77
77
|
})
|
|
78
78
|
)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../plugins/ragents.todo/server/tool-contributor.ts", "../../../plugins/ragents.todo/server/todo-tool.ts", "../../../plugins/ragents.todo/contract.ts", "../../../plugins/ragents.todo/server/index.ts"],
|
|
4
|
-
"sourcesContent": ["import type { ToolContributor } from \"@ragents/engine\";\nimport { toolDescriptorFrom } from \"@ragents/host/plugin-support/agent-tool.js\";\nimport { canManageTodos, createTodoTool, todoToolMetadata } from \"./todo-tool.js\";\n\nexport const createTodoToolContributor = (): ToolContributor => ({\n name: \"ragents.todo\",\n descriptors: [toolDescriptorFrom(todoToolMetadata, canManageTodos)],\n tools: () => [createTodoTool()],\n});\n", "import { Type } from \"typebox\";\nimport {\n DomainError,\n defineRunFunction,\n defineToolAvailability,\n holdsUsable,\n type RunFunction,\n} from \"@ragents/engine\";\nimport { TODO_PLUGIN_ID, TODO_STATUS_INPUTS, todoStatusOf } from \"../contract.js\";\n\nexport const todoToolMetadata = {\n name: \"todo_replace\",\n label: \"Replace To-do List\",\n description: \"Replace this agent's complete to-do snapshot with its current progress.\",\n longDescription: \"Mark an item completed only AFTER the work actually happened, never in advance; \"\n + \"update the list as you go so at most one item is active.\",\n} as const;\n\nexport const canManageTodos = defineToolAvailability({\n availability: \"conditional\",\n availabilityDetail: \"
|
|
5
|
-
"mappings": ";;;;AACA,SAAS,0BAA0B;;;ACDnC,SAAS,YAAY;AACrB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;;;ACPA,IAAM,iBAAiB;AAGvB,IAAM,qBAAqB,CAAC,QAAQ,UAAU,aAAa,WAAW,eAAe,MAAM;AAa3F,IAAM,eAAe,CAAC,UAA2C;AACtE,MAAI,OAAO,UAAU,SAAU,QAAO;AAEtC,UAAQ,MAAM,KAAK,EAAE,YAAY,GAAG;AAAA,IAClC,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;;;AD5BO,IAAM,mBAAmB;AAAA,EAC9B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AAAA,EACb,iBAAiB;AAEnB;AAEO,IAAM,iBAAiB,uBAAuB;AAAA,EACnD,cAAc;AAAA,EACd,oBAAoB;AACtB,GAAG,CAAC,UAAU,MAAM,SAAS,WAAW,YAAY,OAAO,oBAAoB,CAAC;AAEhF,IAAM,UAAU,CAAC,UAAmE;AAClF,QAAM,OAAO,oBAAI,IAAY;AAE7B,SAAO,MAAM,IAAI,CAAC,MAAM,UAAU;AAChC,UAAM,KAAK,KAAK,GAAG,KAAK;AACxB,UAAM,OAAO,KAAK,KAAK,KAAK;AAC5B,UAAM,SAAS,aAAa,KAAK,MAAM;AAEvC,QAAI,CAAC,GAAI,OAAM,IAAI,YAAY,gBAAgB,SAAS,KAAK,kBAAkB,GAAG;AAClF,QAAI,CAAC,KAAM,OAAM,IAAI,YAAY,gBAAgB,SAAS,KAAK,oBAAoB,GAAG;AACtF,QAAI,CAAC,OAAQ,OAAM,IAAI,YAAY,gBAAgB,SAAS,KAAK,YAAY,KAAK,MAAM,
|
|
4
|
+
"sourcesContent": ["import type { ToolContributor } from \"@ragents/engine\";\nimport { toolDescriptorFrom } from \"@ragents/host/plugin-support/agent-tool.js\";\nimport { canManageTodos, createTodoTool, todoToolMetadata } from \"./todo-tool.js\";\n\nexport const createTodoToolContributor = (): ToolContributor => ({\n name: \"ragents.todo\",\n descriptors: [toolDescriptorFrom(todoToolMetadata, canManageTodos)],\n tools: () => [createTodoTool()],\n});\n", "import { Type } from \"typebox\";\nimport {\n DomainError,\n defineRunFunction,\n defineToolAvailability,\n holdsUsable,\n type RunFunction,\n} from \"@ragents/engine\";\nimport { TODO_PLUGIN_ID, TODO_STATUS_INPUTS, todoStatusOf } from \"../contract.js\";\n\nexport const todoToolMetadata = {\n name: \"todo_replace\",\n label: \"Replace To-do List\",\n description: \"Replace this agent's complete to-do snapshot with its current progress.\",\n longDescription: \"Mark an item completed only AFTER the work actually happened, never in advance; \"\n + \"update the list as you go so at most one item is active.\",\n} as const;\n\nexport const canManageTodos = defineToolAvailability({\n availability: \"conditional\",\n availabilityDetail: \"Only for agents with the capability plugin.state.write.\",\n}, (actor) => actor.kind === \"agent\" && holdsUsable(actor, \"plugin.state.write\"));\n\nconst checked = (todos: readonly { id: string; text: string; status: string }[]) => {\n const seen = new Set<string>();\n\n return todos.map((todo, index) => {\n const id = todo.id.trim();\n const text = todo.text.trim();\n const status = todoStatusOf(todo.status);\n\n if (!id) throw new DomainError(\"invalid-todo\", `todos[${index}].id is empty.`, 400);\n if (!text) throw new DomainError(\"invalid-todo\", `todos[${index}].text is empty.`, 400);\n if (!status) throw new DomainError(\"invalid-todo\", `todos[${index}].status ${todo.status} is unknown.`, 400);\n if (seen.has(id)) throw new DomainError(\"duplicate-todo-id\", `To-do ID ${id} occurs more than once.`, 400);\n\n seen.add(id);\n\n return { id, text, status };\n });\n};\n\nexport const createTodoTool = (): RunFunction =>\n defineRunFunction({\n ...todoToolMetadata,\n schema: Type.Object({\n todos: Type.Array(\n Type.Object({\n id: Type.String({ minLength: 1 }),\n text: Type.String({ minLength: 1 }),\n status: Type.Union(TODO_STATUS_INPUTS.map((value) => Type.Literal(value)), {\n description: \"open = not started, active = in progress, completed = done; \"\n + \"pending, in_progress and done are accepted as well\",\n }),\n }),\n ),\n }),\n resultSchema: Type.Null(),\n available: canManageTodos,\n run: ({ runtime, caller, context }, toolCallId, input) => {\n runtime.replacePluginState(context(toolCallId), caller.runId, {\n pluginId: TODO_PLUGIN_ID,\n scope: { kind: \"actor\", actorId: caller.actorId },\n state: { todos: checked(input.todos) },\n });\n\n return null;\n },\n });\n", "export const TODO_PLUGIN_ID = \"ragents.todo\";\n\nexport const TODO_STATUSES = [\"open\", \"active\", \"completed\"] as const;\nexport const TODO_STATUS_INPUTS = [\"open\", \"active\", \"completed\", \"pending\", \"in_progress\", \"done\"] as const;\nexport type TodoStatus = typeof TODO_STATUSES[number];\n\nexport interface TodoItem {\n id: string;\n text: string;\n status: TodoStatus;\n}\n\nexport interface TodoState {\n todos: TodoItem[];\n}\n\nexport const todoStatusOf = (value: unknown): TodoStatus | undefined => {\n if (typeof value !== \"string\") return undefined;\n\n switch (value.trim().toLowerCase()) {\n case \"open\":\n case \"offen\":\n case \"pending\":\n return \"open\";\n case \"active\":\n case \"doing\":\n case \"in_progress\":\n case \"in arbeit\":\n case \"running\":\n return \"active\";\n case \"completed\":\n case \"done\":\n case \"erledigt\":\n case \"finished\":\n return \"completed\";\n default:\n return undefined;\n }\n};\n\nconst itemOf = (value: unknown): TodoItem | undefined => {\n if (!value || typeof value !== \"object\") return undefined;\n const candidate = value as Partial<TodoItem>;\n const status = todoStatusOf(candidate.status);\n\n return typeof candidate.id === \"string\" && typeof candidate.text === \"string\" && status\n ? { id: candidate.id, text: candidate.text, status }\n : undefined;\n};\n\nexport const todoStateOf = (state: unknown): TodoState | undefined => {\n const candidate = state as Partial<TodoState> | undefined;\n if (!Array.isArray(candidate?.todos)) return undefined;\n const todos = candidate.todos.flatMap((value) => {\n const item = itemOf(value);\n return item ? [item] : [];\n });\n\n return todos.length === candidate.todos.length ? { todos } : undefined;\n};\n", "import type { RAgentsPlugin } from \"@ragents/engine\";\nimport type { PluginModule } from \"@ragents/host/plugin-support/plugin-module.js\";\nimport { createTodoToolContributor } from \"./tool-contributor.js\";\n\nconst todoPlugin: RAgentsPlugin = {\n manifest: { id: \"ragents.todo\" },\n register: (host) => host.functions(createTodoToolContributor()),\n};\n\nexport const plugin: PluginModule = { create: () => todoPlugin };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
["--card","--primary","[stroke-linecap:round]","[stroke-linejoin:round]","[stroke-width:2.2]","active","arbeit","aria-hidden","as","border-[1.5px]","border-border-soft","border-foreground/55","border-t","candidate","cardSections","case","className","completed","const","data-status","default","doing","done","erledigt","export","fill-none","finished","first:border-t-0","first:pt-0","from","function","gap-1.5","gap-2","grid","grid-cols-[15px_minmax(0,1fr)]","id","if","import","in","in-data-[status=active]:bg-[color-mix(in_srgb,var(--primary)_14%,var(--card))]","in-data-[status=active]:border-primary","in-data-[status=completed]:bg-success","in-data-[status=completed]:border-success","in-data-[status=completed]:opacity-75","in_progress","interface","item","itemOf","items","items-start","key","last:pb-0","leading-[1.35]","length","list-none","markerClass","markerOf","mt-px","needsRunView","not-italic","object","offen","open","order","overflow-hidden","pending","pl-0.5","place-items-center","py-1.5","return","rounded-full","runViewFrom","running","session","size-[11px]","size-[15px]","state","status","string","stroke-card","switch","text","text-[0.74rem]","text-[0px]","text-ellipsis","text-muted-foreground","text-xs","title","todo","todoStateOf","todoStatusOf","todos","type","typeof","undefined","value","view","viewBox","webPlugin"
|
|
1
|
+
["--card","--primary","[stroke-linecap:round]","[stroke-linejoin:round]","[stroke-width:2.2]","active","arbeit","aria-hidden","as","border-[1.5px]","border-border-soft","border-foreground/55","border-t","candidate","cardSections","case","className","completed","const","data-status","default","doing","done","erledigt","export","fill-none","finished","first:border-t-0","first:pt-0","from","function","gap-1.5","gap-2","grid","grid-cols-[15px_minmax(0,1fr)]","id","if","import","in","in-data-[status=active]:bg-[color-mix(in_srgb,var(--primary)_14%,var(--card))]","in-data-[status=active]:border-primary","in-data-[status=completed]:bg-success","in-data-[status=completed]:border-success","in-data-[status=completed]:opacity-75","in_progress","interface","item","itemOf","items","items-start","key","last:pb-0","leading-[1.35]","length","list-none","markerClass","markerOf","more","mt-px","needsRunView","not-italic","object","offen","open","order","overflow-hidden","pending","pl-0.5","place-items-center","py-1.5","return","rounded-full","runViewFrom","running","session","size-[11px]","size-[15px]","state","status","string","stroke-card","switch","text","text-[0.74rem]","text-[0px]","text-ellipsis","text-muted-foreground","text-xs","title","todo","todoStateOf","todoStatusOf","todos","type","typeof","undefined","value","view","viewBox","webPlugin"]
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var r=(t,e)=>{let o=globalThis.__ragentsHostModules?.[t];if(o===void 0)throw new Error(`
|
|
1
|
+
var r=(t,e)=>{let o=globalThis.__ragentsHostModules?.[t];if(o===void 0)throw new Error(`The host does not provide ${t}`);if(!(e in o))throw new Error(`The host does not provide ${e} from ${t}; the bundle was built against a newer host`);return o[e]};var i=r("@ragents/web/run-view","actorPluginState");var f=r("@ragents/web/run-view","runActorFrom");var l=r("@ragents/web/run-view","runViewFrom");var x="ragents.todo";var b=t=>{if(typeof t=="string")switch(t.trim().toLowerCase()){case"open":case"offen":case"pending":return"open";case"active":case"doing":case"in_progress":case"in arbeit":case"running":return"active";case"completed":case"done":case"erledigt":case"finished":return"completed";default:return}},w=t=>{if(!t||typeof t!="object")return;let e=t,o=b(e.status);return typeof e.id=="string"&&typeof e.text=="string"&&o?{id:e.id,text:e.text,status:o}:void 0},g=t=>{let e=t;if(!Array.isArray(e?.todos))return;let o=e.todos.flatMap(c=>{let a=w(c);return a?[a]:[]});return o.length===e.todos.length?{todos:o}:void 0};var p=r("@ragents/web/ui","SectionLabel");var s=r("react/jsx-runtime","jsx");var d=r("react/jsx-runtime","jsxs");var u=12,m=t=>t.status,h="grid size-[15px] mt-px place-items-center rounded-full border-[1.5px] border-foreground/55 text-[0px] not-italic in-data-[status=active]:border-primary in-data-[status=active]:bg-[color-mix(in_srgb,var(--primary)_14%,var(--card))] in-data-[status=completed]:border-success in-data-[status=completed]:bg-success";function T({actor:t,session:e}){let o=l(e.runView);if(!o)return null;let a=g(i(o,x,f(t).id))?.todos??[];if(a.length===0)return null;let S=a.filter(n=>m(n)==="completed").length;return d("section",{className:"grid gap-1.5",children:[d(p,{children:[s("span",{children:"To-do"}),d("small",{children:[S,"/",a.length]})]}),s("ul",{className:"grid list-none",children:a.slice(0,u).map(n=>d("li",{className:"grid grid-cols-[15px_minmax(0,1fr)] items-start gap-2 border-t border-border-soft py-1.5 text-[0.74rem] leading-[1.35] first:border-t-0 first:pt-0 last:pb-0","data-status":m(n),children:[s("i",{"aria-hidden":!0,className:h,children:m(n)==="completed"&&s(y,{})}),s("span",{className:"overflow-hidden text-ellipsis in-data-[status=completed]:opacity-75",title:n.text,children:n.text})]},n.id))}),a.length>u&&d("small",{className:"pl-0.5 text-xs text-muted-foreground",children:["+",a.length-u," more"]})]})}function y(){return s("svg",{"aria-hidden":!0,className:"size-[11px] fill-none stroke-card [stroke-linecap:round] [stroke-linejoin:round] [stroke-width:2.2]",viewBox:"0 0 12 12",children:s("path",{d:"M3.1 6.2 5 8.1l3.9-4.2"})})}var Y={id:"ragents.todo",needsRunView:!0,cardSections:[{id:"ragents.todo.items",order:200,Section:T}]};export{Y as webPlugin};
|
|
2
2
|
//# sourceMappingURL=/plugins/ragents.todo/web/index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["ragents-host-read:read", "ragents-host-value:@ragents/web/run-view#actorPluginState", "ragents-host-value:@ragents/web/run-view#runActorFrom", "ragents-host-value:@ragents/web/run-view#runViewFrom", "../../../plugins/ragents.todo/contract.ts", "ragents-host-value:@ragents/web/ui#SectionLabel", "ragents-host-value:react/jsx-runtime#jsx", "ragents-host-value:react/jsx-runtime#jsxs", "../../../plugins/ragents.todo/web/TodoSection.tsx", "../../../plugins/ragents.todo/web/index.ts"],
|
|
4
|
-
"sourcesContent": ["export const read = (specifier, name) => {\n const module = globalThis[\"__ragentsHostModules\"]?.[specifier];\n if (module === undefined) throw new Error(`
|
|
5
|
-
"mappings": "AAAO,IAAMA,EAAO,CAACC,EAAWC,IAAS,CACvC,IAAMC,EAAS,WAAW,uBAA0BF,CAAS,EAC7D,GAAIE,IAAW,OAAW,MAAM,IAAI,MAAM,
|
|
4
|
+
"sourcesContent": ["export const read = (specifier, name) => {\n const module = globalThis[\"__ragentsHostModules\"]?.[specifier];\n if (module === undefined) throw new Error(`The host does not provide ${specifier}`);\n if (!(name in module)) throw new Error(`The host does not provide ${name} from ${specifier}; the bundle was built against a newer host`);\n return module[name];\n};", "import { read } from \"ragents-host-read:read\";\nexport default read(\"@ragents/web/run-view\", \"actorPluginState\");\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"@ragents/web/run-view\", \"runActorFrom\");\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"@ragents/web/run-view\", \"runViewFrom\");\n", "export const TODO_PLUGIN_ID = \"ragents.todo\";\n\nexport const TODO_STATUSES = [\"open\", \"active\", \"completed\"] as const;\nexport const TODO_STATUS_INPUTS = [\"open\", \"active\", \"completed\", \"pending\", \"in_progress\", \"done\"] as const;\nexport type TodoStatus = typeof TODO_STATUSES[number];\n\nexport interface TodoItem {\n id: string;\n text: string;\n status: TodoStatus;\n}\n\nexport interface TodoState {\n todos: TodoItem[];\n}\n\nexport const todoStatusOf = (value: unknown): TodoStatus | undefined => {\n if (typeof value !== \"string\") return undefined;\n\n switch (value.trim().toLowerCase()) {\n case \"open\":\n case \"offen\":\n case \"pending\":\n return \"open\";\n case \"active\":\n case \"doing\":\n case \"in_progress\":\n case \"in arbeit\":\n case \"running\":\n return \"active\";\n case \"completed\":\n case \"done\":\n case \"erledigt\":\n case \"finished\":\n return \"completed\";\n default:\n return undefined;\n }\n};\n\nconst itemOf = (value: unknown): TodoItem | undefined => {\n if (!value || typeof value !== \"object\") return undefined;\n const candidate = value as Partial<TodoItem>;\n const status = todoStatusOf(candidate.status);\n\n return typeof candidate.id === \"string\" && typeof candidate.text === \"string\" && status\n ? { id: candidate.id, text: candidate.text, status }\n : undefined;\n};\n\nexport const todoStateOf = (state: unknown): TodoState | undefined => {\n const candidate = state as Partial<TodoState> | undefined;\n if (!Array.isArray(candidate?.todos)) return undefined;\n const todos = candidate.todos.flatMap((value) => {\n const item = itemOf(value);\n return item ? [item] : [];\n });\n\n return todos.length === candidate.todos.length ? { todos } : undefined;\n};\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"@ragents/web/ui\", \"SectionLabel\");\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"react/jsx-runtime\", \"jsx\");\n", "import { read } from \"ragents-host-read:read\";\nexport default read(\"react/jsx-runtime\", \"jsxs\");\n", "import { actorPluginState, runActorFrom, runViewFrom } from \"@ragents/web/run-view\";\nimport { TODO_PLUGIN_ID, todoStateOf, type TodoItem } from \"../contract\";\nimport type { CardSectionContext } from \"@ragents/web/PluginRegistry\";\nimport { SectionLabel } from \"@ragents/web/ui\";\n\nconst MAX_ITEMS = 12;\nconst markerOf = (todo: TodoItem) => todo.status;\n\nconst markerClass = \"grid size-[15px] mt-px place-items-center rounded-full border-[1.5px] border-foreground/55 text-[0px] not-italic\"\n + \" in-data-[status=active]:border-primary in-data-[status=active]:bg-[color-mix(in_srgb,var(--primary)_14%,var(--card))]\"\n + \" in-data-[status=completed]:border-success in-data-[status=completed]:bg-success\";\n\nexport function TodoSection({ actor, session }: CardSectionContext) {\n const view = runViewFrom(session.runView);\n if (!view) return null;\n const state = todoStateOf(actorPluginState(view, TODO_PLUGIN_ID, runActorFrom(actor).id));\n const todos = state?.todos ?? [];\n if (todos.length === 0) return null;\n const done = todos.filter((todo) => markerOf(todo) === \"completed\").length;\n\n return (\n <section className=\"grid gap-1.5\">\n <SectionLabel>\n <span>To-do</span>\n <small>{done}/{todos.length}</small>\n </SectionLabel>\n <ul className=\"grid list-none\">\n {todos.slice(0, MAX_ITEMS).map((todo) => (\n <li className=\"grid grid-cols-[15px_minmax(0,1fr)] items-start gap-2 border-t border-border-soft py-1.5 text-[0.74rem] leading-[1.35] first:border-t-0 first:pt-0 last:pb-0\"\n data-status={markerOf(todo)} key={todo.id}>\n <i aria-hidden className={markerClass}>{markerOf(todo) === \"completed\" && <IconCheck />}</i>\n <span className=\"overflow-hidden text-ellipsis in-data-[status=completed]:opacity-75\" title={todo.text}>{todo.text}</span>\n </li>\n ))}\n </ul>\n {todos.length > MAX_ITEMS && <small className=\"pl-0.5 text-xs text-muted-foreground\">+{todos.length - MAX_ITEMS} more</small>}\n </section>\n );\n}\n\nfunction IconCheck() {\n return (\n <svg aria-hidden className=\"size-[11px] fill-none stroke-card [stroke-linecap:round] [stroke-linejoin:round] [stroke-width:2.2]\" viewBox=\"0 0 12 12\">\n <path d=\"M3.1 6.2 5 8.1l3.9-4.2\" />\n </svg>\n );\n}\n", "import { TodoSection } from \"./TodoSection\";\nimport type { WebPlugin } from \"@ragents/web/PluginRegistry\";\n\nexport const webPlugin: WebPlugin = {\n id: \"ragents.todo\",\n needsRunView: true,\n cardSections: [{\n id: \"ragents.todo.items\",\n order: 200,\n Section: TodoSection,\n }],\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["read", "specifier", "name", "module", "run_view_actorPluginState_default", "read", "run_view_runActorFrom_default", "read", "run_view_runViewFrom_default", "read", "TODO_PLUGIN_ID", "todoStatusOf", "value", "itemOf", "candidate", "status", "todoStateOf", "state", "todos", "item", "ui_SectionLabel_default", "read", "jsx_runtime_jsx_default", "read", "jsx_runtime_jsxs_default", "read", "MAX_ITEMS", "markerOf", "todo", "markerClass", "TodoSection", "actor", "session", "view", "run_view_runViewFrom_default", "todos", "todoStateOf", "run_view_actorPluginState_default", "TODO_PLUGIN_ID", "run_view_runActorFrom_default", "done", "jsx_runtime_jsxs_default", "ui_SectionLabel_default", "jsx_runtime_jsx_default", "IconCheck", "webPlugin", "TodoSection"]
|
|
7
7
|
}
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
},
|
|
23
23
|
"web": {}
|
|
24
24
|
},
|
|
25
|
-
"stand": "
|
|
26
|
-
"sourceStand": "
|
|
25
|
+
"stand": "e3bb513053f6385f9d78d314d28302324095a5163c4e1563df6fc8b3251305f7",
|
|
26
|
+
"sourceStand": "3e6be16236b43b5f5fa1e453ceab1d5161dfd8743e22426c0d6ded7791b875e1",
|
|
27
27
|
"server": "server/index.js",
|
|
28
28
|
"exports": {
|
|
29
29
|
"server": {},
|
|
@@ -18,7 +18,7 @@ var compactJson = (value, limit) => collapse(typeof value === "string" ? value :
|
|
|
18
18
|
var lineOf = (event, actorId) => {
|
|
19
19
|
if (event.type === "actor.input.enqueued") {
|
|
20
20
|
if (event.payload.actorId !== actorId) return void 0;
|
|
21
|
-
return event.payload.content === void 0 ? `> [
|
|
21
|
+
return event.payload.content === void 0 ? `> [Event ${event.payload.sourceEventIds[0]}]` : `> ${collapse(event.payload.content, 1e3)}`;
|
|
22
22
|
}
|
|
23
23
|
if (event.actorId !== actorId) return void 0;
|
|
24
24
|
switch (event.type) {
|
|
@@ -29,11 +29,11 @@ var lineOf = (event, actorId) => {
|
|
|
29
29
|
case "tool.call.completed":
|
|
30
30
|
return ` -> ${compactJson(event.payload.output, 300)}`;
|
|
31
31
|
case "tool.call.failed":
|
|
32
|
-
return ` ->
|
|
32
|
+
return ` -> Error: ${collapse(event.payload.error, 300)}`;
|
|
33
33
|
case "turn.finished":
|
|
34
|
-
return event.payload.outcome === "failed" ? `[Turn
|
|
34
|
+
return event.payload.outcome === "failed" ? `[Turn failed: ${collapse(event.payload.reason, 300)}]` : void 0;
|
|
35
35
|
case "turn.interrupted":
|
|
36
|
-
return `[Turn
|
|
36
|
+
return `[Turn interrupted: ${collapse(event.payload.reason, 300)}]`;
|
|
37
37
|
default:
|
|
38
38
|
return void 0;
|
|
39
39
|
}
|
|
@@ -49,22 +49,22 @@ function compactTranscript(events, actorId, maxChars = defaultMaxChars) {
|
|
|
49
49
|
dropped += 1;
|
|
50
50
|
}
|
|
51
51
|
const kept = lines.slice(dropped);
|
|
52
|
-
return { text: [`[... ${dropped}
|
|
52
|
+
return { text: [`[... ${dropped} earlier lines omitted]`, ...kept].join("\n"), lines: kept.length, truncated: true };
|
|
53
53
|
}
|
|
54
54
|
var transcriptToolMetadata = {
|
|
55
55
|
name: "actor_transcript",
|
|
56
|
-
label: "
|
|
57
|
-
description: "
|
|
56
|
+
label: "Compact history",
|
|
57
|
+
description: "Returns the history of an actor of this run as a compact transcript: inputs, answer texts and tool calls one line each, results shortened, without reasoning. For handovers, status reports and summaries."
|
|
58
58
|
};
|
|
59
59
|
var canReadTranscripts = defineToolAvailability({
|
|
60
60
|
availability: "conditional",
|
|
61
|
-
availabilityDetail: "
|
|
61
|
+
availabilityDetail: "For agents and script actors with the capability event.subscribe."
|
|
62
62
|
}, (actor) => actor.kind !== "human" && holdsUsable(actor, "event.subscribe"));
|
|
63
63
|
var createTranscriptTool = (runtime) => defineRunFunction({
|
|
64
64
|
...transcriptToolMetadata,
|
|
65
65
|
schema: Type.Object({
|
|
66
|
-
actor: Type.String({ minLength: 1, description: "Handle
|
|
67
|
-
maxChars: Type.Optional(Type.Integer({ minimum: 200, maximum: 2e5, description: `
|
|
66
|
+
actor: Type.String({ minLength: 1, description: "Handle with or without @, or ID of an actor of this run" }),
|
|
67
|
+
maxChars: Type.Optional(Type.Integer({ minimum: 200, maximum: 2e5, description: `Upper limit in characters, default ${defaultMaxChars}; the oldest lines are dropped first` }))
|
|
68
68
|
}, { additionalProperties: false }),
|
|
69
69
|
resultSchema: Type.Object({
|
|
70
70
|
actorId: Type.String(),
|
|
@@ -77,7 +77,7 @@ var createTranscriptTool = (runtime) => defineRunFunction({
|
|
|
77
77
|
run: ({ caller }, _toolCallId, input) => {
|
|
78
78
|
const view = runtime().view(caller.runId);
|
|
79
79
|
const actor = actorByReference(view.actors, input.actor);
|
|
80
|
-
if (!actor) throw new Error(`
|
|
80
|
+
if (!actor) throw new Error(`Unknown actor in this run: ${input.actor}`);
|
|
81
81
|
return { actorId: actor.id, handle: actor.handle, ...compactTranscript(runtime().events(caller.runId), actor.id, input.maxChars) };
|
|
82
82
|
}
|
|
83
83
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../plugins/ragents.transcript/server/index.ts", "../../../plugins/ragents.transcript/server/transcript.ts"],
|
|
4
|
-
"sourcesContent": ["import type { RAgentsPlugin, ToolContributor } from \"@ragents/engine\";\nimport { toolDescriptorFrom } from \"@ragents/host/plugin-support/agent-tool.js\";\nimport type { PluginModule } from \"@ragents/host/plugin-support/plugin-module.js\";\nimport { runtimeProviderToken } from \"@ragents/host/ragents/host-services.js\";\nimport { canReadTranscripts, createTranscriptTool, transcriptToolMetadata } from \"./transcript.js\";\n\nconst transcriptPlugin: RAgentsPlugin = {\n manifest: { id: \"ragents.transcript\" },\n register: (host) => {\n const runtime = host.service(runtimeProviderToken);\n const contributor: ToolContributor = {\n name: \"ragents.transcript\",\n descriptors: [toolDescriptorFrom(transcriptToolMetadata, canReadTranscripts)],\n tools: () => [createTranscriptTool(runtime)],\n };\n host.functions(contributor);\n },\n};\n\nexport const plugin: PluginModule = { requires: [\"ragents.orchestration\"], create: () => transcriptPlugin };\n", "import { Type } from \"typebox\";\nimport { actorByReference, defineRunFunction, defineToolAvailability, holdsUsable, type JournalEvent, type Orchestration, type RunFunction } from \"@ragents/engine\";\n\nexport interface CompactTranscript { text: string; lines: number; truncated: boolean }\n\nconst defaultMaxChars = 20_000;\nconst markerReserve = 50;\nconst collapse = (text: string, limit: number): string => {\n const flat = text.replace(/\\s+/g, \" \").trim();\n return flat.length > limit ? `${flat.slice(0, limit - 3)}...` : flat;\n};\nconst compactJson = (value: unknown, limit: number): string => collapse(typeof value === \"string\" ? value : JSON.stringify(value) ?? \"\", limit);\n\nconst lineOf = (event: JournalEvent, actorId: string): string | undefined => {\n if (event.type === \"actor.input.enqueued\") {\n if (event.payload.actorId !== actorId) return undefined;\n return event.payload.content === undefined ? `> [
|
|
5
|
-
"mappings": ";;;;AACA,SAAS,0BAA0B;AAEnC,SAAS,4BAA4B;;;ACHrC,SAAS,YAAY;AACrB,SAAS,kBAAkB,mBAAmB,wBAAwB,mBAA4E;AAIlJ,IAAM,kBAAkB;AACxB,IAAM,gBAAgB;AACtB,IAAM,WAAW,CAAC,MAAc,UAA0B;AACxD,QAAM,OAAO,KAAK,QAAQ,QAAQ,GAAG,EAAE,KAAK;AAC5C,SAAO,KAAK,SAAS,QAAQ,GAAG,KAAK,MAAM,GAAG,QAAQ,CAAC,CAAC,QAAQ;AAClE;AACA,IAAM,cAAc,CAAC,OAAgB,UAA0B,SAAS,OAAO,UAAU,WAAW,QAAQ,KAAK,UAAU,KAAK,KAAK,IAAI,KAAK;AAE9I,IAAM,SAAS,CAAC,OAAqB,YAAwC;AAC3E,MAAI,MAAM,SAAS,wBAAwB;AACzC,QAAI,MAAM,QAAQ,YAAY,QAAS,QAAO;AAC9C,WAAO,MAAM,QAAQ,YAAY,SAAY,
|
|
4
|
+
"sourcesContent": ["import type { RAgentsPlugin, ToolContributor } from \"@ragents/engine\";\nimport { toolDescriptorFrom } from \"@ragents/host/plugin-support/agent-tool.js\";\nimport type { PluginModule } from \"@ragents/host/plugin-support/plugin-module.js\";\nimport { runtimeProviderToken } from \"@ragents/host/ragents/host-services.js\";\nimport { canReadTranscripts, createTranscriptTool, transcriptToolMetadata } from \"./transcript.js\";\n\nconst transcriptPlugin: RAgentsPlugin = {\n manifest: { id: \"ragents.transcript\" },\n register: (host) => {\n const runtime = host.service(runtimeProviderToken);\n const contributor: ToolContributor = {\n name: \"ragents.transcript\",\n descriptors: [toolDescriptorFrom(transcriptToolMetadata, canReadTranscripts)],\n tools: () => [createTranscriptTool(runtime)],\n };\n host.functions(contributor);\n },\n};\n\nexport const plugin: PluginModule = { requires: [\"ragents.orchestration\"], create: () => transcriptPlugin };\n", "import { Type } from \"typebox\";\nimport { actorByReference, defineRunFunction, defineToolAvailability, holdsUsable, type JournalEvent, type Orchestration, type RunFunction } from \"@ragents/engine\";\n\nexport interface CompactTranscript { text: string; lines: number; truncated: boolean }\n\nconst defaultMaxChars = 20_000;\nconst markerReserve = 50;\nconst collapse = (text: string, limit: number): string => {\n const flat = text.replace(/\\s+/g, \" \").trim();\n return flat.length > limit ? `${flat.slice(0, limit - 3)}...` : flat;\n};\nconst compactJson = (value: unknown, limit: number): string => collapse(typeof value === \"string\" ? value : JSON.stringify(value) ?? \"\", limit);\n\nconst lineOf = (event: JournalEvent, actorId: string): string | undefined => {\n if (event.type === \"actor.input.enqueued\") {\n if (event.payload.actorId !== actorId) return undefined;\n return event.payload.content === undefined ? `> [Event ${event.payload.sourceEventIds[0]}]` : `> ${collapse(event.payload.content, 1000)}`;\n }\n if (event.actorId !== actorId) return undefined;\n switch (event.type) {\n case \"model.output.completed\": return event.payload.text.trim() ? collapse(event.payload.text, 4000) : undefined;\n case \"tool.call.started\": return `[${event.payload.name}] ${compactJson(event.payload.input, 200)}`;\n case \"tool.call.completed\": return ` -> ${compactJson(event.payload.output, 300)}`;\n case \"tool.call.failed\": return ` -> Error: ${collapse(event.payload.error, 300)}`;\n case \"turn.finished\": return event.payload.outcome === \"failed\" ? `[Turn failed: ${collapse(event.payload.reason, 300)}]` : undefined;\n case \"turn.interrupted\": return `[Turn interrupted: ${collapse(event.payload.reason, 300)}]`;\n default: return undefined;\n }\n};\n\nexport function compactTranscript(events: readonly JournalEvent[], actorId: string, maxChars = defaultMaxChars): CompactTranscript {\n const lines = events.map((event) => lineOf(event, actorId)).filter((line): line is string => line !== undefined);\n const total = lines.reduce((sum, line) => sum + line.length + 1, 0);\n if (total <= maxChars) return { text: lines.join(\"\\n\"), lines: lines.length, truncated: false };\n let dropped = 0;\n let remaining = total;\n while (dropped < lines.length && remaining + markerReserve > maxChars) {\n remaining -= lines[dropped]!.length + 1;\n dropped += 1;\n }\n const kept = lines.slice(dropped);\n return { text: [`[... ${dropped} earlier lines omitted]`, ...kept].join(\"\\n\"), lines: kept.length, truncated: true };\n}\n\nexport const transcriptToolMetadata = {\n name: \"actor_transcript\",\n label: \"Compact history\",\n description: \"Returns the history of an actor of this run as a compact transcript: inputs, answer texts and tool calls one line each, results shortened, without reasoning. For handovers, status reports and summaries.\",\n} as const;\n\nexport const canReadTranscripts = defineToolAvailability({\n availability: \"conditional\",\n availabilityDetail: \"For agents and script actors with the capability event.subscribe.\",\n}, (actor) => actor.kind !== \"human\" && holdsUsable(actor, \"event.subscribe\"));\n\nexport const createTranscriptTool = (runtime: () => Orchestration): RunFunction =>\n defineRunFunction({\n ...transcriptToolMetadata,\n schema: Type.Object({\n actor: Type.String({ minLength: 1, description: \"Handle with or without @, or ID of an actor of this run\" }),\n maxChars: Type.Optional(Type.Integer({ minimum: 200, maximum: 200_000, description: `Upper limit in characters, default ${defaultMaxChars}; the oldest lines are dropped first` })),\n }, { additionalProperties: false }),\n resultSchema: Type.Object({\n actorId: Type.String(),\n handle: Type.String(),\n text: Type.String(),\n lines: Type.Integer({ minimum: 0 }),\n truncated: Type.Boolean(),\n }, { additionalProperties: false }),\n available: canReadTranscripts,\n run: ({ caller }, _toolCallId, input) => {\n const view = runtime().view(caller.runId);\n const actor = actorByReference(view.actors, input.actor);\n if (!actor) throw new Error(`Unknown actor in this run: ${input.actor}`);\n return { actorId: actor.id, handle: actor.handle, ...compactTranscript(runtime().events(caller.runId), actor.id, input.maxChars) };\n },\n });\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
},
|
|
25
25
|
"web": {}
|
|
26
26
|
},
|
|
27
|
-
"stand": "
|
|
28
|
-
"sourceStand": "
|
|
27
|
+
"stand": "007ee50ab186e3070930f23e9795210fa36c723365657325d5440cc2f0b81d60",
|
|
28
|
+
"sourceStand": "681876d879d89f466c5d264590dd173c210ed5f0ea439bd4e90a3059df696677",
|
|
29
29
|
"server": "server/index.js",
|
|
30
30
|
"exports": {
|
|
31
31
|
"server": {
|