dsh-plugin-guide 0.3.33 → 0.3.36
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/LICENSE +0 -0
- package/NOTICE.md +0 -0
- package/README-es.md +116 -51
- package/README-hi.md +117 -52
- package/README-pt.md +116 -51
- package/README-zh.md +117 -52
- package/README.md +116 -51
- package/SKILL.md +0 -0
- package/bin/dsh-plugin-dev.js +0 -0
- package/cordis.patch.yml +0 -0
- package/data/facts.json +0 -0
- package/data/seams/index.json +0 -0
- package/dist/dsh-plugin-dev.js +0 -0
- package/guide/choosing-a-plugin.md +0 -0
- package/guide/choosing-a-plugin.zh-CN.md +0 -0
- package/guide/family-toolchain.md +0 -0
- package/guide/links.md +0 -0
- package/guide/migration-0.2.md +0 -0
- package/guide/plugin-dev-guide.md +0 -0
- package/guide/quick-reference.es.md +0 -0
- package/guide/quick-reference.hi.md +0 -0
- package/guide/quick-reference.md +0 -0
- package/guide/quick-reference.pt.md +0 -0
- package/guide/quick-reference.zh-CN.md +0 -0
- package/guide/release-engineering.md +0 -0
- package/guide/release-engineering.zh-CN.md +0 -0
- package/guide/unfixed-issues.md +0 -0
- package/guide/version-matrix.md +0 -0
- package/guide/when-to-retire-a-plugin.md +0 -0
- package/guide/when-to-retire-a-plugin.zh-CN.md +0 -0
- package/icon.svg +5 -5
- package/index.d.ts +0 -0
- package/index.js +0 -0
- package/locale/en.json +6 -6
- package/locale/zh.json +6 -6
- package/package.json +8 -5
- package/references/cli-positioning-decision.md +0 -0
- package/references/community-ecosystem.md +0 -0
- package/references/community-repo-deep-dive.md +0 -0
- package/references/cordis-paper-and-community.md +0 -0
- package/references/dev-resource-landscape.md +0 -0
- package/references/harness-repo.md +0 -0
- package/references/mirror-scope-decision.md +0 -0
- package/references/official-docs/AGENTS.md +8 -4
- package/references/official-docs/BENCHMARK.md +0 -0
- package/references/official-docs/CLAUDE.md +1 -1
- package/references/official-docs/CONTRIBUTING.i18n.yaml +0 -0
- package/references/official-docs/CONTRIBUTING.md +0 -0
- package/references/official-docs/CONTRIBUTING.zh.md +0 -0
- package/references/official-docs/LICENSE +0 -0
- package/references/official-docs/README.i18n.yaml +0 -0
- package/references/official-docs/README.md +0 -0
- package/references/official-docs/README.zh.md +0 -0
- package/references/official-docs/SNAPSHOT.md +8 -10
- package/references/official-docs/THIRD_PARTY_NOTICES.md +9 -3
- package/references/official-docs/docs/AGENTS.md +3 -2
- package/references/official-docs/docs/agent-lifecycle.i18n.yaml +0 -0
- package/references/official-docs/docs/agent-lifecycle.md +0 -0
- package/references/official-docs/docs/agent-lifecycle.zh.md +0 -0
- package/references/official-docs/docs/api-gateway.i18n.yaml +15 -12
- package/references/official-docs/docs/api-gateway.md +10 -3
- package/references/official-docs/docs/api-gateway.zh.md +16 -3
- package/references/official-docs/docs/architecture.i18n.yaml +0 -0
- package/references/official-docs/docs/architecture.md +0 -0
- package/references/official-docs/docs/architecture.zh.md +0 -0
- package/references/official-docs/docs/capability-seams.i18n.yaml +2 -2
- package/references/official-docs/docs/capability-seams.md +23 -1
- package/references/official-docs/docs/capability-seams.zh.md +23 -1
- package/references/official-docs/docs/cli-help.i18n.yaml +0 -0
- package/references/official-docs/docs/cli-help.md +4 -4
- package/references/official-docs/docs/cli-help.zh.md +4 -4
- package/references/official-docs/docs/config-catalog.i18n.yaml +0 -0
- package/references/official-docs/docs/config-catalog.md +154 -53
- package/references/official-docs/docs/config-catalog.zh.md +154 -53
- package/references/official-docs/docs/cookbook/adding-a-package.i18n.yaml +0 -0
- package/references/official-docs/docs/cookbook/adding-a-package.md +0 -0
- package/references/official-docs/docs/cookbook/adding-a-package.zh.md +0 -0
- package/references/official-docs/docs/cookbook/adding-a-plugin-preview.i18n.yaml +22 -0
- package/references/official-docs/docs/cookbook/adding-a-plugin-preview.md +52 -0
- package/references/official-docs/docs/cookbook/adding-a-plugin-preview.zh.md +52 -0
- package/references/official-docs/docs/cookbook/adding-a-remote-api.i18n.yaml +0 -0
- package/references/official-docs/docs/cookbook/adding-a-remote-api.md +0 -0
- package/references/official-docs/docs/cookbook/adding-a-remote-api.zh.md +0 -0
- package/references/official-docs/docs/cookbook/adding-a-session-format-version.i18n.yaml +0 -0
- package/references/official-docs/docs/cookbook/adding-a-session-format-version.md +0 -0
- package/references/official-docs/docs/cookbook/adding-a-session-format-version.zh.md +0 -0
- package/references/official-docs/docs/cookbook/adding-a-settings-card.i18n.yaml +0 -0
- package/references/official-docs/docs/cookbook/adding-a-settings-card.md +0 -0
- package/references/official-docs/docs/cookbook/adding-a-settings-card.zh.md +0 -0
- package/references/official-docs/docs/cookbook/adding-a-tool.i18n.yaml +0 -0
- package/references/official-docs/docs/cookbook/adding-a-tool.md +0 -0
- package/references/official-docs/docs/cookbook/adding-a-tool.zh.md +0 -0
- package/references/official-docs/docs/cookbook/adding-a-vendored-package.i18n.yaml +0 -0
- package/references/official-docs/docs/cookbook/adding-a-vendored-package.md +0 -0
- package/references/official-docs/docs/cookbook/adding-a-vendored-package.zh.md +0 -0
- package/references/official-docs/docs/cookbook/adding-an-llm-adapter.i18n.yaml +0 -0
- package/references/official-docs/docs/cookbook/adding-an-llm-adapter.md +0 -0
- package/references/official-docs/docs/cookbook/adding-an-llm-adapter.zh.md +0 -0
- package/references/official-docs/docs/cookbook/extension-cookbook.i18n.yaml +0 -0
- package/references/official-docs/docs/cookbook/extension-cookbook.md +0 -0
- package/references/official-docs/docs/cookbook/extension-cookbook.zh.md +0 -0
- package/references/official-docs/docs/cookbook/maintaining-dsh-code-review.i18n.yaml +0 -0
- package/references/official-docs/docs/cookbook/maintaining-dsh-code-review.md +0 -0
- package/references/official-docs/docs/cookbook/maintaining-dsh-code-review.zh.md +0 -0
- package/references/official-docs/docs/cookbook/responding-to-pr-review-on-a-stack.i18n.yaml +0 -0
- package/references/official-docs/docs/cookbook/responding-to-pr-review-on-a-stack.md +0 -0
- package/references/official-docs/docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +0 -0
- package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.i18n.yaml +0 -0
- package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.md +0 -0
- package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.zh.md +0 -0
- package/references/official-docs/docs/cordis-api/context.i18n.yaml +0 -0
- package/references/official-docs/docs/cordis-api/context.md +0 -0
- package/references/official-docs/docs/cordis-api/context.zh.md +0 -0
- package/references/official-docs/docs/cordis-api/events.i18n.yaml +0 -0
- package/references/official-docs/docs/cordis-api/events.md +0 -0
- package/references/official-docs/docs/cordis-api/events.zh.md +0 -0
- package/references/official-docs/docs/cordis-api/fiber.i18n.yaml +0 -0
- package/references/official-docs/docs/cordis-api/fiber.md +0 -0
- package/references/official-docs/docs/cordis-api/fiber.zh.md +0 -0
- package/references/official-docs/docs/cordis-api/inherited.md +0 -0
- package/references/official-docs/docs/cordis-api/registry.i18n.yaml +0 -0
- package/references/official-docs/docs/cordis-api/registry.md +0 -0
- package/references/official-docs/docs/cordis-api/registry.zh.md +0 -0
- package/references/official-docs/docs/cordis-api/service.i18n.yaml +0 -0
- package/references/official-docs/docs/cordis-api/service.md +0 -0
- package/references/official-docs/docs/cordis-api/service.zh.md +0 -0
- package/references/official-docs/docs/cordis-primer.i18n.yaml +0 -0
- package/references/official-docs/docs/cordis-primer.md +0 -0
- package/references/official-docs/docs/cordis-primer.zh.md +0 -0
- package/references/official-docs/docs/cordis-tutorial/01-first-plugin.i18n.yaml +0 -0
- package/references/official-docs/docs/cordis-tutorial/01-first-plugin.md +0 -0
- package/references/official-docs/docs/cordis-tutorial/01-first-plugin.zh.md +0 -0
- package/references/official-docs/docs/cordis-tutorial/02-lifecycle-and-effects.i18n.yaml +0 -0
- package/references/official-docs/docs/cordis-tutorial/02-lifecycle-and-effects.md +0 -0
- package/references/official-docs/docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +0 -0
- package/references/official-docs/docs/cordis-tutorial/03-services.i18n.yaml +0 -0
- package/references/official-docs/docs/cordis-tutorial/03-services.md +0 -0
- package/references/official-docs/docs/cordis-tutorial/03-services.zh.md +0 -0
- package/references/official-docs/docs/cordis-tutorial/04-events.i18n.yaml +0 -0
- package/references/official-docs/docs/cordis-tutorial/04-events.md +0 -0
- package/references/official-docs/docs/cordis-tutorial/04-events.zh.md +0 -0
- package/references/official-docs/docs/cordis-tutorial/05-config.i18n.yaml +0 -0
- package/references/official-docs/docs/cordis-tutorial/05-config.md +0 -0
- package/references/official-docs/docs/cordis-tutorial/05-config.zh.md +0 -0
- package/references/official-docs/docs/cordis-tutorial/06-composition-and-hmr.i18n.yaml +0 -0
- package/references/official-docs/docs/cordis-tutorial/06-composition-and-hmr.md +0 -0
- package/references/official-docs/docs/cordis-tutorial/06-composition-and-hmr.zh.md +0 -0
- package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.i18n.yaml +0 -0
- package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.md +0 -0
- package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.zh.md +0 -0
- package/references/official-docs/docs/cordis-tutorial/index.i18n.yaml +0 -0
- package/references/official-docs/docs/cordis-tutorial/index.md +0 -0
- package/references/official-docs/docs/cordis-tutorial/index.zh.md +0 -0
- package/references/official-docs/docs/deepseek-llm-api-wire-extensions.i18n.yaml +0 -0
- package/references/official-docs/docs/deepseek-llm-api-wire-extensions.md +0 -0
- package/references/official-docs/docs/deepseek-llm-api-wire-extensions.zh.md +0 -0
- package/references/official-docs/docs/defensive-patterns/README.i18n.yaml +10 -0
- package/references/official-docs/docs/defensive-patterns/README.md +25 -0
- package/references/official-docs/docs/defensive-patterns/README.zh.md +27 -0
- package/references/official-docs/docs/defensive-patterns/client-components.i18n.yaml +46 -0
- package/references/official-docs/docs/defensive-patterns/client-components.md +493 -0
- package/references/official-docs/docs/defensive-patterns/client-components.zh.md +495 -0
- package/references/official-docs/docs/defensive-patterns/conversation-and-session.i18n.yaml +31 -0
- package/references/official-docs/docs/defensive-patterns/conversation-and-session.md +316 -0
- package/references/official-docs/docs/defensive-patterns/conversation-and-session.zh.md +316 -0
- package/references/official-docs/docs/defensive-patterns/general.i18n.yaml +52 -0
- package/references/official-docs/docs/defensive-patterns/general.md +222 -0
- package/references/official-docs/docs/defensive-patterns/general.zh.md +252 -0
- package/references/official-docs/docs/defensive-patterns/package-surface.i18n.yaml +28 -0
- package/references/official-docs/docs/defensive-patterns/package-surface.md +231 -0
- package/references/official-docs/docs/defensive-patterns/package-surface.zh.md +231 -0
- package/references/official-docs/docs/defensive-patterns/remote-and-api.i18n.yaml +16 -0
- package/references/official-docs/docs/defensive-patterns/remote-and-api.md +115 -0
- package/references/official-docs/docs/defensive-patterns/remote-and-api.zh.md +115 -0
- package/references/official-docs/docs/dependency-catalog.json +0 -0
- package/references/official-docs/docs/development.i18n.yaml +6 -6
- package/references/official-docs/docs/development.md +28 -10
- package/references/official-docs/docs/development.zh.md +29 -10
- package/references/official-docs/docs/event-producer-consumer.i18n.yaml +0 -0
- package/references/official-docs/docs/event-producer-consumer.md +18 -17
- package/references/official-docs/docs/event-producer-consumer.zh.md +18 -17
- package/references/official-docs/docs/experimental-persistence-catalog.i18n.yaml +0 -0
- package/references/official-docs/docs/experimental-persistence-catalog.md +0 -0
- package/references/official-docs/docs/experimental-persistence-catalog.zh.md +0 -0
- package/references/official-docs/docs/glossary.i18n.yaml +2 -2
- package/references/official-docs/docs/glossary.md +1 -0
- package/references/official-docs/docs/glossary.zh.md +1 -0
- package/references/official-docs/docs/graph-atlas.i18n.yaml +0 -0
- package/references/official-docs/docs/graph-atlas.md +0 -0
- package/references/official-docs/docs/graph-atlas.zh.md +0 -0
- package/references/official-docs/docs/i18n/README.i18n.yaml +0 -0
- package/references/official-docs/docs/i18n/README.md +0 -0
- package/references/official-docs/docs/i18n/README.zh.md +0 -0
- package/references/official-docs/docs/i18n/style-samples.md +2 -2
- package/references/official-docs/docs/i18n/terminology.md +1 -0
- package/references/official-docs/docs/i18n/translation-prompt.md +0 -0
- package/references/official-docs/docs/i18n/translation-rules.i18n.yaml +0 -0
- package/references/official-docs/docs/i18n/translation-rules.md +0 -0
- package/references/official-docs/docs/i18n/translation-rules.zh.md +0 -0
- package/references/official-docs/docs/module-graph.i18n.yaml +0 -0
- package/references/official-docs/docs/module-graph.md +79 -71
- package/references/official-docs/docs/module-graph.zh.md +79 -71
- package/references/official-docs/docs/persistence-catalog.i18n.yaml +267 -207
- package/references/official-docs/docs/persistence-catalog.md +385 -126
- package/references/official-docs/docs/persistence-catalog.zh.md +385 -126
- package/references/official-docs/docs/persistence-changes/2026-09-11-initial.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-11-initial.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-11-initial.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-11-initial.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.i18n.yaml +28 -0
- package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.md +52 -0
- package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.schema.json +297 -0
- package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.zh.md +52 -0
- package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.i18n.yaml +28 -0
- package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.md +48 -0
- package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.schema.json +231 -0
- package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.zh.md +48 -0
- package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.i18n.yaml +28 -0
- package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.md +60 -0
- package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.schema.json +11559 -0
- package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.zh.md +60 -0
- package/references/official-docs/docs/persistence-changes/README.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/README.md +0 -0
- package/references/official-docs/docs/persistence-changes/README.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/finalized/v4.json +0 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/README.i18n.yaml +2 -2
- package/references/official-docs/docs/persistence-changes/historical-formats/README.md +1 -1
- package/references/official-docs/docs/persistence-changes/historical-formats/README.zh.md +1 -1
- package/references/official-docs/docs/persistence-changes/historical-formats/v0.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/v0.md +0 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/v0.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/v0.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/v1.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/v1.md +0 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/v1.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/v1.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/v2.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/v2.md +0 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/v2.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/v2.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/v3.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/v3.md +0 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/v3.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/v3.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/README.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/README.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/README.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.i18n.yaml +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.schema.json +0 -0
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.zh.md +0 -0
- package/references/official-docs/docs/persistence-changes/releases/manifest.json +0 -0
- package/references/official-docs/docs/persistence-schema.json +1834 -1333
- package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.i18n.yaml +0 -0
- package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.md +0 -0
- package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.zh.md +0 -0
- package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.i18n.yaml +0 -0
- package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +0 -0
- package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +0 -0
- package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.i18n.yaml +0 -0
- package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.md +0 -0
- package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +0 -0
- package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.i18n.yaml +0 -0
- package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +0 -0
- package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +0 -0
- package/references/official-docs/docs/postmortem/README.i18n.yaml +0 -0
- package/references/official-docs/docs/postmortem/README.md +0 -0
- package/references/official-docs/docs/postmortem/README.zh.md +0 -0
- package/references/official-docs/docs/rescope.i18n.yaml +0 -0
- package/references/official-docs/docs/rescope.md +0 -0
- package/references/official-docs/docs/rescope.zh.md +0 -0
- package/references/official-docs/docs/session-format-status.i18n.yaml +0 -0
- package/references/official-docs/docs/session-format-status.md +0 -0
- package/references/official-docs/docs/session-format-status.zh.md +0 -0
- package/references/official-docs/docs/subsystems/README.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/README.md +0 -0
- package/references/official-docs/docs/subsystems/README.zh.md +0 -0
- package/references/official-docs/docs/subsystems/agent-team.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/agent-team.md +0 -0
- package/references/official-docs/docs/subsystems/agent-team.zh.md +0 -0
- package/references/official-docs/docs/subsystems/approval.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/approval.md +0 -0
- package/references/official-docs/docs/subsystems/approval.zh.md +0 -0
- package/references/official-docs/docs/subsystems/attachment.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/attachment.md +0 -0
- package/references/official-docs/docs/subsystems/attachment.zh.md +0 -0
- package/references/official-docs/docs/subsystems/boot.i18n.yaml +6 -0
- package/references/official-docs/docs/subsystems/boot.md +124 -0
- package/references/official-docs/docs/subsystems/boot.zh.md +124 -0
- package/references/official-docs/docs/subsystems/browser-use.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/browser-use.md +0 -0
- package/references/official-docs/docs/subsystems/browser-use.zh.md +0 -0
- package/references/official-docs/docs/subsystems/claude-code-mods.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/claude-code-mods.md +0 -0
- package/references/official-docs/docs/subsystems/claude-code-mods.zh.md +0 -0
- package/references/official-docs/docs/subsystems/client-modules.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/client-modules.md +14 -0
- package/references/official-docs/docs/subsystems/client-modules.zh.md +14 -0
- package/references/official-docs/docs/subsystems/client-resources.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/client-resources.md +0 -0
- package/references/official-docs/docs/subsystems/client-resources.zh.md +0 -0
- package/references/official-docs/docs/subsystems/commands.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/commands.md +0 -0
- package/references/official-docs/docs/subsystems/commands.zh.md +0 -0
- package/references/official-docs/docs/subsystems/compaction.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/compaction.md +0 -0
- package/references/official-docs/docs/subsystems/compaction.zh.md +0 -0
- package/references/official-docs/docs/subsystems/computer-use.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/computer-use.md +3 -0
- package/references/official-docs/docs/subsystems/computer-use.zh.md +3 -0
- package/references/official-docs/docs/subsystems/conversation.i18n.yaml +3 -3
- package/references/official-docs/docs/subsystems/conversation.md +14 -0
- package/references/official-docs/docs/subsystems/conversation.zh.md +16 -0
- package/references/official-docs/docs/subsystems/core.i18n.yaml +1 -1
- package/references/official-docs/docs/subsystems/core.md +3 -1
- package/references/official-docs/docs/subsystems/core.zh.md +5 -1
- package/references/official-docs/docs/subsystems/credentials.i18n.yaml +6 -6
- package/references/official-docs/docs/subsystems/credentials.md +13 -12
- package/references/official-docs/docs/subsystems/credentials.zh.md +13 -12
- package/references/official-docs/docs/subsystems/deliverables.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/deliverables.md +0 -0
- package/references/official-docs/docs/subsystems/deliverables.zh.md +0 -0
- package/references/official-docs/docs/subsystems/extensions.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/extensions.md +0 -0
- package/references/official-docs/docs/subsystems/extensions.zh.md +0 -0
- package/references/official-docs/docs/subsystems/feedback.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/feedback.md +0 -0
- package/references/official-docs/docs/subsystems/feedback.zh.md +0 -0
- package/references/official-docs/docs/subsystems/filesystem.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/filesystem.md +0 -0
- package/references/official-docs/docs/subsystems/filesystem.zh.md +0 -0
- package/references/official-docs/docs/subsystems/goal.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/goal.md +0 -0
- package/references/official-docs/docs/subsystems/goal.zh.md +0 -0
- package/references/official-docs/docs/subsystems/jobs.i18n.yaml +5 -2
- package/references/official-docs/docs/subsystems/jobs.md +60 -4
- package/references/official-docs/docs/subsystems/jobs.zh.md +60 -4
- package/references/official-docs/docs/subsystems/llm-streaming.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/llm-streaming.md +41 -1
- package/references/official-docs/docs/subsystems/llm-streaming.zh.md +41 -1
- package/references/official-docs/docs/subsystems/lsp.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/lsp.md +0 -0
- package/references/official-docs/docs/subsystems/lsp.zh.md +0 -0
- package/references/official-docs/docs/subsystems/mcp.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/mcp.md +0 -0
- package/references/official-docs/docs/subsystems/mcp.zh.md +0 -0
- package/references/official-docs/docs/subsystems/office-to-pdf.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/office-to-pdf.md +0 -0
- package/references/official-docs/docs/subsystems/office-to-pdf.zh.md +0 -0
- package/references/official-docs/docs/subsystems/otel.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/otel.md +0 -0
- package/references/official-docs/docs/subsystems/otel.zh.md +0 -0
- package/references/official-docs/docs/subsystems/permission-presets.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/permission-presets.md +0 -0
- package/references/official-docs/docs/subsystems/permission-presets.zh.md +0 -0
- package/references/official-docs/docs/subsystems/persistence.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/persistence.md +0 -0
- package/references/official-docs/docs/subsystems/persistence.zh.md +0 -0
- package/references/official-docs/docs/subsystems/plan.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/plan.md +0 -0
- package/references/official-docs/docs/subsystems/plan.zh.md +0 -0
- package/references/official-docs/docs/subsystems/product-telemetry.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/product-telemetry.md +4 -2
- package/references/official-docs/docs/subsystems/product-telemetry.zh.md +4 -2
- package/references/official-docs/docs/subsystems/ptc-runtime.i18n.yaml +4 -4
- package/references/official-docs/docs/subsystems/ptc-runtime.md +24 -6
- package/references/official-docs/docs/subsystems/ptc-runtime.zh.md +24 -6
- package/references/official-docs/docs/subsystems/sandbox.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/sandbox.md +0 -0
- package/references/official-docs/docs/subsystems/sandbox.zh.md +0 -0
- package/references/official-docs/docs/subsystems/schedule.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/schedule.md +0 -0
- package/references/official-docs/docs/subsystems/schedule.zh.md +0 -0
- package/references/official-docs/docs/subsystems/scope.i18n.yaml +1 -1
- package/references/official-docs/docs/subsystems/scope.md +0 -0
- package/references/official-docs/docs/subsystems/scope.zh.md +2 -0
- package/references/official-docs/docs/subsystems/session-projection.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/session-projection.md +0 -0
- package/references/official-docs/docs/subsystems/session-projection.zh.md +0 -0
- package/references/official-docs/docs/subsystems/session-query.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/session-query.md +0 -0
- package/references/official-docs/docs/subsystems/session-query.zh.md +0 -0
- package/references/official-docs/docs/subsystems/session-reference.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/session-reference.md +0 -0
- package/references/official-docs/docs/subsystems/session-reference.zh.md +0 -0
- package/references/official-docs/docs/subsystems/session-telemetry.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/session-telemetry.md +0 -0
- package/references/official-docs/docs/subsystems/session-telemetry.zh.md +0 -0
- package/references/official-docs/docs/subsystems/session-title.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/session-title.md +0 -0
- package/references/official-docs/docs/subsystems/session-title.zh.md +0 -0
- package/references/official-docs/docs/subsystems/session.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/session.md +11 -9
- package/references/official-docs/docs/subsystems/session.zh.md +11 -9
- package/references/official-docs/docs/subsystems/settings.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/settings.md +0 -0
- package/references/official-docs/docs/subsystems/settings.zh.md +0 -0
- package/references/official-docs/docs/subsystems/shell.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/shell.md +0 -0
- package/references/official-docs/docs/subsystems/shell.zh.md +0 -0
- package/references/official-docs/docs/subsystems/sidebar-right.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/sidebar-right.md +2 -0
- package/references/official-docs/docs/subsystems/sidebar-right.zh.md +2 -0
- package/references/official-docs/docs/subsystems/skills.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/skills.md +0 -0
- package/references/official-docs/docs/subsystems/skills.zh.md +0 -0
- package/references/official-docs/docs/subsystems/slots.i18n.yaml +8 -8
- package/references/official-docs/docs/subsystems/slots.md +80 -85
- package/references/official-docs/docs/subsystems/slots.zh.md +84 -85
- package/references/official-docs/docs/subsystems/spill.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/spill.md +0 -0
- package/references/official-docs/docs/subsystems/spill.zh.md +0 -0
- package/references/official-docs/docs/subsystems/ssh.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/ssh.md +0 -0
- package/references/official-docs/docs/subsystems/ssh.zh.md +0 -0
- package/references/official-docs/docs/subsystems/storage.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/storage.md +0 -0
- package/references/official-docs/docs/subsystems/storage.zh.md +0 -0
- package/references/official-docs/docs/subsystems/subagent.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/subagent.md +10 -18
- package/references/official-docs/docs/subsystems/subagent.zh.md +10 -18
- package/references/official-docs/docs/subsystems/subprocess.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/subprocess.md +0 -0
- package/references/official-docs/docs/subsystems/subprocess.zh.md +0 -0
- package/references/official-docs/docs/subsystems/system-prompt.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/system-prompt.md +0 -0
- package/references/official-docs/docs/subsystems/system-prompt.zh.md +0 -0
- package/references/official-docs/docs/subsystems/terminal.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/terminal.md +0 -0
- package/references/official-docs/docs/subsystems/terminal.zh.md +0 -0
- package/references/official-docs/docs/subsystems/todo.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/todo.md +0 -0
- package/references/official-docs/docs/subsystems/todo.zh.md +0 -0
- package/references/official-docs/docs/subsystems/token-meter.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/token-meter.md +0 -0
- package/references/official-docs/docs/subsystems/token-meter.zh.md +0 -0
- package/references/official-docs/docs/subsystems/tools.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/tools.md +0 -0
- package/references/official-docs/docs/subsystems/tools.zh.md +0 -0
- package/references/official-docs/docs/subsystems/translation.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/translation.md +1 -1
- package/references/official-docs/docs/subsystems/translation.zh.md +1 -1
- package/references/official-docs/docs/subsystems/typert.i18n.yaml +11 -8
- package/references/official-docs/docs/subsystems/typert.md +222 -17
- package/references/official-docs/docs/subsystems/typert.zh.md +222 -17
- package/references/official-docs/docs/subsystems/user-questions.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/user-questions.md +0 -0
- package/references/official-docs/docs/subsystems/user-questions.zh.md +0 -0
- package/references/official-docs/docs/subsystems/voice-input.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/voice-input.md +0 -0
- package/references/official-docs/docs/subsystems/voice-input.zh.md +0 -0
- package/references/official-docs/docs/subsystems/web-client.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/web-client.md +1 -1
- package/references/official-docs/docs/subsystems/web-client.zh.md +1 -1
- package/references/official-docs/docs/subsystems/web-server.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/web-server.md +44 -3
- package/references/official-docs/docs/subsystems/web-server.zh.md +44 -3
- package/references/official-docs/docs/subsystems/web.i18n.yaml +4 -4
- package/references/official-docs/docs/subsystems/web.md +2 -2
- package/references/official-docs/docs/subsystems/web.zh.md +2 -2
- package/references/official-docs/docs/subsystems/webhook.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/webhook.md +0 -0
- package/references/official-docs/docs/subsystems/webhook.zh.md +0 -0
- package/references/official-docs/docs/subsystems/workflow.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/workflow.md +0 -0
- package/references/official-docs/docs/subsystems/workflow.zh.md +0 -0
- package/references/official-docs/docs/subsystems/working-directory.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/working-directory.md +0 -0
- package/references/official-docs/docs/subsystems/working-directory.zh.md +0 -0
- package/references/official-docs/docs/subsystems/workspace.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/workspace.md +23 -35
- package/references/official-docs/docs/subsystems/workspace.zh.md +23 -35
- package/references/official-docs/docs/subsystems/worktrees.i18n.yaml +0 -0
- package/references/official-docs/docs/subsystems/worktrees.md +0 -0
- package/references/official-docs/docs/subsystems/worktrees.zh.md +0 -0
- package/references/official-docs/docs/testing.i18n.yaml +2 -2
- package/references/official-docs/docs/testing.md +1 -1
- package/references/official-docs/docs/testing.zh.md +1 -1
- package/references/official-docs/docs/tool-catalog.i18n.yaml +12 -6
- package/references/official-docs/docs/tool-catalog.md +61 -10
- package/references/official-docs/docs/tool-catalog.zh.md +61 -10
- package/references/official-docs/docs/tool-execution-pipeline.i18n.yaml +0 -0
- package/references/official-docs/docs/tool-execution-pipeline.md +0 -0
- package/references/official-docs/docs/tool-execution-pipeline.zh.md +0 -0
- package/references/official-docs/docs/ui-radius.i18n.yaml +4 -4
- package/references/official-docs/docs/ui-radius.md +6 -4
- package/references/official-docs/docs/ui-radius.zh.md +6 -4
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/bundled-python-tests/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/bundled-python-tests/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/bundled-python-tests/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.md +18 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.zh.md +18 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/deepseek-model-discovery/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/deepseek-model-discovery/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/deepseek-model-discovery/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/desktop-test-auth-popup/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/desktop-test-auth-popup/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/desktop-test-auth-popup/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/experimental-package-composition/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/experimental-package-composition/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/experimental-package-composition/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/instruction-home-override/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/instruction-home-override/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/instruction-home-override/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.md +18 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.zh.md +18 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.md +18 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.zh.md +18 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/mock-messages-events/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/mock-messages-events/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/mock-messages-events/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/native-subagent-bundle-tools/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/native-subagent-bundle-tools/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/native-subagent-bundle-tools/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/new-session-generations/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/new-session-generations/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/new-session-generations/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/plugin-option-placement/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/plugin-option-placement/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/plugin-option-placement/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-optional-resources/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-optional-resources/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-optional-resources/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-adapters/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-adapters/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-adapters/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-provider-strategy/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-provider-strategy/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-provider-strategy/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/ssh-helper-launch/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/ssh-helper-launch/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/ssh-helper-launch/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-activations/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-activations/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-activations/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.md +21 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.zh.md +21 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/terminal-command-labels/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/terminal-command-labels/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/terminal-command-labels/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/tool-presentation-mode/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/tool-presentation-mode/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/tool-presentation-mode/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/web-listener-trust-config/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/web-listener-trust-config/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/web-listener-trust-config/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/working-directory/guide.i18n.yaml +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/working-directory/guide.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/working-directory/guide.zh.md +0 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.md +18 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.zh.md +18 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.md +27 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.zh.md +27 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.md +18 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.zh.md +18 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.md +20 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.zh.md +20 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.md +18 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.zh.md +18 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.md +19 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.zh.md +19 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.md +17 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.zh.md +17 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.md +20 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.zh.md +20 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.md +32 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.zh.md +32 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.md +25 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.zh.md +25 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.md +21 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.zh.md +21 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.md +18 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.zh.md +18 -0
- package/references/official-docs/docs/user/develop/basic/config.i18n.yaml +0 -0
- package/references/official-docs/docs/user/develop/basic/config.md +0 -0
- package/references/official-docs/docs/user/develop/basic/config.zh.md +0 -0
- package/references/official-docs/docs/user/develop/basic/index.i18n.yaml +0 -0
- package/references/official-docs/docs/user/develop/basic/index.md +0 -0
- package/references/official-docs/docs/user/develop/basic/index.zh.md +0 -0
- package/references/official-docs/docs/user/develop/basic/publish.i18n.yaml +4 -4
- package/references/official-docs/docs/user/develop/basic/publish.md +3 -1
- package/references/official-docs/docs/user/develop/basic/publish.zh.md +3 -1
- package/references/official-docs/docs/user/develop/basic/tool.i18n.yaml +0 -0
- package/references/official-docs/docs/user/develop/basic/tool.md +0 -0
- package/references/official-docs/docs/user/develop/basic/tool.zh.md +0 -0
- package/references/official-docs/docs/user/develop/framework/events.i18n.yaml +0 -0
- package/references/official-docs/docs/user/develop/framework/events.md +0 -0
- package/references/official-docs/docs/user/develop/framework/events.zh.md +0 -0
- package/references/official-docs/docs/user/develop/framework/index.i18n.yaml +0 -0
- package/references/official-docs/docs/user/develop/framework/index.md +0 -0
- package/references/official-docs/docs/user/develop/framework/index.zh.md +0 -0
- package/references/official-docs/docs/user/develop/framework/service.i18n.yaml +0 -0
- package/references/official-docs/docs/user/develop/framework/service.md +0 -0
- package/references/official-docs/docs/user/develop/framework/service.zh.md +0 -0
- package/references/official-docs/docs/user/develop/practice/dynamic-cordis.i18n.yaml +0 -0
- package/references/official-docs/docs/user/develop/practice/dynamic-cordis.md +0 -0
- package/references/official-docs/docs/user/develop/practice/dynamic-cordis.zh.md +0 -0
- package/references/official-docs/docs/user/develop/practice/index.i18n.yaml +0 -0
- package/references/official-docs/docs/user/develop/practice/index.md +0 -0
- package/references/official-docs/docs/user/develop/practice/index.zh.md +0 -0
- package/references/official-docs/docs/user/develop/practice/llm-adapter.i18n.yaml +0 -0
- package/references/official-docs/docs/user/develop/practice/llm-adapter.md +0 -0
- package/references/official-docs/docs/user/develop/practice/llm-adapter.zh.md +0 -0
- package/references/official-docs/docs/user/guide/github-review.i18n.yaml +0 -0
- package/references/official-docs/docs/user/guide/github-review.md +0 -0
- package/references/official-docs/docs/user/guide/github-review.zh.md +0 -0
- package/references/official-docs/docs/user/guide/index.i18n.yaml +0 -0
- package/references/official-docs/docs/user/guide/index.md +0 -0
- package/references/official-docs/docs/user/guide/index.zh.md +0 -0
- package/references/official-docs/docs/user/guide/mcp-memory.i18n.yaml +0 -0
- package/references/official-docs/docs/user/guide/mcp-memory.md +0 -0
- package/references/official-docs/docs/user/guide/mcp-memory.zh.md +0 -0
- package/references/official-docs/docs/user/guide/network-proxy.i18n.yaml +0 -0
- package/references/official-docs/docs/user/guide/network-proxy.md +0 -0
- package/references/official-docs/docs/user/guide/network-proxy.zh.md +0 -0
- package/references/official-docs/docs/user/guide/plugin-market.i18n.yaml +34 -0
- package/references/official-docs/docs/user/guide/plugin-market.md +148 -0
- package/references/official-docs/docs/user/guide/plugin-market.zh.md +148 -0
- 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 +11 -8
- package/references/official-docs/docs/user/guide/providers.md +27 -4
- package/references/official-docs/docs/user/guide/providers.zh.md +27 -4
- package/references/official-docs/docs/user/guide/public-deployments.i18n.yaml +2 -2
- package/references/official-docs/docs/user/guide/public-deployments.md +1 -1
- package/references/official-docs/docs/user/guide/public-deployments.zh.md +1 -1
- package/references/official-docs/docs/user/guide/python-sdk.i18n.yaml +4 -4
- package/references/official-docs/docs/user/guide/python-sdk.md +8 -9
- package/references/official-docs/docs/user/guide/python-sdk.zh.md +8 -9
- package/references/official-docs/docs/user/guide/schedule.i18n.yaml +0 -0
- package/references/official-docs/docs/user/guide/schedule.md +0 -0
- package/references/official-docs/docs/user/guide/schedule.zh.md +0 -0
- package/references/official-docs/docs/user/index.i18n.yaml +0 -0
- package/references/official-docs/docs/user/index.md +0 -0
- package/references/official-docs/docs/user/index.zh.md +0 -0
- package/references/official-docs/docs/web-styling.i18n.yaml +0 -0
- package/references/official-docs/docs/web-styling.md +0 -0
- package/references/official-docs/docs/web-styling.zh.md +0 -0
- package/references/official-docs/packages/AGENTS.md +2 -0
- package/references/official-docs/packages/README.md +0 -0
- package/references/official-docs/vendor/README.md +4 -0
- package/references/official-docs/website-docs.ts +8 -0
- package/references/official-plugin-dev-skill.md +0 -0
- package/references/sources.md +0 -0
- package/references/upstream-cordis.md +0 -0
- package/references/website-pages.md +0 -0
- package/scripts/archive-discussions.ps1 +0 -0
- package/scripts/build-llms-full.mjs +0 -0
- package/scripts/check-docs-drift-detail.mjs +0 -0
- package/scripts/check-docs-drift.ps1 +0 -0
- package/scripts/check-facts.mjs +0 -0
- package/scripts/check-ps1-bom.mjs +0 -0
- package/scripts/check-readme-parity.mjs +0 -0
- package/scripts/check-readme-sync.mjs +0 -0
- package/scripts/download-community-articles.ps1 +188 -188
- package/scripts/download-community-repos.ps1 +232 -232
- package/scripts/download-sources.ps1 +195 -195
- package/scripts/gen-topic-snapshot.ps1 +91 -91
- package/scripts/install-skill.ps1 +63 -63
- package/scripts/measure-mirror-references.mjs +0 -0
- package/scripts/sync-official-docs.ps1 +0 -0
- package/scripts/verify-artifacts.mjs +0 -0
- package/scripts/verify-kit.ps1 +0 -0
- package/templates/js/LICENSE +0 -0
- package/templates/js/README-es.md +0 -0
- package/templates/js/README-hi.md +0 -0
- package/templates/js/README-pt.md +0 -0
- package/templates/js/README-zh.md +0 -0
- package/templates/js/README.md +0 -0
- package/templates/js/cordis.patch.yml +0 -0
- package/templates/js/icon.svg +4 -4
- package/templates/js/index.js +0 -0
- package/templates/js/locale/en.json +6 -6
- package/templates/js/locale/zh.json +6 -6
- package/templates/js/package.json +43 -43
- package/templates/js/tests/index.test.js +0 -0
- package/templates/ts/LICENSE +0 -0
- package/templates/ts/README-es.md +0 -0
- package/templates/ts/README-hi.md +0 -0
- package/templates/ts/README-pt.md +0 -0
- package/templates/ts/README-zh.md +0 -0
- package/templates/ts/README.md +0 -0
- package/templates/ts/cordis.patch.yml +0 -0
- package/templates/ts/icon.svg +4 -4
- package/templates/ts/locale/en.json +6 -6
- package/templates/ts/locale/zh.json +6 -6
- package/templates/ts/package.json +52 -52
- package/templates/ts/src/config.ts +0 -0
- package/templates/ts/src/index.ts +0 -0
- package/templates/ts/tests/index.test.ts +0 -0
- package/templates/ts/tsconfig.json +0 -0
- package/templates/ts/tsdown.config.mjs +21 -21
- package/templates/ts/vitest.config.ts +0 -0
- package/references/official-docs/docs/defensive-patterns.i18n.yaml +0 -28
- package/references/official-docs/docs/defensive-patterns.md +0 -33
- package/references/official-docs/docs/defensive-patterns.zh.md +0 -35
|
@@ -40,27 +40,31 @@ interface TypertLookupDefinition {
|
|
|
40
40
|
|
|
41
41
|
`InvocationDescriptor` 是本地反射信息,不是 wire message。Host 与消费方构建会生成彼此对应的 descriptor;请求只发送 endpoint 与具名 `args`。strict codec 携带生成的 schema factory,SRC codec 则在不恢复结构类型的前提下强制要求输入为 JSON 安全值。一元结果 codec 可提供 `encode()` 处理含字节的子树,并通过 `decode()` 递归校验原生字节;Client 声明将每个 `Uint8Array` 限定为以 `ArrayBuffer` 为底层缓冲区。纯 JSON 结果无需字节识别或 Client 解码。取消通过带外 carrier signal 表达:它在业务参数之后注入,绝不进入 `args`。
|
|
42
42
|
|
|
43
|
+
`createTypertRemoteInfo` 返回实现 `TypertRemoteInfo` 的惰性类实例,后者扩展可挂载的 `TypertRemoteContribution`。其 `methods` 索引引用 `descriptors` 中的直接方法对象:每个 `TypertRemoteMethod` 增加具名 `input(options?)` 和 `invoke`,在方法及参数上保留文档,并以 `result` 作为唯一输出 codec。一元 `mode` 缺省;流式 `mode` 为 `'stream'`。仅使用 Context 接收器的方法保留在描述符和作用域声明中。Registry 查询返回基础描述符;`isTypertRemoteMethod` 收窄生成的直接调用能力,但不会恢复各端点的精确泛型。
|
|
44
|
+
|
|
45
|
+
`TypertSchema` 保证解析能力,不保证任意 Zod 操作,尽管原始 factory spec 要求 Zod factory。缺少文档或不支持可选的 JSON Schema 投影,不会使普通方法失效。info 索引与每种输入策略的视图、解析器和派生投影都独立惰性求值并缓存;读取元数据或 schema 绝不发起网络调用。[协议参考](<../../packages/typert/protocol/README.zh.md>)定义这些 API,[生成器参考](<../../packages/typert/generator/README.zh.md#ordinary-remote-metadata>)定义它们彼此分离的 Host `./typert`、消费方 `./remote` 和 Client `./client/typert` 产物。
|
|
46
|
+
|
|
47
|
+
`TypertRemoteSpec` 保存包名与按端点键控的 `TypertRemoteMethodSpec`。每个有序 `TypertRemoteParameterSpec` 条目都包含从同一 checker 解析后类型模型生成的普通 `codec` 和 `strictCodec` factory;运行时派生标识、默认 wire 名称和具名调用视图。`TypertRemoteInputOptions` 仅包含 `strict?: boolean`;`method.input(options?)` 选择缓存的 `TypertRemoteValue<T>`,提供匹配的解析及可选文档/投影,而不改变 Host 分发或 `result`。`RemoteDecoded<T>` 则描述 carrier 重建的一元结果,不会收窄任意解析器输出。
|
|
48
|
+
|
|
43
49
|
```ts type-equiv
|
|
44
50
|
/** Codec attached to one invocation parameter or result. */
|
|
45
|
-
type TypertCodec =
|
|
46
|
-
| {
|
|
51
|
+
type TypertCodec<Value = unknown> =
|
|
52
|
+
| TypertRemoteValue<Value> & {
|
|
47
53
|
readonly mode: 'strict'
|
|
48
54
|
readonly typeSymbol: string
|
|
49
|
-
/** Materialize and return the process-realm schema on first boundary use. */
|
|
50
|
-
readonly create: () => TypertSchema
|
|
51
55
|
/**
|
|
52
56
|
* Decode a unary result whose fields require type-specific handling.
|
|
53
57
|
* @param value - result reconstructed by the RPC carrier.
|
|
54
58
|
* @returns the validated result, retaining native byte views.
|
|
55
59
|
*/
|
|
56
|
-
readonly decode?: (value: unknown) => unknown
|
|
60
|
+
readonly decode?: ((value: unknown) => unknown) | undefined
|
|
57
61
|
/**
|
|
58
62
|
* Project typed binary fields into RPC result attachments.
|
|
59
63
|
* @param value - native unary result.
|
|
60
64
|
* @param writeBytes - records a byte view at its result-relative path and returns its JSON placeholder.
|
|
61
65
|
* @returns JSON metadata with untouched JSON subtrees retained.
|
|
62
66
|
*/
|
|
63
|
-
readonly encode?: (value: unknown, writeBytes: (bytes: Uint8Array, path: readonly (string | number)[]) => null) => unknown
|
|
67
|
+
readonly encode?: ((value: unknown, writeBytes: (bytes: Uint8Array, path: readonly (string | number)[]) => null) => unknown) | undefined
|
|
64
68
|
}
|
|
65
69
|
| {
|
|
66
70
|
readonly mode: 'src-json'
|
|
@@ -72,6 +76,8 @@ type TypertCodec =
|
|
|
72
76
|
interface InvocationParameterDescriptor {
|
|
73
77
|
/** Source-level parameter name. */
|
|
74
78
|
readonly name: string
|
|
79
|
+
/** Source parameter documentation, independent of JSON Schema support. */
|
|
80
|
+
readonly description?: string
|
|
75
81
|
/** Required key in the wire `args` object. */
|
|
76
82
|
readonly wire: string
|
|
77
83
|
/** Whether the value is JSON or requires a registered Host lookup. */
|
|
@@ -135,6 +141,8 @@ interface InvocationDescriptor {
|
|
|
135
141
|
}
|
|
136
142
|
/** Codec for the unary result or each yielded stream item. */
|
|
137
143
|
readonly result: TypertCodec
|
|
144
|
+
/** Source-owned method documentation; ordinary methods need not have JSDoc. */
|
|
145
|
+
readonly description?: string
|
|
138
146
|
/** Source declaration used only for diagnostics. */
|
|
139
147
|
readonly sourceLocation?: InvocationSourceLocation
|
|
140
148
|
}
|
|
@@ -192,13 +200,37 @@ interface RemoteStreamHandle<Out, In> extends AsyncIterable<Out> {
|
|
|
192
200
|
|
|
193
201
|
```ts type-equiv
|
|
194
202
|
/**
|
|
195
|
-
*
|
|
203
|
+
* Merge-extensible caller identities. Each driver declares its own entry.
|
|
204
|
+
* Every entry is a JSON value with a unique literal `kind`, carries no
|
|
205
|
+
* credential, and is safe to persist in a Session log.
|
|
206
|
+
*/
|
|
207
|
+
interface PrincipalMap {
|
|
208
|
+
/** The local user who owns this Host. */
|
|
209
|
+
owner: { readonly kind: 'owner' }
|
|
210
|
+
}
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
```ts type-equiv
|
|
214
|
+
/** One caller identity; the authorization layer reads only this. */
|
|
215
|
+
type Principal = PrincipalMap[keyof PrincipalMap]
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
```ts type-equiv
|
|
219
|
+
/**
|
|
220
|
+
* One Peer's session on this Host. Its creator owns it: `ctx` is the Cordis
|
|
196
221
|
* scope that owns connection-lifetime registrations and is disposed with the
|
|
197
|
-
* Peer
|
|
222
|
+
* Peer, and `principal` is the caller identity fixed when the Peer was created.
|
|
198
223
|
*/
|
|
199
224
|
interface PeerScope {
|
|
200
225
|
readonly id: PeerId
|
|
226
|
+
/** Connection-lifetime registrations; disposed with the Peer. */
|
|
201
227
|
readonly ctx: Context
|
|
228
|
+
/** Caller identity fixed at creation by in-process Host code; no wire field can set it. */
|
|
229
|
+
readonly principal: Principal
|
|
230
|
+
/** Aborted once the Peer is disposed; Remote streams that speak for the Peer end with it. */
|
|
231
|
+
readonly signal: AbortSignal
|
|
232
|
+
/** Whether the Peer may open a forwarded-event stream; this does not grant business permissions. */
|
|
233
|
+
readonly interactions: 'answer' | 'none'
|
|
202
234
|
/**
|
|
203
235
|
* Tear down every registration made through `ctx`.
|
|
204
236
|
* @returns settles once the scope has quiesced; racing calls share one completion.
|
|
@@ -207,6 +239,16 @@ interface PeerScope {
|
|
|
207
239
|
}
|
|
208
240
|
```
|
|
209
241
|
|
|
242
|
+
```ts type-equiv
|
|
243
|
+
/** Carrier capacity for buffered uplink frames of one logical stream. */
|
|
244
|
+
interface RemoteUplinkWindow {
|
|
245
|
+
/** Maximum complete encoded frame bytes waiting for the Host consumer. */
|
|
246
|
+
readonly maxBytes: number
|
|
247
|
+
/** UTF-8 envelope bytes added to a compact JSON item with a present value field. */
|
|
248
|
+
readonly frameOverheadBytes: number
|
|
249
|
+
}
|
|
250
|
+
```
|
|
251
|
+
|
|
210
252
|
```ts type-equiv
|
|
211
253
|
/**
|
|
212
254
|
* The context of one Remote call, reachable inside the receiving method as
|
|
@@ -221,10 +263,12 @@ interface RemoteInvocation {
|
|
|
221
263
|
}
|
|
222
264
|
/** Cordis service key of the receiving Service. */
|
|
223
265
|
readonly service: string
|
|
224
|
-
/** Peer the call speaks for;
|
|
266
|
+
/** Peer the call speaks for; every carrier names it explicitly. */
|
|
225
267
|
readonly peer: PeerScope
|
|
226
268
|
/** Carrier cancellation: Client cancel, socket close, or an uplink failure. */
|
|
227
269
|
readonly signal: AbortSignal
|
|
270
|
+
/** Carrier frame capacity; absent when the carrier imposes no encoded-frame inbox limit. */
|
|
271
|
+
readonly uplinkWindow?: RemoteUplinkWindow | undefined
|
|
228
272
|
/**
|
|
229
273
|
* The Client's uplink items for this call. Available once; a second call
|
|
230
274
|
* throws. With an uplink codec on the descriptor every item is decoded to
|
|
@@ -240,9 +284,81 @@ interface RemoteInvocation {
|
|
|
240
284
|
}
|
|
241
285
|
```
|
|
242
286
|
|
|
287
|
+
## Remote 访问资源
|
|
288
|
+
|
|
289
|
+
每个 Remote 方法都受 [`dsh-api-remote-access`](../../packages/api/remote-access/README.zh.md) 的访问控制:只有当该 principal 种类的 policy 在调用访问的每个资源上都绑定了列出该端点 action 的 role 时,非 owner 调用才被放行。拥有某个身份类型的包把其资源种类声明合并进 `TypertResourceMap`;内置的无身份资源 `global` 从不是其中的种类。Gateway 从 `@Remote({ resources })` 或 `@RemoteScope(key, { resources })` 的 `resources` 读取函数读取某个种类的身份,其次是把该种类声明为 `resource` 的 lookup 参数或作用域 Context,再次是在 `typert.resources` 中登记的默认字段;不指向任何资源的调用访问 `global`。决策由 [Peer 身份属性 Agent Note](../../.agents/notes/implemented/architecture/2026-10-12-peer-principal-and-remote-access.zh.md) 负责。
|
|
290
|
+
|
|
291
|
+
```ts type-equiv
|
|
292
|
+
/**
|
|
293
|
+
* Merge-extensible resource kinds whose identities a Remote call or forwarded
|
|
294
|
+
* event may carry. The package that owns an identity type declares its kind;
|
|
295
|
+
* the value is that kind's identity type, a string type such as a branded id.
|
|
296
|
+
* `global` names the built-in identity-less resource and is never a kind here.
|
|
297
|
+
*/
|
|
298
|
+
interface TypertResourceMap {}
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
```ts type-equiv
|
|
302
|
+
/** One resource kind: the built-in `global` kind or a declared kind. */
|
|
303
|
+
type RemoteAccessResourceKind = 'global' | TypertResourceKind
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
```ts type-equiv
|
|
307
|
+
/**
|
|
308
|
+
* One resource a call or forwarded event touches: `global`, or one identity
|
|
309
|
+
* of a declared kind. Identities are wire values, read before any lookup
|
|
310
|
+
* resolves or validates them.
|
|
311
|
+
*/
|
|
312
|
+
type RemoteAccessResource =
|
|
313
|
+
| { readonly kind: 'global' }
|
|
314
|
+
| {
|
|
315
|
+
[Kind in TypertResourceKind]: { readonly kind: Kind; readonly id: TypertResourceId<TypertResourceMap[Kind]> }
|
|
316
|
+
}[TypertResourceKind]
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
```ts type-equiv
|
|
320
|
+
/**
|
|
321
|
+
* Explicit endpoint and resource choices for one Remote Scope method.
|
|
322
|
+
* @template WireArgs - the decorated method's positional parameters as the
|
|
323
|
+
* wire carries them; the default `never` admits readers of any tuple.
|
|
324
|
+
*/
|
|
325
|
+
interface RemoteScopeOptions<WireArgs extends readonly unknown[] = never> {
|
|
326
|
+
/** Exported endpoint method; omission retains the implementation member name. */
|
|
327
|
+
readonly name?: string
|
|
328
|
+
/**
|
|
329
|
+
* Per-kind readers of the resources one call touches. Each receives the
|
|
330
|
+
* method's arguments as its own parameters, JSON arguments as their Typert
|
|
331
|
+
* codecs validated them, a lookup parameter as its wire identity and a
|
|
332
|
+
* cancellation parameter as the call's signal, so it performs plain reads
|
|
333
|
+
* only, and returns one identity, several, or `undefined` for none. A
|
|
334
|
+
* throw, an empty list, or an identity other than a non-empty string
|
|
335
|
+
* refuses the call. For a kind without a reader, the Gateway reads the
|
|
336
|
+
* identity of a scoped Context whose Host adapter declares that `resource`
|
|
337
|
+
* and of lookup parameters declaring it, else the field registered in
|
|
338
|
+
* `typert.resources`: a top-level argument or, failing that, the first
|
|
339
|
+
* object argument. A call that carries no identity touches `global`. The
|
|
340
|
+
* readers and these defaults together must name every resource the method
|
|
341
|
+
* accesses: access control never checks a resource they omit.
|
|
342
|
+
*/
|
|
343
|
+
readonly resources?: TypertResourceReaders<WireArgs>
|
|
344
|
+
}
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
```ts type-equiv
|
|
348
|
+
/**
|
|
349
|
+
* Explicit endpoint, stream, and resource choices for one direct Remote method.
|
|
350
|
+
* @template WireArgs - the decorated method's positional parameters as the
|
|
351
|
+
* wire carries them; the default `never` admits readers of any tuple.
|
|
352
|
+
*/
|
|
353
|
+
interface RemoteMethodOptions<WireArgs extends readonly unknown[] = never> extends RemoteScopeOptions<WireArgs> {
|
|
354
|
+
/** `stream`: deliver each Iterable item over the shared logical-stream carrier. */
|
|
355
|
+
readonly mode?: 'stream'
|
|
356
|
+
}
|
|
357
|
+
```
|
|
358
|
+
|
|
243
359
|
## Typert 注册表
|
|
244
360
|
|
|
245
|
-
`ctx.typert` 分开保存当前环境的 descriptor、显式选择的 Remote contribution、lookup
|
|
361
|
+
`ctx.typert` 分开保存当前环境的 descriptor、显式选择的 Remote contribution、lookup 提供方、作用域上下文提供方与资源种类的默认字段。lookup 提供方拥有稳定 wire 声明和默认 resolver;Host 组合可以为同一个 key 配置 effect-scoped 同步或异步 resolver,配置卸载后恢复默认策略。各项注册都是由 Cordis 持有的 effect,并返回可等待的 disposer。
|
|
246
362
|
|
|
247
363
|
```ts type-equiv
|
|
248
364
|
/** Minimal Typert runtime consumed through dependency inversion. */
|
|
@@ -251,6 +367,7 @@ interface TypertRegistryContract {
|
|
|
251
367
|
readonly remotes: TypertRemoteRegistry
|
|
252
368
|
readonly lookups: TypertLookupRegistry
|
|
253
369
|
readonly contexts: TypertContextRegistry
|
|
370
|
+
readonly resources: TypertResourceRegistry
|
|
254
371
|
}
|
|
255
372
|
```
|
|
256
373
|
|
|
@@ -263,7 +380,7 @@ interface TypertRemoteNamespaceMap {}
|
|
|
263
380
|
|
|
264
381
|
## Host Gateway
|
|
265
382
|
|
|
266
|
-
Connection 会先解码 carrier envelope,再调用 `ctx.typertGateway`。请求将精确的具名 wire
|
|
383
|
+
Connection 会先解码 carrier envelope,再调用 `ctx.typertGateway`。请求将精确的具名 wire 字段、carrier 的取消 signal 与本次调用代表的 Peer 分开携带;每个载体与进程内调用方都显式给出该 Peer,Gateway 以 `gateway/peer-disposed` 拒绝已 dispose 的 Peer。对非 owner 调用,Gateway 在参数校验之后、任何 lookup 或 Context 解析之前解析其资源并询问 `ctx.remoteAccess.decide()`;基础设施与边界失败由 `TypertGatewayError` 承载,其 `gateway/*` 码就是普通的 `RemoteError` 码,因此 RPC 适配器会把每个经结构识别的 `RemoteError` 连同其 code 与 details 原样放行,只把无法识别的异常归并为 `gateway/internal`。
|
|
267
384
|
|
|
268
385
|
```ts type-equiv
|
|
269
386
|
/** One Remote method request after a carrier has decoded its envelope. */
|
|
@@ -279,8 +396,10 @@ interface InvokeRemoteRequest {
|
|
|
279
396
|
* `invocation.uplink()`; absent means an immediately ended iterable.
|
|
280
397
|
*/
|
|
281
398
|
readonly uplink?: AsyncIterable<unknown>
|
|
282
|
-
/**
|
|
283
|
-
readonly
|
|
399
|
+
/** Carrier-provided frame capacity; absent for carriers without an encoded-frame inbox limit. */
|
|
400
|
+
readonly uplinkWindow?: RemoteUplinkWindow | undefined
|
|
401
|
+
/** Peer the call speaks for; every carrier and in-process caller names it explicitly. */
|
|
402
|
+
readonly peer: PeerScope
|
|
284
403
|
/** Carrier or direct-caller cancellation injected only into cancellation-aware methods. */
|
|
285
404
|
readonly signal?: AbortSignal
|
|
286
405
|
}
|
|
@@ -297,11 +416,13 @@ type TypertGatewayErrorCode =
|
|
|
297
416
|
| 'gateway/context-unavailable'
|
|
298
417
|
| 'gateway/definition-unavailable'
|
|
299
418
|
| 'gateway/input-invalid'
|
|
419
|
+
| 'gateway/interactions-forbidden'
|
|
300
420
|
| 'gateway/invocation-unavailable'
|
|
301
421
|
| 'gateway/lookup-failed'
|
|
302
422
|
| 'gateway/lookup-not-found'
|
|
303
423
|
| 'gateway/lookup-unavailable'
|
|
304
424
|
| 'gateway/method-unavailable'
|
|
425
|
+
| 'gateway/peer-disposed'
|
|
305
426
|
| 'gateway/protocol'
|
|
306
427
|
| 'gateway/provider-mismatch'
|
|
307
428
|
| 'gateway/result-invalid'
|
|
@@ -316,8 +437,8 @@ interface TypertGateway {
|
|
|
316
437
|
/** Carrier adapter shared by WebSocket and in-process transports. */
|
|
317
438
|
readonly wireStream: TypertGatewayWireStream
|
|
318
439
|
/**
|
|
319
|
-
* Check for an active Client event stream.
|
|
320
|
-
* @returns whether
|
|
440
|
+
* Check for an active owner Client event stream, the only kind that can answer forwarded waterfalls.
|
|
441
|
+
* @returns whether an owner stream is open and has not been cancelled.
|
|
321
442
|
*/
|
|
322
443
|
hasLiveClient(): boolean
|
|
323
444
|
/**
|
|
@@ -350,6 +471,8 @@ interface TypertGateway {
|
|
|
350
471
|
|
|
351
472
|
`ctx.remote` 只暴露由已导入 `/remote` 产物贡献的 namespace。`$mount()` 会把生成的 descriptor 与具体方法作为一项由 fiber 持有的操作统一注册。每个 namespace 都是可追踪的 `remote.<namespace>` Cordis 子服务,其生命周期覆盖已挂载的方法;JavaScript Proxy 与 Host 业务服务类型都不会进入消费方。
|
|
352
473
|
|
|
474
|
+
元数据所有权与连接所有权相互独立;[注册表参考](<../../packages/typert/registry/README.zh.md>)说明离线注册与挂载生命周期。
|
|
475
|
+
|
|
353
476
|
```ts type-equiv
|
|
354
477
|
/** Client Remote capability implemented by the Gateway and consumed by Remote assemblies. */
|
|
355
478
|
interface TypertClientRemote extends TypertRemoteNamespaceMap {
|
|
@@ -380,6 +503,88 @@ interface TypertClientRemote extends TypertRemoteNamespaceMap {
|
|
|
380
503
|
|
|
381
504
|
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).
|
|
382
505
|
|
|
506
|
+
<a id="ctxremoteaccess--remoteaccessservice"></a>
|
|
507
|
+
|
|
508
|
+
### `ctx.remoteAccess` — `RemoteAccessService`
|
|
509
|
+
|
|
510
|
+
Registry of access policies, the Gateway's access decisions, list filtering, and the per-Peer access snapshot. Every composition that mounts the Gateway mounts this service too.
|
|
511
|
+
|
|
512
|
+
```ts cordis-catalog
|
|
513
|
+
/**
|
|
514
|
+
* Register the policy of one non-owner principal kind in the caller's
|
|
515
|
+
* fiber; open snapshots are recomputed on registration and removal.
|
|
516
|
+
* @param kind - the principal kind the policy serves; never `owner`.
|
|
517
|
+
* @param policy - business-owned bindings and refusal reasons for principals of `kind`.
|
|
518
|
+
* @returns disposer removing this policy.
|
|
519
|
+
* @throws Error when `kind` already has a policy.
|
|
520
|
+
*/
|
|
521
|
+
registerPolicy<K extends Exclude<keyof PrincipalMap, 'owner'>>(kind: K, policy: RemoteAccessPolicy<PrincipalMap[K]>): () => void
|
|
522
|
+
|
|
523
|
+
/**
|
|
524
|
+
* Report that the bindings or condition answers for `principal` may have
|
|
525
|
+
* changed. Business packages call this on every grant, revocation, mode
|
|
526
|
+
* change, and expiry; open snapshots re-push, and the next failure of each
|
|
527
|
+
* policy is logged again.
|
|
528
|
+
* @param principal - affected principal; omitted for every principal.
|
|
529
|
+
*/
|
|
530
|
+
invalidate(principal?: Principal): void
|
|
531
|
+
|
|
532
|
+
/**
|
|
533
|
+
* Gateway-only: decide one request whose resources the Gateway resolved.
|
|
534
|
+
* The owner is allowed, and so is `remoteAccess/follow`: every Peer reads
|
|
535
|
+
* its own snapshot. Otherwise the action is allowed only when, on every
|
|
536
|
+
* listed resource, some binding of the principal's policy names that
|
|
537
|
+
* resource, has a role listing the action, and has no condition or a
|
|
538
|
+
* condition that allows. `bindings()` is called once per decision.
|
|
539
|
+
* @param request - the caller or recipient, the action, the resources it
|
|
540
|
+
* touches, and a call's arguments.
|
|
541
|
+
* @returns `allow`; or `deny` with `no-allow` when the principal kind has
|
|
542
|
+
* no policy, the first refusing condition's reason on the first resource
|
|
543
|
+
* no binding allows, else `explain()`'s reason, else `no-allow`;
|
|
544
|
+
* `policy-failed` when `bindings()`, a condition, or `explain()` throws,
|
|
545
|
+
* logged once per policy until the next `invalidate()`. The Gateway
|
|
546
|
+
* throws `remote-access/denied` for a denied call and drops a denied event.
|
|
547
|
+
*/
|
|
548
|
+
decide(request: RemoteAccessRequest<Principal>): RemoteAccessDecision
|
|
549
|
+
|
|
550
|
+
/**
|
|
551
|
+
* Filter items inside a Remote method. The invocation is read from the
|
|
552
|
+
* Context that accessed this service, so call it as
|
|
553
|
+
* `this.ctx.remoteAccess.allows(resource)` from the Remote method. Each
|
|
554
|
+
* check reads the policy's bindings again, so a long-running stream sees
|
|
555
|
+
* binding changes from the next check on.
|
|
556
|
+
* @param resource - resource of one result item.
|
|
557
|
+
* @returns true for the owner and outside a Remote call; otherwise whether
|
|
558
|
+
* the invocation's endpoint action is allowed on `resource` without call
|
|
559
|
+
* arguments, false when the policy is absent or fails.
|
|
560
|
+
*/
|
|
561
|
+
allows(resource: RemoteAccessResource): boolean
|
|
562
|
+
|
|
563
|
+
/**
|
|
564
|
+
* The baseline a page opens with before its snapshot stream connects. A
|
|
565
|
+
* business package rendering a non-owner page assigns this value to
|
|
566
|
+
* {@link REMOTE_ACCESS_SNAPSHOT_KEY} after every index injection row,
|
|
567
|
+
* replacing the owner baseline the webServer index carries.
|
|
568
|
+
* @param principal - the page's caller identity.
|
|
569
|
+
* @returns the owner baseline for the owner; otherwise the principal's current grants.
|
|
570
|
+
*/
|
|
571
|
+
snapshotFor(principal: Principal): RemoteAccessBaseline
|
|
572
|
+
|
|
573
|
+
/**
|
|
574
|
+
* Stream the calling Peer's access snapshot: one baseline, then `upsert`
|
|
575
|
+
* and `remove` frames after each `invalidate()` and each policy
|
|
576
|
+
* registration or removal that changes a grant. The owner receives only
|
|
577
|
+
* `{ owner: true }`. The generation ends when `signal` aborts or this
|
|
578
|
+
* service unloads, so a reloaded service starts every reader from a fresh
|
|
579
|
+
* baseline.
|
|
580
|
+
* @param signal - generation cancellation.
|
|
581
|
+
* @returns the access frames of one generation.
|
|
582
|
+
*/
|
|
583
|
+
@Remote({ mode: 'stream' }) async *follow(signal: AbortSignal): AsyncIterable<RemoteAccessFrame>
|
|
584
|
+
```
|
|
585
|
+
|
|
586
|
+
Source: [`packages/api/remote-access/src/index.ts`](../../packages/api/remote-access/src/index.ts)
|
|
587
|
+
|
|
383
588
|
<a id="ctxtypert--typertregistry"></a>
|
|
384
589
|
|
|
385
590
|
### `ctx.typert` — `TypertRegistry`
|
|
@@ -452,8 +657,8 @@ Resolve strict generated definitions or conservative SRC markers against current
|
|
|
452
657
|
|
|
453
658
|
```ts cordis-catalog
|
|
454
659
|
/**
|
|
455
|
-
* Check for an active Client event stream.
|
|
456
|
-
* @returns whether
|
|
660
|
+
* Check for an active owner Client event stream, the only kind that can answer forwarded waterfalls.
|
|
661
|
+
* @returns whether an owner stream is open and has not been cancelled.
|
|
457
662
|
*/
|
|
458
663
|
hasLiveClient(): boolean
|
|
459
664
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
en: c063711f8247c240
|
|
25
25
|
zh: 5e54758bbaf1670c
|
|
26
26
|
/web-client-architecture/conversation-and-presentation:
|
|
27
|
-
en:
|
|
28
|
-
zh:
|
|
27
|
+
en: 9a22492f0d4359c6
|
|
28
|
+
zh: 55d449e383e88f62
|
|
29
29
|
/web-client-architecture/data-paths:
|
|
30
30
|
en: a254278432416473
|
|
31
31
|
zh: 567c2d3c6a20b304
|
|
@@ -57,7 +57,7 @@ This pairing is not a second source of business truth. Host controllers decide d
|
|
|
57
57
|
|
|
58
58
|
Web and desktop share the [Coding Tools preference](../../packages/client/ui-settings/README.md#use-this-package). It controls diagnostic Views, [available preset choices](../../packages/client/ui-agent-preset/README.md), changed-file cards, and the builtin HTML preview policy without changing Session records.
|
|
59
59
|
|
|
60
|
-
`ui-session` installs the Session scope adapter and publishes `useSessions`, `useSessionStatus`, `useSessionRetainInfo`, `useSession`, `sessionId`, and `
|
|
60
|
+
`ui-session` installs the Session scope adapter and publishes `useSessions`, `useSessionStatus`, `useSessionRetainInfo`, `useSessionAccess`, `useSession`, `sessionId`, `useProjection`, and the Session-scope `useAccess` over the [remote-access](../../packages/api/remote-access/README.md) Client service. `SessionProvider` inherits an outer binding or binds an explicit `SessionReference`, so concurrent subtrees can target different Sessions. Domain adapters add further standard sources without putting React hooks on the model objects.
|
|
61
61
|
|
|
62
62
|
`ui-conversation` binds once to each `SessionBinding.eventSource`. Its event registry correlates durable Session events and Client-only `assistant/live-chunk` updates into stable business Contexts, and its view registry materializes target snapshots. Chat Assistant, Trajectory Assistant, and Turn Tail interpret both live chunks and the compact streams embedded in durable settlements, so reconnect and paged history reproduce the same Assistant state without durable token rows. `ui-chat` and `ui-trajectory` register separate Definitions and builders: they may interpret the same event family, but they do not import or share each other's final display model. The shell selects a registered view and passes its snapshot through standard hooks and Slots. [Conversation](conversation.md) defines Context identity, replay, Location data, target builders, and keyed renderers.
|
|
63
63
|
|
|
@@ -57,7 +57,7 @@ Connection 拥有请求 URL 解析、request correlation、`/api` carrier、trus
|
|
|
57
57
|
|
|
58
58
|
Web 和桌面端共享[代码工作工具偏好](../../packages/client/ui-settings/README.zh.md#use-this-package)。它控制诊断 View、[可用的预设选项](../../packages/client/ui-agent-preset/README.zh.md)、改动文件卡片和内置 HTML 预览策略,不改变 Session 记录。
|
|
59
59
|
|
|
60
|
-
`ui-session` 安装 Session scope adapter
|
|
60
|
+
`ui-session` 安装 Session scope adapter,并在 [remote-access](../../packages/api/remote-access/README.zh.md) Client 服务之上提供 `useSessions`、`useSessionStatus`、`useSessionRetainInfo`、`useSessionAccess`、`useSession`、`sessionId`、`useProjection` 和会话作用域的 `useAccess`。`SessionProvider` 可以继承外围 binding,也可以绑定显式 `SessionReference`,因此并存子树可以指向不同 Session。领域 adapter 可以继续添加标准 source,但不会把 React hook 放进 model object。
|
|
61
61
|
|
|
62
62
|
`ui-conversation` 对每个 `SessionBinding.eventSource` 只绑定一次。它的 event registry 把持久 Session event 与 Client-only `assistant/live-chunk` update 关联成稳定的业务 Context,view registry 则 materialize target snapshot。Chat Assistant、Trajectory Assistant 与 Turn Tail 同时解释 live chunk 和持久 settlement 中嵌入的紧凑 stream,因此重连与分页历史无需持久 token 行即可复现相同 Assistant 状态。`ui-chat` 与 `ui-trajectory` 分别注册自己的 Definition 和 builder:它们可以解释同一 event family,但不会导入或共享彼此的最终 display model。Shell 选择一个已注册 view,再通过标准 hook 与 Slot 交付其 snapshot。[Conversation](conversation.zh.md)定义 Context identity、replay、Location data、target builder 与 keyed renderer。
|
|
63
63
|
|
|
File without changes
|
|
@@ -116,13 +116,28 @@ createSharedFetchHandler(channel: '/api'): ConnectionFetchHandler
|
|
|
116
116
|
requestRejection(request: ConnectionTrustRequest): ConnectionRequestRejection
|
|
117
117
|
|
|
118
118
|
/**
|
|
119
|
-
* Admit
|
|
120
|
-
* operator, or it is refused with that status.
|
|
119
|
+
* Admit an HTTP request against its signed browser or API credential and live Peer.
|
|
121
120
|
* @param request - request headers from the HTTP or upgrade request.
|
|
122
|
-
* @returns the
|
|
121
|
+
* @returns the credential's Peer, or the rejection status.
|
|
123
122
|
*/
|
|
124
123
|
admit(request: ConnectionTrustRequest): PeerAdmission
|
|
125
124
|
|
|
125
|
+
/**
|
|
126
|
+
* Create an independent in-process Peer, disposed with the Context that read `ctx.connection`.
|
|
127
|
+
* @param options - fixed principal and optional interaction participation (default `answer`).
|
|
128
|
+
* @returns a new Peer distinct from every other Peer.
|
|
129
|
+
*/
|
|
130
|
+
createPeer(options: { readonly principal: Principal; readonly interactions?: 'answer' | 'none' }): PeerScope
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Claim a physical socket for an API Peer; browser sockets share their owner Peer.
|
|
134
|
+
* @param request - authenticated upgrade request headers.
|
|
135
|
+
* @returns the Peer and idempotent release, or 409 for duplicate API ownership.
|
|
136
|
+
* The carrier releases on socket termination or failed upgrade; release removes
|
|
137
|
+
* API admission synchronously without cancelling independent HTTP calls.
|
|
138
|
+
*/
|
|
139
|
+
admitConnection(request: ConnectionTrustRequest): ConnectionAdmission
|
|
140
|
+
|
|
126
141
|
/**
|
|
127
142
|
* Authenticate one frontend index request, owning a token redirect or 401.
|
|
128
143
|
* The cookie this mints is `Secure` when the mounted Web carrier serves TLS,
|
|
@@ -141,8 +156,26 @@ authorizeIndex(request: ConnectionIndexRequest, response: ConnectionIndexRespons
|
|
|
141
156
|
authenticatedUrl(baseUrl: string): string
|
|
142
157
|
```
|
|
143
158
|
|
|
159
|
+
Types: [Principal](typert.md)
|
|
160
|
+
|
|
144
161
|
Source: [`packages/client/connection/src/rpc.ts`](../../packages/client/connection/src/rpc.ts)
|
|
145
162
|
|
|
163
|
+
<a id="ctxwebapp--webapp"></a>
|
|
164
|
+
|
|
165
|
+
### `ctx.webApp` — `WebApp`
|
|
166
|
+
|
|
167
|
+
The Web GUI this process serves, provided by the `web-runtime` row.
|
|
168
|
+
|
|
169
|
+
```ts cordis-catalog
|
|
170
|
+
/**
|
|
171
|
+
* The URL this GUI advertises, also used for `DSH_WEB_URL` and the startup URL line.
|
|
172
|
+
* @returns the configured `publicUrl`, otherwise the listener origin.
|
|
173
|
+
*/
|
|
174
|
+
getAdvertisedUrl(): string
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
Source: [`packages/bundle/web-app/src/index.ts`](../../packages/bundle/web-app/src/index.ts)
|
|
178
|
+
|
|
146
179
|
<a id="ctxwebserver--webserver"></a>
|
|
147
180
|
|
|
148
181
|
### `ctx.webServer` — `WebServer`
|
|
@@ -150,6 +183,14 @@ Source: [`packages/client/connection/src/rpc.ts`](../../packages/client/connecti
|
|
|
150
183
|
The browser HTTP carrier service. Activation loads any configured TLS material, then listens immediately; a material or listen failure rejects initialization, and the boot process reports the failed fiber. Route registration order does not affect requests because configured named routes must be distinct, and the fallback handler answers anything not yet claimed during startup with 404 until its owner registers.
|
|
151
184
|
|
|
152
185
|
```ts cordis-catalog
|
|
186
|
+
/**
|
|
187
|
+
* The root URL local clients use to reach the bound listener: the protocol,
|
|
188
|
+
* the {@link bindUrlHost} form of the bind address, and the listening port.
|
|
189
|
+
* @returns the origin, for example `http://127.0.0.1:3080`.
|
|
190
|
+
* @throws before `listen` binds a port, or when the bind address has no URL form.
|
|
191
|
+
*/
|
|
192
|
+
getOrigin(): string
|
|
193
|
+
|
|
153
194
|
/**
|
|
154
195
|
* Register a named route. Duplicate (kind, path) throws — route patterns are
|
|
155
196
|
* a composition-level contract, so a collision is a misconfiguration.
|
|
@@ -116,13 +116,28 @@ createSharedFetchHandler(channel: '/api'): ConnectionFetchHandler
|
|
|
116
116
|
requestRejection(request: ConnectionTrustRequest): ConnectionRequestRejection
|
|
117
117
|
|
|
118
118
|
/**
|
|
119
|
-
* Admit
|
|
120
|
-
* operator, or it is refused with that status.
|
|
119
|
+
* Admit an HTTP request against its signed browser or API credential and live Peer.
|
|
121
120
|
* @param request - request headers from the HTTP or upgrade request.
|
|
122
|
-
* @returns the
|
|
121
|
+
* @returns the credential's Peer, or the rejection status.
|
|
123
122
|
*/
|
|
124
123
|
admit(request: ConnectionTrustRequest): PeerAdmission
|
|
125
124
|
|
|
125
|
+
/**
|
|
126
|
+
* Create an independent in-process Peer, disposed with the Context that read `ctx.connection`.
|
|
127
|
+
* @param options - fixed principal and optional interaction participation (default `answer`).
|
|
128
|
+
* @returns a new Peer distinct from every other Peer.
|
|
129
|
+
*/
|
|
130
|
+
createPeer(options: { readonly principal: Principal; readonly interactions?: 'answer' | 'none' }): PeerScope
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Claim a physical socket for an API Peer; browser sockets share their owner Peer.
|
|
134
|
+
* @param request - authenticated upgrade request headers.
|
|
135
|
+
* @returns the Peer and idempotent release, or 409 for duplicate API ownership.
|
|
136
|
+
* The carrier releases on socket termination or failed upgrade; release removes
|
|
137
|
+
* API admission synchronously without cancelling independent HTTP calls.
|
|
138
|
+
*/
|
|
139
|
+
admitConnection(request: ConnectionTrustRequest): ConnectionAdmission
|
|
140
|
+
|
|
126
141
|
/**
|
|
127
142
|
* Authenticate one frontend index request, owning a token redirect or 401.
|
|
128
143
|
* The cookie this mints is `Secure` when the mounted Web carrier serves TLS,
|
|
@@ -141,8 +156,26 @@ authorizeIndex(request: ConnectionIndexRequest, response: ConnectionIndexRespons
|
|
|
141
156
|
authenticatedUrl(baseUrl: string): string
|
|
142
157
|
```
|
|
143
158
|
|
|
159
|
+
Types: [Principal](typert.zh.md)
|
|
160
|
+
|
|
144
161
|
Source: [`packages/client/connection/src/rpc.ts`](../../packages/client/connection/src/rpc.ts)
|
|
145
162
|
|
|
163
|
+
<a id="ctxwebapp--webapp"></a>
|
|
164
|
+
|
|
165
|
+
### `ctx.webApp` — `WebApp`
|
|
166
|
+
|
|
167
|
+
The Web GUI this process serves, provided by the `web-runtime` row.
|
|
168
|
+
|
|
169
|
+
```ts cordis-catalog
|
|
170
|
+
/**
|
|
171
|
+
* The URL this GUI advertises, also used for `DSH_WEB_URL` and the startup URL line.
|
|
172
|
+
* @returns the configured `publicUrl`, otherwise the listener origin.
|
|
173
|
+
*/
|
|
174
|
+
getAdvertisedUrl(): string
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
Source: [`packages/bundle/web-app/src/index.ts`](../../packages/bundle/web-app/src/index.ts)
|
|
178
|
+
|
|
146
179
|
<a id="ctxwebserver--webserver"></a>
|
|
147
180
|
|
|
148
181
|
### `ctx.webServer` — `WebServer`
|
|
@@ -150,6 +183,14 @@ Source: [`packages/client/connection/src/rpc.ts`](../../packages/client/connecti
|
|
|
150
183
|
The browser HTTP carrier service. Activation loads any configured TLS material, then listens immediately; a material or listen failure rejects initialization, and the boot process reports the failed fiber. Route registration order does not affect requests because configured named routes must be distinct, and the fallback handler answers anything not yet claimed during startup with 404 until its owner registers.
|
|
151
184
|
|
|
152
185
|
```ts cordis-catalog
|
|
186
|
+
/**
|
|
187
|
+
* The root URL local clients use to reach the bound listener: the protocol,
|
|
188
|
+
* the {@link bindUrlHost} form of the bind address, and the listening port.
|
|
189
|
+
* @returns the origin, for example `http://127.0.0.1:3080`.
|
|
190
|
+
* @throws before `listen` binds a port, or when the bind address has no URL form.
|
|
191
|
+
*/
|
|
192
|
+
getOrigin(): string
|
|
193
|
+
|
|
153
194
|
/**
|
|
154
195
|
* Register a named route. Duplicate (kind, path) throws — route patterns are
|
|
155
196
|
* a composition-level contract, so a collision is a misconfiguration.
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
# After editing either side, bring the other along and re-record with:
|
|
4
4
|
# pnpm run verify-translation-pairing --write docs/subsystems/web.md
|
|
5
5
|
/web-access:
|
|
6
|
-
en:
|
|
7
|
-
zh:
|
|
6
|
+
en: 86d12e6e81fb63b8
|
|
7
|
+
zh: 52ed66dcacaf6d85
|
|
8
8
|
/web-access/why-one-capability-has-two-operations:
|
|
9
9
|
en: 380da3cd0aabd52b
|
|
10
10
|
zh: 1317c26089c3ab07
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
en: b96bcdf42ced9eab
|
|
16
16
|
zh: aa927e2450238557
|
|
17
17
|
/web-access/provider-availability:
|
|
18
|
-
en:
|
|
19
|
-
zh:
|
|
18
|
+
en: da78eb96d684ad47
|
|
19
|
+
zh: 4b726cc04c92ef13
|
|
20
20
|
/web-access/fetch-network-policy:
|
|
21
21
|
en: 261fce9249be8b2b
|
|
22
22
|
zh: bf6abf77679aca6d
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
English | [中文](web.zh.md)
|
|
4
4
|
|
|
5
|
-
The web access seam — a [capability seam](../../.agents/notes/implemented/architecture/2026-06-24-web-capability-seam.md) that spans **two operations** (search and fetch) on one `ctx.web` service, split across packages: Service Definition ([dsh-web](../../packages/web/web), `ctx.web` + the provider registries), Service Providers ([dsh-web-search-exa](../../packages/web/web-search-exa), [dsh-web-search-perplexity](../../packages/web/web-search-perplexity), [dsh-web-search-deepseek](../../packages/web/web-search-deepseek), [dsh-web-fetch-http](../../packages/web/web-fetch-http)), and Consumer ([dsh-tool-web](../../packages/web/tool-web), the `web_search`/`web_fetch` tool schemas). Web is **one optional capability**, not part of the agent-loop spine — so its vocabulary lives here, not in [core.md](core.md). A search-provider swap does not change how the model asks for a query, and a fetch-provider swap does not change how the model asks for a URL.
|
|
5
|
+
The web access seam — a [capability seam](../../.agents/notes/implemented/architecture/2026-06-24-web-capability-seam.md) that spans **two operations** (search and fetch) on one `ctx.web` service, split across packages: Service Definition ([dsh-web](../../packages/web/web), `ctx.web` + the provider registries), Service Providers ([dsh-web-search-exa](../../packages/web/web-search-exa), [dsh-web-search-perplexity](../../packages/web/web-search-perplexity), [dsh-web-search-deepseek](../../packages/web/web-search-deepseek), [dsh-web-deepseek-api](../../packages/web/web-deepseek-api), [dsh-web-fetch-http](../../packages/web/web-fetch-http)), and Consumer ([dsh-tool-web](../../packages/web/tool-web), the `web_search`/`web_fetch` tool schemas). Web is **one optional capability**, not part of the agent-loop spine — so its vocabulary lives here, not in [core.md](core.md). A search-provider swap does not change how the model asks for a query, and a fetch-provider swap does not change how the model asks for a URL.
|
|
6
6
|
|
|
7
7
|
Source: [`packages/web/web/src/types.ts`](../../packages/web/web/src/types.ts)
|
|
8
8
|
|
|
@@ -122,7 +122,7 @@ type WebFetchBody =
|
|
|
122
122
|
|
|
123
123
|
A provider's `available(): boolean` is a cheap LOCAL check (credential presence, parseable config) and **must not make network calls**. It is an input to execution-time selection, not a health system: `search()`/`fetch()` read it to pick a usable provider, and a selection failure surfaces as the structured `WebError` the caller routes on — which carries the branchable detail (the missing id or ambiguous candidate set) in its code and message.
|
|
124
124
|
|
|
125
|
-
Selection never depends on registration, config, or HMR order: a capability has an explicit provider id (config `searchProvider`/`fetchProvider`, or the matching env var feeding the same field), or auto-selects when exactly one usable provider is registered; multiple usable providers with no configured id is `WEB_PROVIDER_AMBIGUOUS`, not first-wins.
|
|
125
|
+
Selection never depends on registration, config, or HMR order: a capability has an explicit provider id (config `searchProvider`/`fetchProvider`, or the matching env var feeding the same field), or auto-selects when exactly one usable provider is registered; multiple usable providers with no configured id is `WEB_PROVIDER_AMBIGUOUS`, not first-wins. Each operation reads the configured id when it runs, so a saved settings change applies to the next search or fetch without remounting `ctx.web`.
|
|
126
126
|
|
|
127
127
|
## Fetch network policy
|
|
128
128
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[English](web.md) | 中文
|
|
4
4
|
|
|
5
|
-
Web 访问 seam 是一个[能力 seam](../../.agents/notes/implemented/architecture/2026-06-24-web-capability-seam.zh.md),在同一个 `ctx.web` 服务上横跨**两项操作**(search 与 fetch),并拆分到多个包:Service Definition([dsh-web](../../packages/web/web),`ctx.web` + 提供方注册表)、Service Provider([dsh-web-search-exa](../../packages/web/web-search-exa)、[dsh-web-search-perplexity](../../packages/web/web-search-perplexity)、[dsh-web-search-deepseek](../../packages/web/web-search-deepseek)、[dsh-web-fetch-http](../../packages/web/web-fetch-http))与 Consumer([dsh-tool-web](../../packages/web/tool-web),即 `web_search`/`web_fetch` 工具 schema)。Web 是**一项可选能力**,不属于 agent loop(智能体循环)主干,因此其词汇定义在此而非 [core.md](core.zh.md) 中。更换 search 提供方不会改变模型提交查询的方式,更换 fetch 提供方也不会改变模型请求 URL 的方式。
|
|
5
|
+
Web 访问 seam 是一个[能力 seam](../../.agents/notes/implemented/architecture/2026-06-24-web-capability-seam.zh.md),在同一个 `ctx.web` 服务上横跨**两项操作**(search 与 fetch),并拆分到多个包:Service Definition([dsh-web](../../packages/web/web),`ctx.web` + 提供方注册表)、Service Provider([dsh-web-search-exa](../../packages/web/web-search-exa)、[dsh-web-search-perplexity](../../packages/web/web-search-perplexity)、[dsh-web-search-deepseek](../../packages/web/web-search-deepseek)、[dsh-web-deepseek-api](../../packages/web/web-deepseek-api)、[dsh-web-fetch-http](../../packages/web/web-fetch-http))与 Consumer([dsh-tool-web](../../packages/web/tool-web),即 `web_search`/`web_fetch` 工具 schema)。Web 是**一项可选能力**,不属于 agent loop(智能体循环)主干,因此其词汇定义在此而非 [core.md](core.zh.md) 中。更换 search 提供方不会改变模型提交查询的方式,更换 fetch 提供方也不会改变模型请求 URL 的方式。
|
|
6
6
|
|
|
7
7
|
源码:[`packages/web/web/src/types.ts`](../../packages/web/web/src/types.ts)
|
|
8
8
|
|
|
@@ -122,7 +122,7 @@ type WebFetchBody =
|
|
|
122
122
|
|
|
123
123
|
提供方的 `available(): boolean` 是一个廉价的本地检查(凭证是否存在、配置是否可解析),**禁止发起网络调用**。它是执行时选择提供方的输入,而不是健康检查系统:`search()`/`fetch()` 会读取它来选择可用的提供方。选择失败时,调用方会收到可据以分支处理的结构化 `WebError`;其错误代码和消息会说明缺失的 id 或存在歧义的候选集。
|
|
124
124
|
|
|
125
|
-
选择从不依赖注册顺序、配置顺序或 HMR(热模块替换)顺序:一项能力要么有显式的提供方 id(配置 `searchProvider`/`fetchProvider`,或填充同一字段的对应环境变量),要么在恰好只有一个可用提供方注册时自动选择;如果存在多个可用提供方却未配置 id,则抛出 `WEB_PROVIDER_AMBIGUOUS
|
|
125
|
+
选择从不依赖注册顺序、配置顺序或 HMR(热模块替换)顺序:一项能力要么有显式的提供方 id(配置 `searchProvider`/`fetchProvider`,或填充同一字段的对应环境变量),要么在恰好只有一个可用提供方注册时自动选择;如果存在多个可用提供方却未配置 id,则抛出 `WEB_PROVIDER_AMBIGUOUS`,而不会选用最先注册的提供方。每次操作在执行时读取配置的 id,因此保存的设置变更无需重新挂载 `ctx.web` 即对下一次搜索或抓取生效。
|
|
126
126
|
|
|
127
127
|
## 抓取网络策略
|
|
128
128
|
|
|
File without changes
|