dsh-plugin-guide 0.3.21 → 0.3.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README-es.md +15 -12
- package/README-hi.md +15 -12
- package/README-pt.md +15 -12
- package/README-zh.md +15 -12
- package/README.md +290 -280
- package/SKILL.md +36 -19
- package/dist/dsh-plugin-dev.js +113 -9
- package/guide/choosing-a-plugin.md +412 -0
- package/guide/choosing-a-plugin.zh-CN.md +414 -0
- package/guide/links.md +20 -2
- package/guide/migration-0.2.md +219 -0
- package/guide/plugin-dev-guide.md +99 -24
- package/guide/quick-reference.es.md +14 -8
- package/guide/quick-reference.hi.md +15 -9
- package/guide/quick-reference.md +18 -10
- package/guide/quick-reference.pt.md +15 -9
- package/guide/quick-reference.zh-CN.md +19 -11
- package/guide/release-engineering.md +2 -2
- package/guide/release-engineering.zh-CN.md +2 -2
- package/guide/unfixed-issues.md +117 -82
- package/guide/when-to-retire-a-plugin.md +127 -0
- package/guide/when-to-retire-a-plugin.zh-CN.md +127 -0
- package/icon.svg +5 -0
- package/locale/en.json +6 -0
- package/locale/zh.json +6 -0
- package/package.json +8 -4
- package/references/official-docs/AGENTS.md +8 -5
- package/references/official-docs/CONTRIBUTING.i18n.yaml +6 -5
- package/references/official-docs/README.i18n.yaml +33 -5
- package/references/official-docs/README.zh.md +3 -3
- package/references/official-docs/SNAPSHOT.md +3 -3
- package/references/official-docs/THIRD_PARTY_NOTICES.md +34 -6
- package/references/official-docs/docs/AGENTS.md +4 -4
- package/references/official-docs/docs/agent-lifecycle.i18n.yaml +9 -5
- package/references/official-docs/docs/api-gateway.i18n.yaml +27 -5
- package/references/official-docs/docs/api-gateway.md +10 -9
- package/references/official-docs/docs/api-gateway.zh.md +10 -9
- package/references/official-docs/docs/architecture.i18n.yaml +36 -5
- package/references/official-docs/docs/architecture.md +10 -8
- package/references/official-docs/docs/architecture.zh.md +10 -8
- package/references/official-docs/docs/capability-seams.i18n.yaml +9 -5
- package/references/official-docs/docs/capability-seams.md +76 -32
- package/references/official-docs/docs/capability-seams.zh.md +76 -32
- package/references/official-docs/docs/config-catalog.i18n.yaml +18 -5
- package/references/official-docs/docs/config-catalog.md +1360 -765
- package/references/official-docs/docs/config-catalog.zh.md +1363 -767
- package/references/official-docs/docs/cookbook/adding-a-package.i18n.yaml +27 -5
- package/references/official-docs/docs/cookbook/adding-a-package.md +56 -3
- package/references/official-docs/docs/cookbook/adding-a-package.zh.md +54 -3
- package/references/official-docs/docs/cookbook/adding-a-remote-api.i18n.yaml +24 -5
- package/references/official-docs/docs/cookbook/adding-a-remote-api.md +2 -2
- package/references/official-docs/docs/cookbook/adding-a-remote-api.zh.md +2 -2
- package/references/official-docs/docs/cookbook/adding-a-session-format-version.i18n.yaml +39 -5
- package/references/official-docs/docs/cookbook/adding-a-session-format-version.md +46 -6
- package/references/official-docs/docs/cookbook/adding-a-session-format-version.zh.md +46 -6
- package/references/official-docs/docs/cookbook/adding-a-settings-card.i18n.yaml +21 -5
- package/references/official-docs/docs/cookbook/adding-a-settings-card.md +34 -64
- package/references/official-docs/docs/cookbook/adding-a-settings-card.zh.md +34 -64
- package/references/official-docs/docs/cookbook/adding-a-tool.i18n.yaml +30 -5
- package/references/official-docs/docs/cookbook/adding-a-tool.md +2 -2
- package/references/official-docs/docs/cookbook/adding-a-tool.zh.md +2 -2
- package/references/official-docs/docs/cookbook/adding-a-vendored-package.i18n.yaml +18 -5
- package/references/official-docs/docs/cookbook/adding-an-llm-adapter.i18n.yaml +18 -5
- package/references/official-docs/docs/cookbook/extension-cookbook.i18n.yaml +24 -5
- package/references/official-docs/docs/cookbook/extension-cookbook.md +3 -3
- package/references/official-docs/docs/cookbook/extension-cookbook.zh.md +3 -3
- package/references/official-docs/docs/cookbook/maintaining-dsh-code-review.i18n.yaml +21 -5
- package/references/official-docs/docs/cookbook/responding-to-pr-review-on-a-stack.i18n.yaml +15 -5
- package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.i18n.yaml +30 -5
- package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.md +13 -1
- package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.zh.md +13 -1
- package/references/official-docs/docs/cordis-api/context.i18n.yaml +72 -5
- package/references/official-docs/docs/cordis-api/events.i18n.yaml +36 -5
- package/references/official-docs/docs/cordis-api/fiber.i18n.yaml +75 -5
- package/references/official-docs/docs/cordis-api/inherited.md +15 -13
- package/references/official-docs/docs/cordis-api/registry.i18n.yaml +21 -5
- package/references/official-docs/docs/cordis-api/service.i18n.yaml +36 -5
- package/references/official-docs/docs/cordis-primer.i18n.yaml +21 -5
- package/references/official-docs/docs/cordis-tutorial/01-first-plugin.i18n.yaml +21 -5
- package/references/official-docs/docs/cordis-tutorial/02-lifecycle-and-effects.i18n.yaml +15 -5
- package/references/official-docs/docs/cordis-tutorial/03-services.i18n.yaml +21 -5
- package/references/official-docs/docs/cordis-tutorial/04-events.i18n.yaml +15 -5
- package/references/official-docs/docs/cordis-tutorial/05-config.i18n.yaml +18 -5
- package/references/official-docs/docs/cordis-tutorial/05-config.md +27 -0
- package/references/official-docs/docs/cordis-tutorial/05-config.zh.md +27 -0
- package/references/official-docs/docs/cordis-tutorial/06-composition-and-hmr.i18n.yaml +15 -5
- package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.i18n.yaml +18 -5
- package/references/official-docs/docs/cordis-tutorial/index.i18n.yaml +15 -5
- package/references/official-docs/docs/deepseek-llm-api-wire-extensions.i18n.yaml +33 -5
- package/references/official-docs/docs/deepseek-llm-api-wire-extensions.md +7 -7
- package/references/official-docs/docs/deepseek-llm-api-wire-extensions.zh.md +7 -7
- package/references/official-docs/docs/defensive-patterns.i18n.yaml +27 -5
- package/references/official-docs/docs/dependency-catalog.json +2 -2
- package/references/official-docs/docs/development.i18n.yaml +48 -5
- package/references/official-docs/docs/development.md +27 -10
- package/references/official-docs/docs/development.zh.md +27 -10
- package/references/official-docs/docs/event-producer-consumer.i18n.yaml +12 -5
- package/references/official-docs/docs/event-producer-consumer.md +78 -66
- package/references/official-docs/docs/event-producer-consumer.zh.md +78 -66
- package/references/official-docs/docs/glossary.i18n.yaml +24 -5
- package/references/official-docs/docs/graph-atlas.i18n.yaml +9 -5
- package/references/official-docs/docs/i18n/README.i18n.yaml +18 -5
- package/references/official-docs/docs/i18n/README.md +12 -8
- package/references/official-docs/docs/i18n/README.zh.md +12 -8
- package/references/official-docs/docs/i18n/terminology.md +4 -4
- package/references/official-docs/docs/i18n/translation-prompt.md +2 -2
- package/references/official-docs/docs/i18n/translation-rules.i18n.yaml +27 -5
- package/references/official-docs/docs/module-graph.i18n.yaml +9 -5
- package/references/official-docs/docs/module-graph.md +348 -245
- package/references/official-docs/docs/module-graph.zh.md +348 -245
- package/references/official-docs/docs/persistence-catalog.i18n.yaml +2064 -5
- package/references/official-docs/docs/persistence-catalog.md +5275 -3205
- package/references/official-docs/docs/persistence-catalog.zh.md +5275 -3205
- package/references/official-docs/docs/persistence-changes/2026-09-11-initial.i18n.yaml +27 -5
- package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.i18n.yaml +27 -5
- package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.i18n.yaml +27 -5
- package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.i18n.yaml +27 -5
- package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.i18n.yaml +28 -0
- package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.md +120 -0
- package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.schema.json +16212 -0
- package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.zh.md +120 -0
- package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.i18n.yaml +28 -0
- package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.md +48 -0
- package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.schema.json +302 -0
- package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.zh.md +48 -0
- package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.i18n.yaml +28 -0
- package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.md +48 -0
- package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.schema.json +250 -0
- package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.zh.md +48 -0
- package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.i18n.yaml +28 -0
- package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.md +60 -0
- package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.schema.json +11405 -0
- package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.zh.md +60 -0
- package/references/official-docs/docs/persistence-changes/README.i18n.yaml +27 -5
- package/references/official-docs/docs/persistence-changes/README.md +17 -3
- package/references/official-docs/docs/persistence-changes/README.zh.md +17 -3
- package/references/official-docs/docs/persistence-changes/finalized/v4.json +379 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/README.i18n.yaml +27 -5
- package/references/official-docs/docs/persistence-changes/historical-formats/README.md +3 -2
- package/references/official-docs/docs/persistence-changes/historical-formats/README.zh.md +3 -2
- package/references/official-docs/docs/persistence-changes/historical-formats/v0.i18n.yaml +1284 -5
- package/references/official-docs/docs/persistence-changes/historical-formats/v1.i18n.yaml +1284 -5
- package/references/official-docs/docs/persistence-changes/historical-formats/v2.i18n.yaml +1344 -5
- package/references/official-docs/docs/persistence-changes/historical-formats/v3.i18n.yaml +1441 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/v3.md +5634 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/v3.schema.json +61307 -0
- package/references/official-docs/docs/persistence-changes/historical-formats/v3.zh.md +5634 -0
- package/references/official-docs/docs/persistence-changes/releases/README.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.schema.json +3 -3
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.i18n.yaml +30 -5
- package/references/official-docs/docs/persistence-schema.json +12692 -48753
- package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.i18n.yaml +33 -5
- package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.i18n.yaml +27 -5
- package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.i18n.yaml +27 -5
- package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.i18n.yaml +27 -5
- package/references/official-docs/docs/postmortem/README.i18n.yaml +6 -5
- package/references/official-docs/docs/rescope.i18n.yaml +18 -5
- package/references/official-docs/docs/rescope.md +1 -1
- package/references/official-docs/docs/rescope.zh.md +1 -1
- package/references/official-docs/docs/session-format-status.i18n.yaml +27 -5
- package/references/official-docs/docs/session-format-status.md +17 -3
- package/references/official-docs/docs/session-format-status.zh.md +17 -3
- package/references/official-docs/docs/subsystems/README.i18n.yaml +6 -5
- package/references/official-docs/docs/subsystems/README.md +6 -3
- package/references/official-docs/docs/subsystems/README.zh.md +6 -3
- package/references/official-docs/docs/subsystems/agent-team.i18n.yaml +21 -5
- package/references/official-docs/docs/subsystems/agent-team.md +52 -28
- package/references/official-docs/docs/subsystems/agent-team.zh.md +52 -28
- package/references/official-docs/docs/subsystems/approval.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/approval.md +1 -1
- package/references/official-docs/docs/subsystems/approval.zh.md +1 -1
- package/references/official-docs/docs/subsystems/attachment.i18n.yaml +12 -5
- package/references/official-docs/docs/subsystems/attachment.md +2 -2
- package/references/official-docs/docs/subsystems/attachment.zh.md +2 -2
- package/references/official-docs/docs/subsystems/boot.i18n.yaml +9 -5
- package/references/official-docs/docs/subsystems/boot.md +117 -17
- package/references/official-docs/docs/subsystems/boot.zh.md +117 -17
- package/references/official-docs/docs/subsystems/browser-use.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/claude-code-mods.i18n.yaml +28 -0
- package/references/official-docs/docs/subsystems/claude-code-mods.md +146 -0
- package/references/official-docs/docs/subsystems/claude-code-mods.zh.md +146 -0
- package/references/official-docs/docs/subsystems/client-modules.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/client-modules.md +13 -7
- package/references/official-docs/docs/subsystems/client-modules.zh.md +13 -7
- package/references/official-docs/docs/subsystems/client-resources.i18n.yaml +21 -5
- package/references/official-docs/docs/subsystems/commands.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/commands.md +1 -1
- package/references/official-docs/docs/subsystems/commands.zh.md +1 -1
- package/references/official-docs/docs/subsystems/compaction.i18n.yaml +21 -5
- package/references/official-docs/docs/subsystems/compaction.md +2 -2
- package/references/official-docs/docs/subsystems/compaction.zh.md +2 -2
- package/references/official-docs/docs/subsystems/computer-use.i18n.yaml +15 -5
- package/references/official-docs/docs/subsystems/conversation.i18n.yaml +30 -5
- package/references/official-docs/docs/subsystems/conversation.md +35 -6
- package/references/official-docs/docs/subsystems/conversation.zh.md +34 -5
- package/references/official-docs/docs/subsystems/core.i18n.yaml +36 -5
- package/references/official-docs/docs/subsystems/core.md +70 -214
- package/references/official-docs/docs/subsystems/core.zh.md +70 -214
- package/references/official-docs/docs/subsystems/credentials.i18n.yaml +24 -5
- package/references/official-docs/docs/subsystems/credentials.md +168 -5
- package/references/official-docs/docs/subsystems/credentials.zh.md +168 -5
- package/references/official-docs/docs/subsystems/deliverables.i18n.yaml +27 -5
- package/references/official-docs/docs/subsystems/extensions.i18n.yaml +6 -5
- package/references/official-docs/docs/subsystems/extensions.md +6 -4
- package/references/official-docs/docs/subsystems/extensions.zh.md +6 -4
- package/references/official-docs/docs/subsystems/feedback.i18n.yaml +27 -5
- package/references/official-docs/docs/subsystems/filesystem.i18n.yaml +33 -5
- package/references/official-docs/docs/subsystems/filesystem.md +10 -0
- package/references/official-docs/docs/subsystems/filesystem.zh.md +10 -0
- package/references/official-docs/docs/subsystems/goal.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/goal.md +1 -1
- package/references/official-docs/docs/subsystems/goal.zh.md +1 -1
- package/references/official-docs/docs/subsystems/jobs.i18n.yaml +24 -5
- package/references/official-docs/docs/subsystems/jobs.md +335 -126
- package/references/official-docs/docs/subsystems/jobs.zh.md +335 -126
- package/references/official-docs/docs/subsystems/llm-streaming.i18n.yaml +48 -5
- package/references/official-docs/docs/subsystems/llm-streaming.md +60 -31
- package/references/official-docs/docs/subsystems/llm-streaming.zh.md +60 -31
- package/references/official-docs/docs/subsystems/lsp.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/mcp.i18n.yaml +33 -5
- package/references/official-docs/docs/subsystems/mcp.md +2 -2
- package/references/official-docs/docs/subsystems/mcp.zh.md +2 -2
- package/references/official-docs/docs/subsystems/office-to-pdf.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/office-to-pdf.md +4 -4
- package/references/official-docs/docs/subsystems/office-to-pdf.zh.md +4 -4
- package/references/official-docs/docs/subsystems/otel.i18n.yaml +7 -0
- package/references/official-docs/docs/subsystems/otel.md +44 -0
- package/references/official-docs/docs/subsystems/otel.zh.md +44 -0
- package/references/official-docs/docs/subsystems/permission-presets.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/permission-presets.md +7 -6
- package/references/official-docs/docs/subsystems/permission-presets.zh.md +7 -6
- package/references/official-docs/docs/subsystems/persistence.i18n.yaml +36 -5
- package/references/official-docs/docs/subsystems/persistence.md +3 -3
- package/references/official-docs/docs/subsystems/persistence.zh.md +3 -3
- package/references/official-docs/docs/subsystems/plan.i18n.yaml +21 -5
- package/references/official-docs/docs/subsystems/plan.md +1 -1
- package/references/official-docs/docs/subsystems/plan.zh.md +1 -1
- package/references/official-docs/docs/subsystems/product-telemetry.i18n.yaml +10 -0
- package/references/official-docs/docs/subsystems/product-telemetry.md +79 -0
- package/references/official-docs/docs/subsystems/product-telemetry.zh.md +79 -0
- package/references/official-docs/docs/subsystems/ptc-runtime.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/sandbox.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/sandbox.md +1 -1
- package/references/official-docs/docs/subsystems/sandbox.zh.md +1 -1
- package/references/official-docs/docs/subsystems/schedule.i18n.yaml +39 -5
- package/references/official-docs/docs/subsystems/schedule.md +391 -33
- package/references/official-docs/docs/subsystems/schedule.zh.md +391 -33
- package/references/official-docs/docs/subsystems/scope.i18n.yaml +15 -5
- package/references/official-docs/docs/subsystems/scope.md +1 -1
- package/references/official-docs/docs/subsystems/scope.zh.md +1 -1
- package/references/official-docs/docs/subsystems/session-projection.i18n.yaml +15 -5
- package/references/official-docs/docs/subsystems/session-projection.md +20 -18
- package/references/official-docs/docs/subsystems/session-projection.zh.md +20 -18
- package/references/official-docs/docs/subsystems/session-query.i18n.yaml +27 -5
- package/references/official-docs/docs/subsystems/session-reference.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/session-telemetry.i18n.yaml +21 -5
- package/references/official-docs/docs/subsystems/session-telemetry.md +6 -4
- package/references/official-docs/docs/subsystems/session-telemetry.zh.md +6 -4
- package/references/official-docs/docs/subsystems/session-title.i18n.yaml +15 -5
- package/references/official-docs/docs/subsystems/session.i18n.yaml +66 -5
- package/references/official-docs/docs/subsystems/session.md +113 -62
- package/references/official-docs/docs/subsystems/session.zh.md +113 -62
- package/references/official-docs/docs/subsystems/settings.i18n.yaml +12 -5
- package/references/official-docs/docs/subsystems/settings.md +42 -292
- package/references/official-docs/docs/subsystems/settings.zh.md +42 -292
- package/references/official-docs/docs/subsystems/shell.i18n.yaml +24 -5
- package/references/official-docs/docs/subsystems/shell.md +29 -22
- package/references/official-docs/docs/subsystems/shell.zh.md +29 -22
- package/references/official-docs/docs/subsystems/sidebar-right.i18n.yaml +36 -5
- package/references/official-docs/docs/subsystems/sidebar-right.md +14 -9
- package/references/official-docs/docs/subsystems/sidebar-right.zh.md +14 -9
- package/references/official-docs/docs/subsystems/skills.i18n.yaml +27 -5
- package/references/official-docs/docs/subsystems/skills.md +2 -2
- package/references/official-docs/docs/subsystems/skills.zh.md +2 -2
- package/references/official-docs/docs/subsystems/slots.i18n.yaml +27 -5
- package/references/official-docs/docs/subsystems/slots.md +21 -7
- package/references/official-docs/docs/subsystems/slots.zh.md +21 -7
- package/references/official-docs/docs/subsystems/spill.i18n.yaml +15 -5
- package/references/official-docs/docs/subsystems/spill.md +1 -1
- package/references/official-docs/docs/subsystems/spill.zh.md +1 -1
- package/references/official-docs/docs/subsystems/ssh.i18n.yaml +21 -5
- package/references/official-docs/docs/subsystems/storage.i18n.yaml +24 -5
- package/references/official-docs/docs/subsystems/storage.md +1 -2
- package/references/official-docs/docs/subsystems/storage.zh.md +1 -2
- package/references/official-docs/docs/subsystems/subagent.i18n.yaml +30 -5
- package/references/official-docs/docs/subsystems/subagent.md +35 -60
- package/references/official-docs/docs/subsystems/subagent.zh.md +35 -60
- package/references/official-docs/docs/subsystems/subprocess.i18n.yaml +30 -5
- package/references/official-docs/docs/subsystems/system-prompt.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/terminal.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/todo.i18n.yaml +12 -5
- package/references/official-docs/docs/subsystems/todo.md +3 -3
- package/references/official-docs/docs/subsystems/todo.zh.md +3 -3
- package/references/official-docs/docs/subsystems/token-meter.i18n.yaml +12 -5
- package/references/official-docs/docs/subsystems/tools.i18n.yaml +24 -5
- package/references/official-docs/docs/subsystems/tools.md +15 -4
- package/references/official-docs/docs/subsystems/tools.zh.md +15 -4
- package/references/official-docs/docs/subsystems/typert.i18n.yaml +21 -5
- package/references/official-docs/docs/subsystems/typert.md +147 -6
- package/references/official-docs/docs/subsystems/typert.zh.md +147 -6
- package/references/official-docs/docs/subsystems/user-questions.i18n.yaml +27 -5
- package/references/official-docs/docs/subsystems/user-questions.md +128 -1
- package/references/official-docs/docs/subsystems/user-questions.zh.md +129 -2
- package/references/official-docs/docs/subsystems/voice-input.i18n.yaml +19 -0
- package/references/official-docs/docs/subsystems/voice-input.md +164 -0
- package/references/official-docs/docs/subsystems/voice-input.zh.md +164 -0
- package/references/official-docs/docs/subsystems/web-client.i18n.yaml +36 -5
- package/references/official-docs/docs/subsystems/web-client.md +10 -5
- package/references/official-docs/docs/subsystems/web-client.zh.md +10 -5
- package/references/official-docs/docs/subsystems/web-server.i18n.yaml +15 -5
- package/references/official-docs/docs/subsystems/web-server.md +12 -4
- package/references/official-docs/docs/subsystems/web-server.zh.md +12 -4
- package/references/official-docs/docs/subsystems/web.i18n.yaml +27 -5
- package/references/official-docs/docs/subsystems/webhook.i18n.yaml +18 -5
- package/references/official-docs/docs/subsystems/webhook.md +1 -1
- package/references/official-docs/docs/subsystems/webhook.zh.md +1 -1
- package/references/official-docs/docs/subsystems/workflow.i18n.yaml +27 -5
- package/references/official-docs/docs/subsystems/workflow.md +2 -2
- package/references/official-docs/docs/subsystems/workflow.zh.md +2 -2
- package/references/official-docs/docs/subsystems/workspace.i18n.yaml +27 -5
- package/references/official-docs/docs/subsystems/workspace.md +175 -35
- package/references/official-docs/docs/subsystems/workspace.zh.md +175 -35
- package/references/official-docs/docs/testing.i18n.yaml +33 -5
- package/references/official-docs/docs/testing.md +2 -2
- package/references/official-docs/docs/testing.zh.md +2 -2
- package/references/official-docs/docs/tool-catalog.i18n.yaml +312 -5
- package/references/official-docs/docs/tool-catalog.md +321 -92
- package/references/official-docs/docs/tool-catalog.zh.md +321 -92
- package/references/official-docs/docs/tool-execution-pipeline.i18n.yaml +9 -5
- package/references/official-docs/docs/tool-execution-pipeline.md +6 -3
- package/references/official-docs/docs/tool-execution-pipeline.zh.md +6 -3
- package/references/official-docs/docs/ui-radius.i18n.yaml +31 -0
- package/references/official-docs/docs/ui-radius.md +115 -0
- package/references/official-docs/docs/ui-radius.zh.md +115 -0
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.md +22 -0
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.zh.md +22 -0
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.md +25 -0
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.zh.md +25 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.md +18 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.zh.md +18 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.md +23 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.zh.md +23 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.md +22 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.zh.md +22 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.i18n.yaml +16 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.md +27 -0
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.zh.md +27 -0
- package/references/official-docs/docs/user/develop/basic/config.i18n.yaml +27 -5
- package/references/official-docs/docs/user/develop/basic/index.i18n.yaml +36 -5
- package/references/official-docs/docs/user/develop/basic/publish.i18n.yaml +30 -5
- package/references/official-docs/docs/user/develop/basic/publish.md +7 -1
- package/references/official-docs/docs/user/develop/basic/publish.zh.md +7 -1
- package/references/official-docs/docs/user/develop/basic/tool.i18n.yaml +15 -5
- package/references/official-docs/docs/user/develop/framework/events.i18n.yaml +45 -5
- package/references/official-docs/docs/user/develop/framework/index.i18n.yaml +30 -5
- package/references/official-docs/docs/user/develop/framework/service.i18n.yaml +39 -5
- package/references/official-docs/docs/user/develop/practice/dynamic-cordis.i18n.yaml +9 -5
- package/references/official-docs/docs/user/develop/practice/index.i18n.yaml +45 -5
- package/references/official-docs/docs/user/develop/practice/llm-adapter.i18n.yaml +33 -5
- package/references/official-docs/docs/user/develop/practice/llm-adapter.md +1 -1
- package/references/official-docs/docs/user/develop/practice/llm-adapter.zh.md +1 -1
- package/references/official-docs/docs/user/guide/github-review.i18n.yaml +24 -5
- package/references/official-docs/docs/user/guide/index.i18n.yaml +18 -5
- package/references/official-docs/docs/user/guide/index.md +1 -0
- package/references/official-docs/docs/user/guide/index.zh.md +1 -0
- package/references/official-docs/docs/user/guide/mcp-memory.i18n.yaml +36 -5
- package/references/official-docs/docs/user/guide/network-proxy.i18n.yaml +24 -5
- package/references/official-docs/docs/user/guide/providers-custom-form.png +0 -0
- package/references/official-docs/docs/user/guide/providers-custom-form.zh.png +0 -0
- package/references/official-docs/docs/user/guide/providers-models-page.png +0 -0
- package/references/official-docs/docs/user/guide/providers-models-page.zh.png +0 -0
- package/references/official-docs/docs/user/guide/providers.i18n.yaml +36 -5
- package/references/official-docs/docs/user/guide/providers.md +88 -78
- package/references/official-docs/docs/user/guide/providers.zh.md +102 -92
- package/references/official-docs/docs/user/guide/public-deployments.i18n.yaml +19 -0
- package/references/official-docs/docs/user/guide/public-deployments.md +33 -0
- package/references/official-docs/docs/user/guide/public-deployments.zh.md +33 -0
- package/references/official-docs/docs/user/guide/python-sdk.i18n.yaml +27 -5
- package/references/official-docs/docs/user/guide/python-sdk.md +1 -1
- package/references/official-docs/docs/user/guide/python-sdk.zh.md +1 -1
- package/references/official-docs/docs/user/guide/schedule.i18n.yaml +30 -5
- package/references/official-docs/docs/user/guide/schedule.md +69 -11
- package/references/official-docs/docs/user/guide/schedule.zh.md +69 -11
- package/references/official-docs/docs/user/index.i18n.yaml +9 -5
- package/references/official-docs/docs/web-styling.i18n.yaml +18 -5
- package/references/official-docs/docs/web-styling.md +12 -3
- package/references/official-docs/docs/web-styling.zh.md +12 -3
- package/references/official-docs/packages/AGENTS.md +1 -2
- package/references/official-docs/packages/README.md +5 -5
- package/references/official-docs/vendor/README.md +6 -2
- package/references/official-docs/website-docs.ts +10 -3
- package/references/official-plugin-dev-skill.md +124 -0
- package/references/sources.md +10 -5
- package/scripts/archive-discussions.ps1 +9 -1
- package/scripts/build-llms-full.mjs +64 -0
- package/scripts/check-docs-drift.ps1 +1 -1
- package/scripts/sync-official-docs.ps1 +1 -1
- package/templates/js/icon.svg +4 -0
- package/templates/js/locale/en.json +6 -0
- package/templates/js/locale/zh.json +6 -0
- package/templates/js/package.json +9 -1
- package/templates/ts/icon.svg +4 -0
- package/templates/ts/locale/en.json +6 -0
- package/templates/ts/locale/zh.json +6 -0
- package/templates/ts/package.json +9 -1
- package/references/official-docs/docs/subsystems/invariants.i18n.yaml +0 -6
- package/references/official-docs/docs/subsystems/invariants.md +0 -88
- package/references/official-docs/docs/subsystems/invariants.zh.md +0 -88
|
@@ -1,169 +1,18 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Plugin Configuration Forms
|
|
2
2
|
|
|
3
3
|
English | [中文](settings.zh.md)
|
|
4
4
|
|
|
5
|
-
The
|
|
5
|
+
The [settings service](../../packages/settings/settings/README.md) projects volatile Config fields from active profile entries. The [configuration editor](../../packages/boot/config-editor/README.md) persists edits through Cordis patches. Business consumers read `.get()` on their own Config references.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
## Identity
|
|
10
|
-
|
|
11
|
-
A namespace names one plugin-owned section of the user document. The brand prevents callers from mixing settings namespaces with other ids passed between packages or processes; construction validates lowercase kebab-case syntax.
|
|
12
|
-
|
|
13
|
-
```ts type-equiv
|
|
14
|
-
/** Nominal id of one registered settings namespace. */
|
|
15
|
-
type SettingsNamespace = Branded<'SettingsNamespace'>
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
## Registration
|
|
19
|
-
|
|
20
|
-
Registration binds a schemastery schema to a namespace on the calling plugin's fiber — disposing that fiber removes the namespace and its observers. The options carry the composition layer, the owner's effect timing, and an optional check for what the schema cannot express.
|
|
21
|
-
|
|
22
|
-
```ts type-equiv
|
|
23
|
-
/** Registration options beyond the namespace schema. */
|
|
24
|
-
interface SettingsRegisterOptions<T> {
|
|
25
|
-
/** Composition-layer values resolved below the user layer (entry-config subset). */
|
|
26
|
-
base?: Partial<T>
|
|
27
|
-
/** Owner's effect timing, surfaced to configuration UIs; defaults to `live`. */
|
|
28
|
-
applies?: SettingsApplies
|
|
29
|
-
/**
|
|
30
|
-
* Reject a resolved section the owner could not act on, for constraints its
|
|
31
|
-
* schema cannot express — a cross-field requirement, or one field's validity
|
|
32
|
-
* depending on another's. Throwing here refuses the *write* that produced the
|
|
33
|
-
* value, so a caller learns at `update`/`replace`/`mutate` instead of storing
|
|
34
|
-
* something that would silently disable the owner.
|
|
35
|
-
*
|
|
36
|
-
* Kept separate from the schema because the schema is also what a
|
|
37
|
-
* configuration surface renders and what an absent section resolves through;
|
|
38
|
-
* folding a cross-field check into it would change both.
|
|
39
|
-
*
|
|
40
|
-
* Once the owner is registered, a stored section that fails this keeps the
|
|
41
|
-
* namespace's last good value and warns, exactly as a schema failure does,
|
|
42
|
-
* so an externally edited document cannot strand a running owner. At
|
|
43
|
-
* registration there is no last good value yet, so a stored section that
|
|
44
|
-
* already fails rejects the registration itself — again exactly as a schema
|
|
45
|
-
* failure does.
|
|
46
|
-
* @param value - the resolved section, schema-valid by construction.
|
|
47
|
-
*/
|
|
48
|
-
validate?: (value: T) => void
|
|
49
|
-
}
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
`validate` runs after the schema admits a value, so it sees defaults and the composition base exactly as the owner will. `dsh-llm-pi-ai` uses it to refuse a provider profile it could not serve at the write that produced it, rather than storing one that would disable every route in its namespace.
|
|
53
|
-
|
|
54
|
-
`applies` is a UI hint, not a mechanism: a `restart` owner never watches, so its value is read once at construction and configuration surfaces can badge the pending change.
|
|
55
|
-
|
|
56
|
-
```ts type-equiv
|
|
57
|
-
/** When a namespace's changes take effect for its owner. */
|
|
58
|
-
type SettingsApplies = 'live' | 'restart'
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
## Owner scope
|
|
62
|
-
|
|
63
|
-
The scope is the owner-facing handle. `update` merges a sparse patch over the user section only (never into `base`); `replace` sets the section wholesale, which is the removal/reset path — keys absent from the replacement re-inherit `base` and schema defaults. Writes to one namespace are serialized in call order, and resolved values are deep-frozen snapshots.
|
|
64
|
-
|
|
65
|
-
```ts type-equiv
|
|
66
|
-
/** Owner-facing handle for one registered namespace. */
|
|
67
|
-
interface SettingsScope<T> {
|
|
68
|
-
/** Current resolved value: schema defaults, then `base`, then the user layer. */
|
|
69
|
-
get(): T
|
|
70
|
-
/**
|
|
71
|
-
* Observe committed changes to this namespace's resolved value. Invocations
|
|
72
|
-
* of one callback run asynchronously, one at a time, in commit order; a
|
|
73
|
-
* rejection is contained and logged like a sync throw. After the disposer
|
|
74
|
-
* returns, no further invocation starts — one already queued is skipped;
|
|
75
|
-
* one already started still settles, and service disposal waits for it.
|
|
76
|
-
* @param callback - invoked after each commit with the next and previous values.
|
|
77
|
-
* @returns the disposer removing this observer.
|
|
78
|
-
*/
|
|
79
|
-
watch(callback: (next: T, prev: T) => void | Promise<void>): () => void
|
|
80
|
-
/**
|
|
81
|
-
* Merge a partial patch into this namespace's user layer and persist it.
|
|
82
|
-
* @param patch - plain-object patch over the user section; JSON-compatible data
|
|
83
|
-
* only (non-JSON values reject with their path before anything persists).
|
|
84
|
-
*/
|
|
85
|
-
update(patch: object): Promise<void>
|
|
86
|
-
/**
|
|
87
|
-
* Replace this namespace's user section wholesale; absent keys re-inherit
|
|
88
|
-
* the composition `base` and schema defaults (`replace({})` resets all).
|
|
89
|
-
* @param section - the complete next user section; JSON-compatible data only,
|
|
90
|
-
* as for {@link update}.
|
|
91
|
-
*/
|
|
92
|
-
replace(section: object): Promise<void>
|
|
93
|
-
}
|
|
94
|
-
```
|
|
7
|
+
## Identity and values
|
|
95
8
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
`describe()` serializes every registered namespace for configuration surfaces: the schemastery `toJSON()` envelope drives schema-rendered forms, the resolved value fills them, and the detached `base`/`user` layers let a form mark user-overridden fields by presence. `describe({ redactSecrets: true })` — mandatory on every wire surface — strips `role('secret')` fields from all three layers and enumerates their `{path, set}` slots so a page can render write-only inputs without ever receiving a secret.
|
|
99
|
-
|
|
100
|
-
```ts type-equiv
|
|
101
|
-
/** One registered namespace as surfaced to configuration UIs. */
|
|
102
|
-
interface SettingsDescriptor {
|
|
103
|
-
/** The registered namespace. */
|
|
104
|
-
ns: SettingsNamespace
|
|
105
|
-
/** Serialized schemastery schema (`schema.toJSON()`). */
|
|
106
|
-
schema: unknown
|
|
107
|
-
/** Current resolved value. */
|
|
108
|
-
value: unknown
|
|
109
|
-
/**
|
|
110
|
-
* Monotonic revision of the raw user section this descriptor was read at.
|
|
111
|
-
* Send it back as `expectedRevision` on a write to refuse a stale one.
|
|
112
|
-
*/
|
|
113
|
-
revision: number
|
|
114
|
-
/** Registrant's composition `base` layer (detached), when one was declared. */
|
|
115
|
-
base?: unknown
|
|
116
|
-
/**
|
|
117
|
-
* Raw user section from the stored document (detached), when one exists and
|
|
118
|
-
* is well-formed; a field's presence here is what marks it user-overridden.
|
|
119
|
-
*/
|
|
120
|
-
user?: unknown
|
|
121
|
-
/** Owner's declared effect timing. */
|
|
122
|
-
applies: SettingsApplies
|
|
123
|
-
/** Schema-declared secret positions; present only under `redactSecrets`. */
|
|
124
|
-
secrets?: RedactedSecret[]
|
|
125
|
-
}
|
|
126
|
-
```
|
|
9
|
+
A form namespace is the local id of a uniquely addressed entry in the active profile. Multiple plugin instances have separate forms when their entry ids differ. Ordinary fields are excluded. Descriptors carry resolved values, inherited values, explicit profile overrides, and an optimistic revision.
|
|
127
10
|
|
|
128
|
-
|
|
129
|
-
```ts type-equiv
|
|
130
|
-
/**
|
|
131
|
-
* One path-addressed edit to a namespace's user section. Path mutation exists
|
|
132
|
-
* for a caller holding an INCOMPLETE view of the section — a configuration UI
|
|
133
|
-
* reads the redacted descriptor, which by construction never received the
|
|
134
|
-
* `role('secret')` fields. Such a caller can name the field it means without
|
|
135
|
-
* restating the section: a wholesale `replace` rebuilt from a redacted
|
|
136
|
-
* document silently deletes every secret the wire never returned.
|
|
137
|
-
*/
|
|
138
|
-
type SettingsPathOp =
|
|
139
|
-
| { op: 'set'; path: readonly string[]; value: unknown }
|
|
140
|
-
| { op: 'unset'; path: readonly string[] }
|
|
141
|
-
```
|
|
11
|
+
## Edits
|
|
142
12
|
|
|
143
|
-
|
|
144
|
-
/** Options for {@link SettingsProvider.describe}. */
|
|
145
|
-
interface SettingsDescribeOptions {
|
|
146
|
-
/**
|
|
147
|
-
* Strip `role('secret')` fields from `value`/`base`/`user` and enumerate
|
|
148
|
-
* them in each descriptor's `secrets`. Every wire surface MUST pass this;
|
|
149
|
-
* the verbatim default exists for same-process configuration UIs only.
|
|
150
|
-
*/
|
|
151
|
-
redactSecrets?: boolean
|
|
152
|
-
}
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
## Change commits
|
|
13
|
+
`update` merges submitted fields. `replace` resets live fields to inherited configuration before applying submitted fields. `mutate` addresses individual paths, preserving secrets absent from a client response. Every write validates the complete Config and refuses stale revisions before persistence.
|
|
156
14
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
```ts type-equiv
|
|
160
|
-
/** Origin of one committed settings change. */
|
|
161
|
-
type SettingsUpdateSource = 'update' | 'provider'
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
## Native document operations
|
|
165
|
-
|
|
166
|
-
`SettingsDocumentOpenValue` confirms that `settings/openSettingsDocument` prepared the provider-owned document and handed it to the native text editor. `AgentPresetDirectoryOpenValue` reports either a completed native handoff or the resolved user-preset directory when desktop opening is unavailable. Neither operation accepts a browser-selected Host path.
|
|
15
|
+
`settings/document-updated` invalidates form descriptors after Loader configuration changes. It is a UI notification; consumers use `loader/volatile-update` only when they need to refresh registration facts.
|
|
167
16
|
|
|
168
17
|
<!-- BEGIN GENERATED cordis-surface (gen-cordis-catalog.ts) — do not edit between markers -->
|
|
169
18
|
|
|
@@ -173,105 +22,52 @@ type SettingsUpdateSource = 'update' | 'provider'
|
|
|
173
22
|
|
|
174
23
|
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
175
24
|
|
|
176
|
-
<a id="ctxsettings--
|
|
25
|
+
<a id="ctxsettings--settingsforms"></a>
|
|
177
26
|
|
|
178
|
-
### `ctx.settings` — `
|
|
27
|
+
### `ctx.settings` — `SettingsForms`
|
|
179
28
|
|
|
180
|
-
|
|
29
|
+
Project Config schemas into forms and own optional instance-level UI policy.
|
|
181
30
|
|
|
182
31
|
```ts cordis-catalog
|
|
183
|
-
/**
|
|
184
|
-
*
|
|
185
|
-
*
|
|
186
|
-
*
|
|
187
|
-
* @
|
|
188
|
-
*/
|
|
189
|
-
prepareDocument(): Promise<string | undefined>
|
|
190
|
-
|
|
191
|
-
/**
|
|
192
|
-
* Register a namespace schema and receive its owner scope. The registration
|
|
193
|
-
* is an effect on the calling plugin's fiber: disposing that fiber removes
|
|
194
|
-
* the namespace and its observers. An invalid stored section fails the
|
|
195
|
-
* registration itself — the earliest point where the schema can judge it.
|
|
196
|
-
* @param ns - unique namespace; duplicate registration fails loud.
|
|
197
|
-
* @param schema - schemastery schema resolving this namespace's value.
|
|
198
|
-
* @param options - composition `base` layer and effect timing.
|
|
199
|
-
* @returns the owner scope for reads, observation, and updates.
|
|
200
|
-
* @throws {TypeError} when `ns` is not a lowercase hyphenated identifier.
|
|
32
|
+
/** Register the calling plugin instance's page policy without changing its Config.
|
|
33
|
+
* @param presentation Automatic-page policy for this instance; `auto` defaults to true.
|
|
34
|
+
* @param owner Plugin instance the policy belongs to; defaults to the calling fiber.
|
|
35
|
+
* @returns Disposer; register it with the calling plugin's effects.
|
|
36
|
+
* @throws If this instance already has a registered policy.
|
|
201
37
|
*/
|
|
202
|
-
|
|
38
|
+
configure(presentation: { auto?: boolean }, owner: Fiber = this.ctx.fiber): () => void
|
|
203
39
|
|
|
204
|
-
/**
|
|
205
|
-
*
|
|
206
|
-
* registers its composition entry as the base layer while this provider is
|
|
207
|
-
* present, then falls back to that entry if the provider detaches.
|
|
208
|
-
* @param owner - consumer context whose unload suppresses fallback work.
|
|
209
|
-
* @param ns - consumer-owned settings namespace.
|
|
210
|
-
* @param schema - schema resolving the namespace.
|
|
211
|
-
* @param entry - composition entry used as the base and fallback value.
|
|
212
|
-
* @param hooks - source sink, change notification, and optional validation.
|
|
213
|
-
* @throws {TypeError} when `ns` is not a lowercase hyphenated identifier.
|
|
40
|
+
/** Locate the profile patch for native editing.
|
|
41
|
+
* @returns The existing profile patch path.
|
|
214
42
|
*/
|
|
215
|
-
|
|
43
|
+
prepareDocument(): Promise<string>
|
|
216
44
|
|
|
217
|
-
/**
|
|
218
|
-
*
|
|
219
|
-
*
|
|
220
|
-
* the user overrode (presence in `user`) and what a reset returns to.
|
|
221
|
-
* @param options - redaction switch; wire surfaces must redact.
|
|
222
|
-
* @returns one descriptor per registered namespace, in registration order.
|
|
45
|
+
/** Read active plugin schemas and their live values.
|
|
46
|
+
* @param options Redaction required for remote callers.
|
|
47
|
+
* @returns Forms keyed by unique profile entry ids.
|
|
223
48
|
*/
|
|
224
49
|
describe(options?: SettingsDescribeOptions): SettingsDescriptor[]
|
|
225
50
|
|
|
226
|
-
/**
|
|
227
|
-
*
|
|
228
|
-
* @param
|
|
229
|
-
* @
|
|
230
|
-
* @throws {TypeError} when `ns` is not a lowercase hyphenated identifier.
|
|
51
|
+
/** Merge editable fields into an entry's config.
|
|
52
|
+
* @param ns Profile entry id.
|
|
53
|
+
* @param patch Fields to merge.
|
|
54
|
+
* @param expectedRevision Revision returned by describe.
|
|
231
55
|
*/
|
|
232
|
-
|
|
56
|
+
async update(ns: string, patch: object, expectedRevision?: number): Promise<void>
|
|
233
57
|
|
|
234
|
-
/**
|
|
235
|
-
*
|
|
236
|
-
*
|
|
237
|
-
*
|
|
238
|
-
* namespace are serialized: concurrent updates apply in call order, each
|
|
239
|
-
* merging over the previous write's committed section.
|
|
240
|
-
* @param ns - the registered namespace to update.
|
|
241
|
-
* @param patch - plain-object patch over the user section.
|
|
242
|
-
* @param expectedRevision - the descriptor `revision` the caller read; a
|
|
243
|
-
* namespace that moved past it rejects with {@link SettingsConflictError}.
|
|
244
|
-
* @throws {TypeError} when `ns` is not a lowercase hyphenated identifier.
|
|
58
|
+
/** Reset all live fields, then set the supplied fields; ordinary config is preserved.
|
|
59
|
+
* @param ns Profile entry id.
|
|
60
|
+
* @param section Complete form values.
|
|
61
|
+
* @param expectedRevision Revision returned by describe.
|
|
245
62
|
*/
|
|
246
|
-
async
|
|
63
|
+
async replace(ns: string, section: object, expectedRevision?: number): Promise<void>
|
|
247
64
|
|
|
248
|
-
/**
|
|
249
|
-
*
|
|
250
|
-
*
|
|
251
|
-
*
|
|
252
|
-
* merge-only patch cannot express (`replace({})` re-inherits everything).
|
|
253
|
-
* @param ns - the registered namespace to replace.
|
|
254
|
-
* @param section - the complete next user section.
|
|
255
|
-
* @param expectedRevision - the descriptor `revision` the caller read; a
|
|
256
|
-
* namespace that moved past it rejects with {@link SettingsConflictError}.
|
|
257
|
-
* @throws {TypeError} when `ns` is not a lowercase hyphenated identifier.
|
|
65
|
+
/** Apply field edits without restating redacted secrets; unsetting an array index removes its element.
|
|
66
|
+
* @param ns Profile entry id.
|
|
67
|
+
* @param ops Ordered form edits.
|
|
68
|
+
* @param expectedRevision Revision returned by describe.
|
|
258
69
|
*/
|
|
259
|
-
async
|
|
260
|
-
|
|
261
|
-
/**
|
|
262
|
-
* Apply path-addressed edits to one registered namespace's user section,
|
|
263
|
-
* validate, persist, then commit and emit. The ops are applied to the
|
|
264
|
-
* section as it stands when the write reaches the front of the queue, so a
|
|
265
|
-
* caller never has to restate fields it did not touch — and, crucially,
|
|
266
|
-
* cannot delete fields it never saw. This is the write path for any caller
|
|
267
|
-
* holding a redacted view; `replace` remains the wholesale reset.
|
|
268
|
-
* @param ns - the registered namespace to edit.
|
|
269
|
-
* @param ops - ordered path edits; later ops observe earlier ones.
|
|
270
|
-
* @param expectedRevision - the descriptor `revision` the caller read; a
|
|
271
|
-
* namespace that moved past it rejects with {@link SettingsConflictError}.
|
|
272
|
-
* @throws {TypeError} when `ns` is not a lowercase hyphenated identifier.
|
|
273
|
-
*/
|
|
274
|
-
async mutate<const Namespace extends string>( ns: Namespace & SettingsNamespaceInput<Namespace>, ops: readonly SettingsPathOp[], expectedRevision?: number, ): Promise<void>
|
|
70
|
+
async mutate(ns: string, ops: readonly SettingsPathOp[], expectedRevision?: number): Promise<void>
|
|
275
71
|
```
|
|
276
72
|
|
|
277
73
|
Source: [`packages/settings/settings/src/index.ts`](../../packages/settings/settings/src/index.ts)
|
|
@@ -291,12 +87,6 @@ Host service backing the generated `ctx.remote.settings` namespace. Every remote
|
|
|
291
87
|
*/
|
|
292
88
|
@Remote describe(): SettingsDescribeValue
|
|
293
89
|
|
|
294
|
-
/**
|
|
295
|
-
* Report whether this deployment can open an authored Agent preset directory natively.
|
|
296
|
-
* @returns true when the matching open operation is available.
|
|
297
|
-
*/
|
|
298
|
-
@Remote canOpenAgentPresetDirectory(): boolean
|
|
299
|
-
|
|
300
90
|
/**
|
|
301
91
|
* Merge a patch into one namespace's stored user section.
|
|
302
92
|
* @param ns - namespace key to write.
|
|
@@ -336,15 +126,6 @@ Host service backing the generated `ctx.remote.settings` namespace. Every remote
|
|
|
336
126
|
* @throws RemoteError when no document exists, preparation fails, or opening fails.
|
|
337
127
|
*/
|
|
338
128
|
@Remote async openSettingsDocument(signal: AbortSignal): Promise<SettingsDocumentOpenValue>
|
|
339
|
-
|
|
340
|
-
/**
|
|
341
|
-
* Open one user-authored Agent preset directory or return its path when no native opener exists.
|
|
342
|
-
* @param agentPreset - preset id resolved against Host-owned roots.
|
|
343
|
-
* @param signal - caller lifetime; abort terminates the native command.
|
|
344
|
-
* @returns an opened confirmation or the resolved directory for text display.
|
|
345
|
-
* @throws RemoteError when the preset is missing, read-only, invalid, or cannot be opened.
|
|
346
|
-
*/
|
|
347
|
-
@Remote async openAgentPresetDirectory( agentPreset: string, signal: AbortSignal, ): Promise<AgentPresetDirectoryOpenValue>
|
|
348
129
|
```
|
|
349
130
|
|
|
350
131
|
Source: [`packages/api/settings-controller/src/index.ts`](../../packages/api/settings-controller/src/index.ts)
|
|
@@ -357,49 +138,18 @@ Source: [`packages/api/settings-controller/src/index.ts`](../../packages/api/set
|
|
|
357
138
|
|
|
358
139
|
#### `settings/document-updated` — emit
|
|
359
140
|
|
|
360
|
-
One
|
|
141
|
+
One profile entry's form values, availability, or page policy changed. Form clients re-read its schema, resolved values, and revision.
|
|
361
142
|
|
|
362
143
|
```ts cordis-catalog
|
|
363
144
|
/**
|
|
364
|
-
* One
|
|
365
|
-
*
|
|
366
|
-
*
|
|
367
|
-
*
|
|
368
|
-
* resolved value, different meaning) and that their held revision is
|
|
369
|
-
* stale. Listener containment matches `settings/updated`.
|
|
370
|
-
* @param ns - the namespace whose stored section changed.
|
|
371
|
-
* @param revision - the namespace's new revision.
|
|
145
|
+
* One profile entry's form values, availability, or page policy changed.
|
|
146
|
+
* Form clients re-read its schema, resolved values, and revision.
|
|
147
|
+
* @param ns Profile entry id.
|
|
148
|
+
* @param revision The entry's new revision.
|
|
372
149
|
* @mode emit
|
|
373
150
|
*/
|
|
374
151
|
'settings/document-updated'(ns: SettingsNamespace, revision: number): void
|
|
375
152
|
```
|
|
376
153
|
|
|
377
|
-
Source: [`packages/settings/settings/src/types.ts`](../../packages/settings/settings/src/types.ts)
|
|
378
|
-
|
|
379
|
-
<a id="settingsupdated--emit"></a>
|
|
380
|
-
|
|
381
|
-
#### `settings/updated` — emit
|
|
382
|
-
|
|
383
|
-
Committed change to one registered namespace's resolved value. Emitted after the provider persisted (for `update`) or published (`provider`) the change; never emitted when the resolved value is deep-equal. Listener failures are contained and logged — a sync throw and an async rejection alike — except `INVARIANT`-coded failures, which rethrow after every listener ran; that rethrow reaches the emitter only from synchronous listeners, so invariant checks on this event must not be async functions.
|
|
384
|
-
|
|
385
|
-
```ts cordis-catalog
|
|
386
|
-
/**
|
|
387
|
-
* Committed change to one registered namespace's resolved value. Emitted
|
|
388
|
-
* after the provider persisted (for `update`) or published (`provider`)
|
|
389
|
-
* the change; never emitted when the resolved value is deep-equal.
|
|
390
|
-
* Listener failures are contained and logged — a sync throw and an async
|
|
391
|
-
* rejection alike — except `INVARIANT`-coded failures, which rethrow
|
|
392
|
-
* after every listener ran; that rethrow reaches the emitter only from
|
|
393
|
-
* synchronous listeners, so invariant checks on this event must not be
|
|
394
|
-
* async functions.
|
|
395
|
-
* @param ns - the namespace whose resolved value changed.
|
|
396
|
-
* @param next - the new resolved value.
|
|
397
|
-
* @param prev - the previous resolved value.
|
|
398
|
-
* @param source - whether the change entered through `update()` or the provider.
|
|
399
|
-
* @mode emit
|
|
400
|
-
*/
|
|
401
|
-
'settings/updated'(ns: SettingsNamespace, next: unknown, prev: unknown, source: SettingsUpdateSource): void
|
|
402
|
-
```
|
|
403
|
-
|
|
404
154
|
Source: [`packages/settings/settings/src/types.ts`](../../packages/settings/settings/src/types.ts)
|
|
405
155
|
<!-- END GENERATED cordis-surface -->
|