dsh-plugin-guide 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.es.md +1 -1
- package/README.hi.md +1 -1
- package/README.md +1 -1
- package/README.pt.md +1 -1
- package/README.zh.md +1 -1
- package/SKILL.md +1 -1
- package/dist/dsh-plugin-dev.js +5 -5
- package/guide/links.md +1 -1
- package/guide/plugin-dev-guide.md +1 -1
- package/guide/quick-reference.es.md +2 -2
- package/guide/quick-reference.hi.md +1 -1
- package/guide/quick-reference.md +2 -2
- package/guide/quick-reference.pt.md +2 -2
- package/guide/quick-reference.zh-CN.md +2 -2
- package/package.json +3 -3
- package/references/cordis-paper-and-community.md +1 -1
- package/references/official-docs/AGENTS.md +27 -22
- package/references/official-docs/README.i18n.yaml +2 -2
- package/references/official-docs/README.md +1 -1
- package/references/official-docs/README.zh.md +19 -9
- package/references/official-docs/SNAPSHOT.md +5 -5
- package/references/official-docs/THIRD_PARTY_NOTICES.md +36 -13
- package/references/official-docs/docs/AGENTS.md +4 -4
- package/references/official-docs/docs/agent-lifecycle.i18n.yaml +2 -2
- package/references/official-docs/docs/agent-lifecycle.md +1 -1
- package/references/official-docs/docs/agent-lifecycle.zh.md +2 -2
- package/references/official-docs/docs/api-gateway.i18n.yaml +2 -2
- package/references/official-docs/docs/api-gateway.md +8 -8
- package/references/official-docs/docs/api-gateway.zh.md +8 -8
- package/references/official-docs/docs/architecture.i18n.yaml +2 -2
- package/references/official-docs/docs/architecture.md +23 -7
- package/references/official-docs/docs/architecture.zh.md +36 -20
- package/references/official-docs/docs/capability-seams.i18n.yaml +2 -2
- package/references/official-docs/docs/capability-seams.md +132 -67
- package/references/official-docs/docs/capability-seams.zh.md +132 -67
- package/references/official-docs/docs/config-catalog.i18n.yaml +2 -2
- package/references/official-docs/docs/config-catalog.md +659 -373
- package/references/official-docs/docs/config-catalog.zh.md +677 -391
- package/references/official-docs/docs/cookbook/adding-a-package.i18n.yaml +2 -2
- package/references/official-docs/docs/cookbook/adding-a-package.md +2 -3
- package/references/official-docs/docs/cookbook/adding-a-package.zh.md +8 -7
- package/references/official-docs/docs/cookbook/{adding-a-conversation-node.i18n.yaml → adding-a-remote-api.i18n.yaml} +3 -3
- package/references/official-docs/docs/cookbook/adding-a-remote-api.md +197 -0
- package/references/official-docs/docs/cookbook/adding-a-remote-api.zh.md +197 -0
- package/references/official-docs/docs/cookbook/adding-a-settings-card.i18n.yaml +6 -0
- package/references/official-docs/docs/cookbook/adding-a-settings-card.md +102 -0
- package/references/official-docs/docs/cookbook/adding-a-settings-card.zh.md +102 -0
- package/references/official-docs/docs/cookbook/adding-a-tool.i18n.yaml +2 -2
- package/references/official-docs/docs/cookbook/adding-a-tool.md +11 -4
- package/references/official-docs/docs/cookbook/adding-a-tool.zh.md +16 -9
- package/references/official-docs/docs/cookbook/adding-a-vendored-package.i18n.yaml +2 -2
- package/references/official-docs/docs/cookbook/adding-a-vendored-package.md +2 -2
- package/references/official-docs/docs/cookbook/adding-a-vendored-package.zh.md +4 -4
- package/references/official-docs/docs/cookbook/adding-an-llm-adapter.i18n.yaml +2 -2
- package/references/official-docs/docs/cookbook/adding-an-llm-adapter.md +1 -1
- package/references/official-docs/docs/cookbook/adding-an-llm-adapter.zh.md +3 -3
- package/references/official-docs/docs/cookbook/extension-cookbook.i18n.yaml +2 -2
- package/references/official-docs/docs/cookbook/extension-cookbook.md +9 -8
- package/references/official-docs/docs/cookbook/extension-cookbook.zh.md +17 -14
- package/references/official-docs/docs/cookbook/maintaining-dsh-code-review.i18n.yaml +1 -1
- package/references/official-docs/docs/cookbook/maintaining-dsh-code-review.zh.md +1 -1
- package/references/official-docs/docs/cookbook/responding-to-pr-review-on-a-stack.i18n.yaml +1 -1
- package/references/official-docs/docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +1 -1
- package/references/official-docs/docs/cordis-api/context.i18n.yaml +1 -1
- package/references/official-docs/docs/cordis-api/context.zh.md +1 -1
- package/references/official-docs/docs/cordis-api/events.i18n.yaml +1 -1
- package/references/official-docs/docs/cordis-api/events.zh.md +1 -1
- package/references/official-docs/docs/cordis-api/inherited.md +1 -1
- package/references/official-docs/docs/cordis-primer.i18n.yaml +2 -2
- package/references/official-docs/docs/cordis-primer.md +2 -1
- package/references/official-docs/docs/cordis-primer.zh.md +3 -2
- package/references/official-docs/docs/cordis-tutorial/01-first-plugin.i18n.yaml +1 -1
- package/references/official-docs/docs/cordis-tutorial/01-first-plugin.zh.md +4 -4
- package/references/official-docs/docs/cordis-tutorial/02-lifecycle-and-effects.i18n.yaml +1 -1
- package/references/official-docs/docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +4 -4
- package/references/official-docs/docs/cordis-tutorial/03-services.i18n.yaml +1 -1
- package/references/official-docs/docs/cordis-tutorial/03-services.zh.md +4 -4
- package/references/official-docs/docs/cordis-tutorial/04-events.i18n.yaml +1 -1
- package/references/official-docs/docs/cordis-tutorial/04-events.zh.md +4 -4
- package/references/official-docs/docs/cordis-tutorial/05-config.i18n.yaml +1 -1
- package/references/official-docs/docs/cordis-tutorial/05-config.zh.md +2 -2
- package/references/official-docs/docs/cordis-tutorial/06-composition-and-hmr.i18n.yaml +1 -1
- package/references/official-docs/docs/cordis-tutorial/06-composition-and-hmr.zh.md +3 -3
- package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.i18n.yaml +2 -2
- package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.md +5 -4
- package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.zh.md +11 -10
- package/references/official-docs/docs/cordis-tutorial/index.i18n.yaml +1 -1
- package/references/official-docs/docs/cordis-tutorial/index.zh.md +10 -10
- package/references/official-docs/docs/deepseek-llm-api-wire-extensions.i18n.yaml +6 -0
- package/references/official-docs/docs/deepseek-llm-api-wire-extensions.md +159 -0
- package/references/official-docs/docs/deepseek-llm-api-wire-extensions.zh.md +159 -0
- package/references/official-docs/docs/defensive-patterns.i18n.yaml +1 -1
- package/references/official-docs/docs/defensive-patterns.zh.md +3 -1
- package/references/official-docs/docs/development.i18n.yaml +2 -2
- package/references/official-docs/docs/development.md +9 -13
- package/references/official-docs/docs/development.zh.md +23 -21
- package/references/official-docs/docs/event-producer-consumer.i18n.yaml +2 -2
- package/references/official-docs/docs/event-producer-consumer.md +55 -46
- package/references/official-docs/docs/event-producer-consumer.zh.md +55 -46
- package/references/official-docs/docs/glossary.i18n.yaml +2 -2
- package/references/official-docs/docs/glossary.md +1 -1
- package/references/official-docs/docs/glossary.zh.md +1 -1
- package/references/official-docs/docs/graph-atlas.i18n.yaml +2 -2
- package/references/official-docs/docs/graph-atlas.md +0 -2
- package/references/official-docs/docs/graph-atlas.zh.md +7 -9
- package/references/official-docs/docs/i18n/README.i18n.yaml +2 -2
- package/references/official-docs/docs/i18n/README.md +7 -7
- package/references/official-docs/docs/i18n/README.zh.md +11 -9
- package/references/official-docs/docs/i18n/style-samples.md +3 -3
- package/references/official-docs/docs/i18n/translation-prompt.md +3 -3
- package/references/official-docs/docs/i18n/translation-rules.i18n.yaml +2 -2
- package/references/official-docs/docs/i18n/translation-rules.md +2 -2
- package/references/official-docs/docs/i18n/translation-rules.zh.md +3 -3
- package/references/official-docs/docs/module-graph.i18n.yaml +2 -2
- package/references/official-docs/docs/module-graph.md +666 -747
- package/references/official-docs/docs/module-graph.zh.md +668 -749
- package/references/official-docs/docs/persistence-catalog.i18n.yaml +2 -2
- package/references/official-docs/docs/persistence-catalog.md +172 -40
- package/references/official-docs/docs/persistence-catalog.zh.md +180 -48
- package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.i18n.yaml +2 -2
- package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.md +2 -2
- package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.zh.md +3 -3
- package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.i18n.yaml +2 -2
- package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +2 -2
- package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +2 -2
- package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.i18n.yaml +2 -2
- package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.md +2 -2
- package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +2 -2
- package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.i18n.yaml +2 -2
- package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +1 -1
- package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +2 -2
- package/references/official-docs/docs/postmortem/README.i18n.yaml +1 -1
- package/references/official-docs/docs/postmortem/README.zh.md +5 -5
- package/references/official-docs/docs/rescope.i18n.yaml +2 -2
- package/references/official-docs/docs/rescope.md +2 -2
- package/references/official-docs/docs/rescope.zh.md +3 -3
- package/references/official-docs/docs/subsystems/README.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/README.md +8 -2
- package/references/official-docs/docs/subsystems/README.zh.md +53 -47
- package/references/official-docs/docs/subsystems/agent-team.i18n.yaml +6 -0
- package/references/official-docs/docs/subsystems/agent-team.md +206 -0
- package/references/official-docs/docs/subsystems/agent-team.zh.md +206 -0
- package/references/official-docs/docs/subsystems/approval.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/approval.md +12 -12
- package/references/official-docs/docs/subsystems/approval.zh.md +13 -13
- package/references/official-docs/docs/subsystems/attachment.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/attachment.md +90 -7
- package/references/official-docs/docs/subsystems/attachment.zh.md +90 -7
- package/references/official-docs/docs/subsystems/client-modules.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/client-modules.md +69 -19
- package/references/official-docs/docs/subsystems/client-modules.zh.md +69 -19
- package/references/official-docs/docs/subsystems/code-runtime.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/code-runtime.md +5 -5
- package/references/official-docs/docs/subsystems/code-runtime.zh.md +6 -6
- package/references/official-docs/docs/subsystems/commands.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/commands.md +29 -6
- package/references/official-docs/docs/subsystems/commands.zh.md +30 -7
- package/references/official-docs/docs/subsystems/compaction.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/compaction.md +5 -5
- package/references/official-docs/docs/subsystems/compaction.zh.md +11 -11
- package/references/official-docs/docs/subsystems/conversation.i18n.yaml +6 -0
- package/references/official-docs/docs/{cookbook/adding-a-conversation-node.md → subsystems/conversation.md} +49 -24
- package/references/official-docs/docs/{cookbook/adding-a-conversation-node.zh.md → subsystems/conversation.zh.md} +49 -24
- package/references/official-docs/docs/subsystems/core.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/core.md +110 -33
- package/references/official-docs/docs/subsystems/core.zh.md +141 -62
- package/references/official-docs/docs/subsystems/credentials.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/credentials.md +207 -11
- package/references/official-docs/docs/subsystems/credentials.zh.md +207 -11
- package/references/official-docs/docs/subsystems/extensions.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/extensions.md +27 -9
- package/references/official-docs/docs/subsystems/extensions.zh.md +30 -12
- package/references/official-docs/docs/subsystems/feedback.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/feedback.md +4 -4
- package/references/official-docs/docs/subsystems/feedback.zh.md +4 -4
- package/references/official-docs/docs/subsystems/filesystem.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/filesystem.md +17 -7
- package/references/official-docs/docs/subsystems/filesystem.zh.md +19 -9
- package/references/official-docs/docs/subsystems/goal.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/goal.md +4 -4
- package/references/official-docs/docs/subsystems/goal.zh.md +8 -8
- package/references/official-docs/docs/subsystems/invariants.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/invariants.md +2 -2
- package/references/official-docs/docs/subsystems/invariants.zh.md +5 -5
- package/references/official-docs/docs/subsystems/jobs.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/jobs.md +3 -3
- package/references/official-docs/docs/subsystems/jobs.zh.md +6 -6
- package/references/official-docs/docs/subsystems/llm-streaming.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/llm-streaming.md +193 -22
- package/references/official-docs/docs/subsystems/llm-streaming.zh.md +199 -28
- package/references/official-docs/docs/subsystems/lsp.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/lsp.md +2 -2
- package/references/official-docs/docs/subsystems/lsp.zh.md +3 -3
- package/references/official-docs/docs/subsystems/permission-presets.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/permission-presets.md +8 -8
- package/references/official-docs/docs/subsystems/permission-presets.zh.md +8 -8
- package/references/official-docs/docs/subsystems/persistence.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/persistence.md +35 -17
- package/references/official-docs/docs/subsystems/persistence.zh.md +38 -20
- package/references/official-docs/docs/subsystems/plan.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/plan.md +4 -4
- package/references/official-docs/docs/subsystems/plan.zh.md +10 -10
- package/references/official-docs/docs/subsystems/sandbox.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/sandbox.md +5 -3
- package/references/official-docs/docs/subsystems/sandbox.zh.md +8 -6
- package/references/official-docs/docs/subsystems/schedule.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/schedule.md +9 -3
- package/references/official-docs/docs/subsystems/schedule.zh.md +11 -5
- package/references/official-docs/docs/subsystems/scope.i18n.yaml +1 -1
- package/references/official-docs/docs/subsystems/scope.zh.md +1 -1
- package/references/official-docs/docs/subsystems/session-projection.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/session-projection.md +136 -67
- package/references/official-docs/docs/subsystems/session-projection.zh.md +136 -67
- package/references/official-docs/docs/subsystems/session-query.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/session-query.md +11 -3
- package/references/official-docs/docs/subsystems/session-query.zh.md +12 -4
- package/references/official-docs/docs/subsystems/session-reference.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/session-reference.md +94 -7
- package/references/official-docs/docs/subsystems/session-reference.zh.md +95 -8
- package/references/official-docs/docs/subsystems/session-telemetry.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/session-telemetry.md +5 -6
- package/references/official-docs/docs/subsystems/session-telemetry.zh.md +9 -10
- package/references/official-docs/docs/subsystems/session-title.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/session-title.md +3 -3
- package/references/official-docs/docs/subsystems/session-title.zh.md +5 -5
- package/references/official-docs/docs/subsystems/session.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/session.md +284 -39
- package/references/official-docs/docs/subsystems/session.zh.md +301 -54
- package/references/official-docs/docs/subsystems/settings.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/settings.md +105 -10
- package/references/official-docs/docs/subsystems/settings.zh.md +105 -10
- package/references/official-docs/docs/subsystems/shell.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/shell.md +3 -3
- package/references/official-docs/docs/subsystems/shell.zh.md +11 -11
- package/references/official-docs/docs/subsystems/skills.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/skills.md +26 -3
- package/references/official-docs/docs/subsystems/skills.zh.md +29 -6
- package/references/official-docs/docs/subsystems/slots.i18n.yaml +6 -0
- package/references/official-docs/docs/subsystems/slots.md +174 -0
- package/references/official-docs/docs/subsystems/slots.zh.md +174 -0
- package/references/official-docs/docs/subsystems/spill.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/spill.md +4 -4
- package/references/official-docs/docs/subsystems/spill.zh.md +6 -6
- package/references/official-docs/docs/subsystems/storage.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/storage.md +13 -5
- package/references/official-docs/docs/subsystems/storage.zh.md +16 -8
- package/references/official-docs/docs/subsystems/subagent.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/subagent.md +120 -32
- package/references/official-docs/docs/subsystems/subagent.zh.md +131 -41
- package/references/official-docs/docs/subsystems/subprocess.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/subprocess.md +3 -3
- package/references/official-docs/docs/subsystems/subprocess.zh.md +5 -5
- package/references/official-docs/docs/subsystems/system-prompt.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/system-prompt.md +21 -8
- package/references/official-docs/docs/subsystems/system-prompt.zh.md +23 -10
- package/references/official-docs/docs/subsystems/terminal.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/terminal.md +2 -2
- package/references/official-docs/docs/subsystems/terminal.zh.md +4 -4
- package/references/official-docs/docs/subsystems/todo.i18n.yaml +6 -0
- package/references/official-docs/docs/subsystems/todo.md +32 -0
- package/references/official-docs/docs/subsystems/todo.zh.md +32 -0
- package/references/official-docs/docs/subsystems/token-meter.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/token-meter.md +27 -12
- package/references/official-docs/docs/subsystems/token-meter.zh.md +28 -13
- package/references/official-docs/docs/subsystems/tools.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/tools.md +46 -46
- package/references/official-docs/docs/subsystems/tools.zh.md +54 -54
- package/references/official-docs/docs/subsystems/typert.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/typert.md +65 -58
- package/references/official-docs/docs/subsystems/typert.zh.md +67 -60
- package/references/official-docs/docs/subsystems/user-questions.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/user-questions.md +35 -35
- package/references/official-docs/docs/subsystems/user-questions.zh.md +35 -35
- package/references/official-docs/docs/subsystems/web-client.i18n.yaml +6 -0
- package/references/official-docs/docs/subsystems/web-client.md +95 -0
- package/references/official-docs/docs/subsystems/web-client.zh.md +95 -0
- package/references/official-docs/docs/subsystems/web-server.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/web-server.md +55 -9
- package/references/official-docs/docs/subsystems/web-server.zh.md +56 -10
- package/references/official-docs/docs/subsystems/web.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/web.md +14 -7
- package/references/official-docs/docs/subsystems/web.zh.md +16 -9
- package/references/official-docs/docs/subsystems/webhook.i18n.yaml +6 -0
- package/references/official-docs/docs/subsystems/webhook.md +70 -0
- package/references/official-docs/docs/subsystems/webhook.zh.md +70 -0
- package/references/official-docs/docs/subsystems/workflow.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/workflow.md +8 -8
- package/references/official-docs/docs/subsystems/workflow.zh.md +13 -13
- package/references/official-docs/docs/subsystems/workspace.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/workspace.md +98 -5
- package/references/official-docs/docs/subsystems/workspace.zh.md +102 -9
- package/references/official-docs/docs/testing.i18n.yaml +2 -2
- package/references/official-docs/docs/testing.md +15 -10
- package/references/official-docs/docs/testing.zh.md +15 -10
- package/references/official-docs/docs/tool-catalog.i18n.yaml +2 -2
- package/references/official-docs/docs/tool-catalog.md +433 -27
- package/references/official-docs/docs/tool-catalog.zh.md +438 -29
- package/references/official-docs/docs/tool-execution-pipeline.i18n.yaml +2 -2
- package/references/official-docs/docs/tool-execution-pipeline.md +1 -1
- package/references/official-docs/docs/tool-execution-pipeline.zh.md +1 -1
- package/references/official-docs/docs/user/develop/basic/config.i18n.yaml +2 -2
- package/references/official-docs/docs/user/develop/basic/config.md +1 -1
- package/references/official-docs/docs/user/develop/basic/config.zh.md +4 -4
- package/references/official-docs/docs/user/develop/basic/index.i18n.yaml +1 -1
- package/references/official-docs/docs/user/develop/basic/index.zh.md +5 -5
- package/references/official-docs/docs/user/develop/basic/publish.i18n.yaml +2 -2
- package/references/official-docs/docs/user/develop/basic/publish.md +3 -3
- package/references/official-docs/docs/user/develop/basic/publish.zh.md +7 -7
- package/references/official-docs/docs/user/develop/basic/tool.i18n.yaml +2 -2
- package/references/official-docs/docs/user/develop/basic/tool.md +3 -3
- package/references/official-docs/docs/user/develop/basic/tool.zh.md +4 -4
- package/references/official-docs/docs/user/develop/framework/events.i18n.yaml +2 -2
- package/references/official-docs/docs/user/develop/framework/events.md +2 -2
- package/references/official-docs/docs/user/develop/framework/events.zh.md +3 -3
- package/references/official-docs/docs/user/develop/framework/index.i18n.yaml +1 -1
- package/references/official-docs/docs/user/develop/framework/index.zh.md +3 -3
- package/references/official-docs/docs/user/develop/framework/service.i18n.yaml +2 -2
- package/references/official-docs/docs/user/develop/framework/service.md +1 -1
- package/references/official-docs/docs/user/develop/framework/service.zh.md +3 -3
- package/references/official-docs/docs/user/develop/practice/dynamic-cordis.i18n.yaml +6 -0
- package/references/official-docs/docs/user/develop/practice/dynamic-cordis.md +15 -0
- package/references/official-docs/docs/user/develop/practice/dynamic-cordis.zh.md +15 -0
- package/references/official-docs/docs/user/develop/practice/index.i18n.yaml +2 -2
- package/references/official-docs/docs/user/develop/practice/index.md +1 -1
- package/references/official-docs/docs/user/develop/practice/index.zh.md +3 -3
- package/references/official-docs/docs/user/develop/practice/llm-adapter.i18n.yaml +2 -2
- package/references/official-docs/docs/user/develop/practice/llm-adapter.md +4 -3
- package/references/official-docs/docs/user/develop/practice/llm-adapter.zh.md +4 -3
- package/references/official-docs/docs/user/guide/github-review.i18n.yaml +6 -0
- package/references/official-docs/docs/user/guide/github-review.md +102 -0
- package/references/official-docs/docs/user/guide/github-review.zh.md +102 -0
- package/references/official-docs/docs/user/guide/index.i18n.yaml +2 -2
- package/references/official-docs/docs/user/guide/index.md +2 -2
- package/references/official-docs/docs/user/guide/index.zh.md +8 -8
- package/references/official-docs/docs/user/guide/mcp-memory.i18n.yaml +6 -0
- package/references/official-docs/docs/user/guide/mcp-memory.md +101 -0
- package/references/official-docs/docs/user/guide/mcp-memory.zh.md +101 -0
- package/references/official-docs/docs/user/guide/providers.i18n.yaml +2 -2
- package/references/official-docs/docs/user/guide/providers.md +40 -1
- package/references/official-docs/docs/user/guide/providers.zh.md +41 -2
- package/references/official-docs/docs/user/guide/python-sdk.i18n.yaml +2 -2
- package/references/official-docs/docs/user/guide/python-sdk.md +80 -34
- package/references/official-docs/docs/user/guide/python-sdk.zh.md +87 -41
- package/references/official-docs/docs/user/guide/schedule.i18n.yaml +6 -0
- package/references/official-docs/docs/user/guide/schedule.md +21 -0
- package/references/official-docs/docs/user/guide/schedule.zh.md +21 -0
- package/references/official-docs/docs/web-styling.i18n.yaml +1 -1
- package/references/official-docs/docs/web-styling.zh.md +2 -2
- package/references/official-docs/packages/AGENTS.md +3 -2
- package/references/official-docs/packages/README.md +104 -59
- package/references/official-docs/vendor/README.md +1 -0
- package/references/official-docs/website-docs.ts +52 -11
- package/references/sources.md +2 -2
- package/references/website-pages.md +3 -3
- package/scripts/download-sources.ps1 +1 -1
- package/scripts/sync-official-docs.ps1 +19 -11
- package/scripts/verify-kit.ps1 +0 -4
- package/templates/js/README.es.md +1 -1
- package/templates/js/README.hi.md +1 -1
- package/templates/js/README.md +1 -1
- package/templates/js/README.pt.md +1 -1
- package/templates/js/README.zh.md +1 -1
- package/templates/js/package.json +4 -4
- package/templates/ts/README.es.md +1 -1
- package/templates/ts/README.hi.md +1 -1
- package/templates/ts/README.md +1 -1
- package/templates/ts/README.pt.md +1 -1
- package/templates/ts/README.zh.md +1 -1
- package/templates/ts/package.json +4 -4
- package/references/official-docs/examples/AGENTS.md +0 -20
|
@@ -51,7 +51,7 @@ interface SettingsRegisterOptions<T> {
|
|
|
51
51
|
|
|
52
52
|
`validate` runs after the schema admits a value, so it sees defaults and the composition base exactly as the owner will. `dsh-llm-pi-ai` uses it to refuse a provider profile it could not serve at the write that produced it, rather than storing one that would disable every route in its namespace.
|
|
53
53
|
|
|
54
|
-
`applies` is a UI hint, not a mechanism: a `restart` owner
|
|
54
|
+
`applies` is a UI hint, not a mechanism: a `restart` owner never watches, so its value is read once at construction and configuration surfaces can badge the pending change.
|
|
55
55
|
|
|
56
56
|
```ts type-equiv
|
|
57
57
|
/** When a namespace's changes take effect for its owner. */
|
|
@@ -161,13 +161,17 @@ Every committed change — an in-process write or an externally observed provide
|
|
|
161
161
|
type SettingsUpdateSource = 'update' | 'provider'
|
|
162
162
|
```
|
|
163
163
|
|
|
164
|
+
## Native document operations
|
|
165
|
+
|
|
166
|
+
`SettingsDocumentOpenValue` confirms that `settings/openSettingsDocument` prepared the provider-owned document and handed it to the native text editor. `AgentPresetDirectoryOpenValue` reports either a completed native handoff or the resolved user-preset directory when desktop opening is unavailable. Neither operation accepts a browser-selected Host path.
|
|
167
|
+
|
|
164
168
|
<!-- BEGIN GENERATED cordis-surface (gen-cordis-catalog.ts) — do not edit between markers -->
|
|
165
169
|
|
|
166
170
|
<a id="cordis-surface"></a>
|
|
167
171
|
|
|
168
172
|
## Cordis API
|
|
169
173
|
|
|
170
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
174
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
171
175
|
|
|
172
176
|
<a id="ctxsettings--settingsprovider-abstract-seam"></a>
|
|
173
177
|
|
|
@@ -193,8 +197,22 @@ prepareDocument(): Promise<string | undefined>
|
|
|
193
197
|
* @param schema - schemastery schema resolving this namespace's value.
|
|
194
198
|
* @param options - composition `base` layer and effect timing.
|
|
195
199
|
* @returns the owner scope for reads, observation, and updates.
|
|
200
|
+
* @throws {TypeError} when `ns` is not a lowercase hyphenated identifier.
|
|
201
|
+
*/
|
|
202
|
+
register<const Namespace extends string, T>( ns: Namespace & SettingsNamespaceInput<Namespace>, schema: z<T>, options?: SettingsRegisterOptions<T>, ): SettingsScope<T>
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Attach one optional-settings consumer to this provider. The consumer
|
|
206
|
+
* registers its composition entry as the base layer while this provider is
|
|
207
|
+
* present, then falls back to that entry if the provider detaches.
|
|
208
|
+
* @param owner - consumer context whose unload suppresses fallback work.
|
|
209
|
+
* @param ns - consumer-owned settings namespace.
|
|
210
|
+
* @param schema - schema resolving the namespace.
|
|
211
|
+
* @param entry - composition entry used as the base and fallback value.
|
|
212
|
+
* @param hooks - source sink, change notification, and optional validation.
|
|
213
|
+
* @throws {TypeError} when `ns` is not a lowercase hyphenated identifier.
|
|
196
214
|
*/
|
|
197
|
-
|
|
215
|
+
installSection<const Namespace extends string, T>( owner: Context, ns: Namespace & SettingsNamespaceInput<Namespace>, schema: z<T>, entry: T, hooks: SettingsSectionHooks<T>, ): void
|
|
198
216
|
|
|
199
217
|
/**
|
|
200
218
|
* Describe every registered namespace for configuration surfaces, including
|
|
@@ -209,8 +227,9 @@ describe(options?: SettingsDescribeOptions): SettingsDescriptor[]
|
|
|
209
227
|
* Read one registered namespace's resolved value.
|
|
210
228
|
* @param ns - the namespace to read.
|
|
211
229
|
* @returns the resolved value, or `undefined` while unregistered.
|
|
230
|
+
* @throws {TypeError} when `ns` is not a lowercase hyphenated identifier.
|
|
212
231
|
*/
|
|
213
|
-
get(ns:
|
|
232
|
+
get<const Namespace extends string>(ns: Namespace & SettingsNamespaceInput<Namespace>): unknown
|
|
214
233
|
|
|
215
234
|
/**
|
|
216
235
|
* Merge a patch into one registered namespace's user layer, validate the
|
|
@@ -222,8 +241,9 @@ get(ns: SettingsNamespace): unknown
|
|
|
222
241
|
* @param patch - plain-object patch over the user section.
|
|
223
242
|
* @param expectedRevision - the descriptor `revision` the caller read; a
|
|
224
243
|
* namespace that moved past it rejects with {@link SettingsConflictError}.
|
|
244
|
+
* @throws {TypeError} when `ns` is not a lowercase hyphenated identifier.
|
|
225
245
|
*/
|
|
226
|
-
async update(ns:
|
|
246
|
+
async update<const Namespace extends string>( ns: Namespace & SettingsNamespaceInput<Namespace>, patch: object, expectedRevision?: number, ): Promise<void>
|
|
227
247
|
|
|
228
248
|
/**
|
|
229
249
|
* Replace one registered namespace's user section wholesale, validate,
|
|
@@ -234,8 +254,9 @@ async update(ns: SettingsNamespace, patch: object, expectedRevision?: number): P
|
|
|
234
254
|
* @param section - the complete next user section.
|
|
235
255
|
* @param expectedRevision - the descriptor `revision` the caller read; a
|
|
236
256
|
* namespace that moved past it rejects with {@link SettingsConflictError}.
|
|
257
|
+
* @throws {TypeError} when `ns` is not a lowercase hyphenated identifier.
|
|
237
258
|
*/
|
|
238
|
-
async replace(ns:
|
|
259
|
+
async replace<const Namespace extends string>( ns: Namespace & SettingsNamespaceInput<Namespace>, section: object, expectedRevision?: number, ): Promise<void>
|
|
239
260
|
|
|
240
261
|
/**
|
|
241
262
|
* Apply path-addressed edits to one registered namespace's user section,
|
|
@@ -248,11 +269,85 @@ async replace(ns: SettingsNamespace, section: object, expectedRevision?: number)
|
|
|
248
269
|
* @param ops - ordered path edits; later ops observe earlier ones.
|
|
249
270
|
* @param expectedRevision - the descriptor `revision` the caller read; a
|
|
250
271
|
* namespace that moved past it rejects with {@link SettingsConflictError}.
|
|
272
|
+
* @throws {TypeError} when `ns` is not a lowercase hyphenated identifier.
|
|
273
|
+
*/
|
|
274
|
+
async mutate<const Namespace extends string>( ns: Namespace & SettingsNamespaceInput<Namespace>, ops: readonly SettingsPathOp[], expectedRevision?: number, ): Promise<void>
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
Source: [`packages/settings/settings/src/index.ts`](../../packages/settings/settings/src/index.ts)
|
|
278
|
+
|
|
279
|
+
<a id="ctxsettingscontroller--settingscontroller"></a>
|
|
280
|
+
|
|
281
|
+
### `ctx.settingsController` — `SettingsController`
|
|
282
|
+
|
|
283
|
+
Host service backing the generated `ctx.remote.settings` namespace. Every remote read uses `redactSecrets: true`, so a `role('secret')` field cannot ride a response. Writes expose the settings service's merge, replacement, and path-addressed operations, and classify every provider refusal as `settings/conflict` or `settings/rejected` with the service's message.
|
|
284
|
+
|
|
285
|
+
```ts cordis-catalog
|
|
286
|
+
/**
|
|
287
|
+
* Describe every registered namespace for a configuration page: redacted
|
|
288
|
+
* layered values plus the serialized schema the page renders its form from.
|
|
289
|
+
* @returns provider writability, local-document presence, and one view per namespace.
|
|
290
|
+
* @throws RemoteError when no settings provider is mounted.
|
|
291
|
+
*/
|
|
292
|
+
@Remote describe(): SettingsDescribeValue
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* Report whether this deployment can open an authored Agent preset directory natively.
|
|
296
|
+
* @returns true when the matching open operation is available.
|
|
297
|
+
*/
|
|
298
|
+
@Remote canOpenAgentPresetDirectory(): boolean
|
|
299
|
+
|
|
300
|
+
/**
|
|
301
|
+
* Merge a patch into one namespace's stored user section.
|
|
302
|
+
* @param ns - namespace key to write.
|
|
303
|
+
* @param patch - fields to merge into the user section.
|
|
304
|
+
* @param expectedRevision - revision the caller read; `undefined` writes unconditionally.
|
|
305
|
+
* @returns the namespace's redacted view after the write.
|
|
306
|
+
* @throws RemoteError when the request is invalid, no provider is mounted, or the provider refuses the write.
|
|
307
|
+
*/
|
|
308
|
+
@Remote update( ns: string, patch: Record<string, JsonValue>, expectedRevision: number | undefined, ): Promise<SettingsNamespaceView>
|
|
309
|
+
|
|
310
|
+
/**
|
|
311
|
+
* Replace one namespace's stored user section wholesale.
|
|
312
|
+
* @param ns - namespace key to write.
|
|
313
|
+
* @param section - complete replacement user section.
|
|
314
|
+
* @param expectedRevision - revision the caller read; `undefined` writes unconditionally.
|
|
315
|
+
* @returns the namespace's redacted view after the write.
|
|
316
|
+
* @throws RemoteError when the request is invalid, no provider is mounted, or the provider refuses the write.
|
|
317
|
+
*/
|
|
318
|
+
@Remote replace( ns: string, section: Record<string, JsonValue>, expectedRevision: number | undefined, ): Promise<SettingsNamespaceView>
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* Apply path-addressed edits to one namespace's user section, resolved against
|
|
322
|
+
* the section as stored rather than against whatever the caller last read,
|
|
323
|
+
* then answer with that namespace's new redacted view.
|
|
324
|
+
* @param ns - namespace key to write.
|
|
325
|
+
* @param ops - the edits to apply, in order.
|
|
326
|
+
* @param expectedRevision - revision the caller read; `undefined` writes unconditionally.
|
|
327
|
+
* @returns the namespace's redacted view after the write.
|
|
328
|
+
* @throws RemoteError when the request is invalid, no provider is mounted, or the provider refuses the write.
|
|
329
|
+
*/
|
|
330
|
+
@Remote async mutate( ns: string, ops: SettingsPathOpView[], expectedRevision: number | undefined, ): Promise<SettingsNamespaceView>
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* Materialize the provider-owned settings document and open it in a native text editor.
|
|
334
|
+
* @param signal - caller lifetime; abort terminates preparation or the native command.
|
|
335
|
+
* @returns confirmation after the native opener accepts the document.
|
|
336
|
+
* @throws RemoteError when no document exists, preparation fails, or opening fails.
|
|
337
|
+
*/
|
|
338
|
+
@Remote async openSettingsDocument(signal: AbortSignal): Promise<SettingsDocumentOpenValue>
|
|
339
|
+
|
|
340
|
+
/**
|
|
341
|
+
* Open one user-authored Agent preset directory or return its path when no native opener exists.
|
|
342
|
+
* @param agentPreset - preset id resolved against Host-owned roots.
|
|
343
|
+
* @param signal - caller lifetime; abort terminates the native command.
|
|
344
|
+
* @returns an opened confirmation or the resolved directory for text display.
|
|
345
|
+
* @throws RemoteError when the preset is missing, read-only, invalid, or cannot be opened.
|
|
251
346
|
*/
|
|
252
|
-
async
|
|
347
|
+
@Remote async openAgentPresetDirectory( agentPreset: string, signal: AbortSignal, ): Promise<AgentPresetDirectoryOpenValue>
|
|
253
348
|
```
|
|
254
349
|
|
|
255
|
-
Source: [`packages/
|
|
350
|
+
Source: [`packages/api/settings-controller/src/index.ts`](../../packages/api/settings-controller/src/index.ts)
|
|
256
351
|
|
|
257
352
|
<a id="settings-events"></a>
|
|
258
353
|
|
|
@@ -279,7 +374,7 @@ One registered namespace's RAW user section changed, whether or not the resolved
|
|
|
279
374
|
'settings/document-updated'(ns: SettingsNamespace, revision: number): void
|
|
280
375
|
```
|
|
281
376
|
|
|
282
|
-
Source: [`packages/settings/settings/src/types.ts
|
|
377
|
+
Source: [`packages/settings/settings/src/types.ts`](../../packages/settings/settings/src/types.ts)
|
|
283
378
|
|
|
284
379
|
<a id="settingsupdated--emit"></a>
|
|
285
380
|
|
|
@@ -306,5 +401,5 @@ Committed change to one registered namespace's resolved value. Emitted after the
|
|
|
306
401
|
'settings/updated'(ns: SettingsNamespace, next: unknown, prev: unknown, source: SettingsUpdateSource): void
|
|
307
402
|
```
|
|
308
403
|
|
|
309
|
-
Source: [`packages/settings/settings/src/types.ts
|
|
404
|
+
Source: [`packages/settings/settings/src/types.ts`](../../packages/settings/settings/src/types.ts)
|
|
310
405
|
<!-- END GENERATED cordis-surface -->
|
|
@@ -51,7 +51,7 @@ interface SettingsRegisterOptions<T> {
|
|
|
51
51
|
|
|
52
52
|
`validate` 在 schema 接纳该值之后运行,因此它看到的默认值和组合 base 与 owner 实际看到的完全一致。`dsh-llm-pi-ai` 用它在写入处拒绝自己无法服务的提供方 profile,而不是先存下来、再让该 namespace 下每条路由失效。
|
|
53
53
|
|
|
54
|
-
`applies` 是 UI 提示而非机制:`restart` 的 owner
|
|
54
|
+
`applies` 是 UI 提示而非机制:`restart` 的 owner 从不 watch,其值在构造期读取一次,配置界面可为待生效变更加标。
|
|
55
55
|
|
|
56
56
|
```ts type-equiv
|
|
57
57
|
/** When a namespace's changes take effect for its owner. */
|
|
@@ -161,13 +161,17 @@ interface SettingsDescribeOptions {
|
|
|
161
161
|
type SettingsUpdateSource = 'update' | 'provider'
|
|
162
162
|
```
|
|
163
163
|
|
|
164
|
+
## 原生文档操作
|
|
165
|
+
|
|
166
|
+
`SettingsDocumentOpenValue` 确认 `settings/openSettingsDocument` 已准备好 provider 持有的文档,并将其交给原生文本编辑器。`AgentPresetDirectoryOpenValue` 报告已完成的原生交接,或在桌面打开不可用时返回解析后的用户 preset 目录。两项操作都不接受由浏览器选择的 Host 路径。
|
|
167
|
+
|
|
164
168
|
<!-- BEGIN GENERATED cordis-surface (gen-cordis-catalog.ts) — do not edit between markers -->
|
|
165
169
|
|
|
166
170
|
<a id="cordis-surface"></a>
|
|
167
171
|
|
|
168
172
|
## Cordis API
|
|
169
173
|
|
|
170
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
174
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.zh.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
171
175
|
|
|
172
176
|
<a id="ctxsettings--settingsprovider-abstract-seam"></a>
|
|
173
177
|
|
|
@@ -193,8 +197,22 @@ prepareDocument(): Promise<string | undefined>
|
|
|
193
197
|
* @param schema - schemastery schema resolving this namespace's value.
|
|
194
198
|
* @param options - composition `base` layer and effect timing.
|
|
195
199
|
* @returns the owner scope for reads, observation, and updates.
|
|
200
|
+
* @throws {TypeError} when `ns` is not a lowercase hyphenated identifier.
|
|
201
|
+
*/
|
|
202
|
+
register<const Namespace extends string, T>( ns: Namespace & SettingsNamespaceInput<Namespace>, schema: z<T>, options?: SettingsRegisterOptions<T>, ): SettingsScope<T>
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Attach one optional-settings consumer to this provider. The consumer
|
|
206
|
+
* registers its composition entry as the base layer while this provider is
|
|
207
|
+
* present, then falls back to that entry if the provider detaches.
|
|
208
|
+
* @param owner - consumer context whose unload suppresses fallback work.
|
|
209
|
+
* @param ns - consumer-owned settings namespace.
|
|
210
|
+
* @param schema - schema resolving the namespace.
|
|
211
|
+
* @param entry - composition entry used as the base and fallback value.
|
|
212
|
+
* @param hooks - source sink, change notification, and optional validation.
|
|
213
|
+
* @throws {TypeError} when `ns` is not a lowercase hyphenated identifier.
|
|
196
214
|
*/
|
|
197
|
-
|
|
215
|
+
installSection<const Namespace extends string, T>( owner: Context, ns: Namespace & SettingsNamespaceInput<Namespace>, schema: z<T>, entry: T, hooks: SettingsSectionHooks<T>, ): void
|
|
198
216
|
|
|
199
217
|
/**
|
|
200
218
|
* Describe every registered namespace for configuration surfaces, including
|
|
@@ -209,8 +227,9 @@ describe(options?: SettingsDescribeOptions): SettingsDescriptor[]
|
|
|
209
227
|
* Read one registered namespace's resolved value.
|
|
210
228
|
* @param ns - the namespace to read.
|
|
211
229
|
* @returns the resolved value, or `undefined` while unregistered.
|
|
230
|
+
* @throws {TypeError} when `ns` is not a lowercase hyphenated identifier.
|
|
212
231
|
*/
|
|
213
|
-
get(ns:
|
|
232
|
+
get<const Namespace extends string>(ns: Namespace & SettingsNamespaceInput<Namespace>): unknown
|
|
214
233
|
|
|
215
234
|
/**
|
|
216
235
|
* Merge a patch into one registered namespace's user layer, validate the
|
|
@@ -222,8 +241,9 @@ get(ns: SettingsNamespace): unknown
|
|
|
222
241
|
* @param patch - plain-object patch over the user section.
|
|
223
242
|
* @param expectedRevision - the descriptor `revision` the caller read; a
|
|
224
243
|
* namespace that moved past it rejects with {@link SettingsConflictError}.
|
|
244
|
+
* @throws {TypeError} when `ns` is not a lowercase hyphenated identifier.
|
|
225
245
|
*/
|
|
226
|
-
async update(ns:
|
|
246
|
+
async update<const Namespace extends string>( ns: Namespace & SettingsNamespaceInput<Namespace>, patch: object, expectedRevision?: number, ): Promise<void>
|
|
227
247
|
|
|
228
248
|
/**
|
|
229
249
|
* Replace one registered namespace's user section wholesale, validate,
|
|
@@ -234,8 +254,9 @@ async update(ns: SettingsNamespace, patch: object, expectedRevision?: number): P
|
|
|
234
254
|
* @param section - the complete next user section.
|
|
235
255
|
* @param expectedRevision - the descriptor `revision` the caller read; a
|
|
236
256
|
* namespace that moved past it rejects with {@link SettingsConflictError}.
|
|
257
|
+
* @throws {TypeError} when `ns` is not a lowercase hyphenated identifier.
|
|
237
258
|
*/
|
|
238
|
-
async replace(ns:
|
|
259
|
+
async replace<const Namespace extends string>( ns: Namespace & SettingsNamespaceInput<Namespace>, section: object, expectedRevision?: number, ): Promise<void>
|
|
239
260
|
|
|
240
261
|
/**
|
|
241
262
|
* Apply path-addressed edits to one registered namespace's user section,
|
|
@@ -248,11 +269,85 @@ async replace(ns: SettingsNamespace, section: object, expectedRevision?: number)
|
|
|
248
269
|
* @param ops - ordered path edits; later ops observe earlier ones.
|
|
249
270
|
* @param expectedRevision - the descriptor `revision` the caller read; a
|
|
250
271
|
* namespace that moved past it rejects with {@link SettingsConflictError}.
|
|
272
|
+
* @throws {TypeError} when `ns` is not a lowercase hyphenated identifier.
|
|
273
|
+
*/
|
|
274
|
+
async mutate<const Namespace extends string>( ns: Namespace & SettingsNamespaceInput<Namespace>, ops: readonly SettingsPathOp[], expectedRevision?: number, ): Promise<void>
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
Source: [`packages/settings/settings/src/index.ts`](../../packages/settings/settings/src/index.ts)
|
|
278
|
+
|
|
279
|
+
<a id="ctxsettingscontroller--settingscontroller"></a>
|
|
280
|
+
|
|
281
|
+
### `ctx.settingsController` — `SettingsController`
|
|
282
|
+
|
|
283
|
+
Host service backing the generated `ctx.remote.settings` namespace. Every remote read uses `redactSecrets: true`, so a `role('secret')` field cannot ride a response. Writes expose the settings service's merge, replacement, and path-addressed operations, and classify every provider refusal as `settings/conflict` or `settings/rejected` with the service's message.
|
|
284
|
+
|
|
285
|
+
```ts cordis-catalog
|
|
286
|
+
/**
|
|
287
|
+
* Describe every registered namespace for a configuration page: redacted
|
|
288
|
+
* layered values plus the serialized schema the page renders its form from.
|
|
289
|
+
* @returns provider writability, local-document presence, and one view per namespace.
|
|
290
|
+
* @throws RemoteError when no settings provider is mounted.
|
|
291
|
+
*/
|
|
292
|
+
@Remote describe(): SettingsDescribeValue
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* Report whether this deployment can open an authored Agent preset directory natively.
|
|
296
|
+
* @returns true when the matching open operation is available.
|
|
297
|
+
*/
|
|
298
|
+
@Remote canOpenAgentPresetDirectory(): boolean
|
|
299
|
+
|
|
300
|
+
/**
|
|
301
|
+
* Merge a patch into one namespace's stored user section.
|
|
302
|
+
* @param ns - namespace key to write.
|
|
303
|
+
* @param patch - fields to merge into the user section.
|
|
304
|
+
* @param expectedRevision - revision the caller read; `undefined` writes unconditionally.
|
|
305
|
+
* @returns the namespace's redacted view after the write.
|
|
306
|
+
* @throws RemoteError when the request is invalid, no provider is mounted, or the provider refuses the write.
|
|
307
|
+
*/
|
|
308
|
+
@Remote update( ns: string, patch: Record<string, JsonValue>, expectedRevision: number | undefined, ): Promise<SettingsNamespaceView>
|
|
309
|
+
|
|
310
|
+
/**
|
|
311
|
+
* Replace one namespace's stored user section wholesale.
|
|
312
|
+
* @param ns - namespace key to write.
|
|
313
|
+
* @param section - complete replacement user section.
|
|
314
|
+
* @param expectedRevision - revision the caller read; `undefined` writes unconditionally.
|
|
315
|
+
* @returns the namespace's redacted view after the write.
|
|
316
|
+
* @throws RemoteError when the request is invalid, no provider is mounted, or the provider refuses the write.
|
|
317
|
+
*/
|
|
318
|
+
@Remote replace( ns: string, section: Record<string, JsonValue>, expectedRevision: number | undefined, ): Promise<SettingsNamespaceView>
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* Apply path-addressed edits to one namespace's user section, resolved against
|
|
322
|
+
* the section as stored rather than against whatever the caller last read,
|
|
323
|
+
* then answer with that namespace's new redacted view.
|
|
324
|
+
* @param ns - namespace key to write.
|
|
325
|
+
* @param ops - the edits to apply, in order.
|
|
326
|
+
* @param expectedRevision - revision the caller read; `undefined` writes unconditionally.
|
|
327
|
+
* @returns the namespace's redacted view after the write.
|
|
328
|
+
* @throws RemoteError when the request is invalid, no provider is mounted, or the provider refuses the write.
|
|
329
|
+
*/
|
|
330
|
+
@Remote async mutate( ns: string, ops: SettingsPathOpView[], expectedRevision: number | undefined, ): Promise<SettingsNamespaceView>
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* Materialize the provider-owned settings document and open it in a native text editor.
|
|
334
|
+
* @param signal - caller lifetime; abort terminates preparation or the native command.
|
|
335
|
+
* @returns confirmation after the native opener accepts the document.
|
|
336
|
+
* @throws RemoteError when no document exists, preparation fails, or opening fails.
|
|
337
|
+
*/
|
|
338
|
+
@Remote async openSettingsDocument(signal: AbortSignal): Promise<SettingsDocumentOpenValue>
|
|
339
|
+
|
|
340
|
+
/**
|
|
341
|
+
* Open one user-authored Agent preset directory or return its path when no native opener exists.
|
|
342
|
+
* @param agentPreset - preset id resolved against Host-owned roots.
|
|
343
|
+
* @param signal - caller lifetime; abort terminates the native command.
|
|
344
|
+
* @returns an opened confirmation or the resolved directory for text display.
|
|
345
|
+
* @throws RemoteError when the preset is missing, read-only, invalid, or cannot be opened.
|
|
251
346
|
*/
|
|
252
|
-
async
|
|
347
|
+
@Remote async openAgentPresetDirectory( agentPreset: string, signal: AbortSignal, ): Promise<AgentPresetDirectoryOpenValue>
|
|
253
348
|
```
|
|
254
349
|
|
|
255
|
-
Source: [`packages/
|
|
350
|
+
Source: [`packages/api/settings-controller/src/index.ts`](../../packages/api/settings-controller/src/index.ts)
|
|
256
351
|
|
|
257
352
|
<a id="settings-events"></a>
|
|
258
353
|
|
|
@@ -279,7 +374,7 @@ One registered namespace's RAW user section changed, whether or not the resolved
|
|
|
279
374
|
'settings/document-updated'(ns: SettingsNamespace, revision: number): void
|
|
280
375
|
```
|
|
281
376
|
|
|
282
|
-
Source: [`packages/settings/settings/src/types.ts
|
|
377
|
+
Source: [`packages/settings/settings/src/types.ts`](../../packages/settings/settings/src/types.ts)
|
|
283
378
|
|
|
284
379
|
<a id="settingsupdated--emit"></a>
|
|
285
380
|
|
|
@@ -306,5 +401,5 @@ Committed change to one registered namespace's resolved value. Emitted after the
|
|
|
306
401
|
'settings/updated'(ns: SettingsNamespace, next: unknown, prev: unknown, source: SettingsUpdateSource): void
|
|
307
402
|
```
|
|
308
403
|
|
|
309
|
-
Source: [`packages/settings/settings/src/types.ts
|
|
404
|
+
Source: [`packages/settings/settings/src/types.ts`](../../packages/settings/settings/src/types.ts)
|
|
310
405
|
<!-- END GENERATED cordis-surface -->
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
3
3
|
# after editing either side, bring the other along and re-record with:
|
|
4
4
|
# pnpm run verify-translation-pairing --write docs/subsystems/shell.md
|
|
5
|
-
shell.md:
|
|
6
|
-
shell.zh.md:
|
|
5
|
+
shell.md: 554adcfb1b37a5e2fe787a78dbb61a1206f80cf9
|
|
6
|
+
shell.zh.md: f15b57cc0050bb8f38d2652ddb9ad0e250568663
|
|
@@ -226,7 +226,7 @@ interface ShellProcessRead {
|
|
|
226
226
|
|
|
227
227
|
## Cordis API
|
|
228
228
|
|
|
229
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
229
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
230
230
|
|
|
231
231
|
<a id="ctxshell--shellexecutor-abstract-seam"></a>
|
|
232
232
|
|
|
@@ -266,7 +266,7 @@ abstract run(spec: ShellExecSpec): Promise<ShellRunResult>
|
|
|
266
266
|
abstract start(spec: ShellExecSpec): ShellProcess
|
|
267
267
|
```
|
|
268
268
|
|
|
269
|
-
Source: [`packages/shell/shell/src/index.ts
|
|
269
|
+
Source: [`packages/shell/shell/src/index.ts`](../../packages/shell/shell/src/index.ts)
|
|
270
270
|
|
|
271
271
|
<a id="ctxshellenv--shellenvregistry"></a>
|
|
272
272
|
|
|
@@ -299,5 +299,5 @@ list(): BashEnvVariableInfo[]
|
|
|
299
299
|
|
|
300
300
|
Types: [DshEnvironment](subprocess.md) · [ToolExecution](tools.md)
|
|
301
301
|
|
|
302
|
-
Source: [`packages/shell/shell-env/src/index.ts
|
|
302
|
+
Source: [`packages/shell/shell-env/src/index.ts`](../../packages/shell/shell-env/src/index.ts)
|
|
303
303
|
<!-- END GENERATED cordis-surface -->
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
[English](shell.md) | 中文
|
|
4
4
|
|
|
5
|
-
bash 执行 seam 分为 Service Definition([dsh-shell](../../packages/shell/shell),`ctx.shell`)、Service Provider([dsh-bash-local](../../packages/shell/bash-local) 与 [dsh-bash-sandbox](../../packages/shell/bash-sandbox))和 Consumer([dsh-tool-bash](../../packages/shell/tool-bash),即 `bash` schema)。通用后台任务的 job id、所有权与控制位于 [jobs.md](jobs.md);本 seam 返回一个不含任务概念的进程句柄。原始进程组机制封装在[子进程 seam](subprocess.md)之后。
|
|
5
|
+
bash 执行 seam 分为 Service Definition([dsh-shell](../../packages/shell/shell),`ctx.shell`)、Service Provider([dsh-bash-local](../../packages/shell/bash-local) 与 [dsh-bash-sandbox](../../packages/shell/bash-sandbox))和 Consumer([dsh-tool-bash](../../packages/shell/tool-bash),即 `bash` schema)。通用后台任务的 job id、所有权与控制位于 [jobs.md](jobs.zh.md);本 seam 返回一个不含任务概念的进程句柄。原始进程组机制封装在[子进程 seam](subprocess.zh.md)之后。
|
|
6
6
|
|
|
7
7
|
源码:[`packages/shell/shell/src/types.ts`](../../packages/shell/shell/src/types.ts)
|
|
8
8
|
|
|
9
9
|
## 受管 shell 环境命名空间
|
|
10
10
|
|
|
11
|
-
`DSH_*` 变量是归 Harness 所有的子进程事实。面向模型的 bash 工具通过 `ctx.shellEnv` 收集它们,再经由 `ShellExecRequest.dshEnv` 传递;子进程服务在合并当前快照之前会移除继承而来的 `DSH_*` 名称。`DshEnvironmentKey`/`DshEnvironment` 词汇归[子进程 seam](subprocess.md)所有,由 `dsh-shell` 重导出。
|
|
11
|
+
`DSH_*` 变量是归 Harness 所有的子进程事实。面向模型的 bash 工具通过 `ctx.shellEnv` 收集它们,再经由 `ShellExecRequest.dshEnv` 传递;子进程服务在合并当前快照之前会移除继承而来的 `DSH_*` 名称。`DshEnvironmentKey`/`DshEnvironment` 词汇归[子进程 seam](subprocess.zh.md)所有,由 `dsh-shell` 重导出。
|
|
12
12
|
|
|
13
13
|
## 请求与规格:`resolve()` 拆分
|
|
14
14
|
|
|
@@ -98,7 +98,7 @@ interface ShellExecSpec {
|
|
|
98
98
|
}
|
|
99
99
|
```
|
|
100
100
|
|
|
101
|
-
`stdin` 和 `env` 是受信任的进程内插件输入,不由 `dsh-tool-bash` 暴露。本地执行器会先清除环境中的凭据,再合并调用方显式提供的 env。见 [bash-stdin-env Agent Note](../../.agents/notes/implemented/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.md)。
|
|
101
|
+
`stdin` 和 `env` 是受信任的进程内插件输入,不由 `dsh-tool-bash` 暴露。本地执行器会先清除环境中的凭据,再合并调用方显式提供的 env。见 [bash-stdin-env Agent Note](../../.agents/notes/implemented/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.zh.md)。
|
|
102
102
|
|
|
103
103
|
`stdoutMaxBytes` 同样仅供受信任插件使用。它让前台消费方能在有界解析预算内请求完整 stdout,而不会改变 stderr、后台任务或面向模型的 bash 工具的常规输出上限。
|
|
104
104
|
|
|
@@ -136,11 +136,11 @@ interface ShellRunResult {
|
|
|
136
136
|
}
|
|
137
137
|
```
|
|
138
138
|
|
|
139
|
-
每个流是一个 `CollectedOutput`:(可能被截断的)文本加恢复信息;截断时,`text` 是**尾部**,完整流溢出到一个私有文件。这些字段归[子进程 seam](subprocess.md)所有,由 `dsh-shell` 重导出。
|
|
139
|
+
每个流是一个 `CollectedOutput`:(可能被截断的)文本加恢复信息;截断时,`text` 是**尾部**,完整流溢出到一个私有文件。这些字段归[子进程 seam](subprocess.zh.md)所有,由 `dsh-shell` 重导出。
|
|
140
140
|
|
|
141
141
|
## 文件沙箱:`ShellSandboxInfo`
|
|
142
142
|
|
|
143
|
-
使用沙箱的执行器通过 `ShellExecutor.sandboxMode` 暴露其已配置的模式回退值。工具层请求 [`@deepseek-ai/dsh-sandbox-policy`](../../packages/sandbox/sandbox-policy/README.md),把每个调用会话的持久 `sandbox/mode` 覆盖值与不可变 cwd 解析为 `ShellExecRequest.sandboxPolicy`;经用户批准、严格更宽松的调用只替换模式。模式/root/enforcement 词汇归 [`@deepseek-ai/dsh-sandbox` 沙箱 seam](sandbox.md) 所有;模式仅管辖文件效果。
|
|
143
|
+
使用沙箱的执行器通过 `ShellExecutor.sandboxMode` 暴露其已配置的模式回退值。工具层请求 [`@deepseek-ai/dsh-sandbox-policy`](../../packages/sandbox/sandbox-policy/README.zh.md),把每个调用会话的持久 `sandbox/mode` 覆盖值与不可变 cwd 解析为 `ShellExecRequest.sandboxPolicy`;经用户批准、严格更宽松的调用只替换模式。模式/root/enforcement 词汇归 [`@deepseek-ai/dsh-sandbox` 沙箱 seam](sandbox.zh.md) 所有;模式仅管辖文件效果。
|
|
144
144
|
|
|
145
145
|
沙箱化运行会报告其模式、保守的拒绝分类与强制执行完整度。`runnerFailed` 标记命令运行前沙箱 runner 已失败;前台执行会抛出 `SANDBOX_UNAVAILABLE`,而已结束的后台进程只能通过其事实通道报告。
|
|
146
146
|
|
|
@@ -162,7 +162,7 @@ interface ShellSandboxInfo {
|
|
|
162
162
|
}
|
|
163
163
|
```
|
|
164
164
|
|
|
165
|
-
当受限模式没有可用后端时,`ctx.sandbox` 提供方会抛出、执行器会传播由[沙箱 seam](sandbox.md)所有的 `SANDBOX_UNAVAILABLE` 错误码。选定的 runner 拒绝其 profile 时会触达同一个故障关闭的前台错误;已结束的后台任务则记录 `runnerFailed`。模型会在结果中收到拒绝/runner 事实,仅当拒绝标记指出生效模式时才得知该模式,并可通过 `sandbox_permissions` 加 `justification` 请求一次性、严格更宽松的重试;执行任何操作前,`ctx.approval` 必须批准该次确切调用。完整的策略与切换设计见[沙箱 Agent Note](../../.agents/notes/implemented/feature/2026-07-06-sandbox.md)。
|
|
165
|
+
当受限模式没有可用后端时,`ctx.sandbox` 提供方会抛出、执行器会传播由[沙箱 seam](sandbox.zh.md)所有的 `SANDBOX_UNAVAILABLE` 错误码。选定的 runner 拒绝其 profile 时会触达同一个故障关闭的前台错误;已结束的后台任务则记录 `runnerFailed`。模型会在结果中收到拒绝/runner 事实,仅当拒绝标记指出生效模式时才得知该模式,并可通过 `sandbox_permissions` 加 `justification` 请求一次性、严格更宽松的重试;执行任何操作前,`ctx.approval` 必须批准该次确切调用。完整的策略与切换设计见[沙箱 Agent Note](../../.agents/notes/implemented/feature/2026-07-06-sandbox.zh.md)。
|
|
166
166
|
|
|
167
167
|
## 后台进程:`ShellProcess`
|
|
168
168
|
|
|
@@ -218,7 +218,7 @@ interface ShellProcessRead {
|
|
|
218
218
|
|
|
219
219
|
## 服务
|
|
220
220
|
|
|
221
|
-
`ShellExecutor` 拥有 `resolve`、前台 `run`、后台进程 `start` 以及 `sandboxMode` 能力事实。`dsh-bash-local` 拥有命令默认值补全、超时/中止分类、终端环境以及后台读取合并;进程组、有界收集器、spill 文件、凭据清除与 dispose(资源释放)后完全停稳归[子进程服务](subprocess.md)所有。`dsh-tool-bash` 拥有面向模型的渲染,并将后台句柄适配到[通用任务运行时](jobs.md)。`dsh-shell` 拥有 shell 工具共享的退出状态约定:导出的 `parseExitStatus`/`ParsedExitStatus` 是 `dsh-tool-bash` 的 `renderResult` 与 `dsh-tool-pwsh` 的 `renderPwshResult` 所追加的 `[exit code: N]` / `[killed by signal: X]` 标记的逆解析,两个工具的 `presentResult` 都用它把渲染文本拆分为 terminal 卡的输出正文与退出状态 pill。
|
|
221
|
+
`ShellExecutor` 拥有 `resolve`、前台 `run`、后台进程 `start` 以及 `sandboxMode` 能力事实。`dsh-bash-local` 拥有命令默认值补全、超时/中止分类、终端环境以及后台读取合并;进程组、有界收集器、spill 文件、凭据清除与 dispose(资源释放)后完全停稳归[子进程服务](subprocess.zh.md)所有。`dsh-tool-bash` 拥有面向模型的渲染,并将后台句柄适配到[通用任务运行时](jobs.zh.md)。`dsh-shell` 拥有 shell 工具共享的退出状态约定:导出的 `parseExitStatus`/`ParsedExitStatus` 是 `dsh-tool-bash` 的 `renderResult` 与 `dsh-tool-pwsh` 的 `renderPwshResult` 所追加的 `[exit code: N]` / `[killed by signal: X]` 标记的逆解析,两个工具的 `presentResult` 都用它把渲染文本拆分为 terminal 卡的输出正文与退出状态 pill。
|
|
222
222
|
|
|
223
223
|
<!-- BEGIN GENERATED cordis-surface (gen-cordis-catalog.ts) — do not edit between markers -->
|
|
224
224
|
|
|
@@ -226,7 +226,7 @@ interface ShellProcessRead {
|
|
|
226
226
|
|
|
227
227
|
## Cordis API
|
|
228
228
|
|
|
229
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
229
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.zh.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
230
230
|
|
|
231
231
|
<a id="ctxshell--shellexecutor-abstract-seam"></a>
|
|
232
232
|
|
|
@@ -266,7 +266,7 @@ abstract run(spec: ShellExecSpec): Promise<ShellRunResult>
|
|
|
266
266
|
abstract start(spec: ShellExecSpec): ShellProcess
|
|
267
267
|
```
|
|
268
268
|
|
|
269
|
-
Source: [`packages/shell/shell/src/index.ts
|
|
269
|
+
Source: [`packages/shell/shell/src/index.ts`](../../packages/shell/shell/src/index.ts)
|
|
270
270
|
|
|
271
271
|
<a id="ctxshellenv--shellenvregistry"></a>
|
|
272
272
|
|
|
@@ -297,7 +297,7 @@ collect(execution: ToolExecution): DshEnvironment
|
|
|
297
297
|
list(): BashEnvVariableInfo[]
|
|
298
298
|
```
|
|
299
299
|
|
|
300
|
-
Types: [DshEnvironment](subprocess.md) · [ToolExecution](tools.md)
|
|
300
|
+
Types: [DshEnvironment](subprocess.zh.md) · [ToolExecution](tools.zh.md)
|
|
301
301
|
|
|
302
|
-
Source: [`packages/shell/shell-env/src/index.ts
|
|
302
|
+
Source: [`packages/shell/shell-env/src/index.ts`](../../packages/shell/shell-env/src/index.ts)
|
|
303
303
|
<!-- END GENERATED cordis-surface -->
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
3
3
|
# after editing either side, bring the other along and re-record with:
|
|
4
4
|
# pnpm run verify-translation-pairing --write docs/subsystems/skills.md
|
|
5
|
-
skills.md:
|
|
6
|
-
skills.zh.md:
|
|
5
|
+
skills.md: 8224b91290c110d52d739cd85b3fc7d641f9a7ea
|
|
6
|
+
skills.zh.md: 018bd85d74ba40717c741d6600f991f3c6d36d4c
|
|
@@ -234,13 +234,36 @@ Before each later model step, the consumer applies exact tool visibility and dig
|
|
|
234
234
|
|
|
235
235
|
The model-facing `skill({ name })` tool validates the kebab-case name, finds the summary in the invocation-neutral catalog, rejects it before loading unless `isModelInvocable` permits access, then rereads the complete definition for the calling agent cwd and rechecks the policy before returning content. It reports an unresolved skill as unknown or no longer available and returns a tool result containing `<skill_content name="...">`, `<skill_resources>`, and `<skill_instructions>`. `resourceBase` resolves explicitly referenced scripts, references, and assets only as needed; the loaded result does not enumerate a skill directory. Body-only edits therefore change later tool calls without producing catalog messages or rewriting earlier tool results.
|
|
236
236
|
|
|
237
|
+
## Browser Session catalog
|
|
238
|
+
|
|
239
|
+
`SkillListRequest` addresses one Session by `sessionId`; `SkillListValue` returns the user-invocable entries with name, description, optional usage guidance, and model-invocation availability. `SessionSkillCatalog` reads the Session cwd and recorded preset without activating an Agent. A live Agent may supply its scoped registry, while a cold Session uses the preset's standing scope.
|
|
240
|
+
|
|
237
241
|
<!-- BEGIN GENERATED cordis-surface (gen-cordis-catalog.ts) — do not edit between markers -->
|
|
238
242
|
|
|
239
243
|
<a id="cordis-surface"></a>
|
|
240
244
|
|
|
241
245
|
## Cordis API
|
|
242
246
|
|
|
243
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
247
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
248
|
+
|
|
249
|
+
<a id="ctxsessionskillcatalog--sessionskillcatalog"></a>
|
|
250
|
+
|
|
251
|
+
### `ctx.sessionSkillCatalog` — `SessionSkillCatalog`
|
|
252
|
+
|
|
253
|
+
Host service backing `ctx.remote.skills` without activating a cold Agent.
|
|
254
|
+
|
|
255
|
+
```ts cordis-catalog
|
|
256
|
+
/**
|
|
257
|
+
* List the user-invocable skills visible to one Session composition.
|
|
258
|
+
* @param request - Session identity whose cwd and preset select the catalog view.
|
|
259
|
+
* @param signal - caller lifetime carried by the Remote transport; admitted catalog reads retain their existing completion semantics.
|
|
260
|
+
* @returns user-invocable skill metadata without loading skill bodies.
|
|
261
|
+
* @throws RemoteError when the Session cannot be inspected or no registry can serve it.
|
|
262
|
+
*/
|
|
263
|
+
@Remote async list(request: SkillListRequest, signal: AbortSignal): Promise<SkillListValue>
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
Source: [`packages/api/session-controller/src/skill-catalog.ts`](../../packages/api/session-controller/src/skill-catalog.ts)
|
|
244
267
|
|
|
245
268
|
<a id="ctxskills--skillregistry"></a>
|
|
246
269
|
|
|
@@ -304,7 +327,7 @@ async snapshot(options: SkillViewOptions = {}): Promise<SkillCatalogSnapshot>
|
|
|
304
327
|
async get(name: string, options: SkillViewOptions = {}): Promise<SkillDefinition | undefined>
|
|
305
328
|
```
|
|
306
329
|
|
|
307
|
-
Source: [`packages/skill/skill/src/index.ts
|
|
330
|
+
Source: [`packages/skill/skill/src/index.ts`](../../packages/skill/skill/src/index.ts)
|
|
308
331
|
|
|
309
332
|
<a id="skills-events"></a>
|
|
310
333
|
|
|
@@ -327,5 +350,5 @@ A skill provider, runtime contribution, or provider-backed catalog may have chan
|
|
|
327
350
|
'skills/change'(): void
|
|
328
351
|
```
|
|
329
352
|
|
|
330
|
-
Source: [`packages/skill/skill/src/index.ts
|
|
353
|
+
Source: [`packages/skill/skill/src/index.ts`](../../packages/skill/skill/src/index.ts)
|
|
331
354
|
<!-- END GENERATED cordis-surface -->
|