dsh-plugin-guide 0.3.21 → 0.3.23
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 +15 -12
- package/README-hi.md +15 -12
- package/README-pt.md +15 -12
- package/README-zh.md +15 -12
- package/README.md +290 -280
- package/SKILL.md +36 -19
- package/dist/dsh-plugin-dev.js +113 -9
- package/guide/choosing-a-plugin.md +412 -0
- package/guide/choosing-a-plugin.zh-CN.md +414 -0
- package/guide/links.md +20 -2
- package/guide/migration-0.2.md +219 -0
- package/guide/plugin-dev-guide.md +99 -24
- package/guide/quick-reference.es.md +14 -8
- package/guide/quick-reference.hi.md +15 -9
- package/guide/quick-reference.md +18 -10
- package/guide/quick-reference.pt.md +15 -9
- package/guide/quick-reference.zh-CN.md +19 -11
- package/guide/release-engineering.md +2 -2
- package/guide/release-engineering.zh-CN.md +2 -2
- package/guide/unfixed-issues.md +117 -82
- package/guide/when-to-retire-a-plugin.md +127 -0
- package/guide/when-to-retire-a-plugin.zh-CN.md +127 -0
- package/icon.svg +5 -0
- package/locale/en.json +6 -0
- package/locale/zh.json +6 -0
- package/package.json +8 -4
- package/references/official-docs/AGENTS.md +8 -5
- package/references/official-docs/CONTRIBUTING.i18n.yaml +6 -5
- package/references/official-docs/README.i18n.yaml +33 -5
- package/references/official-docs/README.zh.md +3 -3
- package/references/official-docs/SNAPSHOT.md +3 -3
- package/references/official-docs/THIRD_PARTY_NOTICES.md +34 -6
- package/references/official-docs/docs/AGENTS.md +4 -4
- package/references/official-docs/docs/agent-lifecycle.i18n.yaml +9 -5
- package/references/official-docs/docs/api-gateway.i18n.yaml +27 -5
- package/references/official-docs/docs/api-gateway.md +10 -9
- package/references/official-docs/docs/api-gateway.zh.md +10 -9
- package/references/official-docs/docs/architecture.i18n.yaml +36 -5
- package/references/official-docs/docs/architecture.md +10 -8
- package/references/official-docs/docs/architecture.zh.md +10 -8
- package/references/official-docs/docs/capability-seams.i18n.yaml +9 -5
- package/references/official-docs/docs/capability-seams.md +76 -32
- package/references/official-docs/docs/capability-seams.zh.md +76 -32
- package/references/official-docs/docs/config-catalog.i18n.yaml +18 -5
- package/references/official-docs/docs/config-catalog.md +1360 -765
- package/references/official-docs/docs/config-catalog.zh.md +1363 -767
- package/references/official-docs/docs/cookbook/adding-a-package.i18n.yaml +27 -5
- package/references/official-docs/docs/cookbook/adding-a-package.md +56 -3
- package/references/official-docs/docs/cookbook/adding-a-package.zh.md +54 -3
- package/references/official-docs/docs/cookbook/adding-a-remote-api.i18n.yaml +24 -5
- package/references/official-docs/docs/cookbook/adding-a-remote-api.md +2 -2
- package/references/official-docs/docs/cookbook/adding-a-remote-api.zh.md +2 -2
- package/references/official-docs/docs/cookbook/adding-a-session-format-version.i18n.yaml +39 -5
- package/references/official-docs/docs/cookbook/adding-a-session-format-version.md +46 -6
- package/references/official-docs/docs/cookbook/adding-a-session-format-version.zh.md +46 -6
- package/references/official-docs/docs/cookbook/adding-a-settings-card.i18n.yaml +21 -5
- package/references/official-docs/docs/cookbook/adding-a-settings-card.md +34 -64
- package/references/official-docs/docs/cookbook/adding-a-settings-card.zh.md +34 -64
- package/references/official-docs/docs/cookbook/adding-a-tool.i18n.yaml +30 -5
- package/references/official-docs/docs/cookbook/adding-a-tool.md +2 -2
- package/references/official-docs/docs/cookbook/adding-a-tool.zh.md +2 -2
- package/references/official-docs/docs/cookbook/adding-a-vendored-package.i18n.yaml +18 -5
- package/references/official-docs/docs/cookbook/adding-an-llm-adapter.i18n.yaml +18 -5
- package/references/official-docs/docs/cookbook/extension-cookbook.i18n.yaml +24 -5
- package/references/official-docs/docs/cookbook/extension-cookbook.md +3 -3
- package/references/official-docs/docs/cookbook/extension-cookbook.zh.md +3 -3
- package/references/official-docs/docs/cookbook/maintaining-dsh-code-review.i18n.yaml +21 -5
- package/references/official-docs/docs/cookbook/responding-to-pr-review-on-a-stack.i18n.yaml +15 -5
- package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.i18n.yaml +30 -5
- package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.md +13 -1
- package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.zh.md +13 -1
- package/references/official-docs/docs/cordis-api/context.i18n.yaml +72 -5
- package/references/official-docs/docs/cordis-api/events.i18n.yaml +36 -5
- package/references/official-docs/docs/cordis-api/fiber.i18n.yaml +75 -5
- package/references/official-docs/docs/cordis-api/inherited.md +15 -13
- package/references/official-docs/docs/cordis-api/registry.i18n.yaml +21 -5
- package/references/official-docs/docs/cordis-api/service.i18n.yaml +36 -5
- package/references/official-docs/docs/cordis-primer.i18n.yaml +21 -5
- package/references/official-docs/docs/cordis-tutorial/01-first-plugin.i18n.yaml +21 -5
- package/references/official-docs/docs/cordis-tutorial/02-lifecycle-and-effects.i18n.yaml +15 -5
- package/references/official-docs/docs/cordis-tutorial/03-services.i18n.yaml +21 -5
- package/references/official-docs/docs/cordis-tutorial/04-events.i18n.yaml +15 -5
- package/references/official-docs/docs/cordis-tutorial/05-config.i18n.yaml +18 -5
- package/references/official-docs/docs/cordis-tutorial/05-config.md +27 -0
- package/references/official-docs/docs/cordis-tutorial/05-config.zh.md +27 -0
- package/references/official-docs/docs/cordis-tutorial/06-composition-and-hmr.i18n.yaml +15 -5
- package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.i18n.yaml +18 -5
- package/references/official-docs/docs/cordis-tutorial/index.i18n.yaml +15 -5
- package/references/official-docs/docs/deepseek-llm-api-wire-extensions.i18n.yaml +33 -5
- package/references/official-docs/docs/deepseek-llm-api-wire-extensions.md +7 -7
- package/references/official-docs/docs/deepseek-llm-api-wire-extensions.zh.md +7 -7
- package/references/official-docs/docs/defensive-patterns.i18n.yaml +27 -5
- package/references/official-docs/docs/dependency-catalog.json +2 -2
- package/references/official-docs/docs/development.i18n.yaml +48 -5
- package/references/official-docs/docs/development.md +27 -10
- package/references/official-docs/docs/development.zh.md +27 -10
- package/references/official-docs/docs/event-producer-consumer.i18n.yaml +12 -5
- package/references/official-docs/docs/event-producer-consumer.md +78 -66
- package/references/official-docs/docs/event-producer-consumer.zh.md +78 -66
- package/references/official-docs/docs/glossary.i18n.yaml +24 -5
- package/references/official-docs/docs/graph-atlas.i18n.yaml +9 -5
- package/references/official-docs/docs/i18n/README.i18n.yaml +18 -5
- package/references/official-docs/docs/i18n/README.md +12 -8
- package/references/official-docs/docs/i18n/README.zh.md +12 -8
- package/references/official-docs/docs/i18n/terminology.md +4 -4
- package/references/official-docs/docs/i18n/translation-prompt.md +2 -2
- package/references/official-docs/docs/i18n/translation-rules.i18n.yaml +27 -5
- package/references/official-docs/docs/module-graph.i18n.yaml +9 -5
- package/references/official-docs/docs/module-graph.md +348 -245
- package/references/official-docs/docs/module-graph.zh.md +348 -245
- package/references/official-docs/docs/persistence-catalog.i18n.yaml +2064 -5
- package/references/official-docs/docs/persistence-catalog.md +5275 -3205
- package/references/official-docs/docs/persistence-catalog.zh.md +5275 -3205
- package/references/official-docs/docs/persistence-changes/2026-09-11-initial.i18n.yaml +27 -5
- package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.i18n.yaml +27 -5
- package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.i18n.yaml +27 -5
- package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.i18n.yaml +27 -5
- package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.i18n.yaml +28 -0
- package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.md +120 -0
- package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.schema.json +16212 -0
- package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.zh.md +120 -0
- package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.i18n.yaml +28 -0
- package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.md +48 -0
- package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.schema.json +302 -0
- package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.zh.md +48 -0
- package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.i18n.yaml +28 -0
- package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.md +48 -0
- package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.schema.json +250 -0
- package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.zh.md +48 -0
- package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.i18n.yaml +28 -0
- package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.md +60 -0
- package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.schema.json +11405 -0
- package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.zh.md +60 -0
- package/references/official-docs/docs/persistence-changes/README.i18n.yaml +27 -5
- package/references/official-docs/docs/persistence-changes/README.md +17 -3
- package/references/official-docs/docs/persistence-changes/README.zh.md +17 -3
- package/references/official-docs/docs/persistence-changes/finalized/v4.json +379 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/README.i18n.yaml +27 -5
- package/references/official-docs/docs/persistence-changes/historical-formats/README.md +3 -2
- package/references/official-docs/docs/persistence-changes/historical-formats/README.zh.md +3 -2
- package/references/official-docs/docs/persistence-changes/historical-formats/v0.i18n.yaml +1284 -5
- package/references/official-docs/docs/persistence-changes/historical-formats/v1.i18n.yaml +1284 -5
- package/references/official-docs/docs/persistence-changes/historical-formats/v2.i18n.yaml +1344 -5
- package/references/official-docs/docs/persistence-changes/historical-formats/v3.i18n.yaml +1441 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/v3.md +5634 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/v3.schema.json +61307 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/v3.zh.md +5634 -0
- package/references/official-docs/docs/persistence-changes/releases/README.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.schema.json +3 -3
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-schema.json +12692 -48753
- package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.i18n.yaml +33 -5
- package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.i18n.yaml +27 -5
- package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.i18n.yaml +27 -5
- package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.i18n.yaml +27 -5
- package/references/official-docs/docs/postmortem/README.i18n.yaml +6 -5
- package/references/official-docs/docs/rescope.i18n.yaml +18 -5
- package/references/official-docs/docs/rescope.md +1 -1
- package/references/official-docs/docs/rescope.zh.md +1 -1
- package/references/official-docs/docs/session-format-status.i18n.yaml +27 -5
- package/references/official-docs/docs/session-format-status.md +17 -3
- package/references/official-docs/docs/session-format-status.zh.md +17 -3
- package/references/official-docs/docs/subsystems/README.i18n.yaml +6 -5
- package/references/official-docs/docs/subsystems/README.md +6 -3
- package/references/official-docs/docs/subsystems/README.zh.md +6 -3
- package/references/official-docs/docs/subsystems/agent-team.i18n.yaml +21 -5
- package/references/official-docs/docs/subsystems/agent-team.md +52 -28
- package/references/official-docs/docs/subsystems/agent-team.zh.md +52 -28
- package/references/official-docs/docs/subsystems/approval.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/approval.md +1 -1
- package/references/official-docs/docs/subsystems/approval.zh.md +1 -1
- package/references/official-docs/docs/subsystems/attachment.i18n.yaml +12 -5
- package/references/official-docs/docs/subsystems/attachment.md +2 -2
- package/references/official-docs/docs/subsystems/attachment.zh.md +2 -2
- package/references/official-docs/docs/subsystems/boot.i18n.yaml +9 -5
- package/references/official-docs/docs/subsystems/boot.md +117 -17
- package/references/official-docs/docs/subsystems/boot.zh.md +117 -17
- package/references/official-docs/docs/subsystems/browser-use.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/claude-code-mods.i18n.yaml +28 -0
- package/references/official-docs/docs/subsystems/claude-code-mods.md +146 -0
- package/references/official-docs/docs/subsystems/claude-code-mods.zh.md +146 -0
- package/references/official-docs/docs/subsystems/client-modules.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/client-modules.md +13 -7
- package/references/official-docs/docs/subsystems/client-modules.zh.md +13 -7
- package/references/official-docs/docs/subsystems/client-resources.i18n.yaml +21 -5
- package/references/official-docs/docs/subsystems/commands.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/commands.md +1 -1
- package/references/official-docs/docs/subsystems/commands.zh.md +1 -1
- package/references/official-docs/docs/subsystems/compaction.i18n.yaml +21 -5
- package/references/official-docs/docs/subsystems/compaction.md +2 -2
- package/references/official-docs/docs/subsystems/compaction.zh.md +2 -2
- package/references/official-docs/docs/subsystems/computer-use.i18n.yaml +15 -5
- package/references/official-docs/docs/subsystems/conversation.i18n.yaml +30 -5
- package/references/official-docs/docs/subsystems/conversation.md +35 -6
- package/references/official-docs/docs/subsystems/conversation.zh.md +34 -5
- package/references/official-docs/docs/subsystems/core.i18n.yaml +36 -5
- package/references/official-docs/docs/subsystems/core.md +70 -214
- package/references/official-docs/docs/subsystems/core.zh.md +70 -214
- package/references/official-docs/docs/subsystems/credentials.i18n.yaml +24 -5
- package/references/official-docs/docs/subsystems/credentials.md +168 -5
- package/references/official-docs/docs/subsystems/credentials.zh.md +168 -5
- package/references/official-docs/docs/subsystems/deliverables.i18n.yaml +27 -5
- package/references/official-docs/docs/subsystems/extensions.i18n.yaml +6 -5
- package/references/official-docs/docs/subsystems/extensions.md +6 -4
- package/references/official-docs/docs/subsystems/extensions.zh.md +6 -4
- package/references/official-docs/docs/subsystems/feedback.i18n.yaml +27 -5
- package/references/official-docs/docs/subsystems/filesystem.i18n.yaml +33 -5
- package/references/official-docs/docs/subsystems/filesystem.md +10 -0
- package/references/official-docs/docs/subsystems/filesystem.zh.md +10 -0
- package/references/official-docs/docs/subsystems/goal.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/goal.md +1 -1
- package/references/official-docs/docs/subsystems/goal.zh.md +1 -1
- package/references/official-docs/docs/subsystems/jobs.i18n.yaml +24 -5
- package/references/official-docs/docs/subsystems/jobs.md +335 -126
- package/references/official-docs/docs/subsystems/jobs.zh.md +335 -126
- package/references/official-docs/docs/subsystems/llm-streaming.i18n.yaml +48 -5
- package/references/official-docs/docs/subsystems/llm-streaming.md +60 -31
- package/references/official-docs/docs/subsystems/llm-streaming.zh.md +60 -31
- package/references/official-docs/docs/subsystems/lsp.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/mcp.i18n.yaml +33 -5
- package/references/official-docs/docs/subsystems/mcp.md +2 -2
- package/references/official-docs/docs/subsystems/mcp.zh.md +2 -2
- package/references/official-docs/docs/subsystems/office-to-pdf.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/office-to-pdf.md +4 -4
- package/references/official-docs/docs/subsystems/office-to-pdf.zh.md +4 -4
- package/references/official-docs/docs/subsystems/otel.i18n.yaml +7 -0
- package/references/official-docs/docs/subsystems/otel.md +44 -0
- package/references/official-docs/docs/subsystems/otel.zh.md +44 -0
- package/references/official-docs/docs/subsystems/permission-presets.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/permission-presets.md +7 -6
- package/references/official-docs/docs/subsystems/permission-presets.zh.md +7 -6
- package/references/official-docs/docs/subsystems/persistence.i18n.yaml +36 -5
- package/references/official-docs/docs/subsystems/persistence.md +3 -3
- package/references/official-docs/docs/subsystems/persistence.zh.md +3 -3
- package/references/official-docs/docs/subsystems/plan.i18n.yaml +21 -5
- package/references/official-docs/docs/subsystems/plan.md +1 -1
- package/references/official-docs/docs/subsystems/plan.zh.md +1 -1
- package/references/official-docs/docs/subsystems/product-telemetry.i18n.yaml +10 -0
- package/references/official-docs/docs/subsystems/product-telemetry.md +79 -0
- package/references/official-docs/docs/subsystems/product-telemetry.zh.md +79 -0
- package/references/official-docs/docs/subsystems/ptc-runtime.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/sandbox.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/sandbox.md +1 -1
- package/references/official-docs/docs/subsystems/sandbox.zh.md +1 -1
- package/references/official-docs/docs/subsystems/schedule.i18n.yaml +39 -5
- package/references/official-docs/docs/subsystems/schedule.md +391 -33
- package/references/official-docs/docs/subsystems/schedule.zh.md +391 -33
- package/references/official-docs/docs/subsystems/scope.i18n.yaml +15 -5
- package/references/official-docs/docs/subsystems/scope.md +1 -1
- package/references/official-docs/docs/subsystems/scope.zh.md +1 -1
- package/references/official-docs/docs/subsystems/session-projection.i18n.yaml +15 -5
- package/references/official-docs/docs/subsystems/session-projection.md +20 -18
- package/references/official-docs/docs/subsystems/session-projection.zh.md +20 -18
- package/references/official-docs/docs/subsystems/session-query.i18n.yaml +27 -5
- package/references/official-docs/docs/subsystems/session-reference.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/session-telemetry.i18n.yaml +21 -5
- package/references/official-docs/docs/subsystems/session-telemetry.md +6 -4
- package/references/official-docs/docs/subsystems/session-telemetry.zh.md +6 -4
- package/references/official-docs/docs/subsystems/session-title.i18n.yaml +15 -5
- package/references/official-docs/docs/subsystems/session.i18n.yaml +66 -5
- package/references/official-docs/docs/subsystems/session.md +113 -62
- package/references/official-docs/docs/subsystems/session.zh.md +113 -62
- package/references/official-docs/docs/subsystems/settings.i18n.yaml +12 -5
- package/references/official-docs/docs/subsystems/settings.md +42 -292
- package/references/official-docs/docs/subsystems/settings.zh.md +42 -292
- package/references/official-docs/docs/subsystems/shell.i18n.yaml +24 -5
- package/references/official-docs/docs/subsystems/shell.md +29 -22
- package/references/official-docs/docs/subsystems/shell.zh.md +29 -22
- package/references/official-docs/docs/subsystems/sidebar-right.i18n.yaml +36 -5
- package/references/official-docs/docs/subsystems/sidebar-right.md +14 -9
- package/references/official-docs/docs/subsystems/sidebar-right.zh.md +14 -9
- package/references/official-docs/docs/subsystems/skills.i18n.yaml +27 -5
- package/references/official-docs/docs/subsystems/skills.md +2 -2
- package/references/official-docs/docs/subsystems/skills.zh.md +2 -2
- package/references/official-docs/docs/subsystems/slots.i18n.yaml +27 -5
- package/references/official-docs/docs/subsystems/slots.md +21 -7
- package/references/official-docs/docs/subsystems/slots.zh.md +21 -7
- package/references/official-docs/docs/subsystems/spill.i18n.yaml +15 -5
- package/references/official-docs/docs/subsystems/spill.md +1 -1
- package/references/official-docs/docs/subsystems/spill.zh.md +1 -1
- package/references/official-docs/docs/subsystems/ssh.i18n.yaml +21 -5
- package/references/official-docs/docs/subsystems/storage.i18n.yaml +24 -5
- package/references/official-docs/docs/subsystems/storage.md +1 -2
- package/references/official-docs/docs/subsystems/storage.zh.md +1 -2
- package/references/official-docs/docs/subsystems/subagent.i18n.yaml +30 -5
- package/references/official-docs/docs/subsystems/subagent.md +35 -60
- package/references/official-docs/docs/subsystems/subagent.zh.md +35 -60
- package/references/official-docs/docs/subsystems/subprocess.i18n.yaml +30 -5
- package/references/official-docs/docs/subsystems/system-prompt.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/terminal.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/todo.i18n.yaml +12 -5
- package/references/official-docs/docs/subsystems/todo.md +3 -3
- package/references/official-docs/docs/subsystems/todo.zh.md +3 -3
- package/references/official-docs/docs/subsystems/token-meter.i18n.yaml +12 -5
- package/references/official-docs/docs/subsystems/tools.i18n.yaml +24 -5
- package/references/official-docs/docs/subsystems/tools.md +15 -4
- package/references/official-docs/docs/subsystems/tools.zh.md +15 -4
- package/references/official-docs/docs/subsystems/typert.i18n.yaml +21 -5
- package/references/official-docs/docs/subsystems/typert.md +147 -6
- package/references/official-docs/docs/subsystems/typert.zh.md +147 -6
- package/references/official-docs/docs/subsystems/user-questions.i18n.yaml +27 -5
- package/references/official-docs/docs/subsystems/user-questions.md +128 -1
- package/references/official-docs/docs/subsystems/user-questions.zh.md +129 -2
- package/references/official-docs/docs/subsystems/voice-input.i18n.yaml +19 -0
- package/references/official-docs/docs/subsystems/voice-input.md +164 -0
- package/references/official-docs/docs/subsystems/voice-input.zh.md +164 -0
- package/references/official-docs/docs/subsystems/web-client.i18n.yaml +36 -5
- package/references/official-docs/docs/subsystems/web-client.md +10 -5
- package/references/official-docs/docs/subsystems/web-client.zh.md +10 -5
- package/references/official-docs/docs/subsystems/web-server.i18n.yaml +15 -5
- package/references/official-docs/docs/subsystems/web-server.md +12 -4
- package/references/official-docs/docs/subsystems/web-server.zh.md +12 -4
- package/references/official-docs/docs/subsystems/web.i18n.yaml +27 -5
- package/references/official-docs/docs/subsystems/webhook.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/webhook.md +1 -1
- package/references/official-docs/docs/subsystems/webhook.zh.md +1 -1
- package/references/official-docs/docs/subsystems/workflow.i18n.yaml +27 -5
- package/references/official-docs/docs/subsystems/workflow.md +2 -2
- package/references/official-docs/docs/subsystems/workflow.zh.md +2 -2
- package/references/official-docs/docs/subsystems/workspace.i18n.yaml +27 -5
- package/references/official-docs/docs/subsystems/workspace.md +175 -35
- package/references/official-docs/docs/subsystems/workspace.zh.md +175 -35
- package/references/official-docs/docs/testing.i18n.yaml +33 -5
- package/references/official-docs/docs/testing.md +2 -2
- package/references/official-docs/docs/testing.zh.md +2 -2
- package/references/official-docs/docs/tool-catalog.i18n.yaml +312 -5
- package/references/official-docs/docs/tool-catalog.md +321 -92
- package/references/official-docs/docs/tool-catalog.zh.md +321 -92
- package/references/official-docs/docs/tool-execution-pipeline.i18n.yaml +9 -5
- package/references/official-docs/docs/tool-execution-pipeline.md +6 -3
- package/references/official-docs/docs/tool-execution-pipeline.zh.md +6 -3
- package/references/official-docs/docs/ui-radius.i18n.yaml +31 -0
- package/references/official-docs/docs/ui-radius.md +115 -0
- package/references/official-docs/docs/ui-radius.zh.md +115 -0
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.md +22 -0
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.zh.md +22 -0
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.md +25 -0
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.zh.md +25 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.md +18 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.zh.md +18 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.md +23 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.zh.md +23 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.md +22 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.zh.md +22 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.md +27 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.zh.md +27 -0
- package/references/official-docs/docs/user/develop/basic/config.i18n.yaml +27 -5
- package/references/official-docs/docs/user/develop/basic/index.i18n.yaml +36 -5
- package/references/official-docs/docs/user/develop/basic/publish.i18n.yaml +30 -5
- package/references/official-docs/docs/user/develop/basic/publish.md +7 -1
- package/references/official-docs/docs/user/develop/basic/publish.zh.md +7 -1
- package/references/official-docs/docs/user/develop/basic/tool.i18n.yaml +15 -5
- package/references/official-docs/docs/user/develop/framework/events.i18n.yaml +45 -5
- package/references/official-docs/docs/user/develop/framework/index.i18n.yaml +30 -5
- package/references/official-docs/docs/user/develop/framework/service.i18n.yaml +39 -5
- package/references/official-docs/docs/user/develop/practice/dynamic-cordis.i18n.yaml +9 -5
- package/references/official-docs/docs/user/develop/practice/index.i18n.yaml +45 -5
- package/references/official-docs/docs/user/develop/practice/llm-adapter.i18n.yaml +33 -5
- package/references/official-docs/docs/user/develop/practice/llm-adapter.md +1 -1
- package/references/official-docs/docs/user/develop/practice/llm-adapter.zh.md +1 -1
- package/references/official-docs/docs/user/guide/github-review.i18n.yaml +24 -5
- package/references/official-docs/docs/user/guide/index.i18n.yaml +18 -5
- package/references/official-docs/docs/user/guide/index.md +1 -0
- package/references/official-docs/docs/user/guide/index.zh.md +1 -0
- package/references/official-docs/docs/user/guide/mcp-memory.i18n.yaml +36 -5
- package/references/official-docs/docs/user/guide/network-proxy.i18n.yaml +24 -5
- package/references/official-docs/docs/user/guide/providers-custom-form.png +0 -0
- package/references/official-docs/docs/user/guide/providers-custom-form.zh.png +0 -0
- package/references/official-docs/docs/user/guide/providers-models-page.png +0 -0
- package/references/official-docs/docs/user/guide/providers-models-page.zh.png +0 -0
- package/references/official-docs/docs/user/guide/providers.i18n.yaml +36 -5
- package/references/official-docs/docs/user/guide/providers.md +88 -78
- package/references/official-docs/docs/user/guide/providers.zh.md +102 -92
- package/references/official-docs/docs/user/guide/public-deployments.i18n.yaml +19 -0
- package/references/official-docs/docs/user/guide/public-deployments.md +33 -0
- package/references/official-docs/docs/user/guide/public-deployments.zh.md +33 -0
- package/references/official-docs/docs/user/guide/python-sdk.i18n.yaml +27 -5
- package/references/official-docs/docs/user/guide/python-sdk.md +1 -1
- package/references/official-docs/docs/user/guide/python-sdk.zh.md +1 -1
- package/references/official-docs/docs/user/guide/schedule.i18n.yaml +30 -5
- package/references/official-docs/docs/user/guide/schedule.md +69 -11
- package/references/official-docs/docs/user/guide/schedule.zh.md +69 -11
- package/references/official-docs/docs/user/index.i18n.yaml +9 -5
- package/references/official-docs/docs/web-styling.i18n.yaml +18 -5
- package/references/official-docs/docs/web-styling.md +12 -3
- package/references/official-docs/docs/web-styling.zh.md +12 -3
- package/references/official-docs/packages/AGENTS.md +1 -2
- package/references/official-docs/packages/README.md +5 -5
- package/references/official-docs/vendor/README.md +6 -2
- package/references/official-docs/website-docs.ts +10 -3
- package/references/official-plugin-dev-skill.md +124 -0
- package/references/sources.md +10 -5
- package/scripts/archive-discussions.ps1 +9 -1
- package/scripts/build-llms-full.mjs +64 -0
- package/scripts/check-docs-drift.ps1 +1 -1
- package/scripts/sync-official-docs.ps1 +1 -1
- package/templates/js/icon.svg +4 -0
- package/templates/js/locale/en.json +6 -0
- package/templates/js/locale/zh.json +6 -0
- package/templates/js/package.json +9 -1
- package/templates/ts/icon.svg +4 -0
- package/templates/ts/locale/en.json +6 -0
- package/templates/ts/locale/zh.json +6 -0
- package/templates/ts/package.json +9 -1
- package/references/official-docs/docs/subsystems/invariants.i18n.yaml +0 -6
- package/references/official-docs/docs/subsystems/invariants.md +0 -88
- package/references/official-docs/docs/subsystems/invariants.zh.md +0 -88
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
仅追加的事件类型。可通过声明合并扩展:插件通过 declaration merging 声明额外的事件类型。例如[压缩(compaction) seam](compaction.zh.md) 添加了 `compaction/start` / `compaction/summary` / `compaction/end`,`@deepseek-ai/dsh-hook-protocol` 为钩子桥接添加了仅记录日志的 `hook/invoked` / `hook/result` 记录。与 `compaction/*` 一样,这些都不是 `SurfaceEventType`(没有 `surfaceOp`)。生成的[持久化日志事件目录](../persistence-catalog.zh.md)列举了所有成员(核心与合并扩展的),包含其 payload、surface 标记与声明位置。
|
|
12
12
|
|
|
13
13
|
```ts type-equiv
|
|
14
|
-
/** A user-role specialization of the
|
|
15
|
-
interface UserMessage extends
|
|
14
|
+
/** A user-role specialization of the shared message representation. */
|
|
15
|
+
interface UserMessage extends MessageBase {
|
|
16
16
|
readonly role: 'user'
|
|
17
17
|
}
|
|
18
18
|
```
|
|
@@ -53,6 +53,14 @@ interface SessionEventMap {
|
|
|
53
53
|
* project their `content` verbatim; `source` tells them apart.
|
|
54
54
|
*/
|
|
55
55
|
'user/message': UserMessage
|
|
56
|
+
/** An incremental agent session change admitted at the named turn and step. */
|
|
57
|
+
'developer/message': {
|
|
58
|
+
turn: number
|
|
59
|
+
step: number
|
|
60
|
+
message: DeveloperMessage
|
|
61
|
+
/** Earlier request/header defining every tool addition; required exactly when additions are present. */
|
|
62
|
+
headerSeq?: SessionSeq
|
|
63
|
+
}
|
|
56
64
|
/**
|
|
57
65
|
* The rendered system prompt on the model-visible surface. The loop appends
|
|
58
66
|
* the first one as surface node 0 before the step's first `user/message`.
|
|
@@ -116,7 +124,7 @@ interface SessionEventMap {
|
|
|
116
124
|
message: ToolResultMessage
|
|
117
125
|
/**
|
|
118
126
|
* Optional failure identity and raw user-facing reason, outside model content;
|
|
119
|
-
* allowed only when the
|
|
127
|
+
* allowed only when the message has `isError: true`.
|
|
120
128
|
*/
|
|
121
129
|
error?: { name: string; code: string; reason?: string }
|
|
122
130
|
meta?: JsonValue
|
|
@@ -128,7 +136,7 @@ interface SessionEventMap {
|
|
|
128
136
|
'request/header': {
|
|
129
137
|
header: EpochHeader
|
|
130
138
|
reason: RequestHeaderReason
|
|
131
|
-
/**
|
|
139
|
+
/** This request begins a distinct model-message series, independently of the header reason. */
|
|
132
140
|
startsSeries?: true
|
|
133
141
|
}
|
|
134
142
|
/**
|
|
@@ -139,18 +147,20 @@ interface SessionEventMap {
|
|
|
139
147
|
*/
|
|
140
148
|
'request/context': RequestContext
|
|
141
149
|
/**
|
|
142
|
-
*
|
|
143
|
-
*
|
|
144
|
-
*
|
|
145
|
-
*
|
|
150
|
+
* Separates inherited or restored history from later lifecycle-owned work.
|
|
151
|
+
* This log-only marker need not be at {@link Session.firstLiveSeq}: a fork
|
|
152
|
+
* seed can already contain its tagged marker and child-owned synthetic
|
|
153
|
+
* closers before construction.
|
|
146
154
|
*
|
|
147
155
|
* A fresh fork child owns one `{ inherited: true }` marker at its exact
|
|
148
156
|
* inherited-prefix cut, even when that prefix ends in an ancestor marker.
|
|
149
|
-
*
|
|
150
|
-
*
|
|
157
|
+
* `buildForkSeed` appends that marker before any synthetic closers; the
|
|
158
|
+
* `Session` constructor supplies it when given only the inherited prefix.
|
|
159
|
+
* The last tagged marker is the current Session's cut; untagged markers
|
|
160
|
+
* keep ordinary restore and replay lifecycle boundaries.
|
|
151
161
|
*
|
|
152
|
-
* `Session`
|
|
153
|
-
*
|
|
162
|
+
* Only the `Session` constructor and `buildForkSeed` may create this marker.
|
|
163
|
+
* Session append does not reject other writers, so a plugin appending one
|
|
154
164
|
* would silently classify every live bracket before it as seed history.
|
|
155
165
|
*
|
|
156
166
|
* An owner of a standalone open/close bracket (`compaction/start` …
|
|
@@ -170,7 +180,7 @@ interface SessionEventMap {
|
|
|
170
180
|
|
|
171
181
|
### 请求头事件:`request/header`
|
|
172
182
|
|
|
173
|
-
请求信封(即 `EpochHeader`:调用配置 + 适配器所提供默认值的标记 + 已组装的工具 schema)会作为会话状态写入日志,因此每个对话请求都是日志的纯函数(见可重建性 Agent Note)。渲染后的系统提示词不属于请求头:它是派生历史,即 surface 第 0 号节点上的 `system/message` 事件以及任何后续的历史内系统节点([决策](../../.agents/notes/implemented/architecture/2026-09-02-system-prompt-as-surface-node.zh.md)),因此提示词变更替换或追加一个系统节点,而请求头保持不变。带有 reason `'initial'` 或 `'resume'` 的完整 `request/header` 快照记录每个 agent loop 实例的边界;请求变化时会追加 reason 为 `'change'` 的快照;未变的信封显式开启消息序列或跟随 surface 替换时,会追加 reason 为 `'series'`
|
|
183
|
+
请求信封(即 `EpochHeader`:调用配置 + 适配器所提供默认值的标记 + 已组装的工具 schema)会作为会话状态写入日志,因此每个对话请求都是日志的纯函数(见可重建性 Agent Note)。渲染后的系统提示词不属于请求头:它是派生历史,即 surface 第 0 号节点上的 `system/message` 事件以及任何后续的历史内系统节点([决策](../../.agents/notes/implemented/architecture/2026-09-02-system-prompt-as-surface-node.zh.md)),因此提示词变更替换或追加一个系统节点,而请求头保持不变。带有 reason `'initial'` 或 `'resume'` 的完整 `request/header` 快照记录每个 agent loop 实例的边界;请求变化时会追加 reason 为 `'change'` 的快照;未变的信封显式开启消息序列或跟随 surface 替换时,会追加 reason 为 `'series'` 的快照。如果 `'initial'`、`'resume'` 或 `'change'` 快照所属请求同时开启序列,它会携带 `startsSeries: true`;reason `'series'` 已记录这一事实。普通的仅追加后续 Turn,以及同一模型消息序列内的后续 Step 与重试沿用最新快照。`foldRequestHeader(events)` 通过选择最新快照重建请求头。该事件不是 `SurfaceEventType`,不产生 LLM 消息。
|
|
174
184
|
|
|
175
185
|
```ts type-equiv
|
|
176
186
|
/**
|
|
@@ -186,6 +196,10 @@ interface EpochHeader {
|
|
|
186
196
|
adapterDefaults?: LlmCallConfigAdapterDefaults
|
|
187
197
|
/** Assembled tool schemas; absent for a tool-less request. */
|
|
188
198
|
tools?: ToolSchema[]
|
|
199
|
+
/** Retired request text; system prompts belong to system/message events.
|
|
200
|
+
* @persistenceReserved
|
|
201
|
+
*/
|
|
202
|
+
system?: never
|
|
189
203
|
}
|
|
190
204
|
```
|
|
191
205
|
|
|
@@ -193,7 +207,7 @@ interface EpochHeader {
|
|
|
193
207
|
|
|
194
208
|
### 路由容量事件:`request/context`
|
|
195
209
|
|
|
196
|
-
请求所解析到的路由的上下文元数据是独立的已记录状态,在同一步骤内紧随 `request/header` 追加,且仅在提供方、模型、容量或 `systemPromptUpdate` 模式与上一条记录不同时追加。它保持在 `EpochHeader` 之外,因为该类型是 `headerEquals` 逐字段比较的重建约定。容量与更新模式描述的是路由,不是请求输入,把它们折叠进去会让一次路由变化被登记为请求信封的 `change`,也会把适配器元数据拉进 loop
|
|
210
|
+
请求所解析到的路由的上下文元数据是独立的已记录状态,在同一步骤内紧随 `request/header` 追加,且仅在提供方、模型、容量或 `systemPromptUpdate` 模式与上一条记录不同时追加。它保持在 `EpochHeader` 之外,因为该类型是 `headerEquals` 逐字段比较的重建约定。容量与更新模式描述的是路由,不是请求输入,把它们折叠进去会让一次路由变化被登记为请求信封的 `change`,也会把适配器元数据拉进 loop 的请求重建。与 `request/header` 一样,它不是 `SurfaceEventType`,也不产生 LLM 消息。`session.requestContext()` 以增量方式归并最新一条记录;agent loop 在决定变化后的系统提示词是替换最新的系统节点还是追加到已缓存历史之后时,读取该记录的 `systemPromptUpdate`([决策规则](../../packages/core/agent-loop/README.zh.md#understand-the-implementation))。适配器不公布容量的路由会以缺失 `contextWindow` 的形式记录,因此新记录可以清除较早路由的容量;未声明更新模式的路由同样会清除较早路由的 `systemPromptUpdate`。
|
|
197
211
|
|
|
198
212
|
```ts type-equiv
|
|
199
213
|
/** Registration-bound metadata for one resolved model route. */
|
|
@@ -277,13 +291,13 @@ type SessionEvent<T extends SessionEventType = SessionEventType> = {
|
|
|
277
291
|
|
|
278
292
|
`SessionEventType = keyof SessionEventMap`。由于 `SessionEventMap` 可通过合并扩展,对 `SessionEvent` 的 switch 语句禁止使用 `assertNever`:插件添加的变体是合法的未知值;处理已知 case 后在 `default` 中放行。
|
|
279
293
|
|
|
280
|
-
每个 surface 事件都要求 `surfaceOp`;已知仅日志事件禁止两个 surface 元数据字段。原生未知或已退役的可忽略信封保持不透明。`assistant/message` 嵌入其提供方 stream,并禁止 `sourceEventSeqs`。System、user 与 tool surface 事件可以在来源归属或替换覆盖需要时引用完整、非空且唯一的较早事件集合。`tool/result`
|
|
294
|
+
每个 surface 事件都要求 `surfaceOp`;已知仅日志事件禁止两个 surface 元数据字段。原生未知或已退役的可忽略信封保持不透明。`assistant/message` 嵌入其提供方 stream,并禁止 `sourceEventSeqs`。System、user 与 tool surface 事件可以在来源归属或替换覆盖需要时引用完整、非空且唯一的较早事件集合。`tool/result` 仅在消息带有 `isError: true` 时可以携带 `data.error`;失败结果的失败身份仍可省略。
|
|
281
295
|
|
|
282
296
|
<a id="surface-types"></a>
|
|
283
297
|
|
|
284
298
|
## Surface 类型
|
|
285
299
|
|
|
286
|
-
|
|
300
|
+
产生消息的类型(`SurfaceEventType`:`system/message`、`developer/message`、`user/message`、`assistant/message`、`tool/result`)携带 surface 元数据,用来声明它们如何加入有序的派生 surface。`system/message` 承载渲染后的系统提示词:循环把第一条追加为 surface 第 0 号节点,并在提示词变化时恰好替换最新的系统节点,或在历史内路由上追加一条新的;surface 折叠拒绝任何其他覆盖第 0 号节点 `system/message` 的替换,而后续系统节点是普通历史,压缩替换可以遮蔽它。见 [session surface Agent Note](../../.agents/notes/implemented/architecture/2026-06-18-session-surface.zh.md)。
|
|
287
301
|
|
|
288
302
|
### `SurfaceEventType`:事件类型中产生消息的子集
|
|
289
303
|
|
|
@@ -296,6 +310,7 @@ type SessionEvent<T extends SessionEventType = SessionEventType> = {
|
|
|
296
310
|
*/
|
|
297
311
|
type SurfaceEventType =
|
|
298
312
|
| 'system/message'
|
|
313
|
+
| 'developer/message'
|
|
299
314
|
| 'user/message'
|
|
300
315
|
| 'assistant/message'
|
|
301
316
|
| 'tool/result'
|
|
@@ -460,29 +475,26 @@ declare class Session {
|
|
|
460
475
|
/** The session identity, derived from its durable header's single copy. */
|
|
461
476
|
get id(): SessionId;
|
|
462
477
|
/**
|
|
463
|
-
* The
|
|
464
|
-
*
|
|
465
|
-
*
|
|
466
|
-
*
|
|
467
|
-
* the constructor-input boundary for lifecycle ownership and persistence
|
|
468
|
-
* adoption; consumers that need complete canonical history still start at
|
|
469
|
-
* seq 0. Distinct from {@link inheritedEventCount}, the DURABLE
|
|
470
|
-
* fork-lineage cut: a resumed session's constructor seed is its full stored
|
|
471
|
-
* log, while the inherited count keeps the original fork value — this field is the
|
|
472
|
-
* in-process construction fact.
|
|
473
|
-
*
|
|
474
|
-
* Not persisted itself: a seeded session projects it into the log as the
|
|
475
|
-
* `session/end-seed` event, which is what a consumer reading STORED history
|
|
476
|
-
* reads. Locate the LAST such event, not necessarily one at this seq — a
|
|
477
|
-
* seed already ending in one is not re-marked, so reopening an untouched
|
|
478
|
-
* session leaves that event at a smaller seq than `firstLiveSeq`. Prefer
|
|
479
|
-
* this field in-process: it is exact before the marker reaches storage.
|
|
478
|
+
* The constructor seed length (0 without one), before any marker appended
|
|
479
|
+
* during construction. Seed events never publish on `session/event`. A
|
|
480
|
+
* marker appended before the store attaches occupies this seq without
|
|
481
|
+
* publishing either; otherwise this seq is available for the next append.
|
|
480
482
|
*
|
|
481
|
-
*
|
|
482
|
-
*
|
|
483
|
-
*
|
|
483
|
+
* This in-process offset is not persisted. A fork seed can already contain
|
|
484
|
+
* the child's inherited marker and synthetic closers, so its child-owned
|
|
485
|
+
* history starts at {@link inheritedEventCount}, before this offset. A
|
|
486
|
+
* resumed Session's seed contains its full stored log, while its inherited
|
|
487
|
+
* count keeps the durable fork cut. Consumers needing complete canonical
|
|
488
|
+
* history start at seq 0.
|
|
484
489
|
*/
|
|
485
490
|
readonly firstLiveSeq: SessionLogOffset;
|
|
491
|
+
/**
|
|
492
|
+
* First event produced for this object lifecycle. A new fork includes its
|
|
493
|
+
* child-owned seed marker and closers; a restored Session starts after its
|
|
494
|
+
* complete stored prefix. This in-process capture offset is not persisted.
|
|
495
|
+
*/
|
|
496
|
+
readonly firstLifecycleSeq: SessionLogOffset;
|
|
497
|
+
|
|
486
498
|
/**
|
|
487
499
|
* Create a detached session by validating and snapshotting borrowed seed
|
|
488
500
|
* events and storage metadata.
|
|
@@ -618,6 +630,12 @@ declare class Session {
|
|
|
618
630
|
* @returns the latest immutable route metadata.
|
|
619
631
|
*/
|
|
620
632
|
requestContext(): RequestContext | undefined;
|
|
633
|
+
/**
|
|
634
|
+
* Fold unseen committed events into capability-independent tool history.
|
|
635
|
+
* Initial access reconstructs inherited history; later reads consume only new events.
|
|
636
|
+
* @returns an immutable snapshot for LLM request projection, including historical addition definitions.
|
|
637
|
+
*/
|
|
638
|
+
toolHistory(): ToolHistory;
|
|
621
639
|
/**
|
|
622
640
|
* Derive the LLM message history by walking the ordered sequences of
|
|
623
641
|
* message-producing events maintained by `surfaceOp` markers. The
|
|
@@ -649,11 +667,11 @@ declare class Session {
|
|
|
649
667
|
|
|
650
668
|
## 派生历史:`deriveMessages()` 与 `deriveEventMessage()`
|
|
651
669
|
|
|
652
|
-
`Session.deriveMessages()` 将事件日志投影为模型看到的 `Message[]`。它是缓存的(每个 surface 节点在首次出现时投影一次;surface 重写触发重建)且冻结的(每次调用返回一个新数组,引用共享的深冻结消息,因此通过投影修改已记录的历史在类型上不可表达)。`deriveEventMessage(event)`
|
|
670
|
+
`Session.deriveMessages()` 将事件日志投影为模型看到的 `Message[]`。它是缓存的(每个 surface 节点在首次出现时投影一次;surface 重写触发重建)且冻结的(每次调用返回一个新数组,引用共享的深冻结消息,因此通过投影修改已记录的历史在类型上不可表达)。`deriveEventMessage(event)` 是折叠所应用的逐节点纯函数,公开暴露以便外部重建器能以完全相同的规则投影日志前缀,不会与缓存产生分歧。投影规则:
|
|
653
671
|
|
|
654
672
|
- `user/message` → 一条携带确切 `content` 的 user 消息;可选 envelope 仅作为日志中的展示元数据保留。
|
|
655
673
|
- `assistant/message` → 一条 assistant 消息,包含生成它的提供方和模型,以及可选的适配器私有回放状态。其嵌入式紧凑 stream 是回放、usage 与 UI 证据,而不是第二条 message。**内容为空的** `assistant/message` 也会跳过:因 max-tokens 而截断且无内容的步骤仍会记录一条 `assistant/message` 来保存 stream、usage、提供方和模型,但无内容的 assistant 轮次不得进入提供方 transcript(文本记录)。
|
|
656
|
-
- `tool/result` →
|
|
674
|
+
- `tool/result` → 一条一等 tool-role 消息,携带结果内容与工具调用标识。
|
|
657
675
|
- `user/message`(注入上下文,即非 `user` 来源)→ 按时间顺序在相应位置生成一条 user-role 消息,并原样承载其 `content`;其类型化 source 标明生产方,并携带所有生产方专用数据。
|
|
658
676
|
|
|
659
677
|
其余所有事件(`turn/*`、`step/*`、`assistant/attempt`、插件所属的 `llm/retry`)均为结构信息,不会投影为消息。token 记账会展开每个 `assistant/message` 或 `assistant/attempt` 的嵌入式 stream,message 顶层 `usage` 存在时仍是已提交 message 的权威。失败的模型请求 attempt 因此可以保留提供方 usage,而无需虚构 assistant message。当前逻辑校验会拒绝没有提供方/模型的 request header 和 assistant 消息,而不会猜测路由;受支持的历史表示会在当前 Session 存在前,由其相邻格式迁移边归一化并校验。
|
|
@@ -664,7 +682,7 @@ declare class Session {
|
|
|
664
682
|
|
|
665
683
|
- `fork(source, boundary?, childSessionId?)` 接受一个活跃的 `Session` 对象或活跃的 `SessionId`,选取到 `SessionSeq` boundary(含)为止的源事件(默认为当前最后一个事件),要求所选前缀结束时没有开放轮次,然后创建一个活跃的子会话,包含深克隆的 seed event、`parentSession`、`isSeeded: true`、精确 `inheritedEventCount` 及继承的 `cwd`。
|
|
666
684
|
|
|
667
|
-
显式 `boundary` 允许调用者从任意稳定的轮次间位置 fork,包括之前的 `turn/end` 或更晚的独立纯日志事件,即使源会话有更新的事件或正在进行的轮次。API
|
|
685
|
+
显式 `boundary` 允许调用者从任意稳定的轮次间位置 fork,包括之前的 `turn/end` 或更晚的独立纯日志事件,即使源会话有更新的事件或正在进行的轮次。API 拒绝结束于开放轮次内的前缀,而不是静默截断。`dsh-subagent-fork-in-process` 保留其已完成前缀截断逻辑,因为工具调用时的委托通常在父轮次仍然打开时启动;普通的会话分支应显式指定请求的 boundary。
|
|
668
686
|
|
|
669
687
|
<a id="why-a-turn-ended-turnendreasonmap"></a>
|
|
670
688
|
|
|
@@ -702,20 +720,27 @@ interface TurnEndReasonMap {
|
|
|
702
720
|
* the events recorded before the crash remain intact.
|
|
703
721
|
*/
|
|
704
722
|
interrupted: { kind: 'interrupted' }
|
|
723
|
+
/**
|
|
724
|
+
* Fork-seed construction closed a turn that was still open at the fork
|
|
725
|
+
* boundary in the source session. Only fork seeds carry this marker — the
|
|
726
|
+
* loop never emits it — and the source events before the boundary remain
|
|
727
|
+
* intact in the child.
|
|
728
|
+
*/
|
|
729
|
+
forked: { kind: 'forked' }
|
|
705
730
|
}
|
|
706
731
|
```
|
|
707
732
|
|
|
708
|
-
`max-tokens` 与模型调用中同名的 `FinishReason` 对应:只要轮次内有任何步骤以 `max-tokens` 结束,整个轮次就以 `max-tokens` 而不是 `completed`
|
|
733
|
+
`max-tokens` 与模型调用中同名的 `FinishReason` 对应:只要轮次内有任何步骤以 `max-tokens` 结束,整个轮次就以 `max-tokens` 而不是 `completed` 结束(即使之后继续执行,截断事实仍优先),让消费方能够区分正常停止和截断停止。取消和错误仍是不同的结果。loop 不会实时发出 `interrupted` 或 `forked`:崩溃恢复合成 `interrupted`(见 [persistence.md](persistence.zh.md)),而 fork 种子构造合成 `forked`。该 map 可通过合并扩展。
|
|
709
734
|
|
|
710
735
|
## 执行封闭与独立事件
|
|
711
736
|
|
|
712
737
|
一个轮次包围一次模型循环执行,而不是整个会话日志。AgentLoop 只会在轮次内进入 pre-step 批次时记录注入的 `user/message` 事件;插件所属的纯日志事件仍可出现在 `turn/end` 与下一个 `turn/start` 之间,占用事件 seq 但不递增轮次编号。持久化会将每个连续且已接受的事件纳入有界持久化批次,而崩溃修复只关闭确实仍处于开放状态的尾部轮次。需要即时持久性屏障的生产方会显式等待 `ctx.sessions.flush(session)`。
|
|
713
738
|
|
|
714
|
-
|
|
739
|
+
可合并扩展事件的关系由声明它的插件拥有,因此核心不会仅因没有开放轮次就拒绝未知事件。见[独立事件决策](../../.agents/notes/implemented/simplification/2026-07-28-remove-synthetic-log-only-turns.zh.md)。
|
|
715
740
|
|
|
716
741
|
## 种子结束边界:`session/end-seed`
|
|
717
742
|
|
|
718
|
-
|
|
743
|
+
`buildForkSeed` 在精确的 inherited-prefix cut 追加 `session/end-seed { inherited: true }`,然后添加合成的 fork 结束事件。`Session` constructor 保留该预先构造的 marker,或在 seed 仅含 inherited prefix 时追加 marker。restore 保留 tagged marker,并且只在完整 stored seed 尚未以 marker 结尾时追加普通 `session/end-seed {}`。两种形式都只进入 log 且不产生 message;只有 constructor 和 `buildForkSeed` 可以创建它们。
|
|
719
744
|
|
|
720
745
|
对于 fork lineage,定位 payload 携带 `inherited: true` 的最后一个 marker;当前格式 decoding 只在 `SessionHeader.isSeeded` 为 true 时要求该 marker,并从其 seq 推导 `inheritedEventCount`。对于 lifecycle ownership,定位任一形式的最后一个 `session/end-seed`。重新打开已经以任一 marker 结尾的 seed 时,不会再追加普通 marker。
|
|
721
746
|
|
|
@@ -725,7 +750,7 @@ interface TurnEndReasonMap {
|
|
|
725
750
|
|
|
726
751
|
## 插件贡献的仅日志事件
|
|
727
752
|
|
|
728
|
-
插件可以通过 declaration merging 添加额外的 `SessionEventMap` 类型。这些是**仅日志**事件:不是 `SurfaceEventType`(不携带 `surfaceOp
|
|
753
|
+
插件可以通过 declaration merging 添加额外的 `SessionEventMap` 类型。这些是**仅日志**事件:不是 `SurfaceEventType`(不携带 `surfaceOp`,不参与派生历史)。事件所有方决定它们属于一个开放的执行轮次,还是可以独立位于轮次之间。生成的[持久化日志事件目录](../persistence-catalog.zh.md)会列出每个核心或插件贡献的事件;压缩 seam 的 `compaction/*` 语义在 [compaction.md](compaction.zh.md) 中讨论。
|
|
729
754
|
|
|
730
755
|
如果同一个插件事件族中的多条事件要组装成一个 Web Client Conversation Node,该事件族中的每条 start、update、result、resource 或 interruption 事件都必须携带或独立推导出同一个稳定业务 id。此要求只约束需要关联的 Node 事件族,并不要求每条 Session 事件都有业务 id;Client 因此无须根据相邻关系猜测归属,也无须扫描历史。参见 [Conversation 子系统](conversation.zh.md)。
|
|
731
756
|
|
|
@@ -743,6 +768,8 @@ interface TurnEndReasonMap {
|
|
|
743
768
|
|
|
744
769
|
`SessionOpenWorkspacePathRequest` 携带绝对路径或已按 workspace 解析的 `path`。`SessionOpenWorkspacePathValue` 确认 Host 已接受原生交接。Session-aware Client 会在已知当前 Session cwd 时据此解析相对路径;controller 将路径原样交给打开器,并通过 Session Remote 错误词汇表报告无效请求、取消与打开器失败。 可选的 `action: "reveal"` 选择文件管理器导航;省略时使用默认应用打开。
|
|
745
770
|
|
|
771
|
+
可选的 `application` 指定文件关联应用,不修改系统默认值;`workspacePathApplications({ path })` 在校验 Host 路径后返回当前关联应用、名称、图标和默认项。
|
|
772
|
+
|
|
746
773
|
<!-- BEGIN GENERATED cordis-surface (gen-cordis-catalog.ts) — do not edit between markers -->
|
|
747
774
|
|
|
748
775
|
<a id="cordis-surface"></a>
|
|
@@ -776,7 +803,7 @@ inspect( sessionId: SessionId, signal?: AbortSignal, ): Promise<SessionInspectio
|
|
|
776
803
|
/**
|
|
777
804
|
* Read all visible Session rows without resuming an Agent.
|
|
778
805
|
* @param _request - reserved empty list request.
|
|
779
|
-
* @param signal - cancellation for persistence reads.
|
|
806
|
+
* @param signal - cancellation for persistence reads and summary generation.
|
|
780
807
|
* @returns visible Session summaries ordered by activity.
|
|
781
808
|
*/
|
|
782
809
|
@Remote('list') async list(_request: SessionListRequest, signal: AbortSignal): Promise<SessionListValue>
|
|
@@ -797,12 +824,18 @@ inspect( sessionId: SessionId, signal?: AbortSignal, ): Promise<SessionInspectio
|
|
|
797
824
|
@Remote('create') create(request: SessionCreateRequest): Promise<SessionCreateValue>
|
|
798
825
|
|
|
799
826
|
/**
|
|
800
|
-
* Select one Session-local model after explicitly resuming the Session.
|
|
827
|
+
* Select one Session-local model after explicitly resuming the Session; save the default in the background.
|
|
801
828
|
* @param request - Session identity and requested model selection.
|
|
802
|
-
* @returns the normalized selection installed for the Session.
|
|
829
|
+
* @returns the normalized selection installed for the Session, without waiting for default persistence.
|
|
803
830
|
*/
|
|
804
831
|
@Remote('selectModel') selectModel(request: SessionSelectModelRequest): Promise<SessionSelectModelValue>
|
|
805
832
|
|
|
833
|
+
/**
|
|
834
|
+
* Select the first available account model after login when no provider API key is configured.
|
|
835
|
+
* @returns after saving the first available model or retaining the existing default.
|
|
836
|
+
*/
|
|
837
|
+
@Remote async initializeDefaultModel(): Promise<void>
|
|
838
|
+
|
|
806
839
|
/**
|
|
807
840
|
* Describe every currently routable model for Host-generation selectors.
|
|
808
841
|
* @returns provider-grouped models, the deployment default, and isolated provider failures.
|
|
@@ -822,14 +855,23 @@ inspect( sessionId: SessionId, signal?: AbortSignal, ): Promise<SessionInspectio
|
|
|
822
855
|
workspaceDesktop(): { name: string; available: boolean; fileManager: 'finder' | 'explorer' | 'directory' | null }
|
|
823
856
|
|
|
824
857
|
/**
|
|
825
|
-
*
|
|
858
|
+
* Verify one path through the composed filesystem and open it on the Host desktop.
|
|
826
859
|
* @param request - path after best-effort Session workspace resolution.
|
|
827
860
|
* @param signal - caller lifetime; abort terminates the native command.
|
|
828
861
|
* @returns confirmation after the native opener accepts the path.
|
|
829
|
-
* @throws RemoteError when the request is invalid, cancelled, or the opener fails.
|
|
862
|
+
* @throws RemoteError when the request is invalid, has no verified Host mapping, is cancelled, or the opener fails.
|
|
830
863
|
*/
|
|
831
864
|
@Remote('openWorkspacePath') async openWorkspacePath( request: SessionOpenWorkspacePathRequest, signal: AbortSignal, ): Promise<SessionOpenWorkspacePathValue>
|
|
832
865
|
|
|
866
|
+
/**
|
|
867
|
+
* Query current file handlers on the serving desktop without activating an Agent.
|
|
868
|
+
* @param request - file path in Host filesystem syntax.
|
|
869
|
+
* @param signal - caller lifetime, propagated to filesystem and desktop queries.
|
|
870
|
+
* @returns OS application names, icons, and default selection; empty when desktop opening is unavailable.
|
|
871
|
+
* @throws RemoteError when the path is invalid, the query is cancelled, or native discovery fails.
|
|
872
|
+
*/
|
|
873
|
+
@Remote('workspacePathApplications') async workspacePathApplications( request: { readonly path: string }, signal: AbortSignal, ): Promise<readonly SessionWorkspacePathApplication[]>
|
|
874
|
+
|
|
833
875
|
/**
|
|
834
876
|
* Rename one Session after explicitly resuming it.
|
|
835
877
|
* @param request - Session identity and proposed title.
|
|
@@ -838,8 +880,10 @@ workspaceDesktop(): { name: string; available: boolean; fileManager: 'finder' |
|
|
|
838
880
|
@Remote('rename') rename(request: SessionRenameRequest): Promise<SessionRenameValue>
|
|
839
881
|
|
|
840
882
|
/**
|
|
841
|
-
* Fork one cold-readable
|
|
842
|
-
*
|
|
883
|
+
* Fork one cold-readable exact event prefix into a new Session. An omitted
|
|
884
|
+
* boundary selects the latest completed-turn prefix; an open cut receives
|
|
885
|
+
* synthetic fork closers.
|
|
886
|
+
* @param request - source Session and optional exact inclusive event boundary.
|
|
843
887
|
* @returns the new Session identity.
|
|
844
888
|
*/
|
|
845
889
|
@Remote('fork') fork(request: SessionForkRequest): Promise<SessionForkValue>
|
|
@@ -890,6 +934,14 @@ workspaceDesktop(): { name: string; available: boolean; fileManager: 'finder' |
|
|
|
890
934
|
*/
|
|
891
935
|
@Remote({ mode: 'stream' }) follow(request: SessionFollowRequest, signal: AbortSignal): AsyncIterable<SessionFollowFrame>
|
|
892
936
|
|
|
937
|
+
/**
|
|
938
|
+
* Read all registered projections without activating an Agent.
|
|
939
|
+
* @param request - Session whose current values are required.
|
|
940
|
+
* @param signal - cancellation for the Session observation.
|
|
941
|
+
* @returns complete baseline, or null when the Session does not exist.
|
|
942
|
+
*/
|
|
943
|
+
@Remote('projections') async projections(request: SessionProjectionsRequest, signal: AbortSignal): Promise<SessionProjectionsValue>
|
|
944
|
+
|
|
893
945
|
/**
|
|
894
946
|
* Stream a complete live-control baseline followed by replacement frames.
|
|
895
947
|
* @param signal - cancellation owned by the Remote stream carrier.
|
|
@@ -1003,8 +1055,8 @@ announce(session: Session): void
|
|
|
1003
1055
|
* store owns the carrier, so callers (the checkpoint policy's per-request
|
|
1004
1056
|
* barrier, goal-round-driver's idle checkpoint, teardown drains, and consumers
|
|
1005
1057
|
* that flush themselves before reading storage) must come through here
|
|
1006
|
-
* rather than dispatch a raw `ctx.parallel('session/flush', …)` — one owner
|
|
1007
|
-
* one spelling
|
|
1058
|
+
* rather than dispatch a raw `ctx.parallel('session/flush', …)` — one owner
|
|
1059
|
+
* and one spelling.
|
|
1008
1060
|
* @param session - the session whose buffered events must reach durable storage.
|
|
1009
1061
|
* @returns whether at least one durability listener participated, after every
|
|
1010
1062
|
* listener has settled successfully.
|
|
@@ -1026,10 +1078,12 @@ get(id: SessionId): Session | undefined
|
|
|
1026
1078
|
list(): Session[]
|
|
1027
1079
|
|
|
1028
1080
|
/**
|
|
1029
|
-
* Create a live child session from
|
|
1081
|
+
* Create a live child session from an exact prefix of a live source.
|
|
1030
1082
|
* `boundary` is an inclusive source event seq; omitted means the source's
|
|
1031
|
-
* current last event.
|
|
1032
|
-
*
|
|
1083
|
+
* current last event. An open tail receives synthetic tool results and
|
|
1084
|
+
* step/turn closers with the forked cause. Closed steps and turns remain
|
|
1085
|
+
* unchanged, including any failed tool calls already missing results.
|
|
1086
|
+
* `inheritedEventCount` counts only copied source events, excluding these closers.
|
|
1033
1087
|
*
|
|
1034
1088
|
* @param source - Live source session object or id.
|
|
1035
1089
|
* @param boundary - Inclusive source event seq to fork through; omitted means
|
|
@@ -1074,13 +1128,14 @@ Source: [`packages/api/session-controller/src/types.ts`](../../packages/api/sess
|
|
|
1074
1128
|
|
|
1075
1129
|
#### `api-session/added` — emit
|
|
1076
1130
|
|
|
1077
|
-
A Session became visible
|
|
1131
|
+
A Session became visible or its Agent was created or disposed. Consumers upsert the summary and replace its current running and availability state.
|
|
1078
1132
|
|
|
1079
1133
|
```ts cordis-catalog
|
|
1080
1134
|
/**
|
|
1081
|
-
* A Session became visible
|
|
1135
|
+
* A Session became visible or its Agent was created or disposed.
|
|
1136
|
+
* Consumers upsert the summary and replace its current running and availability state.
|
|
1082
1137
|
* @mode emit
|
|
1083
|
-
* @param summary -
|
|
1138
|
+
* @param summary - current list row for the Session.
|
|
1084
1139
|
*/
|
|
1085
1140
|
'api-session/added'(summary: SessionSummary): void
|
|
1086
1141
|
```
|
|
@@ -1165,7 +1220,6 @@ Creation announcement during session publication. A synchronous throw vetoes and
|
|
|
1165
1220
|
* Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners
|
|
1166
1221
|
* receive only sessions entered through that agent's context.
|
|
1167
1222
|
* @param session - the session just entered and announced.
|
|
1168
|
-
* @dshScopeScan unsupported
|
|
1169
1223
|
* @mode emit
|
|
1170
1224
|
*/
|
|
1171
1225
|
'session/created'(this: Scoped<Session>, session: Session): void
|
|
@@ -1188,7 +1242,6 @@ Emitted once when an announced session leaves the store, including publication r
|
|
|
1188
1242
|
* did not begin. Listener failures are logged and contained.
|
|
1189
1243
|
* Scope-filtered dispatch (`@deepseek-ai/dsh-scope`) reuses the owner scope.
|
|
1190
1244
|
* @param session - the session that is no longer live in the store.
|
|
1191
|
-
* @dshScopeScan unsupported
|
|
1192
1245
|
* @mode emit
|
|
1193
1246
|
*/
|
|
1194
1247
|
'session/disposed'(this: Scoped<Session>, session: Session): void
|
|
@@ -1213,7 +1266,6 @@ Post-commit, fire-and-forget append feed. The listener snapshot resolves before
|
|
|
1213
1266
|
* receive only events from sessions entered through that agent's context.
|
|
1214
1267
|
* @param session - the session whose log grew.
|
|
1215
1268
|
* @param event - the appended event, exactly as recorded.
|
|
1216
|
-
* @dshScopeScan unsupported
|
|
1217
1269
|
* @mode emit
|
|
1218
1270
|
*/
|
|
1219
1271
|
'session/event'(this: Scoped<Session>, session: Session, event: SessionEvent): void
|
|
@@ -1235,7 +1287,6 @@ Awaited parallel durability checkpoint: every listener runs and the caller await
|
|
|
1235
1287
|
* caller awaits all of them, with no waterfall veto. Scope-filtered dispatch
|
|
1236
1288
|
* (`@deepseek-ai/dsh-scope`) reuses the session's owner scope.
|
|
1237
1289
|
* @param session - the session whose buffered events must reach durable storage.
|
|
1238
|
-
* @dshScopeScan unsupported
|
|
1239
1290
|
* @mode parallel
|
|
1240
1291
|
*/
|
|
1241
1292
|
'session/flush'(this: Scoped<Session>, session: Session): Promise<void> | void
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
# Bilingual-pair consistency record (docs/i18n/README.md):
|
|
2
|
-
#
|
|
3
|
-
#
|
|
1
|
+
# Bilingual-pair consistency record for settings.md (docs/i18n/README.md): per heading
|
|
2
|
+
# section, a hash of its English and Chinese blocks outside code blocks and generated regions.
|
|
3
|
+
# After editing either side, bring the other along and re-record with:
|
|
4
4
|
# pnpm run verify-translation-pairing --write docs/subsystems/settings.md
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
/plugin-configuration-forms:
|
|
6
|
+
en: 74ad41299fc3ad10
|
|
7
|
+
zh: 1c3f316e99e5ec8b
|
|
8
|
+
/plugin-configuration-forms/identity-and-values:
|
|
9
|
+
en: 7fabd502b5dcbe5b
|
|
10
|
+
zh: 5d7bfbc57f823719
|
|
11
|
+
/plugin-configuration-forms/edits:
|
|
12
|
+
en: 1d97c98a8634bfe7
|
|
13
|
+
zh: 70d6dbec0d9679c6
|