dsh-plugin-dev-kb 1.3.0 → 1.4.0
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/CHANGELOG.md +15 -0
- package/README.en.md +4 -4
- package/README.md +5 -5
- package/kb/INDEX.md +18 -18
- package/kb/README.md +6 -4
- package/kb/extra/AGENTS.md +11 -10
- package/kb/extra/cookbook/adding-a-remote-api.md +2 -2
- package/kb/extra/cookbook/adding-a-remote-api.zh.md +2 -2
- package/kb/extra/cookbook/adding-a-session-format-version.md +48 -6
- package/kb/extra/cookbook/adding-a-session-format-version.zh.md +48 -6
- package/kb/extra/cookbook/reviewing-persistence-type-changes.md +120 -0
- package/kb/extra/cookbook/reviewing-persistence-type-changes.zh.md +120 -0
- package/kb/extra/deepseek-llm-api-wire-extensions.md +18 -19
- package/kb/extra/deepseek-llm-api-wire-extensions.zh.md +17 -18
- package/kb/extra/development.md +27 -10
- package/kb/extra/development.zh.md +27 -10
- package/kb/extra/event-producer-consumer.md +89 -68
- package/kb/extra/event-producer-consumer.zh.md +90 -69
- package/kb/extra/glossary.md +1 -1
- package/kb/extra/glossary.zh.md +1 -1
- package/kb/extra/i18n/README.md +15 -7
- package/kb/extra/i18n/README.zh.md +15 -7
- package/kb/extra/i18n/terminology.md +4 -4
- package/kb/extra/i18n/translation-prompt.md +2 -2
- package/kb/extra/module-graph.md +574 -326
- package/kb/extra/module-graph.zh.md +574 -326
- package/kb/extra/persistence-changes/2026-09-11-initial.md +280 -0
- package/kb/extra/persistence-changes/2026-09-11-initial.zh.md +280 -0
- package/kb/extra/persistence-changes/2026-09-12-auto-review-error-metadata.md +52 -0
- package/kb/extra/persistence-changes/2026-09-12-auto-review-error-metadata.zh.md +52 -0
- package/kb/extra/persistence-changes/2026-09-14-image-offload.md +96 -0
- package/kb/extra/persistence-changes/2026-09-14-image-offload.zh.md +96 -0
- package/kb/extra/persistence-changes/2026-09-14-workspace-changes-event.md +48 -0
- package/kb/extra/persistence-changes/2026-09-14-workspace-changes-event.zh.md +48 -0
- package/kb/extra/persistence-changes/2026-09-16-session-format-v4.md +120 -0
- package/kb/extra/persistence-changes/2026-09-16-session-format-v4.zh.md +120 -0
- package/kb/extra/persistence-changes/2026-09-18-schedule-optional-title.md +48 -0
- package/kb/extra/persistence-changes/2026-09-18-schedule-optional-title.zh.md +48 -0
- package/kb/extra/persistence-changes/2026-09-20-unknown-child-catalog.md +48 -0
- package/kb/extra/persistence-changes/2026-09-20-unknown-child-catalog.zh.md +48 -0
- package/kb/extra/persistence-changes/2026-09-21-user-question-reply.md +60 -0
- package/kb/extra/persistence-changes/2026-09-21-user-question-reply.zh.md +60 -0
- package/kb/extra/persistence-changes/README.md +88 -0
- package/kb/extra/persistence-changes/README.zh.md +88 -0
- package/kb/extra/persistence-changes/historical-formats/README.md +75 -0
- package/kb/extra/persistence-changes/historical-formats/README.zh.md +75 -0
- package/kb/extra/persistence-changes/historical-formats/v0.md +5105 -0
- package/kb/extra/persistence-changes/historical-formats/v0.zh.md +5105 -0
- package/kb/extra/persistence-changes/historical-formats/v1.md +5107 -0
- package/kb/extra/persistence-changes/historical-formats/v1.zh.md +5107 -0
- package/kb/extra/persistence-changes/historical-formats/v2.md +5362 -0
- package/kb/extra/persistence-changes/historical-formats/v2.zh.md +5362 -0
- package/kb/extra/persistence-changes/historical-formats/v3.md +5634 -0
- package/kb/extra/persistence-changes/historical-formats/v3.zh.md +5634 -0
- package/kb/extra/persistence-changes/releases/README.md +103 -0
- package/kb/extra/persistence-changes/releases/README.zh.md +103 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.1.md +201 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.1.zh.md +201 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.2.md +261 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.2.zh.md +261 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.3.md +126 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.3.zh.md +126 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.4.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.4.zh.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.5.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.5.zh.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.1.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.1.zh.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.2.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.2.zh.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.3.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.3.zh.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.5.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.5.zh.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.6.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.6.zh.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.7.md +82 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.7.zh.md +82 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.8.md +110 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.8.zh.md +110 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.1-rc.1.md +82 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.1-rc.1.zh.md +82 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.1-rc.2.md +119 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.1-rc.2.zh.md +119 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.1.md +295 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.1.zh.md +295 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.2.md +286 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.2.zh.md +286 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.3.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.3.zh.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.4.md +95 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.4.zh.md +95 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.5.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.5.zh.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-rc.1.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.2-rc.1.zh.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.3-alpha.1.md +154 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.3-alpha.1.zh.md +154 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.3-alpha.2.md +86 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.3-alpha.2.zh.md +86 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.5-alpha.1.md +139 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.5-alpha.1.zh.md +139 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.5-alpha.2.md +95 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.5-alpha.2.zh.md +95 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.5-rc.1.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.5-rc.1.zh.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.5-rc.2.md +75 -0
- package/kb/extra/persistence-changes/releases/dsh-v0.1.5-rc.2.zh.md +75 -0
- package/kb/extra/rescope.md +1 -1
- package/kb/extra/rescope.zh.md +1 -1
- package/kb/extra/session-format-status.md +22 -6
- package/kb/extra/session-format-status.zh.md +22 -6
- package/kb/extra/subsystems/agent-team.md +52 -28
- package/kb/extra/subsystems/agent-team.zh.md +52 -28
- package/kb/extra/subsystems/attachment.md +19 -9
- package/kb/extra/subsystems/attachment.zh.md +19 -9
- package/kb/extra/subsystems/boot.md +323 -0
- package/kb/extra/subsystems/boot.zh.md +323 -0
- package/kb/extra/subsystems/browser-use.md +67 -0
- package/kb/extra/subsystems/browser-use.zh.md +67 -0
- package/kb/extra/subsystems/claude-code-mods.md +146 -0
- package/kb/extra/subsystems/claude-code-mods.zh.md +146 -0
- package/kb/extra/subsystems/computer-use.md +56 -0
- package/kb/extra/subsystems/computer-use.zh.md +56 -0
- package/kb/extra/subsystems/deliverables.md +178 -0
- package/kb/extra/subsystems/deliverables.zh.md +178 -0
- package/kb/extra/subsystems/extensions.md +6 -4
- package/kb/extra/subsystems/extensions.zh.md +6 -4
- package/kb/extra/subsystems/feedback.md +4 -4
- package/kb/extra/subsystems/feedback.zh.md +4 -4
- package/kb/extra/subsystems/mcp.md +139 -0
- package/kb/extra/subsystems/mcp.zh.md +139 -0
- package/kb/extra/subsystems/office-to-pdf.md +87 -0
- package/kb/extra/subsystems/office-to-pdf.zh.md +87 -0
- package/kb/extra/subsystems/otel.md +44 -0
- package/kb/extra/subsystems/otel.zh.md +44 -0
- package/kb/extra/subsystems/product-telemetry.md +79 -0
- package/kb/extra/subsystems/product-telemetry.zh.md +79 -0
- package/kb/extra/subsystems/ssh.md +135 -0
- package/kb/extra/subsystems/ssh.zh.md +135 -0
- package/kb/extra/subsystems/todo.md +3 -3
- package/kb/extra/subsystems/todo.zh.md +3 -3
- package/kb/extra/subsystems/voice-input.md +164 -0
- package/kb/extra/subsystems/voice-input.zh.md +164 -0
- package/kb/extra/subsystems/webhook.md +3 -3
- package/kb/extra/subsystems/webhook.zh.md +1 -1
- package/kb/extra/testing.md +3 -3
- package/kb/extra/testing.zh.md +3 -3
- package/kb/extra/ui-radius.md +115 -0
- package/kb/extra/ui-radius.zh.md +115 -0
- package/kb/extra/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.md +22 -0
- package/kb/extra/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.zh.md +22 -0
- package/kb/extra/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.md +25 -0
- package/kb/extra/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.zh.md +25 -0
- package/kb/extra/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.zh.md +18 -0
- package/kb/extra/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.md +23 -0
- package/kb/extra/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.zh.md +23 -0
- package/kb/extra/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.md +22 -0
- package/kb/extra/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.zh.md +22 -0
- package/kb/extra/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.md +27 -0
- package/kb/extra/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.zh.md +27 -0
- package/kb/extra/web-styling.md +12 -3
- package/kb/extra/web-styling.zh.md +12 -3
- package/kb/meta/search-index.json +976 -256
- package/kb/meta/site-pages.txt +188 -188
- package/kb/meta/source.json +6 -6
- package/kb/meta/topics.md +10 -6
- package/kb/site/develop/basic/config.md +1 -0
- package/kb/site/develop/basic/index.md +1 -0
- package/kb/site/develop/basic/publish.md +9 -2
- package/kb/site/develop/basic/tool.md +1 -0
- package/kb/site/develop/cordis-tutorial/01-first-plugin.md +1 -0
- package/kb/site/develop/cordis-tutorial/02-lifecycle-and-effects.md +1 -0
- package/kb/site/develop/cordis-tutorial/03-services.md +1 -0
- package/kb/site/develop/cordis-tutorial/04-events.md +1 -0
- package/kb/site/develop/cordis-tutorial/05-config.md +28 -0
- package/kb/site/develop/cordis-tutorial/06-composition-and-hmr.md +3 -2
- package/kb/site/develop/cordis-tutorial/07-into-the-harness.md +1 -0
- package/kb/site/develop/cordis-tutorial/index.md +1 -0
- package/kb/site/develop/framework/events.md +1 -0
- package/kb/site/develop/framework/index.md +2 -1
- package/kb/site/develop/framework/service.md +1 -0
- package/kb/site/develop/practice/dynamic-cordis.md +9 -8
- package/kb/site/develop/practice/index.md +1 -0
- package/kb/site/develop/practice/llm-adapter.md +2 -1
- package/kb/site/en/develop/basic/config.md +1 -0
- package/kb/site/en/develop/basic/index.md +1 -0
- package/kb/site/en/develop/basic/publish.md +9 -2
- package/kb/site/en/develop/basic/tool.md +1 -0
- package/kb/site/en/develop/cordis-tutorial/01-first-plugin.md +1 -0
- package/kb/site/en/develop/cordis-tutorial/02-lifecycle-and-effects.md +1 -0
- package/kb/site/en/develop/cordis-tutorial/03-services.md +1 -0
- package/kb/site/en/develop/cordis-tutorial/04-events.md +1 -0
- package/kb/site/en/develop/cordis-tutorial/05-config.md +28 -0
- package/kb/site/en/develop/cordis-tutorial/06-composition-and-hmr.md +3 -2
- package/kb/site/en/develop/cordis-tutorial/07-into-the-harness.md +1 -0
- package/kb/site/en/develop/cordis-tutorial/index.md +1 -0
- package/kb/site/en/develop/framework/events.md +1 -0
- package/kb/site/en/develop/framework/index.md +2 -1
- package/kb/site/en/develop/framework/service.md +1 -0
- package/kb/site/en/develop/practice/dynamic-cordis.md +9 -8
- package/kb/site/en/develop/practice/index.md +1 -0
- package/kb/site/en/develop/practice/llm-adapter.md +2 -1
- package/kb/site/en/guide/github-review.md +1 -0
- package/kb/site/en/guide/mcp-memory.md +1 -0
- package/kb/site/en/guide/network-proxy.md +2 -1
- package/kb/site/en/guide/providers-custom-form.png +0 -0
- package/kb/site/en/guide/providers-models-page.png +0 -0
- package/kb/site/en/guide/providers.md +97 -82
- package/kb/site/en/guide/public-deployments.md +36 -0
- package/kb/site/en/guide/python-sdk.md +42 -21
- package/kb/site/en/guide/quickstart.md +2 -0
- package/kb/site/en/guide/schedule.md +70 -11
- package/kb/site/en/reference/agent-lifecycle.md +1 -0
- package/kb/site/en/reference/api-gateway.md +13 -11
- package/kb/site/en/reference/capability-seams.md +177 -59
- package/kb/site/en/reference/config-catalog.md +1758 -821
- package/kb/site/en/reference/cookbook/adding-a-package.md +57 -3
- package/kb/site/en/reference/cookbook/adding-a-settings-card.md +35 -64
- package/kb/site/en/reference/cookbook/adding-a-tool.md +4 -3
- package/kb/site/en/reference/cookbook/adding-an-llm-adapter.md +1 -0
- package/kb/site/en/reference/cookbook/extension-cookbook.md +6 -5
- package/kb/site/en/reference/cordis-api/context.md +1 -0
- package/kb/site/en/reference/cordis-api/events.md +1 -0
- package/kb/site/en/reference/cordis-api/fiber.md +4 -3
- package/kb/site/en/reference/cordis-api/inherited.md +16 -16
- package/kb/site/en/reference/cordis-api/registry.md +1 -0
- package/kb/site/en/reference/cordis-api/service.md +1 -0
- package/kb/site/en/reference/cordis-primer.md +1 -0
- package/kb/site/en/reference/index.md +18 -11
- package/kb/site/en/reference/persistence-catalog.md +7687 -54
- package/kb/site/en/reference/subsystems/approval.md +2 -1
- package/kb/site/en/reference/subsystems/client-modules.md +23 -15
- package/kb/site/en/reference/subsystems/client-resources.md +3 -1
- package/kb/site/en/reference/subsystems/commands.md +6 -1
- package/kb/site/en/reference/subsystems/compaction.md +50 -3
- package/kb/site/en/reference/subsystems/conversation.md +36 -6
- package/kb/site/en/reference/subsystems/core.md +97 -257
- package/kb/site/en/reference/subsystems/credentials.md +169 -5
- package/kb/site/en/reference/subsystems/filesystem.md +11 -0
- package/kb/site/en/reference/subsystems/goal.md +2 -1
- package/kb/site/en/reference/subsystems/index.md +16 -5
- package/kb/site/en/reference/subsystems/jobs.md +337 -127
- package/kb/site/en/reference/subsystems/llm-streaming.md +76 -36
- package/kb/site/en/reference/subsystems/lsp.md +1 -0
- package/kb/site/en/reference/subsystems/permission-presets.md +66 -29
- package/kb/site/en/reference/subsystems/persistence.md +4 -3
- package/kb/site/en/reference/subsystems/plan.md +2 -1
- package/kb/site/en/reference/subsystems/ptc-runtime.md +236 -0
- package/kb/site/en/reference/subsystems/sandbox.md +7 -5
- package/kb/site/en/reference/subsystems/schedule.md +392 -33
- package/kb/site/en/reference/subsystems/scope.md +2 -1
- package/kb/site/en/reference/subsystems/session-projection.md +22 -19
- package/kb/site/en/reference/subsystems/session-query.md +1 -0
- package/kb/site/en/reference/subsystems/session-reference.md +8 -6
- package/kb/site/en/reference/subsystems/session-telemetry.md +7 -4
- package/kb/site/en/reference/subsystems/session-title.md +6 -5
- package/kb/site/en/reference/subsystems/session.md +199 -81
- package/kb/site/en/reference/subsystems/settings.md +43 -292
- package/kb/site/en/reference/subsystems/shell.md +37 -28
- package/kb/site/en/reference/subsystems/sidebar-right.md +23 -12
- package/kb/site/en/reference/subsystems/skills.md +5 -6
- package/kb/site/en/reference/subsystems/slots.md +34 -13
- package/kb/site/en/reference/subsystems/spill.md +4 -3
- package/kb/site/en/reference/subsystems/storage.md +2 -2
- package/kb/site/en/reference/subsystems/subagent.md +50 -64
- package/kb/site/en/reference/subsystems/subprocess.md +17 -18
- package/kb/site/en/reference/subsystems/system-prompt.md +4 -1
- package/kb/site/en/reference/subsystems/terminal.md +1 -0
- package/kb/site/en/reference/subsystems/token-meter.md +1 -0
- package/kb/site/en/reference/subsystems/tools.md +40 -12
- package/kb/site/en/reference/subsystems/typert.md +153 -10
- package/kb/site/en/reference/subsystems/user-questions.md +131 -1
- package/kb/site/en/reference/subsystems/web-client.md +15 -9
- package/kb/site/en/reference/subsystems/web-server.md +74 -1
- package/kb/site/en/reference/subsystems/web.md +1 -0
- package/kb/site/en/reference/subsystems/workflow.md +10 -9
- package/kb/site/en/reference/subsystems/workspace.md +294 -34
- package/kb/site/en/reference/tool-catalog.md +782 -331
- package/kb/site/en/reference/tool-execution-pipeline.md +7 -3
- package/kb/site/guide/github-review.md +1 -0
- package/kb/site/guide/mcp-memory.md +1 -0
- package/kb/site/guide/network-proxy.md +2 -1
- package/kb/site/guide/providers-custom-form.zh.png +0 -0
- package/kb/site/guide/providers-models-page.zh.png +0 -0
- package/kb/site/guide/providers.md +109 -94
- package/kb/site/guide/public-deployments.md +36 -0
- package/kb/site/guide/python-sdk.md +42 -21
- package/kb/site/guide/quickstart.md +2 -0
- package/kb/site/guide/schedule.md +70 -11
- package/kb/site/reference/agent-lifecycle.md +1 -0
- package/kb/site/reference/api-gateway.md +13 -11
- package/kb/site/reference/capability-seams.md +177 -59
- package/kb/site/reference/config-catalog.md +1760 -822
- package/kb/site/reference/cookbook/adding-a-package.md +55 -3
- package/kb/site/reference/cookbook/adding-a-settings-card.md +35 -64
- package/kb/site/reference/cookbook/adding-a-tool.md +4 -3
- package/kb/site/reference/cookbook/adding-an-llm-adapter.md +1 -0
- package/kb/site/reference/cookbook/extension-cookbook.md +6 -5
- package/kb/site/reference/cordis-api/context.md +1 -0
- package/kb/site/reference/cordis-api/events.md +1 -0
- package/kb/site/reference/cordis-api/fiber.md +4 -3
- package/kb/site/reference/cordis-api/inherited.md +16 -16
- package/kb/site/reference/cordis-api/registry.md +1 -0
- package/kb/site/reference/cordis-api/service.md +1 -0
- package/kb/site/reference/cordis-primer.md +1 -0
- package/kb/site/reference/index.md +18 -11
- package/kb/site/reference/persistence-catalog.md +7693 -60
- package/kb/site/reference/subsystems/approval.md +2 -1
- package/kb/site/reference/subsystems/client-modules.md +23 -15
- package/kb/site/reference/subsystems/client-resources.md +3 -1
- package/kb/site/reference/subsystems/commands.md +6 -1
- package/kb/site/reference/subsystems/compaction.md +50 -3
- package/kb/site/reference/subsystems/conversation.md +35 -5
- package/kb/site/reference/subsystems/core.md +97 -257
- package/kb/site/reference/subsystems/credentials.md +169 -5
- package/kb/site/reference/subsystems/filesystem.md +11 -0
- package/kb/site/reference/subsystems/goal.md +2 -1
- package/kb/site/reference/subsystems/index.md +16 -5
- package/kb/site/reference/subsystems/jobs.md +336 -126
- package/kb/site/reference/subsystems/llm-streaming.md +76 -36
- package/kb/site/reference/subsystems/lsp.md +1 -0
- package/kb/site/reference/subsystems/permission-presets.md +66 -29
- package/kb/site/reference/subsystems/persistence.md +4 -3
- package/kb/site/reference/subsystems/plan.md +2 -1
- package/kb/site/reference/subsystems/ptc-runtime.md +236 -0
- package/kb/site/reference/subsystems/sandbox.md +7 -5
- package/kb/site/reference/subsystems/schedule.md +392 -33
- package/kb/site/reference/subsystems/scope.md +2 -1
- package/kb/site/reference/subsystems/session-projection.md +22 -19
- package/kb/site/reference/subsystems/session-query.md +1 -0
- package/kb/site/reference/subsystems/session-reference.md +8 -6
- package/kb/site/reference/subsystems/session-telemetry.md +7 -4
- package/kb/site/reference/subsystems/session-title.md +6 -5
- package/kb/site/reference/subsystems/session.md +199 -81
- package/kb/site/reference/subsystems/settings.md +43 -292
- package/kb/site/reference/subsystems/shell.md +37 -28
- package/kb/site/reference/subsystems/sidebar-right.md +23 -12
- package/kb/site/reference/subsystems/skills.md +5 -6
- package/kb/site/reference/subsystems/slots.md +34 -13
- package/kb/site/reference/subsystems/spill.md +3 -2
- package/kb/site/reference/subsystems/storage.md +2 -2
- package/kb/site/reference/subsystems/subagent.md +49 -63
- package/kb/site/reference/subsystems/subprocess.md +17 -18
- package/kb/site/reference/subsystems/system-prompt.md +4 -1
- package/kb/site/reference/subsystems/terminal.md +1 -0
- package/kb/site/reference/subsystems/token-meter.md +1 -0
- package/kb/site/reference/subsystems/tools.md +40 -12
- package/kb/site/reference/subsystems/typert.md +153 -10
- package/kb/site/reference/subsystems/user-questions.md +132 -2
- package/kb/site/reference/subsystems/web-client.md +15 -9
- package/kb/site/reference/subsystems/web-server.md +74 -1
- package/kb/site/reference/subsystems/web.md +1 -0
- package/kb/site/reference/subsystems/workflow.md +10 -9
- package/kb/site/reference/subsystems/workspace.md +294 -34
- package/kb/site/reference/tool-catalog.md +784 -333
- package/kb/site/reference/tool-execution-pipeline.md +7 -3
- package/package.json +2 -2
- package/skills/dsh-plugin-dev-kb.md +5 -4
- package/kb/site/en/reference/subsystems/code-runtime.md +0 -198
- package/kb/site/en/reference/subsystems/invariants.md +0 -91
- package/kb/site/reference/subsystems/code-runtime.md +0 -198
- package/kb/site/reference/subsystems/invariants.md +0 -91
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
editSource: "docs/subsystems/core.md"
|
|
3
|
+
rawMarkdownPath: "en/reference/subsystems/core.md"
|
|
3
4
|
outline: [2,3]
|
|
4
5
|
---
|
|
5
6
|
|
|
@@ -109,7 +110,7 @@ interface Agent {
|
|
|
109
110
|
* turn and runs when the aborted activity converges to idle; a `disposed`
|
|
110
111
|
* cancel leaves it parked. A wake submitted while already idle always opens
|
|
111
112
|
* its turn boundary, even when its message is cleared before the driver
|
|
112
|
-
* claims ([
|
|
113
|
+
* claims ([driver wake convergence](../../agent-loop/src/agent.ts)).
|
|
113
114
|
* @param message - identified content and the source that supplied it.
|
|
114
115
|
* @param target - the preferred next-turn or next-step inbox boundary.
|
|
115
116
|
* @param wakeup - whether delivery may wake the driver.
|
|
@@ -275,7 +276,7 @@ interface Inbox {
|
|
|
275
276
|
type InboxTarget = 'next-turn' | 'next-step'
|
|
276
277
|
```
|
|
277
278
|
|
|
278
|
-
Every pending occurrence is its `UserMessage`; `MessageId` is the sole identity. The structural `Inbox` methods record normalized durable `agent/inbox/spliced` mutations and reject duplicate pending ids. `replace(messageId, newMessage)` and `remove(messageId)` locate the pending message across both lists; replacement may change identity and emits the old message as discarded followed by the new message as inserted. Ordinary removals and `clear()` are cancellations. At a step boundary, dsh-agent-loop's package-internal `ReactLoopInbox` removes the proposed batch — all `next-step` input plus, at a turn boundary, one `next-turn` message — through pure deletion splices without discarded notifications, then emits per-message claimed notifications. Loop-only pending detection and claiming are not part of `Agent.inbox`.
|
|
279
|
+
Every pending occurrence is its `UserMessage`; `MessageId` is the sole identity. The structural `Inbox` methods record normalized durable `agent/inbox/spliced` mutations and reject duplicate pending ids. `replace(messageId, newMessage)` and `remove(messageId)` locate the pending message across both lists; replacement may change identity and emits the old message as discarded followed by the new message as inserted. Ordinary removals and `clear()` are cancellations. At a step boundary, dsh-agent-loop's package-internal `ReactLoopInbox` removes the proposed batch — all `next-step` input plus, at a turn boundary, one `next-turn` message — through pure deletion splices without discarded notifications, then emits per-message claimed notifications. Loop-only pending detection and claiming are not part of `Agent.inbox`. The `AgentLoop` service registers the standard `inbox` projection before publishing its factory; its cell is the sole live state, and the same fold serves cold consumers even when no Agent exists. The fold rejects unsafe or out-of-range splice coordinates and duplicate identities across both lists, identifying malformed durable history by event seq. Consumers following one message use the exact `agent/inbox/inserted`, `claimed`, and `discarded` notifications.
|
|
279
280
|
|
|
280
281
|
Cancellation:
|
|
281
282
|
|
|
@@ -300,7 +301,7 @@ type AgentCancelCause =
|
|
|
300
301
|
| { readonly kind: 'disposed' }
|
|
301
302
|
```
|
|
302
303
|
|
|
303
|
-
The cause is a TypeScript-enforced same-process input. An active cancellation holder
|
|
304
|
+
The cause is a TypeScript-enforced same-process input. An active cancellation holder exposes that same object as the runtime-only `AbortSignal.reason`; a signal grants cooperating listeners no classification authority. Durable `turn/end` records the outcome as `{ kind: 'aborted', reason: TurnEndCancelCause }`, so the cancel cause lands in the terminal result.
|
|
304
305
|
|
|
305
306
|
The [event taxonomy](../index.md#events) owns the `agent/*` lifecycle, checkpoint, and waterfall contracts. Turn and step boundaries are durable session events rather than agent emits.
|
|
306
307
|
|
|
@@ -339,7 +340,7 @@ type RequestErrorAction = { kind: 'retry' } | undefined
|
|
|
339
340
|
|
|
340
341
|
`agent/pre-step` is the only waterfall listener chain before request derivation. `agent/turn-stopping` runs when a turn has no tool or steering continuation, before one final steering drain.
|
|
341
342
|
|
|
342
|
-
`agent/
|
|
343
|
+
`agent/created` carries a `SessionStartSource` (why the session lifecycle began; a bridge keys its SessionStart matcher on it):
|
|
343
344
|
|
|
344
345
|
```ts type-equiv
|
|
345
346
|
/** Why a session lifecycle began; seeded creates are `startup`, while persisted loads are `resume`. */
|
|
@@ -424,7 +425,7 @@ Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnp
|
|
|
424
425
|
|
|
425
426
|
### `ctx.agentDefaultModel` — `AgentDefaultModelConfig`
|
|
426
427
|
|
|
427
|
-
Owns the default model selection independently of any Host or transport.
|
|
428
|
+
Owns the default model selection independently of any Host or transport. Each operation reads the owning Config references.
|
|
428
429
|
|
|
429
430
|
```ts cordis-catalog
|
|
430
431
|
/**
|
|
@@ -434,10 +435,11 @@ Owns the default model selection independently of any Host or transport. The com
|
|
|
434
435
|
currentSelection(): ModelSelection
|
|
435
436
|
|
|
436
437
|
/**
|
|
437
|
-
* Save the complete default model selection. A deployment without a
|
|
438
|
-
*
|
|
438
|
+
* Save the complete default model selection. A deployment without a configuration
|
|
439
|
+
* editor keeps its composition entry. Saves commit in submission order; a failed
|
|
440
|
+
* save rejects its caller without blocking later saves.
|
|
439
441
|
* @param next - resolved selection accepted by an entry point.
|
|
440
|
-
* @returns fulfillment after the optional
|
|
442
|
+
* @returns fulfillment after the optional profile write settles.
|
|
441
443
|
*/
|
|
442
444
|
async saveSelection(next: ModelSelection): Promise<void>
|
|
443
445
|
```
|
|
@@ -484,247 +486,103 @@ Types: [SessionHeader](./persistence.md)
|
|
|
484
486
|
|
|
485
487
|
Source: [`packages/core/agent-loop/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/agent-loop/src/index.ts)
|
|
486
488
|
|
|
487
|
-
<a id="ctxagentpresets--
|
|
489
|
+
<a id="ctxagentpresets--agentpresetregistry"></a>
|
|
488
490
|
|
|
489
|
-
### `ctx.agentPresets` — `
|
|
491
|
+
### `ctx.agentPresets` — `AgentPresetRegistry`
|
|
490
492
|
|
|
491
|
-
Registry
|
|
492
|
-
|
|
493
|
-
Discovery is unmemoized: `list()` and `resolve()` re-read the roots on every call so a preset authored while the process runs is visible immediately, and a preset deleted underneath a picker disappears from the next read.
|
|
493
|
+
Registry of YAML-declared presets and the revisions live Agents retain.
|
|
494
494
|
|
|
495
495
|
```ts cordis-catalog
|
|
496
|
-
/**
|
|
497
|
-
*
|
|
498
|
-
* @returns the
|
|
496
|
+
/** Register and eagerly load a definition; activation failure remains visible in the roster.
|
|
497
|
+
* @param definition Parsed configuration supplied by the declaring plugin.
|
|
498
|
+
* @returns Definition disposer after activation or its diagnostic settles; the declaring plugin owns it.
|
|
499
499
|
*/
|
|
500
|
-
async
|
|
500
|
+
async register(definition: PresetDefinition): Promise<() => Promise<void>>
|
|
501
501
|
|
|
502
|
-
/**
|
|
503
|
-
*
|
|
504
|
-
*
|
|
505
|
-
*
|
|
506
|
-
* Whether a client can open a preset's directory is the Host's own opener
|
|
507
|
-
* capability, not a roster property — a caller needing both joins them.
|
|
508
|
-
* @returns the rows and the authoring capability.
|
|
502
|
+
/** Inspect retained revisions, or the exact revision an Agent joined.
|
|
503
|
+
* @param ctx - optional Agent context; omission includes all retained revisions.
|
|
504
|
+
* @returns detached module references and isolation diagnostics; no match returns an empty list.
|
|
509
505
|
*/
|
|
510
|
-
|
|
506
|
+
inspectCompositions(ctx?: Context): AgentPresetInspection[]
|
|
511
507
|
|
|
512
|
-
/**
|
|
513
|
-
*
|
|
514
|
-
* surfaces beside the roster's own picker.
|
|
515
|
-
*
|
|
516
|
-
* A preset with a live standing mount answers from its newest generation's
|
|
517
|
-
* Loader entries — the composition new sessions join — even when the file
|
|
518
|
-
* behind it has since been edited into an unreadable state: the mount is
|
|
519
|
-
* what sessions actually run, so the broken verdict only applies to a
|
|
520
|
-
* preset nothing composed. One never composed since boot answers from its
|
|
521
|
-
* file, with `!!js` disabled gates evaluated against the Loader context so
|
|
522
|
-
* both answers reflect the same host. Reading never mounts: an unmounted
|
|
523
|
-
* preset is parsed, not composed, so listing a preset's plugins cannot
|
|
524
|
-
* activate them early. A composition that stopped reading between
|
|
525
|
-
* discovery's health verdict and this read is reported broken with the
|
|
526
|
-
* raced reason rather than dropped.
|
|
527
|
-
* @returns one composition per roster preset, in roster order.
|
|
528
|
-
*/
|
|
529
|
-
async compositionInventory(): Promise<AgentPresetComposition[]>
|
|
530
|
-
|
|
531
|
-
/**
|
|
532
|
-
* Resolve one preset by id.
|
|
533
|
-
*
|
|
534
|
-
* A broken preset resolves — deleting one, reading one, and reporting one
|
|
535
|
-
* all need the row — and the mounting paths refuse it AFTER resolution
|
|
536
|
-
* through {@link resolveMountable}.
|
|
537
|
-
* @param id - the preset id, or `undefined` for {@link defaultId}.
|
|
538
|
-
* @returns the resolved preset.
|
|
539
|
-
* @throws when no configured root supplies that id.
|
|
540
|
-
*/
|
|
541
|
-
async resolve(id?: string): Promise<AgentPreset>
|
|
542
|
-
|
|
543
|
-
/**
|
|
544
|
-
* Compose one agent from a preset: ensure the preset's standing mount, then
|
|
545
|
-
* parent the agent's scope key to it so the mount's registrations and
|
|
546
|
-
* listeners cover this agent.
|
|
547
|
-
*
|
|
548
|
-
* Call from the agent factory's `setup(agentCtx)`; a rejection there rolls
|
|
549
|
-
* the agent creation back, so a broken preset never yields a half-composed
|
|
550
|
-
* session.
|
|
551
|
-
* @param agentCtx - the agent's scope context.
|
|
552
|
-
* @param id - the preset id, or `undefined` for {@link defaultId}.
|
|
553
|
-
* @returns the preset that was composed, for the caller to record.
|
|
554
|
-
* @throws when the preset is unknown or its composition is unusable.
|
|
508
|
+
/** Read every declared preset, including activation failures.
|
|
509
|
+
* @returns Display metadata and loading diagnostics.
|
|
555
510
|
*/
|
|
556
|
-
async
|
|
511
|
+
async list(): Promise<AgentPreset[]>
|
|
557
512
|
|
|
558
|
-
/**
|
|
559
|
-
*
|
|
560
|
-
*
|
|
561
|
-
* This is how a child agent inherits its parent's capabilities. It is a bind,
|
|
562
|
-
* not a mount: the parent's generation is already composed, so the child gets
|
|
563
|
-
* that exact instance — the same plugin objects, the same tool registrations,
|
|
564
|
-
* the same prompt sections. Re-resolving the parent's preset by id instead
|
|
565
|
-
* would re-read the roster, and a composition file edited since the parent
|
|
566
|
-
* started would hand the child a DIFFERENT generation than the one its
|
|
567
|
-
* parent's history was produced under (and a preset deleted since would fail
|
|
568
|
-
* the child outright while its parent keeps running).
|
|
569
|
-
*
|
|
570
|
-
* Synchronous, and with no composition failure mode of its own — it reads no
|
|
571
|
-
* roster, mounts nothing, and touches no file — which is what lets a child
|
|
572
|
-
* creation window use it: the two in-process subagent drivers compose their
|
|
573
|
-
* children inside a synchronous `setup`. It still rejects a caller error, as
|
|
574
|
-
* the `@throws` below record.
|
|
575
|
-
*
|
|
576
|
-
* A parent that joined no preset — a rosterless deployment — yields no join
|
|
577
|
-
* and no error: there, the model-facing rows sit in the host composition and
|
|
578
|
-
* the child already sees them through the global layer.
|
|
579
|
-
* @param agentCtx - the joining agent's scope context.
|
|
580
|
-
* @param parentCtx - the scope context of the agent whose composition to join.
|
|
581
|
-
* @returns the preset id joined, or undefined when the parent joined none.
|
|
582
|
-
* @throws when `agentCtx` carries no scope, or has already joined a preset.
|
|
513
|
+
/** Read the selection roster.
|
|
514
|
+
* @returns Current presets, each marked when it is the default.
|
|
583
515
|
*/
|
|
584
|
-
|
|
516
|
+
@Remote('list') async remoteExportList(): Promise<AgentPresetRoster>
|
|
585
517
|
|
|
586
|
-
/**
|
|
587
|
-
*
|
|
588
|
-
*
|
|
589
|
-
* Read from the live scope chain rather than from the session, so it answers
|
|
590
|
-
* for an agent whose session has not recorded a preset yet — a child agent
|
|
591
|
-
* whose durable header is being built from its parent's composition.
|
|
592
|
-
* @param agentCtx - the agent's scope context.
|
|
593
|
-
* @returns the preset id, or undefined when the agent joined none.
|
|
518
|
+
/** Resolve an identity without starting an Agent.
|
|
519
|
+
* @param id Explicit preset or the current default.
|
|
520
|
+
* @returns Current metadata, including failure when activation failed.
|
|
594
521
|
*/
|
|
595
|
-
|
|
522
|
+
async resolve(id?: string): Promise<AgentPreset>
|
|
596
523
|
|
|
597
|
-
/**
|
|
598
|
-
*
|
|
599
|
-
* @
|
|
600
|
-
* @returns the composition exactly as stored.
|
|
601
|
-
* @throws when no configured root supplies that id.
|
|
524
|
+
/** Read one declaration's child plugin list as YAML, for viewing only.
|
|
525
|
+
* @param agentPreset Preset identity.
|
|
526
|
+
* @returns The declared composition beside its published metadata.
|
|
602
527
|
*/
|
|
603
|
-
|
|
528
|
+
@Remote('read') readDocument(agentPreset: string): Promise<AgentPresetDocument>
|
|
604
529
|
|
|
605
|
-
/**
|
|
606
|
-
*
|
|
607
|
-
* @param
|
|
608
|
-
* @returns
|
|
609
|
-
* @throws {RemoteError} `gateway/bad-request` for an empty id, or
|
|
610
|
-
* `agent-preset/not-found` when no configured root supplies it.
|
|
530
|
+
/** Bind an unpublished Agent to the current preset revision.
|
|
531
|
+
* @param ctx Agent context from its setup callback.
|
|
532
|
+
* @param id Requested preset, or the default.
|
|
533
|
+
* @returns Bound preset identity.
|
|
611
534
|
*/
|
|
612
|
-
|
|
535
|
+
async mount(ctx: Context, id?: string): Promise<AgentPreset>
|
|
613
536
|
|
|
614
|
-
/**
|
|
615
|
-
*
|
|
616
|
-
*
|
|
617
|
-
*
|
|
618
|
-
* seam: the source is named by id and its directory is copied as it stands,
|
|
619
|
-
* so the copy is exactly as loadable as its source and authoring grants no
|
|
620
|
-
* capability the roster did not already carry. The copy is NOT mounted to
|
|
621
|
-
* validate — a source that mounts today yields a copy that mounts today.
|
|
622
|
-
* @param from - the preset the copy starts from; shipped presets are the
|
|
623
|
-
* primary source, so any trust is accepted.
|
|
624
|
-
* @param id - the new preset's id, which becomes its directory name.
|
|
625
|
-
* @param name - display name for the copy; absent falls back to the id.
|
|
626
|
-
* @throws when the source is unknown, the id is unusable or already taken,
|
|
627
|
-
* or the deployment configures no writable root.
|
|
537
|
+
/** Join a child to the exact revision retained by its parent.
|
|
538
|
+
* @param ctx Child Agent context.
|
|
539
|
+
* @param parent Parent Agent context.
|
|
540
|
+
* @returns Inherited preset id, or undefined in a preset-free composition.
|
|
628
541
|
*/
|
|
629
|
-
|
|
542
|
+
composeFrom(ctx: Context, parent: Context): string | undefined
|
|
630
543
|
|
|
631
|
-
/**
|
|
632
|
-
*
|
|
633
|
-
* @
|
|
634
|
-
* @param id - the new preset id.
|
|
635
|
-
* @param name - the copy's optional display name.
|
|
636
|
-
* @returns once the copy is stored.
|
|
637
|
-
* @throws {RemoteError} with the corresponding stable preset code and
|
|
638
|
-
* details when the copy is refused.
|
|
544
|
+
/** Read the preset a live Agent uses.
|
|
545
|
+
* @param ctx Agent context.
|
|
546
|
+
* @returns Its preset id, if bound.
|
|
639
547
|
*/
|
|
640
|
-
|
|
548
|
+
composedPreset(ctx: Context): string | undefined
|
|
641
549
|
|
|
642
|
-
/**
|
|
643
|
-
*
|
|
644
|
-
*
|
|
645
|
-
* @
|
|
646
|
-
* @throws when the preset is unknown or ships with the deployment.
|
|
647
|
-
*/
|
|
648
|
-
async remove(id: string): Promise<void>
|
|
649
|
-
|
|
650
|
-
/**
|
|
651
|
-
* Delete one preset through the Remote API.
|
|
652
|
-
* @param id - the preset id.
|
|
653
|
-
* @returns once the preset is deleted.
|
|
654
|
-
* @throws {RemoteError} with the corresponding stable preset code and
|
|
655
|
-
* details when deletion is refused.
|
|
656
|
-
*/
|
|
657
|
-
@Remote('deletePreset') async remoteExportDelete(id: string): Promise<void>
|
|
658
|
-
|
|
659
|
-
/**
|
|
660
|
-
* One agent's instance of a service its preset mounted.
|
|
661
|
-
*
|
|
662
|
-
* A preset publishes services behind `isolate` realms, which are invisible
|
|
663
|
-
* outside the group that declares them — including to the host. This is how a
|
|
664
|
-
* caller holding the agent reads one anyway: a request that is ABOUT a
|
|
665
|
-
* session but arrives from outside it, which is every browser RPC.
|
|
666
|
-
*
|
|
667
|
-
* Read addressing only. A host row that `inject`s a service cannot use this,
|
|
668
|
-
* because injection resolves before any session exists and has no agent to
|
|
669
|
-
* key by; such a service belongs on the host plane instead.
|
|
670
|
-
* @param agent - the agent whose composition to look inside.
|
|
671
|
-
* @param name - the service name as the preset's rows resolve it.
|
|
672
|
-
* @returns the agent's instance, or undefined when its preset mounts none.
|
|
550
|
+
/** Read a service supplied inside an Agent's isolated preset group.
|
|
551
|
+
* @param agent Agent whose composition is queried.
|
|
552
|
+
* @param name Cordis service name.
|
|
553
|
+
* @returns The service, or undefined.
|
|
673
554
|
*/
|
|
674
555
|
serviceFor<K extends string & keyof Context>(agent: { ctx: Context }, name: K): Context[K] | undefined
|
|
675
556
|
|
|
676
|
-
/**
|
|
677
|
-
*
|
|
678
|
-
*
|
|
679
|
-
*
|
|
680
|
-
* conversation would leave logged tool calls the new composition cannot
|
|
681
|
-
* make. The CALLER owns that check — this method does not read session
|
|
682
|
-
* history.
|
|
683
|
-
*
|
|
684
|
-
* The swap is a parent re-link, not an unmount: standing mounts are shared
|
|
685
|
-
* and permanent, so the old composition stays for its other agents and the
|
|
686
|
-
* new one is ensured BEFORE the link moves. An unknown or unusable preset
|
|
687
|
-
* therefore throws with the agent exactly as it was — there is no torn-down
|
|
688
|
-
* state to restore. The re-link runs through the binding this roster kept
|
|
689
|
-
* from the agent's mount — dsh-scope's only re-link authority. An agent
|
|
690
|
-
* that never composed one has nothing to re-link: the switch is then the
|
|
691
|
-
* agent's first bind, exactly a mount. A committed re-link emits
|
|
692
|
-
* `tools/change` because changing the parent scope changes the Agent's
|
|
693
|
-
* resolved tool set without adding or removing registry entries.
|
|
694
|
-
* @param agentCtx - the agent's scope context.
|
|
695
|
-
* @param id - the preset to compose the agent from instead.
|
|
696
|
-
* @returns the preset now installed.
|
|
697
|
-
* @throws when the preset is unknown or its composition is unusable.
|
|
557
|
+
/** Rebind a blank Agent; the caller owns the blank-session check.
|
|
558
|
+
* @param ctx Agent context.
|
|
559
|
+
* @param id Requested preset.
|
|
560
|
+
* @returns The bound identity.
|
|
698
561
|
*/
|
|
699
|
-
async recompose(
|
|
562
|
+
async recompose(ctx: Context, id: string): Promise<AgentPreset>
|
|
700
563
|
|
|
701
|
-
/**
|
|
702
|
-
*
|
|
703
|
-
* @param
|
|
704
|
-
* @
|
|
705
|
-
* @returns the preset id that was recorded.
|
|
706
|
-
* @throws {RemoteError} with `gateway/bad-request`, `agent-preset/locked`,
|
|
707
|
-
* `agent-preset/not-found`, or `agent-preset/invalid` when refused.
|
|
564
|
+
/** Select a preset before a session starts its first turn.
|
|
565
|
+
* @param agent Target Agent.
|
|
566
|
+
* @param agentPreset Requested identity.
|
|
567
|
+
* @returns Committed preset identity.
|
|
708
568
|
*/
|
|
709
569
|
@Remote('select') async select(agent: Agent, agentPreset: string): Promise<string>
|
|
710
570
|
|
|
711
|
-
/**
|
|
712
|
-
*
|
|
713
|
-
*
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
* @
|
|
719
|
-
* @returns the standing scope key readers pass as a registry view scope.
|
|
720
|
-
* @throws when the preset is unknown or its composition is unusable.
|
|
571
|
+
/** Read current registrations for cold transcript presentation.
|
|
572
|
+
* @param id Preset identity or the default.
|
|
573
|
+
* @returns A revision lease; dispose it after the scoped read completes.
|
|
574
|
+
*/
|
|
575
|
+
async acquireScope(id?: string): Promise<{ key: ScopeKey } & AsyncDisposable>
|
|
576
|
+
|
|
577
|
+
/** Read plugin rows without creating an Agent.
|
|
578
|
+
* @returns Current declaration metadata and activation states.
|
|
721
579
|
*/
|
|
722
|
-
|
|
580
|
+
compositionInventory(): Promise<AgentPresetComposition[]>
|
|
723
581
|
```
|
|
724
582
|
|
|
725
583
|
Types: [ScopeKey](./scope.md)
|
|
726
584
|
|
|
727
|
-
Source: [`packages/preset/agent-
|
|
585
|
+
Source: [`packages/preset/agent-preset-registry/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/preset/agent-preset-registry/src/index.ts)
|
|
728
586
|
|
|
729
587
|
<a id="ctxagents--agentregistry"></a>
|
|
730
588
|
|
|
@@ -820,16 +678,16 @@ async create(options: CreateAgentOptions): Promise<AgentHandle>
|
|
|
820
678
|
async resume(options: ResumeAgentOptions): Promise<AgentHandle>
|
|
821
679
|
|
|
822
680
|
/**
|
|
823
|
-
* Register a live agent
|
|
824
|
-
*
|
|
681
|
+
* Register a live agent with source `startup`. Rejects if the id is already registered or a
|
|
682
|
+
* serial `agent/created` listener fails. Emits `agent/disposed`
|
|
825
683
|
* when the calling fiber is disposed — both with the agent's scope carrier
|
|
826
684
|
* (`scopeTarget(agent, agent)`): the subject is the agent in hand, so the
|
|
827
685
|
* emits are scope-filtered regardless of which context invoked `register`
|
|
828
686
|
* (calling through `agent.ctx` scopes EFFECTS; dispatch scoping always
|
|
829
687
|
* requires passing the carrier). The entry is a runtime root; factory-backed
|
|
830
|
-
* creation uses `options.parentAgent` for child ownership.
|
|
688
|
+
* creation uses `options.parentAgent` for child ownership. Await the registration before using the agent.
|
|
831
689
|
* @param agent - the already-constructed agent to record in the store.
|
|
832
|
-
* @returns the
|
|
690
|
+
* @returns the awaitable Cordis effect disposer (single-shot; a repeat call
|
|
833
691
|
* returns undefined without awaiting an in-flight teardown). Exact
|
|
834
692
|
* identity is load-bearing: a composite (generator) effect that owns a
|
|
835
693
|
* teardown ORDER — the agent factory's lifecycle chain — must yield THIS
|
|
@@ -838,7 +696,7 @@ async resume(options: ResumeAgentOptions): Promise<AgentHandle>
|
|
|
838
696
|
* owner unload, unregistering the agent (and emitting `agent/disposed`)
|
|
839
697
|
* while its final turn is still draining.
|
|
840
698
|
*/
|
|
841
|
-
register(agent: Agent):
|
|
699
|
+
register(agent: Agent): ReturnType<Context['effect']>
|
|
842
700
|
|
|
843
701
|
/**
|
|
844
702
|
* Insert an already-constructed agent without announcing it. This is the
|
|
@@ -852,19 +710,22 @@ register(agent: Agent): () => void
|
|
|
852
710
|
* the resumed session's durable parent lineage.
|
|
853
711
|
* @returns an idempotent closure that removes this exact entry and emits
|
|
854
712
|
* `agent/disposed` with listener failures contained. When called from a
|
|
855
|
-
*
|
|
856
|
-
*
|
|
713
|
+
* `agent/created` listener, removal and disposal wait until the serial
|
|
714
|
+
* creation dispatch settles.
|
|
857
715
|
*/
|
|
858
716
|
enter(agent: Agent, owner: Agent | undefined): () => void
|
|
859
717
|
|
|
860
718
|
/**
|
|
861
719
|
* Announce an agent previously inserted with {@link enter}.
|
|
862
720
|
* @param agent - the live inserted agent to announce.
|
|
721
|
+
* @param source - fresh creation, resume, clear, or compaction source.
|
|
722
|
+
* @param signal - optional factory initialization cancellation signal passed to listeners.
|
|
723
|
+
* @returns completion of the serial creation listeners; a listener failure rejects.
|
|
863
724
|
* @throws if `agent` is not the exact live registry entry for its id, or its
|
|
864
725
|
* creation announcement already began (including a reentrant call from a
|
|
865
726
|
* creation listener).
|
|
866
727
|
*/
|
|
867
|
-
announce(agent: Agent): void
|
|
728
|
+
async announce(agent: Agent, source: SessionStartSource, signal?: AbortSignal): Promise<void>
|
|
868
729
|
|
|
869
730
|
/**
|
|
870
731
|
* Look up a live agent.
|
|
@@ -927,24 +788,27 @@ Types: [Scoped](./scope.md)
|
|
|
927
788
|
|
|
928
789
|
Source: [`packages/core/agent/src/runtime-types.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/agent/src/runtime-types.ts)
|
|
929
790
|
|
|
930
|
-
<a id="agentcreated--
|
|
791
|
+
<a id="agentcreated--serial"></a>
|
|
931
792
|
|
|
932
|
-
#### `agent/created` —
|
|
793
|
+
#### `agent/created` — serial
|
|
933
794
|
|
|
934
|
-
|
|
795
|
+
An entered agent is ready for per-agent initialization after factory setup. Listeners run in order and are awaited before creation resolves. AgentLoop holds queued input until all listeners finish. A throw or rejection fails creation and skips later listeners. Disposal retains the scope and session until dispatch settles; listeners must not await agent.whenIdle() or their own owner's disposal.
|
|
935
796
|
|
|
936
797
|
```ts cordis-catalog
|
|
937
798
|
/**
|
|
938
|
-
*
|
|
939
|
-
*
|
|
940
|
-
*
|
|
941
|
-
*
|
|
942
|
-
*
|
|
799
|
+
* An entered agent is ready for per-agent initialization after factory setup.
|
|
800
|
+
* Listeners run in order and are awaited before creation resolves. AgentLoop
|
|
801
|
+
* holds queued input until all listeners finish. A throw or rejection fails
|
|
802
|
+
* creation and skips later listeners. Disposal retains the scope and session
|
|
803
|
+
* until dispatch settles; listeners must not await agent.whenIdle() or their
|
|
804
|
+
* own owner's disposal.
|
|
943
805
|
* @param payload.agent - the newly registered agent with its live session and completed setup.
|
|
806
|
+
* @param payload.source - fresh creation, resume, clear, or compaction source.
|
|
807
|
+
* @param payload.signal - factory initialization cancellation signal, when provided.
|
|
944
808
|
* Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only that agent.
|
|
945
|
-
* @mode
|
|
809
|
+
* @mode serial
|
|
946
810
|
*/
|
|
947
|
-
'agent/created'(this: Scoped<Agent>, payload: { agent: Agent }):
|
|
811
|
+
'agent/created'(this: Scoped<Agent>, payload: { agent: Agent; source: SessionStartSource; signal?: AbortSignal }): undefined | Promise<undefined>
|
|
948
812
|
```
|
|
949
813
|
|
|
950
814
|
Types: [Scoped](./scope.md)
|
|
@@ -1147,30 +1011,6 @@ Types: [LlmFailure](./llm-streaming.md) · [ResolvedRetryPolicy](./llm-streaming
|
|
|
1147
1011
|
|
|
1148
1012
|
Source: [`packages/core/agent/src/runtime-types.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/agent/src/runtime-types.ts)
|
|
1149
1013
|
|
|
1150
|
-
<a id="agentsession-start--emit"></a>
|
|
1151
|
-
|
|
1152
|
-
#### `agent/session-start` — emit
|
|
1153
|
-
|
|
1154
|
-
The session lifecycle began, once before the first turn. Use `agent.inject()` to seed model-facing context. This is a notification, not a veto; disposal requested by a lifecycle owner is rechecked before the driver starts.
|
|
1155
|
-
|
|
1156
|
-
```ts cordis-catalog
|
|
1157
|
-
/**
|
|
1158
|
-
* The session lifecycle began, once before the first turn. Use
|
|
1159
|
-
* `agent.inject()` to seed model-facing context. This is a notification, not
|
|
1160
|
-
* a veto; disposal requested by a lifecycle owner is rechecked before the
|
|
1161
|
-
* driver starts.
|
|
1162
|
-
* @param payload.agent - the agent whose session lifecycle began.
|
|
1163
|
-
* @param payload.source - why the session started (fresh startup, resume, …).
|
|
1164
|
-
* Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only that agent.
|
|
1165
|
-
* @mode emit
|
|
1166
|
-
*/
|
|
1167
|
-
'agent/session-start'(this: Scoped<Agent>, payload: { agent: Agent; source: SessionStartSource }): void
|
|
1168
|
-
```
|
|
1169
|
-
|
|
1170
|
-
Types: [Scoped](./scope.md)
|
|
1171
|
-
|
|
1172
|
-
Source: [`packages/core/agent/src/runtime-types.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/agent/src/runtime-types.ts)
|
|
1173
|
-
|
|
1174
1014
|
<a id="agentstatus--emit"></a>
|
|
1175
1015
|
|
|
1176
1016
|
#### `agent/status` — emit
|
|
@@ -1271,5 +1111,5 @@ One session committed a different agent preset to its durable log. Consumers inv
|
|
|
1271
1111
|
'agent-preset/selected'(sessionId: SessionId, agentPreset: string): void
|
|
1272
1112
|
```
|
|
1273
1113
|
|
|
1274
|
-
Source: [`packages/preset/agent-
|
|
1114
|
+
Source: [`packages/preset/agent-preset-registry/src/types.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/preset/agent-preset-registry/src/types.ts)
|
|
1275
1115
|
<!-- END GENERATED cordis-surface -->
|