dsh-plugin-guide 0.2.0 → 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 +36 -18
- package/README.hi.md +36 -18
- package/README.md +38 -18
- package/README.pt.md +36 -18
- package/README.zh.md +38 -18
- 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 +2 -2
- package/guide/quick-reference.md +2 -2
- package/guide/quick-reference.pt.md +2 -2
- package/guide/quick-reference.zh-CN.md +3 -3
- package/package.json +13 -4
- package/references/cordis-paper-and-community.md +1 -1
- package/references/harness-repo.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 +160 -39
- package/references/official-docs/docs/persistence-catalog.zh.md +169 -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 +273 -39
- package/references/official-docs/docs/subsystems/session.zh.md +290 -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/check-docs-drift.ps1 +55 -0
- package/scripts/check-readme-sync.mjs +91 -0
- 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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[English](tools.md) | 中文
|
|
4
4
|
|
|
5
|
-
[dsh-tools](../../packages/core/tools) 的工具流水线。[core.md](core.md) 介绍了核心包共用、用于编写流水线的类型 `ToolDefinition`;面向模型的 [`ToolSchema`](llm-streaming.md#the-model-request-and-result) 协议类型与模型请求一起声明。本页记录 `ToolDefinition` 的每个字段、用于构建它的类型化 schema DSL、带守卫的执行类型和 UI 展示类型。
|
|
5
|
+
[dsh-tools](../../packages/core/tools) 的工具流水线。[core.md](core.zh.md) 介绍了核心包共用、用于编写流水线的类型 `ToolDefinition`;面向模型的 [`ToolSchema`](llm-streaming.zh.md#the-model-request-and-result) 协议类型与模型请求一起声明。本页记录 `ToolDefinition` 的每个字段、用于构建它的类型化 schema DSL、带守卫的执行类型和 UI 展示类型。
|
|
6
6
|
|
|
7
7
|
源码:[`packages/core/tools/src/index.ts`](../../packages/core/tools/src/index.ts) · [`packages/core/tools/src/schema.ts`](../../packages/core/tools/src/schema.ts) · [`packages/core/tools/src/presentation.ts`](../../packages/core/tools/src/presentation.ts)
|
|
8
8
|
|
|
@@ -157,7 +157,7 @@ type InferArgs<S> = InferProperties<S, []>
|
|
|
157
157
|
```ts type-equiv
|
|
158
158
|
/**
|
|
159
159
|
* Per-scope filter over global tools. Restrictions intersect and do not affect
|
|
160
|
-
* scoped registrations or the reserved
|
|
160
|
+
* scoped registrations or the reserved PTC mode transport.
|
|
161
161
|
*/
|
|
162
162
|
interface ToolRestriction {
|
|
163
163
|
/** Global tool names that stay visible; everything else is removed. */
|
|
@@ -183,23 +183,23 @@ type ToolExecutionToken = symbol & { readonly [toolExecutionTokenBrand]: true }
|
|
|
183
183
|
* callers do not choose that token.
|
|
184
184
|
*/
|
|
185
185
|
interface ToolExecutionInput {
|
|
186
|
-
readonly callId:
|
|
186
|
+
readonly callId: ToolCallId
|
|
187
187
|
/**
|
|
188
188
|
* Root model-requested call owning this execution tree. Callers omit it for
|
|
189
189
|
* a root execution; nested dispatchers propagate the enclosing value.
|
|
190
190
|
*/
|
|
191
|
-
readonly rootCallId?:
|
|
191
|
+
readonly rootCallId?: ToolCallId
|
|
192
192
|
readonly name: string
|
|
193
193
|
/** Losslessly JSON-serializable parsed arguments (tools validate their own schema). */
|
|
194
194
|
readonly arguments: unknown
|
|
195
195
|
/** The agent on whose behalf the call runs (set by the agent loop). */
|
|
196
196
|
readonly agent?: Agent
|
|
197
197
|
/**
|
|
198
|
-
* Opaque token of the enclosing transport execution, when one exists.
|
|
199
|
-
*
|
|
198
|
+
* Opaque token of the enclosing transport execution, when one exists. PTC
|
|
199
|
+
* mode sets this on SDK sub-dispatches so commit-style observers can wait for
|
|
200
200
|
* the outer `run_code` outcome without receiving its live mutable execution.
|
|
201
201
|
* The token also marks the call as a transport sub-dispatch rather than a
|
|
202
|
-
* model-direct call: under `mode: '
|
|
202
|
+
* model-direct call: under `mode: 'ptc'`, only calls WITH a parent may
|
|
203
203
|
* execute a native tool name — a model-direct call (no parent) is denied as
|
|
204
204
|
* `UNKNOWN_TOOL` before the policy pipeline. See {@link ToolRuntime.execute}.
|
|
205
205
|
*/
|
|
@@ -252,25 +252,25 @@ type ToolExecutionMode =
|
|
|
252
252
|
| { kind: 'exclusive' }
|
|
253
253
|
```
|
|
254
254
|
|
|
255
|
-
|
|
255
|
+
PTC mode 的桥接层还会把每个已结算的子分派暴露给 `tools/ptc-dispatch-log` waterfall,该 waterfall 可以更改持久事件所存的内容副本(程序取得的值和模型可见结果均不受影响):
|
|
256
256
|
|
|
257
257
|
```ts type-equiv
|
|
258
258
|
/**
|
|
259
259
|
* One settled `run_code` sub-dispatch about to be logged, as seen by the
|
|
260
|
-
* `tools/
|
|
260
|
+
* `tools/ptc-dispatch-log` waterfall: the parent execution (session owner,
|
|
261
261
|
* outer call identity), the sub-call identity, and the outcome whose durable
|
|
262
262
|
* copy a listener may reshape. `content` is the RENDERED result projection
|
|
263
263
|
* (what a native `tool/result` would carry) — the program itself received
|
|
264
264
|
* the structured `value` (or just the error message on failure); only the
|
|
265
265
|
* `tool/code-dispatch` event's copy changes.
|
|
266
266
|
*/
|
|
267
|
-
interface
|
|
267
|
+
interface PtcDispatchLog {
|
|
268
268
|
/** The outer `run_code` execution. */
|
|
269
269
|
readonly exec: ToolExecution
|
|
270
270
|
/** The calling agent (the scope routing key and the spill owner), when the outer call has one. */
|
|
271
271
|
readonly agent?: Agent
|
|
272
272
|
/** Deterministic sub-call id (`<parent>:code:<n>`). */
|
|
273
|
-
readonly subCallId:
|
|
273
|
+
readonly subCallId: ToolCallId
|
|
274
274
|
/** The dispatched sub-tool name. */
|
|
275
275
|
readonly name: string
|
|
276
276
|
/** Whether the sub-call settled as an error. */
|
|
@@ -290,7 +290,7 @@ interface CodeDispatchLog {
|
|
|
290
290
|
*/
|
|
291
291
|
interface ToolExecution extends ToolExecutionInput {
|
|
292
292
|
/** Root model-requested call, resolved for every root and nested execution. */
|
|
293
|
-
readonly rootCallId:
|
|
293
|
+
readonly rootCallId: ToolCallId
|
|
294
294
|
/** Registry-assigned identity shared with nested calls only as their opaque `parent` token. */
|
|
295
295
|
readonly token: ToolExecutionToken
|
|
296
296
|
}
|
|
@@ -463,9 +463,9 @@ type ObjectJsonSchema = JsonSchemaNode & { type: 'object' }
|
|
|
463
463
|
- `ToolCallView`(待执行):`{ card: 'generic', title, kind?, rawInput?, content?, locations? }`(默认卡片;`locations` 是 `{ path, line? }[]`,表示调用读取/修改的文件,供编辑器跟随)、`{ card: 'terminal', title, description?, cwd? }`(shell 命令→终端卡片)、或 `{ card: 'diff', title, diffs, locations? }`(文件创建/修改→行内 diff 卡片;`diffs` 是 `{ path, oldText, newText }[]`,新文件时 `oldText: null`)。
|
|
464
464
|
- `ToolResultView`(已完成):`{ card: 'generic', title?, content? }`、`{ card: 'terminal', title?, output?, exitCode?, signal? }`(捕获的运行输出 + 退出状态;有能力的 UI 显示退出状态标签,其他 UI 可以派生围栏 ` ```console ` 回退)、`{ card: 'diff', title?, diffs }`(已完成的文件变更→要展示的变更,通常是从变更前后内容计算出带上下文行的已应用 hunk,或在没有前像时的整文件 diff)、`{ card: 'search', shape, title?, truncated, total, … }`(已完成的发现型搜索→`shape: 'matches'`(grep)为按文件分组的匹配,`shape: 'paths'`(glob)为扁平路径列表;`truncated`/`total` 报告内联结果是否被截断,使 UI 永不把部分结果当作完整结果呈现;该视图不携带结果文本——无 search 卡片的 UI 回退到原始结果内容)、`{ card: 'read', title?, path, offset, lines, totalLines, lang?, content? }`(已完成的文件读取→带行号、可选语法高亮的代码视图;`offset` 是窗口请求的 1-based 起始行,即使 `lines` 为空也保留;`lang` 是从扩展名推得的语言提示,`content` 是无读取能力的 UI 回退时使用的去信封文本)、或 `{ card: 'web', kind: 'search' | 'fetch', title?, … }`(已完成的 web 检索;`kind: 'search'` 携带结构化的 `sources`/`answer?`/`truncated`,`kind: 'fetch'` 携带 `url`/`statusCode`/`truncated`,不具备 `web` 能力的 UI 回退到原始结果内容——正文不会重复进视图)。已完成视图会替换待执行视图,因此变更工具即使与调用时的片段重复也要返回 diff 结果;搜索和 web 检索都没有 `card` 的调用时对应视图(其 pending 状态保持为 generic 卡片,因为结构化结果只在 `execute` 之后才存在)。
|
|
465
465
|
|
|
466
|
-
`ToolCallKind`(`'read' | 'edit' | 'delete' | 'move' | 'search' | 'execute' | 'fetch' | 'other'`)用于为通用卡片选择图标。`FileLocation`(`{ path, line? }`)、`FileDiff`(`{ path, oldText, newText }`)与 `ReadFileLine`(`{ number, text }`,读取窗口中一行带 1-based 行号的内容)是共享的文件卡片词汇。该设计由[渲染意图联合类型 Agent Note](../../.agents/notes/implemented/architecture/2026-07-02-tool-render-intent-union.md)固定;host/client 运行时将这套中性词汇投影为各自的视图。
|
|
466
|
+
`ToolCallKind`(`'read' | 'edit' | 'delete' | 'move' | 'search' | 'execute' | 'fetch' | 'other'`)用于为通用卡片选择图标。`FileLocation`(`{ path, line? }`)、`FileDiff`(`{ path, oldText, newText }`)与 `ReadFileLine`(`{ number, text }`,读取窗口中一行带 1-based 行号的内容)是共享的文件卡片词汇。该设计由[渲染意图联合类型 Agent Note](../../.agents/notes/implemented/architecture/2026-07-02-tool-render-intent-union.zh.md)固定;host/client 运行时将这套中性词汇投影为各自的视图。
|
|
467
467
|
|
|
468
|
-
完整的展示字段文档见 [`packages/core/tools/src/presentation.ts`](../../packages/core/tools/src/presentation.ts)。`bash` schema 与执行器见 [shell.md](shell.md);通用后台控制见 [jobs.md](jobs.md)。
|
|
468
|
+
完整的展示字段文档见 [`packages/core/tools/src/presentation.ts`](../../packages/core/tools/src/presentation.ts)。`bash` schema 与执行器见 [shell.md](shell.zh.md);通用后台控制见 [jobs.md](jobs.zh.md)。
|
|
469
469
|
|
|
470
470
|
<!-- BEGIN GENERATED cordis-surface (gen-cordis-catalog.ts) — do not edit between markers -->
|
|
471
471
|
|
|
@@ -473,7 +473,7 @@ type ObjectJsonSchema = JsonSchemaNode & { type: 'object' }
|
|
|
473
473
|
|
|
474
474
|
## Cordis API
|
|
475
475
|
|
|
476
|
-
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`) —
|
|
476
|
+
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).
|
|
477
477
|
|
|
478
478
|
<a id="ctxtools--toolruntime"></a>
|
|
479
479
|
|
|
@@ -488,7 +488,7 @@ Tool registry and execution pipeline. Scoped registrations shadow globals; one v
|
|
|
488
488
|
* declaration covers every agent joined under it.
|
|
489
489
|
*
|
|
490
490
|
* Scoped only, and one declaration per scope: this is how an agent preset
|
|
491
|
-
* composes
|
|
491
|
+
* composes PTC mode agents beside native ones in the same process, and a
|
|
492
492
|
* process-global override would be the `mode` config field instead.
|
|
493
493
|
* @param mode - the presentation the covered agents' models see.
|
|
494
494
|
* @returns the exact disposer that restores the deployment default.
|
|
@@ -569,9 +569,9 @@ executionMode(exec: ToolExecutionInput): ToolExecutionMode
|
|
|
569
569
|
async execute(exec: ToolExecutionInput): Promise<ToolExecutionResult>
|
|
570
570
|
```
|
|
571
571
|
|
|
572
|
-
Types: [ScopeKey](scope.md)
|
|
572
|
+
Types: [ScopeKey](scope.zh.md)
|
|
573
573
|
|
|
574
|
-
Source: [`packages/core/tools/src/index.ts
|
|
574
|
+
Source: [`packages/core/tools/src/index.ts`](../../packages/core/tools/src/index.ts)
|
|
575
575
|
|
|
576
576
|
<a id="tools-events"></a>
|
|
577
577
|
|
|
@@ -596,34 +596,7 @@ A tool was registered or unregistered, or a scoped restriction changed (the avai
|
|
|
596
596
|
'tools/change'(): void
|
|
597
597
|
```
|
|
598
598
|
|
|
599
|
-
Source: [`packages/core/tools/src/index.ts
|
|
600
|
-
|
|
601
|
-
<a id="toolscode-dispatch-log--waterfall"></a>
|
|
602
|
-
|
|
603
|
-
#### `tools/code-dispatch-log` — waterfall
|
|
604
|
-
|
|
605
|
-
Allow a listener to replace content in the DURABLE LOG COPY of one `run_code` sub-dispatch outcome before the bridge appends its `tool/code-dispatch` event. `next()` keeps the content unchanged; a listener may return replacement blocks (e.g. the spill policy's preview + locator for an oversized text result). Only the logged copy is affected — the program already received the complete value, and the model sees neither. A throwing listener is contained: the bridge falls back to logging the original settled content. Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only that agent's dispatches.
|
|
606
|
-
|
|
607
|
-
```ts cordis-catalog
|
|
608
|
-
/**
|
|
609
|
-
* Allow a listener to replace content in the DURABLE LOG COPY of one
|
|
610
|
-
* `run_code` sub-dispatch outcome before the bridge appends its
|
|
611
|
-
* `tool/code-dispatch` event. `next()` keeps the
|
|
612
|
-
* content unchanged; a listener may return replacement blocks (e.g. the
|
|
613
|
-
* spill policy's preview + locator for an oversized text result). Only the
|
|
614
|
-
* logged copy is affected — the program already received the complete
|
|
615
|
-
* value, and the model sees neither. A throwing listener is contained:
|
|
616
|
-
* the bridge falls back to logging the original settled content.
|
|
617
|
-
* Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only that agent's dispatches.
|
|
618
|
-
* @param dispatch - the parent execution, sub-call identity, and the settled content to log.
|
|
619
|
-
* @mode waterfall
|
|
620
|
-
*/
|
|
621
|
-
'tools/code-dispatch-log'(this: Scoped<ToolRuntime>, dispatch: CodeDispatchLog, next: () => Promise<ContentBlock[]>): Promise<ContentBlock[]>
|
|
622
|
-
```
|
|
623
|
-
|
|
624
|
-
Types: [ContentBlock](llm-streaming.md) · [Scoped](scope.md)
|
|
625
|
-
|
|
626
|
-
Source: [`packages/core/tools/src/index.ts:189`](../../packages/core/tools/src/index.ts)
|
|
599
|
+
Source: [`packages/core/tools/src/index.ts`](../../packages/core/tools/src/index.ts)
|
|
627
600
|
|
|
628
601
|
<a id="toolsexecute--waterfall"></a>
|
|
629
602
|
|
|
@@ -645,9 +618,9 @@ Around-dispatch waterfall for timeout, retry, or metrics. `next()` returns a nor
|
|
|
645
618
|
'tools/execute'(this: Scoped<ToolRuntime>, exec: ToolDispatchExecution, next: () => Promise<ToolExecutionResult>): Promise<ToolExecutionResult>
|
|
646
619
|
```
|
|
647
620
|
|
|
648
|
-
Types: [Scoped](scope.md)
|
|
621
|
+
Types: [Scoped](scope.zh.md)
|
|
649
622
|
|
|
650
|
-
Source: [`packages/core/tools/src/index.ts
|
|
623
|
+
Source: [`packages/core/tools/src/index.ts`](../../packages/core/tools/src/index.ts)
|
|
651
624
|
|
|
652
625
|
<a id="toolspost-execute--waterfall"></a>
|
|
653
626
|
|
|
@@ -670,9 +643,9 @@ Accept, replace, enrich, or block a normalized dispatch result. `next()` accepts
|
|
|
670
643
|
'tools/post-execute'(this: Scoped<ToolRuntime>, exec: ToolExecution, result: Readonly<ToolExecutionResult>, next: () => Promise<PostToolDecision>): Promise<PostToolDecision>
|
|
671
644
|
```
|
|
672
645
|
|
|
673
|
-
Types: [Scoped](scope.md)
|
|
646
|
+
Types: [Scoped](scope.zh.md)
|
|
674
647
|
|
|
675
|
-
Source: [`packages/core/tools/src/index.ts
|
|
648
|
+
Source: [`packages/core/tools/src/index.ts`](../../packages/core/tools/src/index.ts)
|
|
676
649
|
|
|
677
650
|
<a id="toolspre-execute--waterfall"></a>
|
|
678
651
|
|
|
@@ -693,9 +666,36 @@ Allow, deny, or ask before dispatch. `next()` delegates to allow; missing approv
|
|
|
693
666
|
'tools/pre-execute'(this: Scoped<ToolRuntime>, exec: ToolExecution, next: () => Promise<PreToolDecision>): Promise<PreToolDecision>
|
|
694
667
|
```
|
|
695
668
|
|
|
696
|
-
Types: [Scoped](scope.md)
|
|
669
|
+
Types: [Scoped](scope.zh.md)
|
|
670
|
+
|
|
671
|
+
Source: [`packages/core/tools/src/index.ts`](../../packages/core/tools/src/index.ts)
|
|
672
|
+
|
|
673
|
+
<a id="toolsptc-dispatch-log--waterfall"></a>
|
|
674
|
+
|
|
675
|
+
#### `tools/ptc-dispatch-log` — waterfall
|
|
676
|
+
|
|
677
|
+
Allow a listener to replace content in the DURABLE LOG COPY of one `run_code` sub-dispatch outcome before the bridge appends its `tool/code-dispatch` event. `next()` keeps the content unchanged; a listener may return replacement blocks (e.g. the spill policy's preview + locator for an oversized text result). Only the logged copy is affected — the program already received the complete value, and the model sees neither. A throwing listener is contained: the bridge falls back to logging the original settled content. Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only that agent's dispatches.
|
|
678
|
+
|
|
679
|
+
```ts cordis-catalog
|
|
680
|
+
/**
|
|
681
|
+
* Allow a listener to replace content in the DURABLE LOG COPY of one
|
|
682
|
+
* `run_code` sub-dispatch outcome before the bridge appends its
|
|
683
|
+
* `tool/code-dispatch` event. `next()` keeps the
|
|
684
|
+
* content unchanged; a listener may return replacement blocks (e.g. the
|
|
685
|
+
* spill policy's preview + locator for an oversized text result). Only the
|
|
686
|
+
* logged copy is affected — the program already received the complete
|
|
687
|
+
* value, and the model sees neither. A throwing listener is contained:
|
|
688
|
+
* the bridge falls back to logging the original settled content.
|
|
689
|
+
* Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only that agent's dispatches.
|
|
690
|
+
* @param dispatch - the parent execution, sub-call identity, and the settled content to log.
|
|
691
|
+
* @mode waterfall
|
|
692
|
+
*/
|
|
693
|
+
'tools/ptc-dispatch-log'(this: Scoped<ToolRuntime>, dispatch: PtcDispatchLog, next: () => Promise<ContentBlock[]>): Promise<ContentBlock[]>
|
|
694
|
+
```
|
|
695
|
+
|
|
696
|
+
Types: [ContentBlock](llm-streaming.zh.md) · [Scoped](scope.zh.md)
|
|
697
697
|
|
|
698
|
-
Source: [`packages/core/tools/src/index.ts
|
|
698
|
+
Source: [`packages/core/tools/src/index.ts`](../../packages/core/tools/src/index.ts)
|
|
699
699
|
|
|
700
700
|
<a id="toolsresult--emit"></a>
|
|
701
701
|
|
|
@@ -714,7 +714,7 @@ Observe the frozen, lossless-JSON final outcome. Listener failures are contained
|
|
|
714
714
|
'tools/result'(this: Scoped<ToolRuntime>, exec: Readonly<ToolExecution>, result: Readonly<ToolExecutionResult>): undefined
|
|
715
715
|
```
|
|
716
716
|
|
|
717
|
-
Types: [Scoped](scope.md)
|
|
717
|
+
Types: [Scoped](scope.zh.md)
|
|
718
718
|
|
|
719
|
-
Source: [`packages/core/tools/src/index.ts
|
|
719
|
+
Source: [`packages/core/tools/src/index.ts`](../../packages/core/tools/src/index.ts)
|
|
720
720
|
<!-- 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/typert.md
|
|
5
|
-
typert.md:
|
|
6
|
-
typert.zh.md:
|
|
5
|
+
typert.md: 0f3d2b1afdc1b7713402abc5885dc9551e16ac14
|
|
6
|
+
typert.zh.md: a3c06489707e18433ed9018363c57ec76732e606
|
|
@@ -84,6 +84,8 @@ interface InvocationDescriptor {
|
|
|
84
84
|
readonly method: string
|
|
85
85
|
/** Service member invoked when the exported method name is an alias. */
|
|
86
86
|
readonly implementation?: string
|
|
87
|
+
/** Absent for unary calls; stream calls validate and deliver every yielded item. */
|
|
88
|
+
readonly mode?: 'stream'
|
|
87
89
|
/** Receiver selection mode. */
|
|
88
90
|
readonly invocation:
|
|
89
91
|
| { readonly kind: 'direct' }
|
|
@@ -95,7 +97,7 @@ interface InvocationDescriptor {
|
|
|
95
97
|
}
|
|
96
98
|
/** Optional consuming-Context projection for one direct lookup parameter. */
|
|
97
99
|
readonly scope?: {
|
|
98
|
-
/** Context kind whose Client
|
|
100
|
+
/** Context kind whose Client adapter supplies the identity. */
|
|
99
101
|
readonly context: string
|
|
100
102
|
/** Lookup parameter wire field replaced by the Context identity. */
|
|
101
103
|
readonly wire: string
|
|
@@ -107,7 +109,7 @@ interface InvocationDescriptor {
|
|
|
107
109
|
/** Reserved final Host method parameter. */
|
|
108
110
|
readonly parameter: 'signal'
|
|
109
111
|
}
|
|
110
|
-
/** Codec for the
|
|
112
|
+
/** Codec for the unary result or each yielded stream item. */
|
|
111
113
|
readonly result: TypertCodec
|
|
112
114
|
/** Source declaration used only for diagnostics. */
|
|
113
115
|
readonly sourceLocation?: InvocationSourceLocation
|
|
@@ -137,7 +139,7 @@ interface TypertRemoteNamespaceMap {}
|
|
|
137
139
|
|
|
138
140
|
## Host Gateway
|
|
139
141
|
|
|
140
|
-
Connection decodes its carrier envelope before calling `ctx.typertGateway`. The request carries exact named wire fields and the carrier's cancellation signal separately; infrastructure and boundary failures
|
|
142
|
+
Connection decodes its carrier envelope before calling `ctx.typertGateway`. The request carries exact named wire fields and the carrier's cancellation signal separately; infrastructure and boundary failures ride `TypertGatewayError`, whose `gateway/*` codes are ordinary `RemoteError` codes, so the RPC adapter passes every structurally identified `RemoteError` through with its code and details intact and folds only unrecognized exceptions into `gateway/internal`.
|
|
141
143
|
|
|
142
144
|
```ts type-equiv
|
|
143
145
|
/** One Remote method request after a carrier has decoded its envelope. */
|
|
@@ -156,35 +158,53 @@ interface InvokeRemoteRequest {
|
|
|
156
158
|
```ts type-equiv
|
|
157
159
|
/** Stable infrastructure and boundary failures emitted before or after business execution. */
|
|
158
160
|
type TypertGatewayErrorCode =
|
|
159
|
-
| 'ambiguous-endpoint'
|
|
160
|
-
| 'arguments-invalid'
|
|
161
|
-
| 'binding-invalid'
|
|
162
|
-
| 'context-failed'
|
|
163
|
-
| 'context-not-found'
|
|
164
|
-
| 'context-unavailable'
|
|
165
|
-
| 'definition-unavailable'
|
|
166
|
-
| 'input-invalid'
|
|
167
|
-
| 'invocation-unavailable'
|
|
168
|
-
| 'lookup-failed'
|
|
169
|
-
| 'lookup-not-found'
|
|
170
|
-
| 'lookup-unavailable'
|
|
171
|
-
| 'method-unavailable'
|
|
172
|
-
| 'provider-mismatch'
|
|
173
|
-
| 'result-invalid'
|
|
174
|
-
| 'service-unavailable'
|
|
175
|
-
| 'signature-invalid'
|
|
161
|
+
| 'gateway/ambiguous-endpoint'
|
|
162
|
+
| 'gateway/arguments-invalid'
|
|
163
|
+
| 'gateway/binding-invalid'
|
|
164
|
+
| 'gateway/context-failed'
|
|
165
|
+
| 'gateway/context-not-found'
|
|
166
|
+
| 'gateway/context-unavailable'
|
|
167
|
+
| 'gateway/definition-unavailable'
|
|
168
|
+
| 'gateway/input-invalid'
|
|
169
|
+
| 'gateway/invocation-unavailable'
|
|
170
|
+
| 'gateway/lookup-failed'
|
|
171
|
+
| 'gateway/lookup-not-found'
|
|
172
|
+
| 'gateway/lookup-unavailable'
|
|
173
|
+
| 'gateway/method-unavailable'
|
|
174
|
+
| 'gateway/provider-mismatch'
|
|
175
|
+
| 'gateway/result-invalid'
|
|
176
|
+
| 'gateway/service-unavailable'
|
|
177
|
+
| 'gateway/signature-invalid'
|
|
176
178
|
```
|
|
177
179
|
|
|
178
180
|
```ts type-equiv
|
|
179
181
|
/** Host dispatcher consumed by Connection adapters. */
|
|
180
182
|
interface TypertGateway {
|
|
183
|
+
/** Carrier adapter shared by WebSocket and in-process transports. */
|
|
184
|
+
readonly wireStream: TypertGatewayWireStream
|
|
185
|
+
/**
|
|
186
|
+
* Register the application-selected forwarded-event source.
|
|
187
|
+
* @param source - stream factory installed by the Remote assembly.
|
|
188
|
+
* @param host - stable Host facts included in each Client generation's opening frame.
|
|
189
|
+
* @returns disposer removing this exact source and cancelling its active streams.
|
|
190
|
+
*/
|
|
191
|
+
registerRemoteEvents(
|
|
192
|
+
source: TypertRemoteEventSource,
|
|
193
|
+
host: RemoteEventHostInfo,
|
|
194
|
+
): () => Promise<void>
|
|
181
195
|
/**
|
|
182
196
|
* Invoke one live Remote method without assuming a carrier or response envelope.
|
|
183
197
|
* @param request - decoded endpoint and named wire arguments.
|
|
184
|
-
* @returns the
|
|
198
|
+
* @returns the business result without output decoding.
|
|
185
199
|
* @throws {@link TypertGatewayError} for dispatch, provider, or boundary failures; lookup-policy and business errors retain identity.
|
|
186
200
|
*/
|
|
187
201
|
invoke(request: InvokeRemoteRequest): Promise<unknown>
|
|
202
|
+
/**
|
|
203
|
+
* Open one live stream Remote method without assuming a physical carrier.
|
|
204
|
+
* @param request - decoded endpoint and named wire arguments.
|
|
205
|
+
* @returns a cancellation-aware iterable over the business results.
|
|
206
|
+
*/
|
|
207
|
+
stream(request: InvokeRemoteRequest): Promise<AsyncIterable<unknown>>
|
|
188
208
|
}
|
|
189
209
|
```
|
|
190
210
|
|
|
@@ -202,26 +222,15 @@ interface TypertClientRemote extends TypertRemoteNamespaceMap {
|
|
|
202
222
|
*/
|
|
203
223
|
$mount(contribution: TypertRemoteContribution): Promise<TypertDisposer>
|
|
204
224
|
/**
|
|
205
|
-
* Subscribe to one forwarded Host event
|
|
206
|
-
* order
|
|
225
|
+
* Subscribe to one forwarded Host event. Notifications run in registration
|
|
226
|
+
* order and isolate failures; scoped waterfalls return, delegate through
|
|
227
|
+
* `next()`, or reject the Host dispatch.
|
|
207
228
|
* @template Event - forwarded event name selected by the Host assembly.
|
|
208
229
|
* @param event - forwarded Host event name, unchanged on the wire.
|
|
209
|
-
* @param listener - receives the
|
|
230
|
+
* @param listener - receives the Client projection of the Cordis `Events` declaration.
|
|
210
231
|
* @returns disposer owned by the calling fiber.
|
|
211
232
|
*/
|
|
212
|
-
$on<Event extends TypertRemoteEvent>(event: Event, listener:
|
|
213
|
-
/**
|
|
214
|
-
* Hand one decoded forwarded frame to the subscription table. The carrier
|
|
215
|
-
* owning the Host frame sink calls this; a consumer subscribes with
|
|
216
|
-
* {@link TypertClientRemote.$on} and never calls it.
|
|
217
|
-
*
|
|
218
|
-
* `event` is a plain string because this is the wire boundary: the name is
|
|
219
|
-
* whatever the Host assembly's allowlist selected, and one nobody subscribed
|
|
220
|
-
* to is dropped silently.
|
|
221
|
-
* @param event - forwarded Host event name, exactly as the Host emitted it.
|
|
222
|
-
* @param args - the Host argument list, already JSON-decoded.
|
|
223
|
-
*/
|
|
224
|
-
$dispatch(event: string, args: readonly unknown[]): void
|
|
233
|
+
$on<Event extends TypertRemoteEvent>(event: Event, listener: TypertClientEventListener<Event>): () => void
|
|
225
234
|
}
|
|
226
235
|
```
|
|
227
236
|
|
|
@@ -231,24 +240,7 @@ interface TypertClientRemote extends TypertRemoteNamespaceMap {
|
|
|
231
240
|
|
|
232
241
|
## Cordis API
|
|
233
242
|
|
|
234
|
-
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`) —
|
|
235
|
-
|
|
236
|
-
<a id="ctxapiproxy--apiproxy"></a>
|
|
237
|
-
|
|
238
|
-
### `ctx.apiProxy` — `ApiProxy`
|
|
239
|
-
|
|
240
|
-
Root interface of the unified API. New client-request domain = one new file pair + one field here + one map row.
|
|
241
|
-
|
|
242
|
-
```ts cordis-catalog
|
|
243
|
-
/**
|
|
244
|
-
* Response entry for server requests; not a domain method.
|
|
245
|
-
* @param message - Client response carrying the server request's rpcId.
|
|
246
|
-
* @returns Transport receipt for the response delivery.
|
|
247
|
-
*/
|
|
248
|
-
respond(message: ClientResponse): Promise<RpcReceipt>
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
Source: [`packages/host/apiproxy/src/api/index.ts:22`](../../packages/host/apiproxy/src/api/index.ts)
|
|
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`) — 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).
|
|
252
244
|
|
|
253
245
|
<a id="ctxtypert--typertregistry"></a>
|
|
254
246
|
|
|
@@ -314,7 +306,7 @@ toJSONSchema(key: string, params?: z.core.ToJSONSchemaParams): z.core.JSONSchema
|
|
|
314
306
|
|
|
315
307
|
Types: [TypertContribution](invariants.md) · [TypertFace](invariants.md) · [TypertPackageFilter](invariants.md) · [TypertPackageRecord](invariants.md) · [TypertSchemaFilter](invariants.md) · [TypertSchemaRecord](invariants.md)
|
|
316
308
|
|
|
317
|
-
Source: [`packages/typert/registry/src/service.ts
|
|
309
|
+
Source: [`packages/typert/registry/src/service.ts`](../../packages/typert/registry/src/service.ts)
|
|
318
310
|
|
|
319
311
|
<a id="ctxtypertgateway--typertgatewayservice"></a>
|
|
320
312
|
|
|
@@ -323,14 +315,29 @@ Source: [`packages/typert/registry/src/service.ts:446`](../../packages/typert/re
|
|
|
323
315
|
Resolve strict generated definitions or conservative SRC markers against current Cordis Services and Typert providers.
|
|
324
316
|
|
|
325
317
|
```ts cordis-catalog
|
|
318
|
+
/**
|
|
319
|
+
* Register the sole application-selected forwarded-event source.
|
|
320
|
+
* @param source - stream factory installed by the Remote assembly.
|
|
321
|
+
* @param host - stable Host facts included in each Client generation's opening frame.
|
|
322
|
+
* @returns disposer removing this source and cancelling its active streams.
|
|
323
|
+
*/
|
|
324
|
+
registerRemoteEvents( source: TypertRemoteEventSource, host: RemoteEventHostInfo, ): () => Promise<void>
|
|
325
|
+
|
|
326
326
|
/**
|
|
327
327
|
* Invoke one live Remote method through strict generated reflection or SRC markers.
|
|
328
328
|
* @param request - decoded endpoint and exact named wire arguments.
|
|
329
|
-
* @returns the
|
|
329
|
+
* @returns the business result without output decoding.
|
|
330
330
|
* @throws {@link TypertGatewayError} for dispatch, provider, or boundary failures; lookup-policy and business errors retain identity.
|
|
331
331
|
*/
|
|
332
332
|
async invoke(request: InvokeRemoteRequest): Promise<unknown>
|
|
333
|
+
|
|
334
|
+
/**
|
|
335
|
+
* Open one live stream Remote method without assuming a physical carrier.
|
|
336
|
+
* @param request - decoded endpoint and named wire arguments.
|
|
337
|
+
* @returns a cancellation-aware iterable over the business results.
|
|
338
|
+
*/
|
|
339
|
+
async stream(request: InvokeRemoteRequest): Promise<AsyncIterable<unknown>>
|
|
333
340
|
```
|
|
334
341
|
|
|
335
|
-
Source: [`packages/api/gateway/src/index.ts
|
|
342
|
+
Source: [`packages/api/gateway/src/index.ts`](../../packages/api/gateway/src/index.ts)
|
|
336
343
|
<!-- END GENERATED cordis-surface -->
|