dsh-plugin-guide 0.3.41 → 0.4.0
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 +8 -23
- package/PRIVACY.md +11 -0
- package/README-zh.md +45 -418
- package/README.md +50 -435
- package/SKILL.md +41 -99
- package/STANDARDS.md +14 -5
- package/cordis.patch.yml +0 -0
- package/docs/boost.md +75 -0
- package/docs/entry.md +60 -0
- package/docs/flow.md +57 -0
- package/docs/levels.md +76 -0
- package/icon.svg +0 -0
- package/index.js +7 -24
- package/locale/en.json +2 -2
- package/locale/zh.json +2 -2
- package/package.json +29 -78
- package/README-es.md +0 -453
- package/README-hi.md +0 -453
- package/README-pt.md +0 -453
- package/bin/dsh-plugin-dev.js +0 -6
- package/data/facts.json +0 -66
- package/data/seams/index.json +0 -397
- package/data/standards.json +0 -300
- package/dist/dsh-plugin-dev.js +0 -2261
- package/guide/choosing-a-plugin.md +0 -412
- package/guide/choosing-a-plugin.zh-CN.md +0 -414
- package/guide/family-toolchain.md +0 -260
- package/guide/links.md +0 -112
- package/guide/migration-0.2.md +0 -275
- package/guide/plugin-dev-guide.md +0 -629
- package/guide/quick-reference.es.md +0 -185
- package/guide/quick-reference.hi.md +0 -185
- package/guide/quick-reference.md +0 -185
- package/guide/quick-reference.pt.md +0 -185
- package/guide/quick-reference.zh-CN.md +0 -184
- package/guide/release-engineering.md +0 -198
- package/guide/release-engineering.zh-CN.md +0 -198
- package/guide/standards.md +0 -141
- package/guide/standards.zh-CN.md +0 -141
- package/guide/unfixed-issues.md +0 -155
- package/guide/version-matrix.md +0 -309
- package/guide/when-to-retire-a-plugin.md +0 -127
- package/guide/when-to-retire-a-plugin.zh-CN.md +0 -127
- package/index.d.ts +0 -32
- package/references/cli-positioning-decision.md +0 -78
- package/references/community-ecosystem.md +0 -202
- package/references/community-repo-deep-dive.md +0 -660
- package/references/cordis-paper-and-community.md +0 -326
- package/references/dev-resource-landscape.md +0 -294
- package/references/harness-repo.md +0 -673
- package/references/mirror-scope-decision.md +0 -79
- package/references/official-docs/AGENTS.md +0 -185
- package/references/official-docs/BENCHMARK.md +0 -3
- package/references/official-docs/CLAUDE.md +0 -1
- package/references/official-docs/CONTRIBUTING.i18n.yaml +0 -7
- package/references/official-docs/CONTRIBUTING.md +0 -23
- package/references/official-docs/CONTRIBUTING.zh.md +0 -23
- package/references/official-docs/LICENSE +0 -21
- package/references/official-docs/README.i18n.yaml +0 -34
- package/references/official-docs/README.md +0 -35
- package/references/official-docs/README.zh.md +0 -96
- package/references/official-docs/SNAPSHOT.md +0 -14
- package/references/official-docs/THIRD_PARTY_NOTICES.md +0 -304
- package/references/official-docs/docs/AGENTS.md +0 -77
- package/references/official-docs/docs/agent-lifecycle.i18n.yaml +0 -10
- package/references/official-docs/docs/agent-lifecycle.md +0 -91
- package/references/official-docs/docs/agent-lifecycle.zh.md +0 -93
- package/references/official-docs/docs/api-gateway.i18n.yaml +0 -31
- package/references/official-docs/docs/api-gateway.md +0 -172
- package/references/official-docs/docs/api-gateway.zh.md +0 -178
- package/references/official-docs/docs/architecture.i18n.yaml +0 -37
- package/references/official-docs/docs/architecture.md +0 -165
- package/references/official-docs/docs/architecture.zh.md +0 -169
- package/references/official-docs/docs/capability-seams.i18n.yaml +0 -10
- package/references/official-docs/docs/capability-seams.md +0 -714
- package/references/official-docs/docs/capability-seams.zh.md +0 -716
- package/references/official-docs/docs/cli-help.i18n.yaml +0 -34
- package/references/official-docs/docs/cli-help.md +0 -203
- package/references/official-docs/docs/cli-help.zh.md +0 -205
- package/references/official-docs/docs/config-catalog.i18n.yaml +0 -19
- package/references/official-docs/docs/config-catalog.md +0 -4801
- package/references/official-docs/docs/config-catalog.zh.md +0 -4803
- package/references/official-docs/docs/cookbook/adding-a-package.i18n.yaml +0 -28
- package/references/official-docs/docs/cookbook/adding-a-package.md +0 -170
- package/references/official-docs/docs/cookbook/adding-a-package.zh.md +0 -170
- package/references/official-docs/docs/cookbook/adding-a-plugin-preview.i18n.yaml +0 -22
- package/references/official-docs/docs/cookbook/adding-a-plugin-preview.md +0 -52
- package/references/official-docs/docs/cookbook/adding-a-plugin-preview.zh.md +0 -52
- package/references/official-docs/docs/cookbook/adding-a-remote-api.i18n.yaml +0 -25
- package/references/official-docs/docs/cookbook/adding-a-remote-api.md +0 -197
- package/references/official-docs/docs/cookbook/adding-a-remote-api.zh.md +0 -197
- package/references/official-docs/docs/cookbook/adding-a-session-format-version.i18n.yaml +0 -40
- package/references/official-docs/docs/cookbook/adding-a-session-format-version.md +0 -153
- package/references/official-docs/docs/cookbook/adding-a-session-format-version.zh.md +0 -153
- package/references/official-docs/docs/cookbook/adding-a-settings-card.i18n.yaml +0 -22
- package/references/official-docs/docs/cookbook/adding-a-settings-card.md +0 -72
- package/references/official-docs/docs/cookbook/adding-a-settings-card.zh.md +0 -72
- package/references/official-docs/docs/cookbook/adding-a-tool.i18n.yaml +0 -31
- package/references/official-docs/docs/cookbook/adding-a-tool.md +0 -101
- package/references/official-docs/docs/cookbook/adding-a-tool.zh.md +0 -103
- package/references/official-docs/docs/cookbook/adding-a-vendored-package.i18n.yaml +0 -19
- package/references/official-docs/docs/cookbook/adding-a-vendored-package.md +0 -59
- package/references/official-docs/docs/cookbook/adding-a-vendored-package.zh.md +0 -59
- package/references/official-docs/docs/cookbook/adding-an-llm-adapter.i18n.yaml +0 -19
- package/references/official-docs/docs/cookbook/adding-an-llm-adapter.md +0 -43
- package/references/official-docs/docs/cookbook/adding-an-llm-adapter.zh.md +0 -43
- package/references/official-docs/docs/cookbook/extension-cookbook.i18n.yaml +0 -25
- package/references/official-docs/docs/cookbook/extension-cookbook.md +0 -132
- package/references/official-docs/docs/cookbook/extension-cookbook.zh.md +0 -136
- package/references/official-docs/docs/cookbook/maintaining-dsh-code-review.i18n.yaml +0 -22
- package/references/official-docs/docs/cookbook/maintaining-dsh-code-review.md +0 -64
- package/references/official-docs/docs/cookbook/maintaining-dsh-code-review.zh.md +0 -64
- package/references/official-docs/docs/cookbook/responding-to-pr-review-on-a-stack.i18n.yaml +0 -16
- package/references/official-docs/docs/cookbook/responding-to-pr-review-on-a-stack.md +0 -32
- package/references/official-docs/docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +0 -32
- package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.i18n.yaml +0 -31
- package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.md +0 -122
- package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.zh.md +0 -122
- package/references/official-docs/docs/cordis-api/context.i18n.yaml +0 -73
- package/references/official-docs/docs/cordis-api/context.md +0 -364
- package/references/official-docs/docs/cordis-api/context.zh.md +0 -366
- package/references/official-docs/docs/cordis-api/events.i18n.yaml +0 -37
- package/references/official-docs/docs/cordis-api/events.md +0 -207
- package/references/official-docs/docs/cordis-api/events.zh.md +0 -209
- package/references/official-docs/docs/cordis-api/fiber.i18n.yaml +0 -76
- package/references/official-docs/docs/cordis-api/fiber.md +0 -375
- package/references/official-docs/docs/cordis-api/fiber.zh.md +0 -377
- package/references/official-docs/docs/cordis-api/inherited.md +0 -38
- package/references/official-docs/docs/cordis-api/registry.i18n.yaml +0 -22
- package/references/official-docs/docs/cordis-api/registry.md +0 -152
- package/references/official-docs/docs/cordis-api/registry.zh.md +0 -154
- package/references/official-docs/docs/cordis-api/service.i18n.yaml +0 -37
- package/references/official-docs/docs/cordis-api/service.md +0 -102
- package/references/official-docs/docs/cordis-api/service.zh.md +0 -104
- package/references/official-docs/docs/cordis-primer.i18n.yaml +0 -22
- package/references/official-docs/docs/cordis-primer.md +0 -45
- package/references/official-docs/docs/cordis-primer.zh.md +0 -51
- package/references/official-docs/docs/cordis-tutorial/01-first-plugin.i18n.yaml +0 -22
- package/references/official-docs/docs/cordis-tutorial/01-first-plugin.md +0 -95
- package/references/official-docs/docs/cordis-tutorial/01-first-plugin.zh.md +0 -95
- package/references/official-docs/docs/cordis-tutorial/02-lifecycle-and-effects.i18n.yaml +0 -16
- package/references/official-docs/docs/cordis-tutorial/02-lifecycle-and-effects.md +0 -98
- package/references/official-docs/docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +0 -98
- package/references/official-docs/docs/cordis-tutorial/03-services.i18n.yaml +0 -22
- package/references/official-docs/docs/cordis-tutorial/03-services.md +0 -98
- package/references/official-docs/docs/cordis-tutorial/03-services.zh.md +0 -98
- package/references/official-docs/docs/cordis-tutorial/04-events.i18n.yaml +0 -16
- package/references/official-docs/docs/cordis-tutorial/04-events.md +0 -144
- package/references/official-docs/docs/cordis-tutorial/04-events.zh.md +0 -144
- package/references/official-docs/docs/cordis-tutorial/05-config.i18n.yaml +0 -19
- package/references/official-docs/docs/cordis-tutorial/05-config.md +0 -111
- package/references/official-docs/docs/cordis-tutorial/05-config.zh.md +0 -111
- package/references/official-docs/docs/cordis-tutorial/06-composition-and-hmr.i18n.yaml +0 -16
- package/references/official-docs/docs/cordis-tutorial/06-composition-and-hmr.md +0 -113
- package/references/official-docs/docs/cordis-tutorial/06-composition-and-hmr.zh.md +0 -113
- package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.i18n.yaml +0 -19
- package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.md +0 -108
- package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.zh.md +0 -108
- package/references/official-docs/docs/cordis-tutorial/index.i18n.yaml +0 -16
- package/references/official-docs/docs/cordis-tutorial/index.md +0 -60
- package/references/official-docs/docs/cordis-tutorial/index.zh.md +0 -62
- package/references/official-docs/docs/deepseek-llm-api-wire-extensions.i18n.yaml +0 -34
- package/references/official-docs/docs/deepseek-llm-api-wire-extensions.md +0 -162
- package/references/official-docs/docs/deepseek-llm-api-wire-extensions.zh.md +0 -162
- package/references/official-docs/docs/defensive-patterns/README.i18n.yaml +0 -10
- package/references/official-docs/docs/defensive-patterns/README.md +0 -25
- package/references/official-docs/docs/defensive-patterns/README.zh.md +0 -27
- package/references/official-docs/docs/defensive-patterns/client-components.i18n.yaml +0 -46
- package/references/official-docs/docs/defensive-patterns/client-components.md +0 -493
- package/references/official-docs/docs/defensive-patterns/client-components.zh.md +0 -495
- package/references/official-docs/docs/defensive-patterns/conversation-and-session.i18n.yaml +0 -31
- package/references/official-docs/docs/defensive-patterns/conversation-and-session.md +0 -316
- package/references/official-docs/docs/defensive-patterns/conversation-and-session.zh.md +0 -316
- package/references/official-docs/docs/defensive-patterns/general.i18n.yaml +0 -52
- package/references/official-docs/docs/defensive-patterns/general.md +0 -222
- package/references/official-docs/docs/defensive-patterns/general.zh.md +0 -252
- package/references/official-docs/docs/defensive-patterns/package-surface.i18n.yaml +0 -28
- package/references/official-docs/docs/defensive-patterns/package-surface.md +0 -231
- package/references/official-docs/docs/defensive-patterns/package-surface.zh.md +0 -231
- package/references/official-docs/docs/defensive-patterns/remote-and-api.i18n.yaml +0 -16
- package/references/official-docs/docs/defensive-patterns/remote-and-api.md +0 -115
- package/references/official-docs/docs/defensive-patterns/remote-and-api.zh.md +0 -115
- package/references/official-docs/docs/dependency-catalog.json +0 -7312
- package/references/official-docs/docs/development.i18n.yaml +0 -49
- package/references/official-docs/docs/development.md +0 -214
- package/references/official-docs/docs/development.zh.md +0 -221
- package/references/official-docs/docs/event-producer-consumer.i18n.yaml +0 -13
- package/references/official-docs/docs/event-producer-consumer.md +0 -110
- package/references/official-docs/docs/event-producer-consumer.zh.md +0 -112
- package/references/official-docs/docs/experimental-persistence-catalog.i18n.yaml +0 -10
- package/references/official-docs/docs/experimental-persistence-catalog.md +0 -17
- package/references/official-docs/docs/experimental-persistence-catalog.zh.md +0 -17
- package/references/official-docs/docs/glossary.i18n.yaml +0 -25
- package/references/official-docs/docs/glossary.md +0 -46
- package/references/official-docs/docs/glossary.zh.md +0 -46
- package/references/official-docs/docs/graph-atlas.i18n.yaml +0 -10
- package/references/official-docs/docs/graph-atlas.md +0 -22
- package/references/official-docs/docs/graph-atlas.zh.md +0 -24
- package/references/official-docs/docs/i18n/README.i18n.yaml +0 -19
- package/references/official-docs/docs/i18n/README.md +0 -69
- package/references/official-docs/docs/i18n/README.zh.md +0 -71
- package/references/official-docs/docs/i18n/style-samples.md +0 -87
- package/references/official-docs/docs/i18n/terminology.md +0 -215
- package/references/official-docs/docs/i18n/translation-prompt.md +0 -263
- package/references/official-docs/docs/i18n/translation-rules.i18n.yaml +0 -28
- package/references/official-docs/docs/i18n/translation-rules.md +0 -69
- package/references/official-docs/docs/i18n/translation-rules.zh.md +0 -69
- package/references/official-docs/docs/module-graph.i18n.yaml +0 -10
- package/references/official-docs/docs/module-graph.md +0 -1776
- package/references/official-docs/docs/module-graph.zh.md +0 -1778
- package/references/official-docs/docs/persistence-catalog.i18n.yaml +0 -2152
- package/references/official-docs/docs/persistence-catalog.md +0 -9140
- package/references/official-docs/docs/persistence-catalog.zh.md +0 -9142
- package/references/official-docs/docs/persistence-changes/2026-09-11-initial.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-09-11-initial.md +0 -280
- package/references/official-docs/docs/persistence-changes/2026-09-11-initial.schema.json +0 -13557
- package/references/official-docs/docs/persistence-changes/2026-09-11-initial.zh.md +0 -280
- package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.md +0 -52
- package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.schema.json +0 -910
- package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.zh.md +0 -52
- package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.schema.json +0 -76
- package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.zh.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.md +0 -96
- package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.schema.json +0 -8478
- package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.zh.md +0 -96
- package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.schema.json +0 -72
- package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.zh.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.md +0 -120
- package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.schema.json +0 -16212
- package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.zh.md +0 -120
- package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.schema.json +0 -302
- package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.zh.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.schema.json +0 -290
- package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.zh.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.schema.json +0 -250
- package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.zh.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.md +0 -60
- package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.schema.json +0 -11405
- package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.zh.md +0 -60
- package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.md +0 -52
- package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.schema.json +0 -297
- package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.zh.md +0 -52
- package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.schema.json +0 -457
- package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.zh.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.md +0 -60
- package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.schema.json +0 -11474
- package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.zh.md +0 -60
- package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.schema.json +0 -2990
- package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.zh.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.schema.json +0 -231
- package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.zh.md +0 -48
- package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.md +0 -60
- package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.schema.json +0 -11559
- package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.zh.md +0 -60
- package/references/official-docs/docs/persistence-changes/README.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/README.md +0 -90
- package/references/official-docs/docs/persistence-changes/README.zh.md +0 -90
- package/references/official-docs/docs/persistence-changes/finalized/v4.json +0 -379
- package/references/official-docs/docs/persistence-changes/historical-formats/README.i18n.yaml +0 -28
- package/references/official-docs/docs/persistence-changes/historical-formats/README.md +0 -75
- package/references/official-docs/docs/persistence-changes/historical-formats/README.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/historical-formats/v0.i18n.yaml +0 -1285
- package/references/official-docs/docs/persistence-changes/historical-formats/v0.md +0 -5105
- package/references/official-docs/docs/persistence-changes/historical-formats/v0.schema.json +0 -49308
- package/references/official-docs/docs/persistence-changes/historical-formats/v0.zh.md +0 -5105
- package/references/official-docs/docs/persistence-changes/historical-formats/v1.i18n.yaml +0 -1285
- package/references/official-docs/docs/persistence-changes/historical-formats/v1.md +0 -5107
- package/references/official-docs/docs/persistence-changes/historical-formats/v1.schema.json +0 -49411
- package/references/official-docs/docs/persistence-changes/historical-formats/v1.zh.md +0 -5107
- package/references/official-docs/docs/persistence-changes/historical-formats/v2.i18n.yaml +0 -1345
- package/references/official-docs/docs/persistence-changes/historical-formats/v2.md +0 -5362
- package/references/official-docs/docs/persistence-changes/historical-formats/v2.schema.json +0 -56466
- package/references/official-docs/docs/persistence-changes/historical-formats/v2.zh.md +0 -5362
- package/references/official-docs/docs/persistence-changes/historical-formats/v3.i18n.yaml +0 -1441
- package/references/official-docs/docs/persistence-changes/historical-formats/v3.md +0 -5634
- package/references/official-docs/docs/persistence-changes/historical-formats/v3.schema.json +0 -61307
- package/references/official-docs/docs/persistence-changes/historical-formats/v3.zh.md +0 -5634
- package/references/official-docs/docs/persistence-changes/releases/README.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/README.md +0 -103
- package/references/official-docs/docs/persistence-changes/releases/README.zh.md +0 -103
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.md +0 -201
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.schema.json +0 -39868
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.zh.md +0 -201
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.md +0 -261
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.schema.json +0 -43342
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.zh.md +0 -261
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.md +0 -126
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.schema.json +0 -19452
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.zh.md +0 -126
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.md +0 -82
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.schema.json +0 -5320
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.zh.md +0 -82
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.md +0 -110
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.schema.json +0 -21258
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.zh.md +0 -110
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.md +0 -82
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.schema.json +0 -417
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.zh.md +0 -82
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.md +0 -119
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.schema.json +0 -29672
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.zh.md +0 -119
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.md +0 -295
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.schema.json +0 -48429
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.zh.md +0 -295
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.md +0 -286
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.schema.json +0 -49347
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.zh.md +0 -286
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.md +0 -95
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.schema.json +0 -17642
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.zh.md +0 -95
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.md +0 -154
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.schema.json +0 -38678
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.zh.md +0 -154
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.md +0 -86
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.schema.json +0 -783
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.zh.md +0 -86
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.md +0 -139
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.schema.json +0 -24597
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.zh.md +0 -139
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.md +0 -95
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.schema.json +0 -2132
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.zh.md +0 -95
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.i18n.yaml +0 -31
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.schema.json +0 -5
- package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.zh.md +0 -75
- package/references/official-docs/docs/persistence-changes/releases/manifest.json +0 -162
- package/references/official-docs/docs/persistence-schema.json +0 -26177
- package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.i18n.yaml +0 -34
- package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.md +0 -113
- package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.zh.md +0 -113
- package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.i18n.yaml +0 -28
- package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +0 -47
- package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +0 -47
- package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.i18n.yaml +0 -28
- package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.md +0 -53
- package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +0 -53
- package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.i18n.yaml +0 -28
- package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +0 -55
- package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +0 -55
- package/references/official-docs/docs/postmortem/README.i18n.yaml +0 -7
- package/references/official-docs/docs/postmortem/README.md +0 -18
- package/references/official-docs/docs/postmortem/README.zh.md +0 -18
- package/references/official-docs/docs/rescope.i18n.yaml +0 -19
- package/references/official-docs/docs/rescope.md +0 -53
- package/references/official-docs/docs/rescope.zh.md +0 -53
- package/references/official-docs/docs/session-format-status.i18n.yaml +0 -28
- package/references/official-docs/docs/session-format-status.md +0 -63
- package/references/official-docs/docs/session-format-status.zh.md +0 -63
- package/references/official-docs/docs/subsystems/README.i18n.yaml +0 -7
- package/references/official-docs/docs/subsystems/README.md +0 -76
- package/references/official-docs/docs/subsystems/README.zh.md +0 -76
- package/references/official-docs/docs/subsystems/agent-team.i18n.yaml +0 -22
- package/references/official-docs/docs/subsystems/agent-team.md +0 -231
- package/references/official-docs/docs/subsystems/agent-team.zh.md +0 -231
- package/references/official-docs/docs/subsystems/approval.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/approval.md +0 -170
- package/references/official-docs/docs/subsystems/approval.zh.md +0 -170
- package/references/official-docs/docs/subsystems/attachment.i18n.yaml +0 -13
- package/references/official-docs/docs/subsystems/attachment.md +0 -361
- package/references/official-docs/docs/subsystems/attachment.zh.md +0 -361
- package/references/official-docs/docs/subsystems/boot.i18n.yaml +0 -16
- package/references/official-docs/docs/subsystems/boot.md +0 -447
- package/references/official-docs/docs/subsystems/boot.zh.md +0 -447
- package/references/official-docs/docs/subsystems/browser-use.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/browser-use.md +0 -67
- package/references/official-docs/docs/subsystems/browser-use.zh.md +0 -67
- package/references/official-docs/docs/subsystems/claude-code-mods.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/claude-code-mods.md +0 -146
- package/references/official-docs/docs/subsystems/claude-code-mods.zh.md +0 -146
- package/references/official-docs/docs/subsystems/client-modules.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/client-modules.md +0 -198
- package/references/official-docs/docs/subsystems/client-modules.zh.md +0 -198
- package/references/official-docs/docs/subsystems/client-resources.i18n.yaml +0 -22
- package/references/official-docs/docs/subsystems/client-resources.md +0 -92
- package/references/official-docs/docs/subsystems/client-resources.zh.md +0 -92
- package/references/official-docs/docs/subsystems/commands.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/commands.md +0 -223
- package/references/official-docs/docs/subsystems/commands.zh.md +0 -223
- package/references/official-docs/docs/subsystems/compaction.i18n.yaml +0 -22
- package/references/official-docs/docs/subsystems/compaction.md +0 -284
- package/references/official-docs/docs/subsystems/compaction.zh.md +0 -284
- package/references/official-docs/docs/subsystems/computer-use.i18n.yaml +0 -16
- package/references/official-docs/docs/subsystems/computer-use.md +0 -59
- package/references/official-docs/docs/subsystems/computer-use.zh.md +0 -59
- package/references/official-docs/docs/subsystems/conversation.i18n.yaml +0 -31
- package/references/official-docs/docs/subsystems/conversation.md +0 -301
- package/references/official-docs/docs/subsystems/conversation.zh.md +0 -303
- package/references/official-docs/docs/subsystems/core.i18n.yaml +0 -37
- package/references/official-docs/docs/subsystems/core.md +0 -1113
- package/references/official-docs/docs/subsystems/core.zh.md +0 -1125
- package/references/official-docs/docs/subsystems/credentials.i18n.yaml +0 -25
- package/references/official-docs/docs/subsystems/credentials.md +0 -493
- package/references/official-docs/docs/subsystems/credentials.zh.md +0 -493
- package/references/official-docs/docs/subsystems/deliverables.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/deliverables.md +0 -178
- package/references/official-docs/docs/subsystems/deliverables.zh.md +0 -178
- package/references/official-docs/docs/subsystems/extensions.i18n.yaml +0 -7
- package/references/official-docs/docs/subsystems/extensions.md +0 -384
- package/references/official-docs/docs/subsystems/extensions.zh.md +0 -384
- package/references/official-docs/docs/subsystems/feedback.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/feedback.md +0 -400
- package/references/official-docs/docs/subsystems/feedback.zh.md +0 -400
- package/references/official-docs/docs/subsystems/filesystem.i18n.yaml +0 -34
- package/references/official-docs/docs/subsystems/filesystem.md +0 -530
- package/references/official-docs/docs/subsystems/filesystem.zh.md +0 -530
- package/references/official-docs/docs/subsystems/goal.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/goal.md +0 -313
- package/references/official-docs/docs/subsystems/goal.zh.md +0 -313
- package/references/official-docs/docs/subsystems/jobs.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/jobs.md +0 -554
- package/references/official-docs/docs/subsystems/jobs.zh.md +0 -554
- package/references/official-docs/docs/subsystems/llm-streaming.i18n.yaml +0 -49
- package/references/official-docs/docs/subsystems/llm-streaming.md +0 -1196
- package/references/official-docs/docs/subsystems/llm-streaming.zh.md +0 -1202
- package/references/official-docs/docs/subsystems/lsp.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/lsp.md +0 -202
- package/references/official-docs/docs/subsystems/lsp.zh.md +0 -202
- package/references/official-docs/docs/subsystems/mcp.i18n.yaml +0 -34
- package/references/official-docs/docs/subsystems/mcp.md +0 -139
- package/references/official-docs/docs/subsystems/mcp.zh.md +0 -139
- package/references/official-docs/docs/subsystems/office-to-pdf.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/office-to-pdf.md +0 -87
- package/references/official-docs/docs/subsystems/office-to-pdf.zh.md +0 -87
- package/references/official-docs/docs/subsystems/otel.i18n.yaml +0 -7
- package/references/official-docs/docs/subsystems/otel.md +0 -44
- package/references/official-docs/docs/subsystems/otel.zh.md +0 -44
- package/references/official-docs/docs/subsystems/permission-presets.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/permission-presets.md +0 -167
- package/references/official-docs/docs/subsystems/permission-presets.zh.md +0 -167
- package/references/official-docs/docs/subsystems/persistence.i18n.yaml +0 -37
- package/references/official-docs/docs/subsystems/persistence.md +0 -418
- package/references/official-docs/docs/subsystems/persistence.zh.md +0 -418
- package/references/official-docs/docs/subsystems/plan.i18n.yaml +0 -22
- package/references/official-docs/docs/subsystems/plan.md +0 -87
- package/references/official-docs/docs/subsystems/plan.zh.md +0 -87
- package/references/official-docs/docs/subsystems/product-telemetry.i18n.yaml +0 -10
- package/references/official-docs/docs/subsystems/product-telemetry.md +0 -81
- package/references/official-docs/docs/subsystems/product-telemetry.zh.md +0 -81
- package/references/official-docs/docs/subsystems/ptc-runtime.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/ptc-runtime.md +0 -250
- package/references/official-docs/docs/subsystems/ptc-runtime.zh.md +0 -250
- package/references/official-docs/docs/subsystems/sandbox.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/sandbox.md +0 -221
- package/references/official-docs/docs/subsystems/sandbox.zh.md +0 -221
- package/references/official-docs/docs/subsystems/schedule.i18n.yaml +0 -40
- package/references/official-docs/docs/subsystems/schedule.md +0 -550
- package/references/official-docs/docs/subsystems/schedule.zh.md +0 -550
- package/references/official-docs/docs/subsystems/scope.i18n.yaml +0 -16
- package/references/official-docs/docs/subsystems/scope.md +0 -59
- package/references/official-docs/docs/subsystems/scope.zh.md +0 -61
- package/references/official-docs/docs/subsystems/session-projection.i18n.yaml +0 -16
- package/references/official-docs/docs/subsystems/session-projection.md +0 -356
- package/references/official-docs/docs/subsystems/session-projection.zh.md +0 -356
- package/references/official-docs/docs/subsystems/session-query.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/session-query.md +0 -511
- package/references/official-docs/docs/subsystems/session-query.zh.md +0 -511
- package/references/official-docs/docs/subsystems/session-reference.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/session-reference.md +0 -224
- package/references/official-docs/docs/subsystems/session-reference.zh.md +0 -224
- package/references/official-docs/docs/subsystems/session-telemetry.i18n.yaml +0 -22
- package/references/official-docs/docs/subsystems/session-telemetry.md +0 -212
- package/references/official-docs/docs/subsystems/session-telemetry.zh.md +0 -212
- package/references/official-docs/docs/subsystems/session-title.i18n.yaml +0 -16
- package/references/official-docs/docs/subsystems/session-title.md +0 -213
- package/references/official-docs/docs/subsystems/session-title.zh.md +0 -213
- package/references/official-docs/docs/subsystems/session.i18n.yaml +0 -70
- package/references/official-docs/docs/subsystems/session.md +0 -1339
- package/references/official-docs/docs/subsystems/session.zh.md +0 -1343
- package/references/official-docs/docs/subsystems/settings.i18n.yaml +0 -13
- package/references/official-docs/docs/subsystems/settings.md +0 -155
- package/references/official-docs/docs/subsystems/settings.zh.md +0 -155
- package/references/official-docs/docs/subsystems/shell.i18n.yaml +0 -25
- package/references/official-docs/docs/subsystems/shell.md +0 -314
- package/references/official-docs/docs/subsystems/shell.zh.md +0 -314
- package/references/official-docs/docs/subsystems/sidebar-right.i18n.yaml +0 -37
- package/references/official-docs/docs/subsystems/sidebar-right.md +0 -160
- package/references/official-docs/docs/subsystems/sidebar-right.zh.md +0 -160
- package/references/official-docs/docs/subsystems/skills.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/skills.md +0 -352
- package/references/official-docs/docs/subsystems/skills.zh.md +0 -352
- package/references/official-docs/docs/subsystems/slots.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/slots.md +0 -200
- package/references/official-docs/docs/subsystems/slots.zh.md +0 -204
- package/references/official-docs/docs/subsystems/spill.i18n.yaml +0 -16
- package/references/official-docs/docs/subsystems/spill.md +0 -124
- package/references/official-docs/docs/subsystems/spill.zh.md +0 -124
- package/references/official-docs/docs/subsystems/ssh.i18n.yaml +0 -22
- package/references/official-docs/docs/subsystems/ssh.md +0 -146
- package/references/official-docs/docs/subsystems/ssh.zh.md +0 -146
- package/references/official-docs/docs/subsystems/storage.i18n.yaml +0 -25
- package/references/official-docs/docs/subsystems/storage.md +0 -259
- package/references/official-docs/docs/subsystems/storage.zh.md +0 -259
- package/references/official-docs/docs/subsystems/subagent.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/subagent.md +0 -686
- package/references/official-docs/docs/subsystems/subagent.zh.md +0 -688
- package/references/official-docs/docs/subsystems/subprocess.i18n.yaml +0 -31
- package/references/official-docs/docs/subsystems/subprocess.md +0 -321
- package/references/official-docs/docs/subsystems/subprocess.zh.md +0 -321
- package/references/official-docs/docs/subsystems/system-prompt.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/system-prompt.md +0 -254
- package/references/official-docs/docs/subsystems/system-prompt.zh.md +0 -254
- package/references/official-docs/docs/subsystems/terminal.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/terminal.md +0 -184
- package/references/official-docs/docs/subsystems/terminal.zh.md +0 -184
- package/references/official-docs/docs/subsystems/todo.i18n.yaml +0 -13
- package/references/official-docs/docs/subsystems/todo.md +0 -32
- package/references/official-docs/docs/subsystems/todo.zh.md +0 -32
- package/references/official-docs/docs/subsystems/token-meter.i18n.yaml +0 -13
- package/references/official-docs/docs/subsystems/token-meter.md +0 -106
- package/references/official-docs/docs/subsystems/token-meter.zh.md +0 -106
- package/references/official-docs/docs/subsystems/tools.i18n.yaml +0 -25
- package/references/official-docs/docs/subsystems/tools.md +0 -747
- package/references/official-docs/docs/subsystems/tools.zh.md +0 -747
- package/references/official-docs/docs/subsystems/translation.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/translation.md +0 -103
- package/references/official-docs/docs/subsystems/translation.zh.md +0 -103
- package/references/official-docs/docs/subsystems/typert.i18n.yaml +0 -25
- package/references/official-docs/docs/subsystems/typert.md +0 -690
- package/references/official-docs/docs/subsystems/typert.zh.md +0 -690
- package/references/official-docs/docs/subsystems/user-questions.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/user-questions.md +0 -307
- package/references/official-docs/docs/subsystems/user-questions.zh.md +0 -307
- package/references/official-docs/docs/subsystems/voice-input.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/voice-input.md +0 -164
- package/references/official-docs/docs/subsystems/voice-input.zh.md +0 -164
- package/references/official-docs/docs/subsystems/web-client.i18n.yaml +0 -37
- package/references/official-docs/docs/subsystems/web-client.md +0 -100
- package/references/official-docs/docs/subsystems/web-client.zh.md +0 -100
- package/references/official-docs/docs/subsystems/web-server.i18n.yaml +0 -16
- package/references/official-docs/docs/subsystems/web-server.md +0 -302
- package/references/official-docs/docs/subsystems/web-server.zh.md +0 -302
- package/references/official-docs/docs/subsystems/web.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/web.md +0 -206
- package/references/official-docs/docs/subsystems/web.zh.md +0 -206
- package/references/official-docs/docs/subsystems/webhook.i18n.yaml +0 -19
- package/references/official-docs/docs/subsystems/webhook.md +0 -70
- package/references/official-docs/docs/subsystems/webhook.zh.md +0 -70
- package/references/official-docs/docs/subsystems/workflow.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/workflow.md +0 -278
- package/references/official-docs/docs/subsystems/workflow.zh.md +0 -278
- package/references/official-docs/docs/subsystems/working-directory.i18n.yaml +0 -13
- package/references/official-docs/docs/subsystems/working-directory.md +0 -64
- package/references/official-docs/docs/subsystems/working-directory.zh.md +0 -64
- package/references/official-docs/docs/subsystems/workspace.i18n.yaml +0 -28
- package/references/official-docs/docs/subsystems/workspace.md +0 -647
- package/references/official-docs/docs/subsystems/workspace.zh.md +0 -647
- package/references/official-docs/docs/subsystems/worktrees.i18n.yaml +0 -13
- package/references/official-docs/docs/subsystems/worktrees.md +0 -76
- package/references/official-docs/docs/subsystems/worktrees.zh.md +0 -76
- package/references/official-docs/docs/testing.i18n.yaml +0 -34
- package/references/official-docs/docs/testing.md +0 -55
- package/references/official-docs/docs/testing.zh.md +0 -55
- package/references/official-docs/docs/tool-catalog.i18n.yaml +0 -331
- package/references/official-docs/docs/tool-catalog.md +0 -2824
- package/references/official-docs/docs/tool-catalog.zh.md +0 -2832
- package/references/official-docs/docs/tool-execution-pipeline.i18n.yaml +0 -10
- package/references/official-docs/docs/tool-execution-pipeline.md +0 -65
- package/references/official-docs/docs/tool-execution-pipeline.zh.md +0 -67
- package/references/official-docs/docs/ui-radius.i18n.yaml +0 -31
- package/references/official-docs/docs/ui-radius.md +0 -117
- package/references/official-docs/docs/ui-radius.zh.md +0 -117
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.md +0 -22
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.zh.md +0 -22
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.md +0 -25
- package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.zh.md +0 -25
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/bundled-python-tests/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/bundled-python-tests/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/bundled-python-tests/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.md +0 -23
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.zh.md +0 -23
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.md +0 -22
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.zh.md +0 -22
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.md +0 -27
- package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.zh.md +0 -27
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/deepseek-model-discovery/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/deepseek-model-discovery/guide.md +0 -17
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/deepseek-model-discovery/guide.zh.md +0 -17
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/desktop-test-auth-popup/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/desktop-test-auth-popup/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/desktop-test-auth-popup/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/experimental-package-composition/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/experimental-package-composition/guide.md +0 -28
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/experimental-package-composition/guide.zh.md +0 -28
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/instruction-home-override/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/instruction-home-override/guide.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/instruction-home-override/guide.zh.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/mock-messages-events/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/mock-messages-events/guide.md +0 -17
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/mock-messages-events/guide.zh.md +0 -17
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/native-subagent-bundle-tools/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/native-subagent-bundle-tools/guide.md +0 -31
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/native-subagent-bundle-tools/guide.zh.md +0 -31
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/new-session-generations/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/new-session-generations/guide.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/new-session-generations/guide.zh.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/plugin-option-placement/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/plugin-option-placement/guide.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/plugin-option-placement/guide.zh.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-optional-resources/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-optional-resources/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-optional-resources/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.md +0 -21
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.zh.md +0 -21
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-adapters/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-adapters/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-adapters/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-provider-strategy/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-provider-strategy/guide.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-provider-strategy/guide.zh.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/ssh-helper-launch/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/ssh-helper-launch/guide.md +0 -19
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/ssh-helper-launch/guide.zh.md +0 -19
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-activations/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-activations/guide.md +0 -59
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-activations/guide.zh.md +0 -59
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.md +0 -21
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.zh.md +0 -21
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.md +0 -21
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.zh.md +0 -21
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/terminal-command-labels/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/terminal-command-labels/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/terminal-command-labels/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/tool-presentation-mode/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/tool-presentation-mode/guide.md +0 -21
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/tool-presentation-mode/guide.zh.md +0 -21
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/web-listener-trust-config/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/web-listener-trust-config/guide.md +0 -36
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/web-listener-trust-config/guide.zh.md +0 -36
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/working-directory/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/working-directory/guide.md +0 -25
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/working-directory/guide.zh.md +0 -25
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.md +0 -27
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.zh.md +0 -27
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.zh.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.zh.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.md +0 -19
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.zh.md +0 -19
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.md +0 -17
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.zh.md +0 -17
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.zh.md +0 -20
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.md +0 -32
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.zh.md +0 -32
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.md +0 -25
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.zh.md +0 -25
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.md +0 -21
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.zh.md +0 -21
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.md +0 -18
- package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.zh.md +0 -18
- package/references/official-docs/docs/user/develop/basic/config.i18n.yaml +0 -28
- package/references/official-docs/docs/user/develop/basic/config.md +0 -106
- package/references/official-docs/docs/user/develop/basic/config.zh.md +0 -106
- package/references/official-docs/docs/user/develop/basic/index.i18n.yaml +0 -37
- package/references/official-docs/docs/user/develop/basic/index.md +0 -144
- package/references/official-docs/docs/user/develop/basic/index.zh.md +0 -144
- package/references/official-docs/docs/user/develop/basic/publish.i18n.yaml +0 -31
- package/references/official-docs/docs/user/develop/basic/publish.md +0 -191
- package/references/official-docs/docs/user/develop/basic/publish.zh.md +0 -191
- package/references/official-docs/docs/user/develop/basic/tool.i18n.yaml +0 -16
- package/references/official-docs/docs/user/develop/basic/tool.md +0 -52
- package/references/official-docs/docs/user/develop/basic/tool.zh.md +0 -52
- package/references/official-docs/docs/user/develop/framework/events.i18n.yaml +0 -46
- package/references/official-docs/docs/user/develop/framework/events.md +0 -143
- package/references/official-docs/docs/user/develop/framework/events.zh.md +0 -143
- package/references/official-docs/docs/user/develop/framework/index.i18n.yaml +0 -31
- package/references/official-docs/docs/user/develop/framework/index.md +0 -137
- package/references/official-docs/docs/user/develop/framework/index.zh.md +0 -137
- package/references/official-docs/docs/user/develop/framework/service.i18n.yaml +0 -40
- package/references/official-docs/docs/user/develop/framework/service.md +0 -148
- package/references/official-docs/docs/user/develop/framework/service.zh.md +0 -150
- package/references/official-docs/docs/user/develop/practice/dynamic-cordis.i18n.yaml +0 -10
- package/references/official-docs/docs/user/develop/practice/dynamic-cordis.md +0 -15
- package/references/official-docs/docs/user/develop/practice/dynamic-cordis.zh.md +0 -15
- package/references/official-docs/docs/user/develop/practice/index.i18n.yaml +0 -46
- package/references/official-docs/docs/user/develop/practice/index.md +0 -155
- package/references/official-docs/docs/user/develop/practice/index.zh.md +0 -155
- package/references/official-docs/docs/user/develop/practice/llm-adapter.i18n.yaml +0 -34
- package/references/official-docs/docs/user/develop/practice/llm-adapter.md +0 -189
- package/references/official-docs/docs/user/develop/practice/llm-adapter.zh.md +0 -189
- package/references/official-docs/docs/user/guide/github-review.i18n.yaml +0 -25
- package/references/official-docs/docs/user/guide/github-review.md +0 -99
- package/references/official-docs/docs/user/guide/github-review.zh.md +0 -99
- package/references/official-docs/docs/user/guide/index.i18n.yaml +0 -19
- package/references/official-docs/docs/user/guide/index.md +0 -31
- package/references/official-docs/docs/user/guide/index.zh.md +0 -31
- package/references/official-docs/docs/user/guide/mcp-memory.i18n.yaml +0 -37
- package/references/official-docs/docs/user/guide/mcp-memory.md +0 -101
- package/references/official-docs/docs/user/guide/mcp-memory.zh.md +0 -101
- package/references/official-docs/docs/user/guide/network-proxy.i18n.yaml +0 -25
- package/references/official-docs/docs/user/guide/network-proxy.md +0 -85
- package/references/official-docs/docs/user/guide/network-proxy.zh.md +0 -85
- package/references/official-docs/docs/user/guide/plugin-market.i18n.yaml +0 -34
- package/references/official-docs/docs/user/guide/plugin-market.md +0 -148
- package/references/official-docs/docs/user/guide/plugin-market.zh.md +0 -148
- 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 +0 -40
- package/references/official-docs/docs/user/guide/providers.md +0 -227
- package/references/official-docs/docs/user/guide/providers.zh.md +0 -227
- package/references/official-docs/docs/user/guide/public-deployments.i18n.yaml +0 -19
- package/references/official-docs/docs/user/guide/public-deployments.md +0 -37
- package/references/official-docs/docs/user/guide/public-deployments.zh.md +0 -37
- package/references/official-docs/docs/user/guide/python-sdk.i18n.yaml +0 -28
- package/references/official-docs/docs/user/guide/python-sdk.md +0 -185
- package/references/official-docs/docs/user/guide/python-sdk.zh.md +0 -185
- package/references/official-docs/docs/user/guide/schedule.i18n.yaml +0 -31
- package/references/official-docs/docs/user/guide/schedule.md +0 -79
- package/references/official-docs/docs/user/guide/schedule.zh.md +0 -79
- package/references/official-docs/docs/user/index.i18n.yaml +0 -10
- package/references/official-docs/docs/user/index.md +0 -11
- package/references/official-docs/docs/user/index.zh.md +0 -11
- package/references/official-docs/docs/web-styling.i18n.yaml +0 -19
- package/references/official-docs/docs/web-styling.md +0 -39
- package/references/official-docs/docs/web-styling.zh.md +0 -39
- package/references/official-docs/packages/AGENTS.md +0 -29
- package/references/official-docs/packages/README.md +0 -117
- package/references/official-docs/vendor/README.md +0 -73
- package/references/official-docs/website-docs.ts +0 -591
- package/references/official-plugin-dev-skill.md +0 -124
- package/references/sources.md +0 -143
- package/references/upstream-cordis.md +0 -594
- package/references/website-pages.md +0 -673
- package/scripts/archive-discussions.ps1 +0 -162
- package/scripts/build-llms-full.mjs +0 -73
- package/scripts/check-docs-drift-detail.mjs +0 -145
- package/scripts/check-docs-drift.ps1 +0 -55
- package/scripts/check-facts.mjs +0 -162
- package/scripts/check-ps1-bom.mjs +0 -68
- package/scripts/check-readme-parity.mjs +0 -149
- package/scripts/check-readme-sync.mjs +0 -96
- package/scripts/download-community-articles.ps1 +0 -188
- package/scripts/download-community-repos.ps1 +0 -232
- package/scripts/download-sources.ps1 +0 -195
- package/scripts/gen-topic-snapshot.ps1 +0 -91
- package/scripts/install-skill.ps1 +0 -63
- package/scripts/measure-mirror-references.mjs +0 -117
- package/scripts/sync-official-docs.ps1 +0 -138
- package/scripts/verify-artifacts.mjs +0 -145
- package/scripts/verify-kit.ps1 +0 -197
- package/templates/js/LICENSE +0 -15
- package/templates/js/README-es.md +0 -46
- package/templates/js/README-hi.md +0 -46
- package/templates/js/README-pt.md +0 -46
- package/templates/js/README-zh.md +0 -46
- package/templates/js/README.md +0 -46
- package/templates/js/cordis.patch.yml +0 -10
- package/templates/js/icon.svg +0 -4
- package/templates/js/index.js +0 -38
- package/templates/js/locale/en.json +0 -6
- package/templates/js/locale/zh.json +0 -6
- package/templates/js/package.json +0 -49
- package/templates/js/tests/index.test.js +0 -12
- package/templates/ts/LICENSE +0 -15
- package/templates/ts/README-es.md +0 -48
- package/templates/ts/README-hi.md +0 -48
- package/templates/ts/README-pt.md +0 -48
- package/templates/ts/README-zh.md +0 -48
- package/templates/ts/README.md +0 -48
- package/templates/ts/cordis.patch.yml +0 -10
- package/templates/ts/icon.svg +0 -4
- package/templates/ts/locale/en.json +0 -6
- package/templates/ts/locale/zh.json +0 -6
- package/templates/ts/package.json +0 -58
- package/templates/ts/src/config.ts +0 -12
- package/templates/ts/src/index.ts +0 -36
- package/templates/ts/tests/index.test.ts +0 -12
- package/templates/ts/tsconfig.json +0 -17
- package/templates/ts/tsdown.config.mjs +0 -21
- package/templates/ts/vitest.config.ts +0 -8
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
# dsh-plugin-guide 官方 GitHub Discussions 归档脚本(可复跑,幂等)
|
|
2
|
-
# 输出: downloads/github/harness/discussions/
|
|
3
|
-
# list.json 全部讨论(title/body/category/answers/labels 等,正文即文档)
|
|
4
|
-
# comments-<n>.json 精选线程的全部评论(选择规则见下)
|
|
5
|
-
# _selection.tsv 精选线程清单
|
|
6
|
-
# README.md 分类统计 + 精选清单
|
|
7
|
-
# 说明: GitHub REST API;未提供 Token 时走匿名配额(60/h,可能不够),建议
|
|
8
|
-
# $env:GH_TOKEN 或 -Token <token>(经典 PAT,只需 public_repo 读权限)。
|
|
9
|
-
# 选择规则(与 08-14 首版覆盖度一致): Announcements 全部; Q&A/Ideas 评论>=1;
|
|
10
|
-
# General/Show and tell 评论>=3 且标题不含拉群/招聘/广告词。
|
|
11
|
-
# 传输用 Invoke-WebRequest(而非 curl.exe 数组参数): PS 5.1 下 curl 数组参数
|
|
12
|
-
# 的引号拆分会把 -H 头打碎,导致静默拿到错误对象——本脚本已规避该坑。
|
|
13
|
-
# 参数: -OutDir <dir> 覆盖输出目录; -SkipComments 只刷新 list.json 不拉评论。
|
|
14
|
-
param(
|
|
15
|
-
[string]$OutDir = '',
|
|
16
|
-
[string]$Repo = 'deepseek-ai/deepseek-harness',
|
|
17
|
-
[string]$Token = $env:GH_TOKEN,
|
|
18
|
-
[switch]$SkipComments
|
|
19
|
-
)
|
|
20
|
-
$ErrorActionPreference = 'Stop'
|
|
21
|
-
$ProgressPreference = 'SilentlyContinue'
|
|
22
|
-
if (-not $OutDir) { $OutDir = Join-Path (Split-Path $PSScriptRoot -Parent) 'downloads\github\harness\discussions' }
|
|
23
|
-
New-Item -ItemType Directory -Force -Path $OutDir | Out-Null
|
|
24
|
-
|
|
25
|
-
$headers = @{ 'User-Agent' = 'dsh-plugin-guide-research'; 'Accept' = 'application/vnd.github+json' }
|
|
26
|
-
if ($Token) { $headers['Authorization'] = "Bearer $Token" }
|
|
27
|
-
|
|
28
|
-
function Get-Api([string]$url) {
|
|
29
|
-
# 返回对象数组;失败/限流时抛错(带状态码),由调用方决定重试或中止。
|
|
30
|
-
try {
|
|
31
|
-
$resp = Invoke-WebRequest -Uri $url -Headers $headers -TimeoutSec 60 -UseBasicParsing
|
|
32
|
-
} catch {
|
|
33
|
-
$code = if ($_.Exception.Response) { [int]$_.Exception.Response.StatusCode } else { 0 }
|
|
34
|
-
throw "HTTP $code : $url"
|
|
35
|
-
}
|
|
36
|
-
$obj = $null
|
|
37
|
-
try { $obj = $resp.Content | ConvertFrom-Json } catch { throw "JSON parse failed: $url" }
|
|
38
|
-
if ($obj -is [System.Management.Automation.PSCustomObject] -and $obj.PSObject.Properties.Name -contains 'message') {
|
|
39
|
-
throw "API message '$($obj.message)' : $url"
|
|
40
|
-
}
|
|
41
|
-
return @($obj)
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
# ---- 1) 全量 list(按创建序分页;REST 的 direction 参数对 discussions 无效,只能从头翻到尾) ----
|
|
45
|
-
$prevCount = 0
|
|
46
|
-
if (Test-Path (Join-Path $OutDir 'list.json')) {
|
|
47
|
-
try { $prev = @((Get-Content (Join-Path $OutDir 'list.json') -Raw -Encoding UTF8 | ConvertFrom-Json)); $prevCount = $prev.Count } catch { $prevCount = 0 }
|
|
48
|
-
}
|
|
49
|
-
$all = @()
|
|
50
|
-
$page = 1
|
|
51
|
-
# REST /discussions caps at 5000 rows (50 pages x 100). The cap is explicit so a
|
|
52
|
-
# silent truncation cannot be mistaken for a complete archive: the run reports
|
|
53
|
-
# when it stops at the ceiling, and the README records the ceiling alongside the
|
|
54
|
-
# GraphQL total_count (which is larger).
|
|
55
|
-
$pageCap = 50
|
|
56
|
-
while ($page -le $pageCap) {
|
|
57
|
-
$items = Get-Api "https://api.github.com/repos/$Repo/discussions?per_page=100&page=$page&sort=created"
|
|
58
|
-
if ($items.Count -eq 0) { Write-Output "page ${page}: 空页,列表结束"; break }
|
|
59
|
-
$all += $items
|
|
60
|
-
Write-Output ("page {0}: +{1} (累计 {2})" -f $page, $items.Count, $all.Count)
|
|
61
|
-
if ($items.Count -lt 100) { break }
|
|
62
|
-
$page++
|
|
63
|
-
Start-Sleep -Milliseconds 500
|
|
64
|
-
}
|
|
65
|
-
if ($all.Count -ge ($pageCap * 100)) {
|
|
66
|
-
Write-Output "WARN: 列表在第 $pageCap 页触顶(REST 5000 条上限)——归档为前 5000 条,非全量;更全的历史需按 GraphQL UPDATED_AT 分页补抓"
|
|
67
|
-
}
|
|
68
|
-
if ($all.Count -eq 0) { throw 'discussions 列表抓取失败(0 条)' }
|
|
69
|
-
if ($prevCount -gt 0 -and $all.Count -lt [Math]::Floor($prevCount * 0.9)) {
|
|
70
|
-
throw "列表疑似缩水: 上次 $prevCount 条, 本次仅 $all.Count 条 —— 拒绝覆盖归档,请检查网络/配额后重跑"
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
# 按 number 去重(分页边界可能重复)
|
|
74
|
-
$uniq = @{}
|
|
75
|
-
foreach ($d in $all) { $uniq[[int]$d.number] = $d }
|
|
76
|
-
$discs = @($uniq.Values | Sort-Object { [int]$_.number })
|
|
77
|
-
$listPath = Join-Path $OutDir 'list.json'
|
|
78
|
-
$discs | ConvertTo-Json -Depth 6 | Set-Content -Path $listPath -Encoding UTF8
|
|
79
|
-
Write-Output "list.json: $($discs.Count) 条 -> $listPath"
|
|
80
|
-
|
|
81
|
-
# ---- 2) 精选线程 + 评论 ----
|
|
82
|
-
$sel = @()
|
|
83
|
-
foreach ($d in $discs) {
|
|
84
|
-
$cat = $d.category.name
|
|
85
|
-
$c = [int]$d.comments
|
|
86
|
-
$t = [string]$d.title
|
|
87
|
-
$pick = $false
|
|
88
|
-
if ($cat -eq 'Announcements') { $pick = $true }
|
|
89
|
-
elseif ($cat -eq 'Q&A' -and $c -ge 1) { $pick = $true }
|
|
90
|
-
elseif ($cat -eq 'Ideas' -and $c -ge 1) { $pick = $true }
|
|
91
|
-
elseif (($cat -eq 'General' -or $cat -eq 'Show and tell') -and $c -ge 3) {
|
|
92
|
-
# 非社群拉群帖: 标题含拉群/扫码/加群/招聘/广告类词的不收
|
|
93
|
-
if ($t -notmatch '群|扫码|加群|招聘|内推|广告|投简历|纳新') { $pick = $true }
|
|
94
|
-
}
|
|
95
|
-
if ($pick) { $sel += $d }
|
|
96
|
-
}
|
|
97
|
-
$sel = @($sel | Sort-Object { [int]$_.number })
|
|
98
|
-
Write-Output "精选线程: $($sel.Count) 条"
|
|
99
|
-
|
|
100
|
-
if (-not $SkipComments) {
|
|
101
|
-
$n = 0
|
|
102
|
-
foreach ($d in $sel) {
|
|
103
|
-
$num = [int]$d.number
|
|
104
|
-
$comments = @()
|
|
105
|
-
$cp = 1
|
|
106
|
-
while ($cp -le 20) {
|
|
107
|
-
$ci = Get-Api "https://api.github.com/repos/$Repo/discussions/$num/comments?per_page=100&page=$cp"
|
|
108
|
-
if ($ci.Count -eq 0) { break }
|
|
109
|
-
$comments += $ci
|
|
110
|
-
if ($ci.Count -lt 100) { break }
|
|
111
|
-
$cp++
|
|
112
|
-
Start-Sleep -Milliseconds 300
|
|
113
|
-
}
|
|
114
|
-
$comments | ConvertTo-Json -Depth 6 | Set-Content -Path (Join-Path $OutDir "comments-$num.json") -Encoding UTF8
|
|
115
|
-
$n++
|
|
116
|
-
if ($n % 20 -eq 0) { Write-Output "comments: $n / $($sel.Count)" }
|
|
117
|
-
Start-Sleep -Milliseconds 200
|
|
118
|
-
}
|
|
119
|
-
Write-Output "comments: 完成 $n 个线程"
|
|
120
|
-
# 清掉列表里已不存在的旧 comments 文件
|
|
121
|
-
$keep = New-Object System.Collections.Generic.HashSet[string]
|
|
122
|
-
foreach ($d in $sel) { [void]$keep.Add("comments-$([int]$d.number).json") }
|
|
123
|
-
Get-ChildItem $OutDir -Filter 'comments-*.json' | Where-Object { -not $keep.Contains($_.Name) } | Remove-Item -Force
|
|
124
|
-
} else {
|
|
125
|
-
Write-Output 'comments: 跳过(-SkipComments)'
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
# ---- 3) _selection.tsv 与 README.md ----
|
|
129
|
-
$selLines = @('number' + "`t" + 'category' + "`t" + 'comments' + "`t" + 'title')
|
|
130
|
-
foreach ($d in $sel) { $selLines += ("{0}`t{1}`t{2}`t{3}" -f $d.number, $d.category.name, $d.comments, ($d.title -replace "`t",' ')) }
|
|
131
|
-
Set-Content -Path (Join-Path $OutDir '_selection.tsv') -Value $selLines -Encoding UTF8
|
|
132
|
-
|
|
133
|
-
$cats = @{}
|
|
134
|
-
foreach ($d in $discs) { $k = [string]$d.category.name; if (-not $cats.ContainsKey($k)) { $cats[$k] = 0 }; $cats[$k]++ }
|
|
135
|
-
$utc = (Get-Date).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ')
|
|
136
|
-
$L = @()
|
|
137
|
-
$L += '# 官方 GitHub Discussions 归档(自动生成,见抓取时间)'
|
|
138
|
-
$L += ''
|
|
139
|
-
$L += '> 来源:https://github.com/deepseek-ai/deepseek-harness/discussions (官方仓库 Issues 关闭,Discussions 为反馈主渠道)。'
|
|
140
|
-
$L += '> 抓取:GitHub REST API(list 含每条正文;comments-<n>.json 为精选线程的全部评论)。'
|
|
141
|
-
$L += "> 更新:提供 ``GH_TOKEN`` 后可由 ``scripts/archive-discussions.ps1`` 幂等刷新;抓取时间 $utc (UTC)。"
|
|
142
|
-
$L += ''
|
|
143
|
-
$L += '## 文件'
|
|
144
|
-
$L += ''
|
|
145
|
-
$L += "- list.json — 全部 $($discs.Count) 条讨论(含 title/body/category/answers/labels 等字段,正文即模型可读文档)。"
|
|
146
|
-
$L += "- comments-<n>.json — 精选 $($sel.Count) 条线程的评论(选择规则:Announcements/Q&A/Ideas 评论>=1;General/Show and tell 评论>=3 且非社群拉群帖)。"
|
|
147
|
-
$L += '- _selection.tsv — 精选线程清单(编号/分类/评论数/标题)。'
|
|
148
|
-
$L += ''
|
|
149
|
-
$L += '## 分类统计'
|
|
150
|
-
$L += ''
|
|
151
|
-
foreach ($k in @($cats.Keys | Sort-Object)) { $L += "- $k:$($cats[$k]) 条" }
|
|
152
|
-
$L += ''
|
|
153
|
-
$L += '## 有归档评论的精选线程'
|
|
154
|
-
$L += ''
|
|
155
|
-
$L += '| # | 分类 | 评论 | 标题 |'
|
|
156
|
-
$L += '|---|---|---|---|'
|
|
157
|
-
foreach ($d in $sel) {
|
|
158
|
-
$title = ($d.title -replace '\|','\|' -replace "[\r\n]",' ')
|
|
159
|
-
$L += "| [#$($d.number)](https://github.com/deepseek-ai/deepseek-harness/discussions/$($d.number)) | $($d.category.name) | $($d.comments) | $title |"
|
|
160
|
-
}
|
|
161
|
-
Set-Content -Path (Join-Path $OutDir 'README.md') -Value ($L -join "`r`n") -Encoding UTF8
|
|
162
|
-
Write-Output "DONE: list=$($discs.Count) selected=$($sel.Count) -> $OutDir"
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
// build-llms-full.mjs — concatenate the knowledge base into llms-full.txt
|
|
2
|
-
//
|
|
3
|
-
// The KB ships a handful of long-form documents. LLM crawlers fetch a single
|
|
4
|
-
// plain-text URL far more reliably than they walk a repository tree, so
|
|
5
|
-
// `llms-full.txt` carries the whole corpus in reading order, and `llms.txt`
|
|
6
|
-
// carries the index that points at it.
|
|
7
|
-
//
|
|
8
|
-
// Idempotent: re-running rewrites the file with identical bytes when the
|
|
9
|
-
// sources are unchanged. Run it after editing any file in SOURCES.
|
|
10
|
-
//
|
|
11
|
-
// node scripts/build-llms-full.mjs
|
|
12
|
-
import { readFileSync, writeFileSync, existsSync } from 'node:fs'
|
|
13
|
-
import path from 'node:path'
|
|
14
|
-
import { fileURLToPath } from 'node:url'
|
|
15
|
-
|
|
16
|
-
const root = path.dirname(path.dirname(fileURLToPath(import.meta.url)))
|
|
17
|
-
|
|
18
|
-
// Reading order: what a plugin author needs first, then the evidence base.
|
|
19
|
-
const SOURCES = [
|
|
20
|
-
['README.md', 'Overview'],
|
|
21
|
-
// SKILL.md first among the authored docs: it carries the contract red lines,
|
|
22
|
-
// and llms-full previously omitted it entirely.
|
|
23
|
-
['SKILL.md', 'Agent skill: contract red lines and task-based development paths'],
|
|
24
|
-
['guide/version-matrix.md', 'Version adaptivity matrix (latest values, seams, peer ranges, session format)'],
|
|
25
|
-
['guide/plugin-dev-guide.md', 'Plugin development guide (10 chapters)'],
|
|
26
|
-
['guide/standards.md', 'Adoption levels: DSH-ENTRY / DSH-FLOW / DSH-BOOST (non-official)'],
|
|
27
|
-
['guide/quick-reference.md', 'Quick reference'],
|
|
28
|
-
['guide/migration-0.2.md', 'Migration to the 0.2 generation (breaking changes)'],
|
|
29
|
-
['guide/family-toolchain.md', 'Family toolchain router (check catalogs and crosswalk)'],
|
|
30
|
-
['guide/when-to-retire-a-plugin.md', 'When to retire or freeze a plugin'],
|
|
31
|
-
['guide/choosing-a-plugin.md', 'Choosing a plugin: who leads each capability surface'],
|
|
32
|
-
['guide/release-engineering.md', 'Release engineering'],
|
|
33
|
-
['guide/unfixed-issues.md', 'Unfixed upstream issues (source-verified)'],
|
|
34
|
-
['guide/links.md', 'Curated links'],
|
|
35
|
-
['references/official-plugin-dev-skill.md', 'Distilled official in-repo plugin-development skill'],
|
|
36
|
-
['references/dev-resource-landscape.md', 'Competing and adjacent plugin-development resources'],
|
|
37
|
-
['references/harness-repo.md', 'Harness repository reference'],
|
|
38
|
-
['references/upstream-cordis.md', 'Upstream Cordis reference'],
|
|
39
|
-
['references/cordis-paper-and-community.md', 'Cordis paper and community'],
|
|
40
|
-
['references/community-ecosystem.md', 'Community ecosystem'],
|
|
41
|
-
['references/community-repo-deep-dive.md', 'Community repository deep dive'],
|
|
42
|
-
['references/website-pages.md', 'Official website pages'],
|
|
43
|
-
['references/sources.md', 'Sources'],
|
|
44
|
-
]
|
|
45
|
-
|
|
46
|
-
const missing = SOURCES.filter(([rel]) => !existsSync(path.join(root, rel)))
|
|
47
|
-
if (missing.length > 0) {
|
|
48
|
-
console.error('build-llms-full: missing sources:')
|
|
49
|
-
for (const [rel] of missing) console.error(' - ' + rel)
|
|
50
|
-
process.exit(1)
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
const header = [
|
|
54
|
-
'# dsh-plugin-guide — full knowledge base',
|
|
55
|
-
'',
|
|
56
|
-
'> DeepSeek Harness (dsh) plugin development knowledge base, in reading order.',
|
|
57
|
-
'> One document per section, each preceded by its source path so a citation can',
|
|
58
|
-
'> name the file it came from. Index: llms.txt. Repository:',
|
|
59
|
-
'> https://github.com/PerryLink/dsh-plugin-guide',
|
|
60
|
-
'',
|
|
61
|
-
`> Generated by scripts/build-llms-full.mjs from ${SOURCES.length} sources. Do not hand-edit.`,
|
|
62
|
-
'',
|
|
63
|
-
].join('\n')
|
|
64
|
-
|
|
65
|
-
const parts = [header]
|
|
66
|
-
for (const [rel, title] of SOURCES) {
|
|
67
|
-
const body = readFileSync(path.join(root, rel), 'utf8').replace(/\r\n/gu, '\n').trimEnd()
|
|
68
|
-
parts.push(`\n\n<!-- source: ${rel} -->\n\n# [${title}] ${rel}\n\n${body}\n`)
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
const out = parts.join('')
|
|
72
|
-
writeFileSync(path.join(root, 'llms-full.txt'), out, 'utf8')
|
|
73
|
-
console.log(`llms-full.txt written: ${Buffer.byteLength(out)} bytes from ${SOURCES.length} sources`)
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
// Answer "WHAT changed upstream?", not just "is the mirror stale?".
|
|
2
|
-
//
|
|
3
|
-
// `check-docs-drift.ps1` compares the upstream branch-tip SHA against the SHA
|
|
4
|
-
// recorded in `references/official-docs/SNAPSHOT.md`. When they differ it says so
|
|
5
|
-
// and stops — a maintainer still has to work out which of ~700 mirrored files
|
|
6
|
-
// moved. A drift report that names no file is why the weekly job can sit red for
|
|
7
|
-
// eleven weeks without anyone acting on it.
|
|
8
|
-
//
|
|
9
|
-
// This script names the files: it compares the pinned commit's tree against the
|
|
10
|
-
// upstream head's tree and lists added, removed, and modified paths inside the
|
|
11
|
-
// mirror's declared scope.
|
|
12
|
-
//
|
|
13
|
-
// Usage:
|
|
14
|
-
// node scripts/check-docs-drift-detail.mjs [--commit <sha>] [--json]
|
|
15
|
-
// node scripts/check-docs-drift-detail.mjs --checkout D:\deepseek-harness
|
|
16
|
-
//
|
|
17
|
-
// Exit codes: 0 = fresh or report produced, 2 = could not probe, 1 = drift (with --fail-on-drift).
|
|
18
|
-
|
|
19
|
-
import { execFileSync } from 'node:child_process'
|
|
20
|
-
import { readFileSync, existsSync } from 'node:fs'
|
|
21
|
-
import { join } from 'node:path'
|
|
22
|
-
|
|
23
|
-
const root = process.cwd()
|
|
24
|
-
const argv = process.argv.slice(2)
|
|
25
|
-
const flag = (name, fallback) => {
|
|
26
|
-
const i = argv.indexOf(name)
|
|
27
|
-
return i >= 0 ? (argv[i + 1] ?? true) : fallback
|
|
28
|
-
}
|
|
29
|
-
const asJson = argv.includes('--json')
|
|
30
|
-
const failOnDrift = argv.includes('--fail-on-drift')
|
|
31
|
-
const checkout = flag('--checkout', null)
|
|
32
|
-
|
|
33
|
-
const SNAPSHOT = join(root, 'references', 'official-docs', 'SNAPSHOT.md')
|
|
34
|
-
const MIRROR = join(root, 'references', 'official-docs')
|
|
35
|
-
|
|
36
|
-
// The mirror's declared scope, matching sync-official-docs.ps1 `$paths` exactly.
|
|
37
|
-
// `packages/` contributes only AGENTS.md and README.md, and `vendor/` only
|
|
38
|
-
// README.md — a bare directory prefix would report every package file as
|
|
39
|
-
// "missing from the mirror", which is 2,000 paths of noise.
|
|
40
|
-
const SCOPE_EXACT = new Set([
|
|
41
|
-
'AGENTS.md',
|
|
42
|
-
'BENCHMARK.md',
|
|
43
|
-
'CONTRIBUTING.md',
|
|
44
|
-
'CONTRIBUTING.zh.md',
|
|
45
|
-
'CONTRIBUTING.i18n.yaml',
|
|
46
|
-
'README.zh.md',
|
|
47
|
-
'README.i18n.yaml',
|
|
48
|
-
'THIRD_PARTY_NOTICES.md',
|
|
49
|
-
'LICENSE',
|
|
50
|
-
'packages/AGENTS.md',
|
|
51
|
-
'packages/README.md',
|
|
52
|
-
'vendor/README.md',
|
|
53
|
-
'website/docs.ts',
|
|
54
|
-
])
|
|
55
|
-
const inScope = (p) => p.startsWith('docs/') || SCOPE_EXACT.has(p)
|
|
56
|
-
|
|
57
|
-
/** The scope, for the report header. */
|
|
58
|
-
const SCOPE = ['docs/', ...SCOPE_EXACT]
|
|
59
|
-
|
|
60
|
-
/** Read the pinned SHA and scope out of SNAPSHOT.md. */
|
|
61
|
-
function readSnapshot() {
|
|
62
|
-
const text = readFileSync(SNAPSHOT, 'utf8')
|
|
63
|
-
const sha = /^\|\s*Source commit\s*\|\s*`([0-9a-f]{40})`\s*\|/m.exec(text)?.[1]
|
|
64
|
-
if (!sha) throw new Error(`cannot parse the pinned Source commit from ${SNAPSHOT}`)
|
|
65
|
-
return { sha, text }
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/** git against the local checkout. */
|
|
69
|
-
function git(args) {
|
|
70
|
-
return execFileSync('git', ['-C', checkout, ...args], { encoding: 'utf8', maxBuffer: 1 << 28 })
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/** path -> blob sha for a commit's tree, via the local checkout. */
|
|
74
|
-
function treeOf(rev) {
|
|
75
|
-
const out = git(['ls-tree', '-r', '--format=%(objectname) %(path)', rev])
|
|
76
|
-
const map = new Map()
|
|
77
|
-
for (const line of out.split('\n')) {
|
|
78
|
-
const sp = line.indexOf(' ')
|
|
79
|
-
if (sp < 0) continue
|
|
80
|
-
map.set(line.slice(sp + 1), line.slice(0, sp))
|
|
81
|
-
}
|
|
82
|
-
return map
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
const report = { scope: SCOPE, added: [], removed: [], modified: [] }
|
|
86
|
-
|
|
87
|
-
if (checkout) {
|
|
88
|
-
if (!existsSync(checkout)) {
|
|
89
|
-
console.error(`ERROR: checkout not found: ${checkout}`)
|
|
90
|
-
process.exit(2)
|
|
91
|
-
}
|
|
92
|
-
const { sha: pinned } = readSnapshot()
|
|
93
|
-
const head = git(['rev-parse', 'HEAD']).trim()
|
|
94
|
-
const upstreamRev = git(['rev-parse', 'origin/master']).trim()
|
|
95
|
-
const target = flag('--commit', upstreamRev)
|
|
96
|
-
let a
|
|
97
|
-
let b
|
|
98
|
-
try {
|
|
99
|
-
a = treeOf(pinned)
|
|
100
|
-
b = treeOf(target)
|
|
101
|
-
} catch (err) {
|
|
102
|
-
console.error(`ERROR: cannot read a tree (${err.message.split('\n')[0]}). Is ${pinned.slice(0, 7)} present in the checkout?`)
|
|
103
|
-
process.exit(2)
|
|
104
|
-
}
|
|
105
|
-
for (const [p, s] of b) {
|
|
106
|
-
if (!inScope(p)) continue
|
|
107
|
-
if (!a.has(p)) report.added.push(p)
|
|
108
|
-
else if (a.get(p) !== s) report.modified.push(p)
|
|
109
|
-
}
|
|
110
|
-
for (const p of a.keys()) if (inScope(p) && !b.has(p)) report.removed.push(p)
|
|
111
|
-
report.pinned = pinned
|
|
112
|
-
report.target = target
|
|
113
|
-
report.head = head
|
|
114
|
-
report.mode = 'checkout'
|
|
115
|
-
} else {
|
|
116
|
-
console.error('ERROR: pass --checkout <deepseek-harness>; the API mode is not implemented (the mirror is pinned to a commit, and a tree comparison needs both trees).')
|
|
117
|
-
process.exit(2)
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
const total = report.added.length + report.removed.length + report.modified.length
|
|
121
|
-
if (asJson) {
|
|
122
|
-
console.log(JSON.stringify({ ...report, total }, null, 2))
|
|
123
|
-
} else {
|
|
124
|
-
console.log(`pinned : ${report.pinned}`)
|
|
125
|
-
console.log(`target : ${report.target}${report.target === report.head ? ' (checkout HEAD)' : ''}`)
|
|
126
|
-
console.log('')
|
|
127
|
-
if (total === 0) {
|
|
128
|
-
console.log('FRESH: no in-scope file differs between the pinned commit and the target.')
|
|
129
|
-
} else {
|
|
130
|
-
console.log(`DRIFT: ${total} in-scope file(s) differ`)
|
|
131
|
-
const show = (label, list) => {
|
|
132
|
-
if (!list.length) return
|
|
133
|
-
console.log(`\n ${label} (${list.length}):`)
|
|
134
|
-
for (const p of list.slice(0, 25)) console.log(` ${p}`)
|
|
135
|
-
if (list.length > 25) console.log(` ... and ${list.length - 25} more`)
|
|
136
|
-
}
|
|
137
|
-
show('ADDED upstream (the mirror is missing these)', report.added)
|
|
138
|
-
show('REMOVED upstream (the mirror still carries these)', report.removed)
|
|
139
|
-
show('MODIFIED upstream (the mirror has stale content)', report.modified)
|
|
140
|
-
console.log('\nAction: run pwsh -File scripts/sync-official-docs.ps1 to refresh the mirror (never hand-edit it).')
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
if (total > 0 && failOnDrift) process.exit(1)
|
|
145
|
-
process.exit(0)
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
# dsh-plugin-guide official-docs freshness probe.
|
|
2
|
-
# Purpose: detect drift between the KB mirror (references/official-docs) and the
|
|
3
|
-
# upstream deepseek-harness repository WITHOUT a local checkout. It compares the
|
|
4
|
-
# upstream branch tip SHA (git ls-remote) against the pinned "Source commit" SHA
|
|
5
|
-
# recorded in references/official-docs/SNAPSHOT.md — the SHA-locked authority the
|
|
6
|
-
# mirror was synced from. It never edits the mirror; drift is only reported.
|
|
7
|
-
# Usage: pwsh -File scripts/check-docs-drift.ps1 [-Repo <url>] [-Branch <name>] [-Snapshot <path>] [-FailOnDrift]
|
|
8
|
-
# Exit codes: 0 = FRESH, 1 = DRIFT (with -FailOnDrift), 2 = probe could not run (snapshot/parse/fetch failure).
|
|
9
|
-
# In CI it also writes `drift=yes|no|error` to $env:GITHUB_OUTPUT when that variable is set.
|
|
10
|
-
param(
|
|
11
|
-
[string]$Repo = 'https://github.com/deepseek-ai/deepseek-harness.git',
|
|
12
|
-
[string]$Branch = 'master',
|
|
13
|
-
[string]$Snapshot = 'references/official-docs/SNAPSHOT.md',
|
|
14
|
-
[switch]$FailOnDrift
|
|
15
|
-
)
|
|
16
|
-
$ErrorActionPreference = 'Stop'
|
|
17
|
-
$kit = Split-Path $PSScriptRoot -Parent
|
|
18
|
-
$snapshotPath = Join-Path $kit $Snapshot
|
|
19
|
-
|
|
20
|
-
# ---- 1) Read the pinned source commit SHA from SNAPSHOT.md ----
|
|
21
|
-
$pinned = $null
|
|
22
|
-
if (-not (Test-Path $snapshotPath)) { Write-Error "snapshot not found: $snapshotPath"; exit 2 }
|
|
23
|
-
foreach ($line in Get-Content $snapshotPath -Encoding UTF8) {
|
|
24
|
-
if ($line -match '^\|\s*Source commit\s*\|\s*`([0-9a-f]{40})`\s*\|') {
|
|
25
|
-
$pinned = $Matches[1]
|
|
26
|
-
break
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
if (-not $pinned) { Write-Error "cannot parse the pinned 'Source commit' SHA from $Snapshot"; exit 2 }
|
|
30
|
-
|
|
31
|
-
# ---- 2) Fetch the upstream branch tip SHA (no clone required) ----
|
|
32
|
-
$remoteLine = (& git ls-remote $Repo "refs/heads/$Branch" 2>$null | Select-Object -First 1)
|
|
33
|
-
if (-not $remoteLine -or $remoteLine -notmatch '^([0-9a-f]{40})\s') {
|
|
34
|
-
$message = "cannot reach upstream $Repo (branch $Branch)"
|
|
35
|
-
Write-Output "ERROR: $message"
|
|
36
|
-
if ($env:GITHUB_OUTPUT) { Add-Content -Path $env:GITHUB_OUTPUT -Value 'drift=error' }
|
|
37
|
-
exit 2
|
|
38
|
-
}
|
|
39
|
-
$upstream = $Matches[1]
|
|
40
|
-
|
|
41
|
-
# ---- 3) Compare and report ----
|
|
42
|
-
$fresh = ($upstream -eq $pinned)
|
|
43
|
-
Write-Output "pinned (SNAPSHOT.md): $pinned"
|
|
44
|
-
Write-Output "upstream ($Branch): $upstream"
|
|
45
|
-
if ($fresh) {
|
|
46
|
-
Write-Output 'FRESH: references/official-docs matches the upstream branch tip'
|
|
47
|
-
} else {
|
|
48
|
-
Write-Output "DRIFT: references/official-docs is pinned to $pinned but upstream is at $upstream"
|
|
49
|
-
Write-Output 'Action: run pwsh -File scripts/sync-official-docs.ps1 to refresh the mirror (do not hand-edit the mirror).'
|
|
50
|
-
}
|
|
51
|
-
if ($env:GITHUB_OUTPUT) {
|
|
52
|
-
Add-Content -Path $env:GITHUB_OUTPUT -Value ($(if ($fresh) { 'drift=no' } else { 'drift=yes' }))
|
|
53
|
-
}
|
|
54
|
-
if (-not $fresh -and $FailOnDrift) { exit 1 }
|
|
55
|
-
exit 0
|
package/scripts/check-facts.mjs
DELETED
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
// Assert that the numbers this project states about itself match reality.
|
|
2
|
-
//
|
|
3
|
-
// Why this exists: the audits found the same class of defect repeatedly, always
|
|
4
|
-
// a number stated in prose that no longer matched the thing it described.
|
|
5
|
-
// * the family roster was written four different ways in four files;
|
|
6
|
-
// * the pitfall list was "30+" in English and "20+" in three translations;
|
|
7
|
-
// * the mirror was described as "215 pages" long after it reached 429;
|
|
8
|
-
// * `unfixed-issues.md` carried four separate arithmetic slips ("4 items ...
|
|
9
|
-
// 5 items").
|
|
10
|
-
// None of those are content errors — they are drift between a claim and its
|
|
11
|
-
// source. `data/facts.json` is the single home for the numbers; this script
|
|
12
|
-
// checks the claims a machine can verify.
|
|
13
|
-
//
|
|
14
|
-
// Usage: node scripts/check-facts.mjs [--json]
|
|
15
|
-
|
|
16
|
-
import { readFileSync, readdirSync, statSync } from 'node:fs'
|
|
17
|
-
import { join, relative } from 'node:path'
|
|
18
|
-
|
|
19
|
-
const root = process.cwd()
|
|
20
|
-
const asJson = process.argv.includes('--json')
|
|
21
|
-
const facts = JSON.parse(readFileSync(join(root, 'data', 'facts.json'), 'utf8'))
|
|
22
|
-
|
|
23
|
-
const failures = []
|
|
24
|
-
const checked = []
|
|
25
|
-
const ok = (name, detail) => checked.push(`${name}: ${detail}`)
|
|
26
|
-
const bad = (name, detail) => failures.push(`${name}: ${detail}`)
|
|
27
|
-
|
|
28
|
-
const read = (p) => readFileSync(join(root, p), 'utf8')
|
|
29
|
-
|
|
30
|
-
/** Count `## ` sections in a document. */
|
|
31
|
-
const sections = (text) => text.split(/\r?\n/).filter((l) => /^##\s/.test(l)).length
|
|
32
|
-
|
|
33
|
-
/** Count top-level bullets inside the section starting at `heading`. */
|
|
34
|
-
function bulletsIn(text, heading) {
|
|
35
|
-
const lines = text.split(/\r?\n/)
|
|
36
|
-
const start = lines.findIndex((l) => l.trim() === `## ${heading}`)
|
|
37
|
-
if (start < 0) return -1
|
|
38
|
-
let end = lines.length
|
|
39
|
-
for (let i = start + 1; i < lines.length; i++) {
|
|
40
|
-
if (/^##\s/.test(lines[i])) { end = i; break }
|
|
41
|
-
}
|
|
42
|
-
return lines.slice(start + 1, end).filter((l) => /^- \S/.test(l)).length
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// ---- 1. README structure claims -------------------------------------------------
|
|
46
|
-
{
|
|
47
|
-
const text = read('README.md')
|
|
48
|
-
const got = sections(text)
|
|
49
|
-
if (got !== facts.readme.sections) bad('README sections', `${got} in README.md vs ${facts.readme.sections} in facts.json`)
|
|
50
|
-
else ok('README sections', String(got))
|
|
51
|
-
|
|
52
|
-
const wyg = bulletsIn(text, 'What you get')
|
|
53
|
-
if (wyg !== facts.readme.whatYouGetEntries) bad('What you get entries', `${wyg} vs ${facts.readme.whatYouGetEntries}`)
|
|
54
|
-
else ok('What you get entries', String(wyg))
|
|
55
|
-
|
|
56
|
-
// Every translation must match too; the parity gate covers structure, but this
|
|
57
|
-
// catches the case where a translation lost entries AND facts.json was not updated.
|
|
58
|
-
for (const f of ['README-zh.md', 'README-es.md', 'README-pt.md', 'README-hi.md']) {
|
|
59
|
-
let t
|
|
60
|
-
try { t = read(f) } catch { continue }
|
|
61
|
-
const n = bulletsIn(t, 'What you get')
|
|
62
|
-
if (n !== facts.readme.whatYouGetEntries) bad(`${f} "What you get"`, `${n} vs ${facts.readme.whatYouGetEntries}`)
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
// ---- 2. Knowledge-base inventory -------------------------------------------------
|
|
67
|
-
{
|
|
68
|
-
const guide = readdirSync(join(root, 'guide')).filter((f) => f.endsWith('.md')).length
|
|
69
|
-
if (guide !== facts.knowledgeBase.guideDocuments) bad('guide/ documents', `${guide} vs ${facts.knowledgeBase.guideDocuments}`)
|
|
70
|
-
else ok('guide/ documents', String(guide))
|
|
71
|
-
|
|
72
|
-
const refs = readdirSync(join(root, 'references'))
|
|
73
|
-
.filter((f) => f.endsWith('.md') && statSync(join(root, 'references', f)).isFile()).length
|
|
74
|
-
if (refs !== facts.knowledgeBase.referenceDocuments) bad('references/ documents', `${refs} vs ${facts.knowledgeBase.referenceDocuments}`)
|
|
75
|
-
else ok('references/ documents', String(refs))
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
// ---- 3. Mirror claims ------------------------------------------------------------
|
|
79
|
-
{
|
|
80
|
-
const snap = read('references/official-docs/SNAPSHOT.md')
|
|
81
|
-
const commit = /^\|\s*Source commit\s*\|\s*`([0-9a-f]{40})`\s*\|/m.exec(snap)?.[1]
|
|
82
|
-
if (commit !== facts.mirror.pinnedCommit) bad('mirror pinned commit', `${commit} in SNAPSHOT.md vs ${facts.mirror.pinnedCommit} in facts.json`)
|
|
83
|
-
else ok('mirror pinned commit', commit.slice(0, 7))
|
|
84
|
-
|
|
85
|
-
// Count the mirrored markdown pages and the zh pairs independently.
|
|
86
|
-
let md = 0
|
|
87
|
-
let zh = 0
|
|
88
|
-
const walk = (dir) => {
|
|
89
|
-
for (const e of readdirSync(dir, { withFileTypes: true })) {
|
|
90
|
-
const p = join(dir, e.name)
|
|
91
|
-
if (e.isDirectory()) walk(p)
|
|
92
|
-
else if (e.name.endsWith('.md')) {
|
|
93
|
-
md++
|
|
94
|
-
if (e.name.endsWith('.zh.md')) zh++
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
walk(join(root, 'references', 'official-docs', 'docs'))
|
|
99
|
-
if (md !== facts.mirror.mdPages) bad('mirror md pages', `${md} counted vs ${facts.mirror.mdPages} in facts.json`)
|
|
100
|
-
else ok('mirror md pages', String(md))
|
|
101
|
-
if (zh !== facts.mirror.zhPairs) bad('mirror zh pairs', `${zh} counted vs ${facts.mirror.zhPairs} in facts.json`)
|
|
102
|
-
else ok('mirror zh pairs', String(zh))
|
|
103
|
-
|
|
104
|
-
// Any document quoting a page count must quote the current one.
|
|
105
|
-
for (const f of ['guide/quick-reference.md', 'guide/quick-reference.zh-CN.md', 'references/sources.md']) {
|
|
106
|
-
let t
|
|
107
|
-
try { t = read(f) } catch { continue }
|
|
108
|
-
const stale = /\b(215|369|182)\s*(?:md|pages|篇)/i.exec(t)
|
|
109
|
-
if (stale) bad(`${f} stale page count`, `states "${stale[0]}" but the mirror has ${facts.mirror.mdPages} pages`)
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
// ---- 4. CLI check counts ---------------------------------------------------------
|
|
114
|
-
{
|
|
115
|
-
const src = read('src/cli/skill-sections.ts')
|
|
116
|
-
const n = [...src.matchAll(/^\s*'[a-z0-9-]+':\s*\{/gm)].length
|
|
117
|
-
if (n !== facts.cli.staticChecks) bad('CLI static checks', `${n} citations vs ${facts.cli.staticChecks} in facts.json`)
|
|
118
|
-
else ok('CLI static checks', String(n))
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
// ---- 5. Seam index consistency ---------------------------------------------------
|
|
122
|
-
{
|
|
123
|
-
const idx = JSON.parse(read('data/seams/index.json'))
|
|
124
|
-
const corridor = idx.seams.filter((s) => /^L\d+$/.test(s.id)).length
|
|
125
|
-
if (corridor !== facts.seams.corridorL) bad('corridor L seams', `${corridor} vs ${facts.seams.corridorL}`)
|
|
126
|
-
else ok('corridor L seams', String(corridor))
|
|
127
|
-
|
|
128
|
-
const areas = idx.capabilities.filter((c) => /^A\d+$/.test(c.id)).length
|
|
129
|
-
if (areas !== facts.seams.capabilityAreas) bad('capability areas', `${areas} vs ${facts.seams.capabilityAreas}`)
|
|
130
|
-
else ok('capability areas', String(areas))
|
|
131
|
-
|
|
132
|
-
const corridorSeams = idx.seams.filter((s) => /^L\d+$/.test(s.id))
|
|
133
|
-
const detectable = corridorSeams.filter((s) => s.detectable).length
|
|
134
|
-
const advisory = corridorSeams.length - detectable
|
|
135
|
-
if (detectable !== facts.seams.staticallyDetectable) bad('statically detectable seams', `${detectable} vs ${facts.seams.staticallyDetectable}`)
|
|
136
|
-
else ok('statically detectable seams', String(detectable))
|
|
137
|
-
if (advisory !== facts.seams.advisoryOnly) bad('advisory-only seams', `${advisory} vs ${facts.seams.advisoryOnly}`)
|
|
138
|
-
else ok('advisory-only seams', String(advisory))
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
// ---- 6. Release consistency ------------------------------------------------------
|
|
142
|
-
{
|
|
143
|
-
const pkg = JSON.parse(read('package.json'))
|
|
144
|
-
const changelog = read('CHANGELOG.md')
|
|
145
|
-
if (!changelog.includes(`## [${pkg.version}]`)) {
|
|
146
|
-
bad('CHANGELOG section', `no "## [${pkg.version}]" section for the current package.json version`)
|
|
147
|
-
} else ok('CHANGELOG section', pkg.version)
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
if (asJson) {
|
|
151
|
-
console.log(JSON.stringify({ facts: facts.schema, checked, failures }, null, 2))
|
|
152
|
-
} else {
|
|
153
|
-
for (const c of checked) console.log(` ok ${c}`)
|
|
154
|
-
if (failures.length) {
|
|
155
|
-
console.error('\ncheck-facts: FAIL')
|
|
156
|
-
for (const f of failures) console.error(` - ${f}`)
|
|
157
|
-
console.error('\nEvery number above has one home: data/facts.json. Update it, then update the prose.')
|
|
158
|
-
} else {
|
|
159
|
-
console.log(`\ncheck-facts OK (${checked.length} assertions against data/facts.json)`)
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
process.exit(failures.length ? 1 : 0)
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
// Assert every PowerShell script under scripts/ keeps its UTF-8 BOM.
|
|
2
|
-
//
|
|
3
|
-
// Why this exists: PowerShell 5.1 (Windows PowerShell - the only shell on a
|
|
4
|
-
// machine without pwsh) decodes a BOM-less script as ANSI/CP936. `verify-kit.ps1`
|
|
5
|
-
// carries ~1.6 KB of Chinese comments and messages, so the mis-decode corrupts
|
|
6
|
-
// the source and the parser fails with "Missing ')' in method call". That is the
|
|
7
|
-
// repository's own recorded convention (`references/sources.md`), and on
|
|
8
|
-
// 2026-10-13 `verify-kit.ps1` was found to be the only one of nine scripts
|
|
9
|
-
// missing its BOM - and therefore unusable on PowerShell 5.1, which was
|
|
10
|
-
// invisible to CI because CI runs it under `pwsh`, where a missing BOM is
|
|
11
|
-
// harmless.
|
|
12
|
-
//
|
|
13
|
-
// Deliberately implemented in Node, not PowerShell: it must run on the Linux CI
|
|
14
|
-
// runner and on a machine whose only PowerShell is the 5.1 that cannot read the
|
|
15
|
-
// file in the first place.
|
|
16
|
-
|
|
17
|
-
import { readdirSync, readFileSync } from 'node:fs'
|
|
18
|
-
import { join } from 'node:path'
|
|
19
|
-
|
|
20
|
-
const dir = join(process.cwd(), 'scripts')
|
|
21
|
-
const BOM = [0xef, 0xbb, 0xbf]
|
|
22
|
-
|
|
23
|
-
/** True when the buffer starts with a UTF-8 BOM. */
|
|
24
|
-
function hasBom(buf) {
|
|
25
|
-
return buf.length >= 3 && buf[0] === BOM[0] && buf[1] === BOM[1] && buf[2] === BOM[2]
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/** Count bytes above ASCII, i.e. how much a mis-decode could corrupt. */
|
|
29
|
-
function nonAsciiBytes(buf) {
|
|
30
|
-
let n = 0
|
|
31
|
-
for (const b of buf) if (b > 127) n++
|
|
32
|
-
return n
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const scripts = readdirSync(dir)
|
|
36
|
-
.filter((f) => f.toLowerCase().endsWith('.ps1'))
|
|
37
|
-
.sort()
|
|
38
|
-
|
|
39
|
-
const problems = []
|
|
40
|
-
const rows = []
|
|
41
|
-
|
|
42
|
-
for (const file of scripts) {
|
|
43
|
-
const buf = readFileSync(join(dir, file))
|
|
44
|
-
const bom = hasBom(buf)
|
|
45
|
-
const nonAscii = nonAsciiBytes(buf)
|
|
46
|
-
rows.push({ file, bom, nonAscii, bytes: buf.length })
|
|
47
|
-
// A BOM matters most when the file contains non-ASCII text; for a pure-ASCII
|
|
48
|
-
// script a missing BOM is harmless, so report it without failing.
|
|
49
|
-
if (!bom && nonAscii > 0) {
|
|
50
|
-
problems.push(
|
|
51
|
-
`${file}: ${nonAscii} non-ASCII bytes but no UTF-8 BOM - PowerShell 5.1 will mis-decode this script`,
|
|
52
|
-
)
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
for (const r of rows) {
|
|
57
|
-
const flag = !r.bom && r.nonAscii > 0 ? 'FAIL' : r.bom ? 'ok ' : 'warn'
|
|
58
|
-
console.log(`${flag} ${r.file.padEnd(34)} bom=${String(r.bom).padEnd(5)} nonAscii=${String(r.nonAscii).padEnd(5)} bytes=${r.bytes}`)
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
if (problems.length > 0) {
|
|
62
|
-
console.error('\nps1-bom: FAIL')
|
|
63
|
-
for (const p of problems) console.error(' ' + p)
|
|
64
|
-
console.error('\nFix: prepend EF BB BF to the file (keep the content byte-identical otherwise).')
|
|
65
|
-
process.exit(1)
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
console.log(`\nps1-bom OK (${scripts.length} scripts; every non-ASCII one carries a BOM)`)
|