super-dsh 0.3.0-a → 0.3.0-d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -22
- package/cordis.patch.yml +3 -3
- package/package.json +20 -8
- package/superd-hub/dist/bundle-setup.d.ts +17 -2
- package/superd-hub/dist/bundle-setup.js +158 -2
- package/superd-hub/dist/spawn-world.js +2 -5
- package/superd-hub/dist/world-resolution.d.ts +6 -0
- package/superd-hub/dist/world-resolution.js +39 -0
- package/superd-hub/package.json +19 -2
- package/superd-hub/scripts/register-companion.mjs +100 -0
- package/bundles/better-dsh.tgz +0 -0
- package/bundles/manifest.json +0 -10
- package/node_modules/better-dsh/LICENSE +0 -24
- package/node_modules/better-dsh/README.md +0 -323
- package/node_modules/better-dsh/THIRD_PARTY_NOTICES.md +0 -52
- package/node_modules/better-dsh/cordis.patch.yml +0 -139
- package/node_modules/better-dsh/docs/00_adr/0001-bridge-tool-layer-not-service-layer.md +0 -14
- package/node_modules/better-dsh/docs/00_adr/0002-masking-is-presentation-only.md +0 -15
- package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-execution-framework.md +0 -236
- package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-framework-impl.md +0 -2083
- package/node_modules/better-dsh/docs/10_plans/2026-09-26-lsp-ast-reminder.md +0 -64
- package/node_modules/better-dsh/docs/10_plans/A2A-messaging-channel-test-archive.md +0 -256
- package/node_modules/better-dsh/docs/10_plans/code-mode-vs-rlm-ipython-comparison.md +0 -137
- package/node_modules/better-dsh/docs/10_plans/dashr-blueprint-review.md +0 -201
- package/node_modules/better-dsh/docs/10_plans/dashr-blueprint.md +0 -561
- package/node_modules/better-dsh/docs/10_plans/dashr-compaction-window-and-archive.md +0 -307
- package/node_modules/better-dsh/docs/10_plans/dashr-profile-layer-feasibility.md +0 -367
- package/node_modules/better-dsh/docs/10_plans/dashr-sandbox-escalation-semantics-gap.md +0 -171
- package/node_modules/better-dsh/docs/10_plans/dashr-security-sandbox-analysis.md +0 -187
- package/node_modules/better-dsh/docs/10_plans/dashr-surface-invariant-and-omp-imports.md +0 -97
- package/node_modules/better-dsh/docs/10_plans/ipython-kernel-interactive-interface-test-report.md +0 -152
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft.md +0 -146
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v3.md +0 -50
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v4.md +0 -79
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-vs-PrimeAgent-systemprompt-toolcatalog-comparison.md +0 -138
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/RLM-system-prompt-injection-gap-report.md +0 -161
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/V0.1.5-development-plan.md +0 -109
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_dsh.md +0 -50
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_prime.md +0 -113
- package/node_modules/better-dsh/docs/10_plans/recallable-compaction.md +0 -147
- package/node_modules/better-dsh/docs/10_plans/spike-tag-repro.mjs +0 -102
- package/node_modules/better-dsh/docs/10_plans/upstream-analysis.md +0 -128
- package/node_modules/better-dsh/docs/20_specs/agent/spec.md +0 -54
- package/node_modules/better-dsh/docs/20_specs/ast/spec.md +0 -57
- package/node_modules/better-dsh/docs/20_specs/compaction-recall/spec.md +0 -46
- package/node_modules/better-dsh/docs/20_specs/ctx/spec.md +0 -107
- package/node_modules/better-dsh/docs/20_specs/dsh/spec.md +0 -47
- package/node_modules/better-dsh/docs/20_specs/dvc/spec.md +0 -106
- package/node_modules/better-dsh/docs/20_specs/escalation-guidance/spec.md +0 -44
- package/node_modules/better-dsh/docs/20_specs/fs-scheme-resolution/spec.md +0 -37
- package/node_modules/better-dsh/docs/20_specs/hash-edit/spec.md +0 -41
- package/node_modules/better-dsh/docs/20_specs/http-read/spec.md +0 -73
- package/node_modules/better-dsh/docs/20_specs/kernel-provisioning/spec.md +0 -53
- package/node_modules/better-dsh/docs/20_specs/lsp/spec.md +0 -121
- package/node_modules/better-dsh/docs/20_specs/mobile-layout/spec.md +0 -108
- package/node_modules/better-dsh/docs/20_specs/model-failover/spec.md +0 -20
- package/node_modules/better-dsh/docs/20_specs/plugins-page-components/spec.md +0 -79
- package/node_modules/better-dsh/docs/20_specs/preact-ui-shell/spec.md +0 -22
- package/node_modules/better-dsh/docs/20_specs/repl-dispatch-resilience/spec.md +0 -21
- package/node_modules/better-dsh/docs/20_specs/skill/spec.md +0 -58
- package/node_modules/better-dsh/docs/20_specs/tool-surface/spec.md +0 -222
- package/node_modules/better-dsh/docs/20_specs/url-schema/spec.md +0 -148
- package/node_modules/better-dsh/docs/20_specs/web-trust-fence/spec.md +0 -43
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-06-write/345/267/245/345/205/267sandbox/345/215/207/347/272/247/351/200/217/344/274/240bug/345/244/215/345/217/221/345/217/212/346/214/202/350/265/267-/344/272/213/344/273/266/346/212/245/345/221/212.md +0 -176
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-08-hashline-edit-E_RANGE_UNVERIFIED/350/267/250/350/275/256/344/274/232/350/257/235/351/224/256/345/244/261/346/225/210-/350/257/212/346/226/255/346/212/245/345/221/212.md +0 -226
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-11-control-prompt-into-eval-description/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -222
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-fs-scheme-resolution-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -81
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-grammar-matrix/344/270/216catalog-centralize-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -234
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-recallable-context-design/351/252/214/350/257/201/346/212/245/345/221/212.md +0 -160
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-recallable-context-/345/256/236/346/265/213/345/211/247/346/234/254.md +0 -44
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-recallable-context-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -89
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-/345/205/255scheme/345/206/222/347/203/237/344/270/216/350/276/271/347/225/214/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -198
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-13-hashline-off/344/270/213scheme/345/217/257/350/276/276/346/200/247/345/267/245/345/205/267/351/235/242/344/270/215/345/257/271/347/247/260-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -246
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-13-preact-ui-shell/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -50
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-14-4999-skill/346/270/205/345/215/225/344/270/216lsp-gate/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -63
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-17-plugins/351/241/265/345/205/255/347/273/204/344/273/266/346/213/206/345/210/206/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -76
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-22-4988/345/217/214/345/271/263/351/235/242/345/220/257/345/212/250/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -76
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-22-better-dsh/347/273/204/344/273/266/347/203/255/346/217/222/346/213/224/344/270/216/344/276/235/350/265/226/347/272/247/350/201/224/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -134
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-23-remote-framework/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -92
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-23-remote-framework/347/254/254/344/270/200/344/272/272/347/247/260/345/244/215/346/265/213/346/212/245/345/221/212.md +0 -125
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-23-ssh/345/267/245/345/205/267assisted-pty/344/274/232/350/257/235framing/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -207
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-24-v0.1.7-rc.1/345/257/271/351/275/220/350/275/256-compaction/344/270/216failover/350/256/276/347/275/256/351/235/242/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -65
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-27-lsp-ast-reminder-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -53
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-28-ctx-scheme/351/225/277/344/274/232/350/257/235utility/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -155
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-01-v0.2.4d-web-password-gate/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -105
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-02-better-dsh-schemastery/344/276/235/350/265/226/345/243/260/346/230/216/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -62
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-02-ctx-navigation/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -137
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-02-v0.2.0-rc.2/345/257/271/351/275/220/350/275/256/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -38
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-ast-engine-deomp-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -325
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-better-dsh-tool-surface-repl-dvc-browser-ast-lsp-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -185
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-docs-packaging-trim/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -82
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-physical-import/344/270/216llm-completion-ast/347/233/270/345/257/271/350/267/257/345/276/204/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -101
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-pnpm11/345/271/264/351/276/204/351/227/250/351/224/201/346/226/207/344/273/266/347/233/270/344/275/215/345/256/236/350/257/201.md +0 -54
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-remote-BYO-PTY-label/351/207/215/346/236/204/347/254/254/344/270/200/344/272/272/347/247/260/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -447
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-schemastery-cosmokit/346/272/220/347/240/201/345/206/205/350/201/224/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -63
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-zero-npm-runtime-deps/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -82
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-04-ast-engine-deomp-0.2.5-d/345/217/221/345/270/203/351/252/214/346/224/266/346/212/245/345/221/212.md +0 -220
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-04-ast_grep/344/270/216ast_edit/345/245/221/347/272/246/344/270/216/350/276/271/347/225/214/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -151
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-06-authentication-only-web-admission-4999.md +0 -63
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-07-better-dsh-welcome-self-contained-4999.md +0 -52
- package/node_modules/better-dsh/docs/50_test-reports/REPL-/345/267/245/345/205/267/350/260/203/347/224/250-/346/210/252/346/226/255/350/257/212/346/226/255.md +0 -110
- package/node_modules/better-dsh/docs/50_test-reports/kernel-provisioning.md +0 -44
- package/node_modules/better-dsh/docs/50_test-reports/repl-kernel-provisioning-test-report.md +0 -87
- package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-local-test-report.md +0 -81
- package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-report.md +0 -93
- package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-local-test-report.md +0 -44
- package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-report.md +0 -110
- package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.5-rc.2-local-test-report.md +0 -79
- package/node_modules/better-dsh/docs/50_test-reports/v0.1.8-improved-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -142
- package/node_modules/better-dsh/docs/50_test-reports/v0.1.8-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -193
- package/node_modules/better-dsh/docs/50_test-reports/v0.1.8b-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -96
- package/node_modules/better-dsh/docs/50_test-reports/v0.1.8c-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -127
- package/node_modules/better-dsh/docs/50_test-reports/v0.1.8d-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -150
- package/node_modules/better-dsh/docs/50_test-reports/v0.1.8e-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -224
- package/node_modules/better-dsh/docs/50_test-reports/v0.1.9a-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -168
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.0b-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -123
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.1-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -110
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.1b-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -86
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.1c-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -66
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.1d-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -67
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.1e-P1-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -136
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.1ef-dev-audit-report.md +0 -73
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.1f-plugin-shipped-ui-patches/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -102
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.3b-hashline-content-locator/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -73
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.3c-mobile-wave/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -47
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.4-ios-focus-zoom-suppression/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -158
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/SKILL.md +0 -147
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch01-user-guide.md +0 -123
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch02-plugin-basics.md +0 -127
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch03-plugin-framework-practice.md +0 -120
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch04-cordis-fundamentals.md +0 -129
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch05-cordis-api.md +0 -115
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch06-architecture.md +0 -109
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch07-capability-seams.md +0 -97
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch08-internals-pipelines.md +0 -111
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch09-api-gateway.md +0 -106
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch10-config-catalog.md +0 -97
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch11-tool-catalog.md +0 -121
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch12-persistence-catalog.md +0 -109
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch13-subsystems-core-session.md +0 -106
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch14-subsystems-agent-loop.md +0 -111
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch15-subsystems-tool-execution.md +0 -106
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch16-subsystems-session-data.md +0 -132
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch17-subsystems-llm-streaming.md +0 -128
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch18-subsystems-web-ui.md +0 -142
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch19-cookbook.md +0 -149
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch20-development-testing.md +0 -87
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch21-postmortems.md +0 -82
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch22-i18n.md +0 -86
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/cheatsheet.md +0 -67
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/glossary.md +0 -57
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/patterns.md +0 -88
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/AGENTS.md +0 -75
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.md +0 -84
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.zh.md +0 -86
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.md +0 -164
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.zh.md +0 -164
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.md +0 -150
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.zh.md +0 -154
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.md +0 -543
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.zh.md +0 -545
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.md +0 -3473
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.zh.md +0 -3474
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.md +0 -117
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.zh.md +0 -119
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-remote-api.md +0 -197
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-remote-api.zh.md +0 -197
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-settings-card.md +0 -102
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-settings-card.zh.md +0 -102
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.md +0 -101
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.zh.md +0 -103
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-vendored-package.md +0 -59
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-vendored-package.zh.md +0 -59
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-an-llm-adapter.md +0 -43
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-an-llm-adapter.zh.md +0 -43
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.md +0 -132
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.zh.md +0 -136
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/maintaining-dsh-code-review.md +0 -64
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/maintaining-dsh-code-review.zh.md +0 -64
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/responding-to-pr-review-on-a-stack.md +0 -32
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +0 -32
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.md +0 -364
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.zh.md +0 -366
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.md +0 -207
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.zh.md +0 -209
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.md +0 -375
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.zh.md +0 -377
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/inherited.md +0 -39
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.md +0 -152
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.zh.md +0 -154
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.md +0 -102
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.zh.md +0 -104
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.md +0 -45
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.zh.md +0 -51
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/01-first-plugin.md +0 -95
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/01-first-plugin.zh.md +0 -95
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/02-lifecycle-and-effects.md +0 -98
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +0 -98
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.md +0 -98
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.zh.md +0 -98
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.md +0 -144
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.zh.md +0 -144
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.md +0 -84
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.zh.md +0 -84
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/06-composition-and-hmr.md +0 -113
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/06-composition-and-hmr.zh.md +0 -113
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/07-into-the-harness.md +0 -108
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/07-into-the-harness.zh.md +0 -108
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.md +0 -60
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.zh.md +0 -62
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/deepseek-llm-api-wire-extensions.md +0 -163
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/deepseek-llm-api-wire-extensions.zh.md +0 -163
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.md +0 -33
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.zh.md +0 -35
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.md +0 -167
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.zh.md +0 -173
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.md +0 -86
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.zh.md +0 -88
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.md +0 -45
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.zh.md +0 -45
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.md +0 -22
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.zh.md +0 -24
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.md +0 -60
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.zh.md +0 -62
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/style-samples.md +0 -87
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/terminology.md +0 -214
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-prompt.md +0 -263
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.md +0 -69
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.zh.md +0 -69
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.md +0 -1411
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.zh.md +0 -1413
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.md +0 -1075
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.zh.md +0 -1077
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0001-acp-default-export-drops-inject.md +0 -113
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0001-acp-default-export-drops-inject.zh.md +0 -113
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +0 -47
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +0 -47
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0003-web-agent-gui-feedback-loop.md +0 -53
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +0 -53
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +0 -55
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +0 -55
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.md +0 -18
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.zh.md +0 -18
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.md +0 -53
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.zh.md +0 -53
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.md +0 -61
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.zh.md +0 -61
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.md +0 -207
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.zh.md +0 -207
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.md +0 -170
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.zh.md +0 -170
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.md +0 -351
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.zh.md +0 -351
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.md +0 -168
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.zh.md +0 -168
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.md +0 -195
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.zh.md +0 -195
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.md +0 -219
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.zh.md +0 -219
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.md +0 -238
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.zh.md +0 -238
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.md +0 -258
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.zh.md +0 -258
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.md +0 -1209
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.zh.md +0 -1219
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.md +0 -329
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.zh.md +0 -329
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.md +0 -382
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.zh.md +0 -382
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.md +0 -266
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.zh.md +0 -266
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.md +0 -505
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.zh.md +0 -505
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.md +0 -277
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.zh.md +0 -277
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.md +0 -88
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.zh.md +0 -88
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.md +0 -290
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.zh.md +0 -290
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.md +0 -1080
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.zh.md +0 -1086
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.md +0 -202
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.zh.md +0 -202
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.md +0 -131
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.zh.md +0 -131
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.md +0 -395
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.zh.md +0 -395
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.md +0 -87
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.zh.md +0 -87
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.md +0 -220
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.zh.md +0 -220
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.md +0 -192
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.zh.md +0 -192
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.md +0 -59
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.zh.md +0 -59
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.md +0 -354
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.zh.md +0 -354
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.md +0 -509
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.zh.md +0 -509
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.md +0 -219
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.zh.md +0 -219
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.md +0 -194
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.zh.md +0 -194
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.md +0 -204
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.zh.md +0 -204
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.md +0 -1155
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.zh.md +0 -1159
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.md +0 -405
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.zh.md +0 -405
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.md +0 -303
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.zh.md +0 -303
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.md +0 -354
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.zh.md +0 -354
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.md +0 -175
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.zh.md +0 -175
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.md +0 -117
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.zh.md +0 -117
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.md +0 -260
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.zh.md +0 -260
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.md +0 -766
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.zh.md +0 -770
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.md +0 -324
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.zh.md +0 -324
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.md +0 -220
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.zh.md +0 -220
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.md +0 -184
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.zh.md +0 -184
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.md +0 -32
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.zh.md +0 -32
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.md +0 -105
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.zh.md +0 -105
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.md +0 -720
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.zh.md +0 -720
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.md +0 -343
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.zh.md +0 -343
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.md +0 -178
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.zh.md +0 -178
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.md +0 -95
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.zh.md +0 -95
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.md +0 -154
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.zh.md +0 -154
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.md +0 -206
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.zh.md +0 -206
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.md +0 -70
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.zh.md +0 -70
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.md +0 -278
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.zh.md +0 -278
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.md +0 -321
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.zh.md +0 -321
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.md +0 -54
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.zh.md +0 -54
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.md +0 -2225
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.zh.md +0 -2233
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.md +0 -62
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.zh.md +0 -64
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.md +0 -106
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.zh.md +0 -106
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.md +0 -144
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.zh.md +0 -144
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.md +0 -183
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.zh.md +0 -183
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.md +0 -52
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.zh.md +0 -52
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.md +0 -143
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.zh.md +0 -143
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.md +0 -137
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.zh.md +0 -137
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.md +0 -148
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.zh.md +0 -150
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/dynamic-cordis.md +0 -15
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/dynamic-cordis.zh.md +0 -15
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.md +0 -155
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.zh.md +0 -155
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/llm-adapter.md +0 -189
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/llm-adapter.zh.md +0 -189
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.md +0 -102
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.zh.md +0 -102
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.md +0 -30
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.zh.md +0 -30
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.md +0 -101
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.zh.md +0 -101
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.md +0 -85
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.zh.md +0 -85
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.md +0 -190
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.zh.md +0 -190
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.md +0 -150
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.zh.md +0 -150
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.md +0 -21
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.zh.md +0 -21
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.md +0 -11
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.zh.md +0 -11
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.md +0 -29
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.zh.md +0 -29
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages-map.txt +0 -234
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages.json +0 -232
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-README.md +0 -63
- package/node_modules/better-dsh/docs/dev-test-environment-notes.md +0 -137
- package/node_modules/better-dsh/docs/distro-blueprint.md +0 -81
- package/node_modules/better-dsh/docs/dsh-webUI-with-rlm-mode.png +0 -0
- package/node_modules/better-dsh/docs/repositioning-and-rebranding.md +0 -102
- package/node_modules/better-dsh/docs/specs/agent/spec.md +0 -54
- package/node_modules/better-dsh/docs/specs/ast/spec.md +0 -57
- package/node_modules/better-dsh/docs/specs/ast-engine-deomp/spec.md +0 -170
- package/node_modules/better-dsh/docs/specs/authentication-only-web-admission/spec.md +0 -51
- package/node_modules/better-dsh/docs/specs/compaction-recall/spec.md +0 -46
- package/node_modules/better-dsh/docs/specs/ctx/spec.md +0 -179
- package/node_modules/better-dsh/docs/specs/docs-packaging-trim/spec.md +0 -110
- package/node_modules/better-dsh/docs/specs/dsh/spec.md +0 -47
- package/node_modules/better-dsh/docs/specs/dvc/spec.md +0 -106
- package/node_modules/better-dsh/docs/specs/escalation-guidance/spec.md +0 -44
- package/node_modules/better-dsh/docs/specs/fs-scheme-resolution/spec.md +0 -37
- package/node_modules/better-dsh/docs/specs/hash-edit/spec.md +0 -41
- package/node_modules/better-dsh/docs/specs/http-read/spec.md +0 -73
- package/node_modules/better-dsh/docs/specs/kernel-provisioning/spec.md +0 -53
- package/node_modules/better-dsh/docs/specs/lsp/spec.md +0 -121
- package/node_modules/better-dsh/docs/specs/mobile-layout/spec.md +0 -108
- package/node_modules/better-dsh/docs/specs/model-failover/spec.md +0 -20
- package/node_modules/better-dsh/docs/specs/model-picker-ios-blur/spec.md +0 -168
- package/node_modules/better-dsh/docs/specs/plugins-page-components/spec.md +0 -79
- package/node_modules/better-dsh/docs/specs/preact-ui-shell/spec.md +0 -22
- package/node_modules/better-dsh/docs/specs/remote-pty-label/spec.md +0 -126
- package/node_modules/better-dsh/docs/specs/repl-dispatch-resilience/spec.md +0 -21
- package/node_modules/better-dsh/docs/specs/skill/spec.md +0 -58
- package/node_modules/better-dsh/docs/specs/tool-surface/spec.md +0 -222
- package/node_modules/better-dsh/docs/specs/url-schema/spec.md +0 -148
- package/node_modules/better-dsh/docs/specs/web-trust-fence/spec.md +0 -43
- package/node_modules/better-dsh/docs/specs/welcome-self-contained/spec.md +0 -13
- package/node_modules/better-dsh/docs/specs/zero-npm-runtime-deps/spec.md +0 -85
- package/node_modules/better-dsh/docs/superpowers/plans/2026-10-02-ctx-navigation.md +0 -319
- package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-ast-engine-deomp.md +0 -1214
- package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-docs-packaging-trim.md +0 -181
- package/node_modules/better-dsh/docs/superpowers/specs/2026-10-02-ctx-navigation-design.md +0 -209
- package/node_modules/better-dsh/docs/upstream-dsh-0.1.5-rc.2-report.md +0 -156
- package/node_modules/better-dsh/dsh-docs/AGENTS.md +0 -75
- package/node_modules/better-dsh/dsh-docs/agent-lifecycle.md +0 -84
- package/node_modules/better-dsh/dsh-docs/agent-lifecycle.zh.md +0 -86
- package/node_modules/better-dsh/dsh-docs/api-gateway.md +0 -164
- package/node_modules/better-dsh/dsh-docs/api-gateway.zh.md +0 -164
- package/node_modules/better-dsh/dsh-docs/architecture.md +0 -150
- package/node_modules/better-dsh/dsh-docs/architecture.zh.md +0 -154
- package/node_modules/better-dsh/dsh-docs/capability-seams.md +0 -543
- package/node_modules/better-dsh/dsh-docs/capability-seams.zh.md +0 -545
- package/node_modules/better-dsh/dsh-docs/config-catalog.md +0 -3473
- package/node_modules/better-dsh/dsh-docs/config-catalog.zh.md +0 -3474
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.md +0 -117
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.zh.md +0 -119
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.md +0 -197
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.zh.md +0 -197
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.md +0 -109
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.zh.md +0 -109
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.md +0 -102
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.zh.md +0 -102
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.md +0 -101
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.zh.md +0 -103
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.md +0 -59
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.zh.md +0 -59
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.md +0 -43
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.zh.md +0 -43
- package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.md +0 -132
- package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.zh.md +0 -136
- package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.md +0 -64
- package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.zh.md +0 -64
- package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.md +0 -32
- package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +0 -32
- package/node_modules/better-dsh/dsh-docs/cordis-api/context.md +0 -364
- package/node_modules/better-dsh/dsh-docs/cordis-api/context.zh.md +0 -366
- package/node_modules/better-dsh/dsh-docs/cordis-api/events.md +0 -207
- package/node_modules/better-dsh/dsh-docs/cordis-api/events.zh.md +0 -209
- package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.md +0 -375
- package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.zh.md +0 -377
- package/node_modules/better-dsh/dsh-docs/cordis-api/inherited.md +0 -39
- package/node_modules/better-dsh/dsh-docs/cordis-api/registry.md +0 -152
- package/node_modules/better-dsh/dsh-docs/cordis-api/registry.zh.md +0 -154
- package/node_modules/better-dsh/dsh-docs/cordis-api/service.md +0 -102
- package/node_modules/better-dsh/dsh-docs/cordis-api/service.zh.md +0 -104
- package/node_modules/better-dsh/dsh-docs/cordis-primer.md +0 -45
- package/node_modules/better-dsh/dsh-docs/cordis-primer.zh.md +0 -51
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.md +0 -95
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.zh.md +0 -95
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.md +0 -98
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +0 -98
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.md +0 -98
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.zh.md +0 -98
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.md +0 -144
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.zh.md +0 -144
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.md +0 -84
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.zh.md +0 -84
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.md +0 -113
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.zh.md +0 -113
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.md +0 -108
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.zh.md +0 -108
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.md +0 -60
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.zh.md +0 -62
- package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.md +0 -163
- package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.zh.md +0 -163
- package/node_modules/better-dsh/dsh-docs/defensive-patterns.md +0 -33
- package/node_modules/better-dsh/dsh-docs/defensive-patterns.zh.md +0 -35
- package/node_modules/better-dsh/dsh-docs/development.md +0 -167
- package/node_modules/better-dsh/dsh-docs/development.zh.md +0 -173
- package/node_modules/better-dsh/dsh-docs/event-producer-consumer.md +0 -86
- package/node_modules/better-dsh/dsh-docs/event-producer-consumer.zh.md +0 -88
- package/node_modules/better-dsh/dsh-docs/glossary.md +0 -45
- package/node_modules/better-dsh/dsh-docs/glossary.zh.md +0 -45
- package/node_modules/better-dsh/dsh-docs/graph-atlas.md +0 -22
- package/node_modules/better-dsh/dsh-docs/graph-atlas.zh.md +0 -24
- package/node_modules/better-dsh/dsh-docs/i18n/README.md +0 -60
- package/node_modules/better-dsh/dsh-docs/i18n/README.zh.md +0 -62
- package/node_modules/better-dsh/dsh-docs/i18n/style-samples.md +0 -87
- package/node_modules/better-dsh/dsh-docs/i18n/terminology.md +0 -214
- package/node_modules/better-dsh/dsh-docs/i18n/translation-prompt.md +0 -263
- package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.md +0 -69
- package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.zh.md +0 -69
- package/node_modules/better-dsh/dsh-docs/module-graph.md +0 -1411
- package/node_modules/better-dsh/dsh-docs/module-graph.zh.md +0 -1413
- package/node_modules/better-dsh/dsh-docs/persistence-catalog.md +0 -1075
- package/node_modules/better-dsh/dsh-docs/persistence-catalog.zh.md +0 -1077
- package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.md +0 -113
- package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.zh.md +0 -113
- package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +0 -47
- package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +0 -47
- package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.md +0 -53
- package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +0 -53
- package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +0 -55
- package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +0 -55
- package/node_modules/better-dsh/dsh-docs/postmortem/README.md +0 -18
- package/node_modules/better-dsh/dsh-docs/postmortem/README.zh.md +0 -18
- package/node_modules/better-dsh/dsh-docs/rescope.md +0 -53
- package/node_modules/better-dsh/dsh-docs/rescope.zh.md +0 -53
- package/node_modules/better-dsh/dsh-docs/session-format-status.md +0 -47
- package/node_modules/better-dsh/dsh-docs/session-format-status.zh.md +0 -47
- package/node_modules/better-dsh/dsh-docs/subsystems/README.md +0 -61
- package/node_modules/better-dsh/dsh-docs/subsystems/README.zh.md +0 -61
- package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.md +0 -207
- package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.zh.md +0 -207
- package/node_modules/better-dsh/dsh-docs/subsystems/approval.md +0 -170
- package/node_modules/better-dsh/dsh-docs/subsystems/approval.zh.md +0 -170
- package/node_modules/better-dsh/dsh-docs/subsystems/attachment.md +0 -351
- package/node_modules/better-dsh/dsh-docs/subsystems/attachment.zh.md +0 -351
- package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.md +0 -168
- package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.zh.md +0 -168
- package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.md +0 -91
- package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.zh.md +0 -91
- package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.md +0 -195
- package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.zh.md +0 -195
- package/node_modules/better-dsh/dsh-docs/subsystems/commands.md +0 -219
- package/node_modules/better-dsh/dsh-docs/subsystems/commands.zh.md +0 -219
- package/node_modules/better-dsh/dsh-docs/subsystems/compaction.md +0 -238
- package/node_modules/better-dsh/dsh-docs/subsystems/compaction.zh.md +0 -238
- package/node_modules/better-dsh/dsh-docs/subsystems/conversation.md +0 -258
- package/node_modules/better-dsh/dsh-docs/subsystems/conversation.zh.md +0 -258
- package/node_modules/better-dsh/dsh-docs/subsystems/core.md +0 -1209
- package/node_modules/better-dsh/dsh-docs/subsystems/core.zh.md +0 -1219
- package/node_modules/better-dsh/dsh-docs/subsystems/credentials.md +0 -329
- package/node_modules/better-dsh/dsh-docs/subsystems/credentials.zh.md +0 -329
- package/node_modules/better-dsh/dsh-docs/subsystems/extensions.md +0 -382
- package/node_modules/better-dsh/dsh-docs/subsystems/extensions.zh.md +0 -382
- package/node_modules/better-dsh/dsh-docs/subsystems/feedback.md +0 -266
- package/node_modules/better-dsh/dsh-docs/subsystems/feedback.zh.md +0 -266
- package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.md +0 -505
- package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.zh.md +0 -505
- package/node_modules/better-dsh/dsh-docs/subsystems/goal.md +0 -277
- package/node_modules/better-dsh/dsh-docs/subsystems/goal.zh.md +0 -277
- package/node_modules/better-dsh/dsh-docs/subsystems/invariants.md +0 -88
- package/node_modules/better-dsh/dsh-docs/subsystems/invariants.zh.md +0 -88
- package/node_modules/better-dsh/dsh-docs/subsystems/jobs.md +0 -290
- package/node_modules/better-dsh/dsh-docs/subsystems/jobs.zh.md +0 -290
- package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.md +0 -1080
- package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.zh.md +0 -1086
- package/node_modules/better-dsh/dsh-docs/subsystems/lsp.md +0 -202
- package/node_modules/better-dsh/dsh-docs/subsystems/lsp.zh.md +0 -202
- package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.md +0 -131
- package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.zh.md +0 -131
- package/node_modules/better-dsh/dsh-docs/subsystems/persistence.md +0 -395
- package/node_modules/better-dsh/dsh-docs/subsystems/persistence.zh.md +0 -395
- package/node_modules/better-dsh/dsh-docs/subsystems/plan.md +0 -87
- package/node_modules/better-dsh/dsh-docs/subsystems/plan.zh.md +0 -87
- package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.md +0 -220
- package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.zh.md +0 -220
- package/node_modules/better-dsh/dsh-docs/subsystems/schedule.md +0 -192
- package/node_modules/better-dsh/dsh-docs/subsystems/schedule.zh.md +0 -192
- package/node_modules/better-dsh/dsh-docs/subsystems/scope.md +0 -59
- package/node_modules/better-dsh/dsh-docs/subsystems/scope.zh.md +0 -59
- package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.md +0 -354
- package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.zh.md +0 -354
- package/node_modules/better-dsh/dsh-docs/subsystems/session-query.md +0 -509
- package/node_modules/better-dsh/dsh-docs/subsystems/session-query.zh.md +0 -509
- package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.md +0 -219
- package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.zh.md +0 -219
- package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.md +0 -194
- package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.zh.md +0 -194
- package/node_modules/better-dsh/dsh-docs/subsystems/session-title.md +0 -204
- package/node_modules/better-dsh/dsh-docs/subsystems/session-title.zh.md +0 -204
- package/node_modules/better-dsh/dsh-docs/subsystems/session.md +0 -1155
- package/node_modules/better-dsh/dsh-docs/subsystems/session.zh.md +0 -1159
- package/node_modules/better-dsh/dsh-docs/subsystems/settings.md +0 -405
- package/node_modules/better-dsh/dsh-docs/subsystems/settings.zh.md +0 -405
- package/node_modules/better-dsh/dsh-docs/subsystems/shell.md +0 -303
- package/node_modules/better-dsh/dsh-docs/subsystems/shell.zh.md +0 -303
- package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.md +0 -148
- package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.zh.md +0 -148
- package/node_modules/better-dsh/dsh-docs/subsystems/skills.md +0 -354
- package/node_modules/better-dsh/dsh-docs/subsystems/skills.zh.md +0 -354
- package/node_modules/better-dsh/dsh-docs/subsystems/slots.md +0 -175
- package/node_modules/better-dsh/dsh-docs/subsystems/slots.zh.md +0 -175
- package/node_modules/better-dsh/dsh-docs/subsystems/spill.md +0 -117
- package/node_modules/better-dsh/dsh-docs/subsystems/spill.zh.md +0 -117
- package/node_modules/better-dsh/dsh-docs/subsystems/storage.md +0 -260
- package/node_modules/better-dsh/dsh-docs/subsystems/storage.zh.md +0 -260
- package/node_modules/better-dsh/dsh-docs/subsystems/subagent.md +0 -766
- package/node_modules/better-dsh/dsh-docs/subsystems/subagent.zh.md +0 -770
- package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.md +0 -324
- package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.zh.md +0 -324
- package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.md +0 -220
- package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.zh.md +0 -220
- package/node_modules/better-dsh/dsh-docs/subsystems/terminal.md +0 -184
- package/node_modules/better-dsh/dsh-docs/subsystems/terminal.zh.md +0 -184
- package/node_modules/better-dsh/dsh-docs/subsystems/todo.md +0 -32
- package/node_modules/better-dsh/dsh-docs/subsystems/todo.zh.md +0 -32
- package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.md +0 -105
- package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.zh.md +0 -105
- package/node_modules/better-dsh/dsh-docs/subsystems/tools.md +0 -720
- package/node_modules/better-dsh/dsh-docs/subsystems/tools.zh.md +0 -720
- package/node_modules/better-dsh/dsh-docs/subsystems/typert.md +0 -343
- package/node_modules/better-dsh/dsh-docs/subsystems/typert.zh.md +0 -343
- package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.md +0 -178
- package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.zh.md +0 -178
- package/node_modules/better-dsh/dsh-docs/subsystems/web-client.md +0 -95
- package/node_modules/better-dsh/dsh-docs/subsystems/web-client.zh.md +0 -95
- package/node_modules/better-dsh/dsh-docs/subsystems/web-server.md +0 -154
- package/node_modules/better-dsh/dsh-docs/subsystems/web-server.zh.md +0 -154
- package/node_modules/better-dsh/dsh-docs/subsystems/web.md +0 -206
- package/node_modules/better-dsh/dsh-docs/subsystems/web.zh.md +0 -206
- package/node_modules/better-dsh/dsh-docs/subsystems/webhook.md +0 -70
- package/node_modules/better-dsh/dsh-docs/subsystems/webhook.zh.md +0 -70
- package/node_modules/better-dsh/dsh-docs/subsystems/workflow.md +0 -278
- package/node_modules/better-dsh/dsh-docs/subsystems/workflow.zh.md +0 -278
- package/node_modules/better-dsh/dsh-docs/subsystems/workspace.md +0 -321
- package/node_modules/better-dsh/dsh-docs/subsystems/workspace.zh.md +0 -321
- package/node_modules/better-dsh/dsh-docs/testing.md +0 -54
- package/node_modules/better-dsh/dsh-docs/testing.zh.md +0 -54
- package/node_modules/better-dsh/dsh-docs/tool-catalog.md +0 -2225
- package/node_modules/better-dsh/dsh-docs/tool-catalog.zh.md +0 -2233
- package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.md +0 -62
- package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.zh.md +0 -64
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.md +0 -106
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.zh.md +0 -106
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.md +0 -144
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.zh.md +0 -144
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.md +0 -183
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.zh.md +0 -183
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.md +0 -52
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.zh.md +0 -52
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.md +0 -143
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.zh.md +0 -143
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.md +0 -137
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.zh.md +0 -137
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.md +0 -148
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.zh.md +0 -150
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.md +0 -15
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.zh.md +0 -15
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.md +0 -155
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.zh.md +0 -155
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.md +0 -189
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.zh.md +0 -189
- package/node_modules/better-dsh/dsh-docs/user/guide/github-review.md +0 -102
- package/node_modules/better-dsh/dsh-docs/user/guide/github-review.zh.md +0 -102
- package/node_modules/better-dsh/dsh-docs/user/guide/index.md +0 -30
- package/node_modules/better-dsh/dsh-docs/user/guide/index.zh.md +0 -30
- package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.md +0 -101
- package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.zh.md +0 -101
- package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.md +0 -85
- package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.zh.md +0 -85
- package/node_modules/better-dsh/dsh-docs/user/guide/providers.md +0 -190
- package/node_modules/better-dsh/dsh-docs/user/guide/providers.zh.md +0 -190
- package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.md +0 -150
- package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.zh.md +0 -150
- package/node_modules/better-dsh/dsh-docs/user/guide/schedule.md +0 -21
- package/node_modules/better-dsh/dsh-docs/user/guide/schedule.zh.md +0 -21
- package/node_modules/better-dsh/dsh-docs/user/index.md +0 -11
- package/node_modules/better-dsh/dsh-docs/user/index.zh.md +0 -11
- package/node_modules/better-dsh/dsh-docs/web-styling.md +0 -29
- package/node_modules/better-dsh/dsh-docs/web-styling.zh.md +0 -29
- package/node_modules/better-dsh/eval-description.md +0 -33
- package/node_modules/better-dsh/lib/BrowserWebSocketTransport-D1aFReu_.js +0 -4
- package/node_modules/better-dsh/lib/BrowserWebSocketTransport-wm99h94r.js +0 -39
- package/node_modules/better-dsh/lib/LaunchOptions-B874eBu2.js +0 -4
- package/node_modules/better-dsh/lib/LaunchOptions-kGXcZOe0.js +0 -17
- package/node_modules/better-dsh/lib/NodeWebSocketTransport-BRLjmu2R.js +0 -4
- package/node_modules/better-dsh/lib/NodeWebSocketTransport-D9ysYGLM.js +0 -3634
- package/node_modules/better-dsh/lib/ast-assets/ast-grep.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-bash.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-c.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-cpp.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-css.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-go.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-html.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-javascript.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-json.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-python.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-ruby.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-rust.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-tsx.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-typescript.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-yaml.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter.wasm +0 -0
- package/node_modules/better-dsh/lib/bidi-BalpKaJc.js +0 -16106
- package/node_modules/better-dsh/lib/bundle-delivery.d.ts +0 -20
- package/node_modules/better-dsh/lib/bundle-delivery.js +0 -209
- package/node_modules/better-dsh/lib/chunk-DQxbwPpZ.js +0 -30
- package/node_modules/better-dsh/lib/client/index.js +0 -712
- package/node_modules/better-dsh/lib/compaction/index.d.ts +0 -57
- package/node_modules/better-dsh/lib/compaction/index.js +0 -145
- package/node_modules/better-dsh/lib/failover/index.d.ts +0 -59
- package/node_modules/better-dsh/lib/failover/index.js +0 -147
- package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.d.ts +0 -71
- package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.js +0 -249
- package/node_modules/better-dsh/lib/hmr.d.ts +0 -32
- package/node_modules/better-dsh/lib/hmr.js +0 -49
- package/node_modules/better-dsh/lib/index-DTDXUe6m.d.ts +0 -208
- package/node_modules/better-dsh/lib/index-browser-CysrjMyM.js +0 -21061
- package/node_modules/better-dsh/lib/index.d.ts +0 -705
- package/node_modules/better-dsh/lib/index.js +0 -3816
- package/node_modules/better-dsh/lib/kernel-bridge.py +0 -172
- package/node_modules/better-dsh/lib/kernel-env-D8UOWeji.js +0 -195
- package/node_modules/better-dsh/lib/kernel-env.d.ts +0 -80
- package/node_modules/better-dsh/lib/kernel-env.js +0 -3
- package/node_modules/better-dsh/lib/lib-C8_jXvwA.js +0 -894
- package/node_modules/better-dsh/lib/lsp-server-registry-BXvUTBY7.js +0 -3
- package/node_modules/better-dsh/lib/lsp-server-registry-CH9WNFFt.js +0 -972
- package/node_modules/better-dsh/lib/main-BQeFrBM1.js +0 -3
- package/node_modules/better-dsh/lib/main-CupOhMp5.js +0 -1432
- package/node_modules/better-dsh/lib/mobile/plugin.d.ts +0 -29
- package/node_modules/better-dsh/lib/mobile/plugin.js +0 -54
- package/node_modules/better-dsh/lib/native-capture-BEByDXYM.js +0 -68
- package/node_modules/better-dsh/lib/puppeteer-core-CSk2PtSm.js +0 -1136
- package/node_modules/better-dsh/lib/py-sdk-D7klhpWb.js +0 -178
- package/node_modules/better-dsh/lib/py-sdk.d.ts +0 -19
- package/node_modules/better-dsh/lib/py-sdk.js +0 -3
- package/node_modules/better-dsh/lib/remote/plugin.d.ts +0 -24
- package/node_modules/better-dsh/lib/remote/plugin.js +0 -1190
- package/node_modules/better-dsh/lib/url-schemes/index.d.ts +0 -88
- package/node_modules/better-dsh/lib/url-schemes/index.js +0 -12229
- package/node_modules/better-dsh/lib/util-BHL_dfV_.js +0 -2953
- package/node_modules/better-dsh/lib/wasm_bg-CNXhHjVg.js +0 -1291
- package/node_modules/better-dsh/lib/web-password.d.ts +0 -156
- package/node_modules/better-dsh/lib/web-password.js +0 -562
- package/node_modules/better-dsh/lib/web-tree-sitter-CPrPD4J2.js +0 -3440
- package/node_modules/better-dsh/lib/web-trust-D6gJpUMf.js +0 -393
- package/node_modules/better-dsh/lib/web-trust-Dej_RI2B.d.ts +0 -113
- package/node_modules/better-dsh/lib/web-trust.d.ts +0 -3
- package/node_modules/better-dsh/lib/web-trust.js +0 -4
- package/node_modules/better-dsh/lib/webserver.d.ts +0 -10
- package/node_modules/better-dsh/lib/webserver.js +0 -19
- package/node_modules/better-dsh/lib/welcome-notice.d.ts +0 -18
- package/node_modules/better-dsh/lib/welcome-notice.js +0 -59
- package/node_modules/better-dsh/lib/wrap-T4I0nfPM.js +0 -750
- package/node_modules/better-dsh/package.json +0 -430
- package/node_modules/better-dsh/scripts/kernel-provision.mjs +0 -35
- package/node_modules/better-dsh/scripts/register-bundle.mjs +0 -80
- package/node_modules/better-dsh/url-schemes-instruction.md +0 -22
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
# better-dsh:schemastery / cosmokit 源码内联实测报告(2026-10-03)
|
|
2
|
-
|
|
3
|
-
- **对象**:better-dsh `0.2.5-a`(本地过程版本,未发布)——`@deepseek-ai/schemastery` 从 **optional peer** 改为 **源码内联**(`third_party/`),同批内联其运行时依赖 `@deepseek-ai/cosmokit` 与(类型only的)`@standard-schema/spec`。
|
|
4
|
-
- **裁决**:user,2026-10-03 —— "这两个包直接抄进我们的源码里…这样我们就不必去看真实安装环境下它的上游到底在哪里、能不能够得着、解析路径对不对"。
|
|
5
|
-
- **载体**:本机 dev 树 + 4999 rig(`.test/home/compat`,unit `dsh-4999-test123`,core dsh `0.2.0-rc.2`)。
|
|
6
|
-
|
|
7
|
-
## 一、为什么要内联(与前序报告的取舍关系)
|
|
8
|
-
|
|
9
|
-
[2026-10-02-schemastery依赖声明修复实测报告](2026-10-02-better-dsh-schemastery依赖声明修复实测报告.md) 记录过一次事故与一次撤回:
|
|
10
|
-
|
|
11
|
-
- 事故:schemastery 曾是我们的 **`dependencies`** → pnpm 在 profile 里**实体化出第二份**并被 profile 锁文件冻在 **3.18.2** → `.volatile()`(3.18.3+)缺失 → `failover`/`compaction` 在**模块作用域**建 schema 时抛错,loader 记为 `failed to import`。
|
|
12
|
-
- 撤回:当时结论是"DSH 已自带一份,ride-on-DSH 的插件不该再抄第二份",改为 optional peer,让解析回落到 harness installation scope。
|
|
13
|
-
|
|
14
|
-
**本次内联与那次撤回并不矛盾,因为失败模式不同**:
|
|
15
|
-
|
|
16
|
-
| | 当年(dependencies) | 本次(third_party 源码内联) |
|
|
17
|
-
|---|---|---|
|
|
18
|
-
| 版本从哪来 | profile 锁文件 / 上游解析 | **本仓 `third_party/` 钉死** |
|
|
19
|
-
| 会不会出现两份不同版本 | 会(宿主 3.18.4 vs profile 3.18.2) | 不会:我们只用自己这一份,且**不再声明该依赖** |
|
|
20
|
-
| 解析路径依赖 | 强(walk-up / installation scope) | 无(相对路径 import,构建期内联) |
|
|
21
|
-
|
|
22
|
-
即:把"解析到哪一份"这个变量彻底消掉,而不是把它交给环境的解析顺序。
|
|
23
|
-
|
|
24
|
-
## 二、改动
|
|
25
|
-
|
|
26
|
-
- 新增 `third_party/`(344K):
|
|
27
|
-
- `third_party/schemastery/` = `@deepseek-ai/schemastery@3.18.4`(MIT,Copyright (c) 2021-present Shigma)原样副本;
|
|
28
|
-
- `third_party/schemastery/node_modules/@deepseek-ai/cosmokit/` = `@deepseek-ai/cosmokit@1.8.5`(同版权人)——放这一层是为了让 schemastery 自己的 `import "@deepseek-ai/cosmokit"` **就地解析**,不必改动 vendored 代码;
|
|
29
|
-
- `third_party/schemastery/node_modules/@standard-schema/spec/` = `1.1.0`(MIT,Copyright (c) 2024 Colin McDonnell),仅类型。
|
|
30
|
-
- **唯一自加文件**:`third_party/schemastery/lib/index.d.mts`(转发到包自带的 `lib/types/index.d.ts`,因为直接 import `.mjs` 不会走它的 `exports.types` 映射)。
|
|
31
|
-
- `package.json` 增 `imports` 子路径映射 `#schemastery`(→ `./third_party/schemastery/lib/index.mjs`);9 个源文件(`index` / `runtime` / `web-password` / `web-trust` / `mobile` / `compaction` / `remote` / `failover` / `url-schemes`)统一 `import z from '#schemastery'`。**(后续已改为物理 import 形态并删除 `src/schemastery.ts`:见 [2026-10-03-physical-import与llm-completion-ast相对路径修复实测报告](2026-10-03-physical-import与llm-completion-ast相对路径修复实测报告.md))**
|
|
32
|
-
- `package.json`:删除 `@deepseek-ai/schemastery` peer 声明与其 `peerDependenciesMeta` 条目(peer 59 条 → 58 条生效面);`files` 增列 `THIRD_PARTY_NOTICES.md`。
|
|
33
|
-
- 署名:`THIRD_PARTY_NOTICES.md`(包根,随 tarball 发布:清单 + MIT 全文 + 各权利人)、`third_party/README.md`(provenance、布局、升级步骤、为何内联)。
|
|
34
|
-
- `.gitignore`:放行 `third_party/schemastery/node_modules/`(vendored 拷贝要入库)。
|
|
35
|
-
|
|
36
|
-
## 三、验证
|
|
37
|
-
|
|
38
|
-
1. **类型**:`tsc --noEmit`(host)与 `tsc -p tsconfig.client.json` 均 **0 错**。
|
|
39
|
-
2. **构建**:`npm run build` 通过。产物 **JS 已内联**(`lib/schemastery-*.js` 分块,含 `createVolatile`/`isVolatile`);运行时**无任何**裸 `@deepseek-ai/schemastery|cosmokit` 引用(仅 `.d.ts` 里保留裸类型引用——与改动前行为一致,非回归;类型面宿主本就供给该包)。
|
|
40
|
-
3. **单测**:`vitest run` **57 文件 / 649 passed, 1 skipped**。
|
|
41
|
-
4. **4999 rig(第一人称)**:
|
|
42
|
-
- 安装 `Packages: +1`(仍只加自己);`deps`/`optional` 均为空,schemastery 已不在 peer 清单。
|
|
43
|
-
- **把 profile 树里的 `node_modules/@deepseek-ai/` 整个删掉**后启动:**零 `failed to import`、零 `did not activate`**;`--dump-config` 里 `dashr-failover` + `dashr-compaction-tuning` 两行在场——**正是当年挂掉的那两行**。
|
|
44
|
-
- rig 树里后来重新出现的 `@deepseek-ai/*` 来自 **profile 里的另一个插件 `corti-memory`**(其 `dependencies` 含 `@deepseek-ai/schemastery ^3.18.1`,lockfile 实证),与本插件无关:我们不再贡献该包。
|
|
45
|
-
|
|
46
|
-
## 四、同批修掉的一个 crash 级 bug(本轮发现,非本次改动的目标)
|
|
47
|
-
|
|
48
|
-
rig 停机日志出现:
|
|
49
|
-
|
|
50
|
-
```
|
|
51
|
-
dsh: fatal uncaught exception: Error: write EPIPE
|
|
52
|
-
at KernelTransport.send (…/better-dsh/lib/index.js)
|
|
53
|
-
at IpyKernelBridge.dispose
|
|
54
|
-
at DashrRuntime.teardownKernel
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
根因:round 2 新写的 `KernelTransport` 在 teardown 往**已死的 bridge stdin** 写 `shutdown`,`EPIPE` 以**异步 error 事件**到达,而没有 `error` 监听 → Node 升级为 uncaught exception(守护进程级)。修法:给 `child.stdin`/`stdout` 挂 error 监听(吞掉并把 transport 标死、结算 waiter),并把写操作收敛到 `writeLine()`:先查 `writable` 再写,失败抛普通 Error 而不是让管道错误逃逸。**实测**:重装后 boot + stop 全程日志零 `EPIPE`/`fatal uncaught`。
|
|
58
|
-
|
|
59
|
-
## 五、未做 / 限制
|
|
60
|
-
|
|
61
|
-
- **未发布**:按 AGENTS.md §〇,`npm publish` 需 user 单次明确放行。
|
|
62
|
-
- ~~`.d.ts` 里仍以裸名引用 `@deepseek-ai/schemastery`~~ **已于同日解决**:改为物理 import 后,dts bundler 把 schemastery 类型内联进本地 declaration chunk,`lib/` 里既无 `#schemastery` 也无裸名——运行期与类型面双双自包含。
|
|
63
|
-
- 升级 vendored 版本是**行为变更**(settings/config 全表面):须跑全量单测 + 4999 第一人称后方可发版(步骤见 `third_party/README.md`)。
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
# better-dsh 归零 npm 运行时依赖 — 实测报告
|
|
2
|
-
|
|
3
|
-
日期:2026-10-03 | 规格:`docs/specs/zero-npm-runtime-deps/spec.md` | 目标版本:`0.2.5-a`(本地过程版本,未发布)
|
|
4
|
-
|
|
5
|
-
## 0. 一句话
|
|
6
|
-
|
|
7
|
-
better-dsh 的 `dependencies` / `optionalDependencies` / `postinstall` **全部为空**(60 条 `peerDependencies` 契约保留);真实安装器(DSH Plugin Manager 底层 pnpm)安装本插件现在只加 **1 个包**;REPL 的原生 ZMQ 依赖被换成 venv 内的 Python bridge;AST 的原生 `.node` 与 browser 的 puppeteer 由**我们自己的代码**在首次使用时自装/内联;任何一项失败只让该组件不可用。
|
|
8
|
-
|
|
9
|
-
## 1. 起因(user 报告的真实现象)
|
|
10
|
-
|
|
11
|
-
DSH UI Plugin Manager 安装 better-dsh 时卡住并显示:
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
+ better-dsh 0.2.5-a
|
|
15
|
-
Packages: +15 -71
|
|
16
|
-
node_modules/zeromq install$ node ./script/install.js ← 我们的 REPL 原生依赖(cmake 构建)
|
|
17
|
-
Done in 3.7s using pnpm v11.7.0
|
|
18
|
-
[WARN] GET …/@oven/bun-linux-aarch64-android/-/…-1.4.2.tgz error (UND_ERR_SOCKET). Will retry in 10 seconds.
|
|
19
|
-
dsh: pnpm printed nothing for 600000ms and was terminated
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
定性:**不是构建错误,是超时**。Plugin Manager 对每条捕获输出的 pnpm 运行挂 600000 ms 静默上限(`packages/boot/plugin-manager/src/index.ts:184`),超时杀树并打印 `operations.ts:453` 那句。卡住的下载(Android/arm64 的 Bun 二进制)来自**同一 profile 里另一个插件**(`super-dsh@0.1.9 → bun@1.4.2`):插件 profile 是一个共享 pnpm 工程,"装插件 X" = "重解整个 profile",于是**别人的安装步骤能拖死我们的安装**。user 裁决:不再 declare 任何运行时依赖、不要 postinstall、不碰 npm/pnpm,二进制由组件自己按需自装。
|
|
23
|
-
|
|
24
|
-
## 2. 改动清单
|
|
25
|
-
|
|
26
|
-
| 组件 | 原依赖 | 现处置 |
|
|
27
|
-
|---|---|---|
|
|
28
|
-
| hashline(`diff`/`file-type`/`xxhash-wasm`) | npm 依赖 | `tsdown noExternal` 内联进 `lib/`(`file-type` 经 A/B 构建证明在改动前就已被 tree-shake,直接删) |
|
|
29
|
-
| client(`use-sync-external-store`) | npm 依赖 | 早已内联进 `lib/client/index.js`,删除声明 |
|
|
30
|
-
| REPL(`zeromq`) | npm 依赖 + **顶层静态 import**(缺原生模块 → **整个插件加载死**) | 声明删除;新增 `src/kernel-bridge.py`(venv 内 pyzmq/jupyter_client,stdio JSON lines)+ `src/kernel-transport.ts` |
|
|
31
|
-
| browser(`puppeteer-core`) | npm 依赖 | 构建期内联(实测可拉起 Chrome);保留 vendor 自装兜底 |
|
|
32
|
-
| AST(`@oh-my-pi/pi-natives-*`) | 5 条 `optionalDependencies` | 声明删除;新增 `src/vendor.ts`,首次使用时自装到 `<packageRoot>/.vendor` |
|
|
33
|
-
|
|
34
|
-
新增:`src/vendor.ts`(零依赖自装器:registry packument → sha512/shasum 校验 → 自写 tar+pax 解包 → `createRequire` 解析入口 → 递归闭包 + `os/cpu/libc` 平台过滤 → staging+rename 原子落盘)、`scripts/copy-kernel-bridge.mjs`(把 .py 拷进 `lib/`)。**全程无 `child_process`、无 npm/pnpm/npx 调用**。
|
|
35
|
-
|
|
36
|
-
供给触发点:**守护进程 spin-up 自检**(原有,fire-and-forget)+ **首次使用 lazy**(`ensurePiNatives()` / `loadPuppeteer()` / venv lazy)。无 postinstall。
|
|
37
|
-
|
|
38
|
-
## 3. 实测证据
|
|
39
|
-
|
|
40
|
-
### 3.1 安装(真实安装器,rig profile)
|
|
41
|
-
|
|
42
|
-
```
|
|
43
|
-
web Packages: +1 Done in 1.8s using pnpm v11.7.0
|
|
44
|
-
headless Packages: +1 Done in 858ms using pnpm v11.7.0
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
安装前后 profile 物理树零 `zeromq` / 零 `@oh-my-pi` / 零 `puppeteer`;插件照常加载,启动日志零错误,composed tree 含 `dashr-repl`。**这同时证明 fail-open:REPL 的原生依赖不在场,插件不再跟着死。**
|
|
48
|
-
|
|
49
|
-
### 3.2 REPL(新传输层)
|
|
50
|
-
|
|
51
|
-
- 直连冒烟(真实 ipykernel):kernel_info ✅ / `print("SMOKE",6*7)` → `"SMOKE 42\n"` 流式 ✅ / 到 idle ✅ / **KERNEL_BOOTSTRAP 单元执行无错** ✅ / interrupt ✅ / dispose ✅。
|
|
52
|
-
- host-request comm(新传输唯一未覆盖路径):内核 `create_comm('dashr.host')` → iopub → Node → **control 通道** `comm_msg` 回包 → 内核 control-thread handler 解 future;cell 打印 `HOSTREPLY {'pong': True, ...}` ✅。
|
|
53
|
-
- **4999 第一人称**(`dsh headless` 真实 session):
|
|
54
|
-
- `eval` → `REPL_OK 42`;
|
|
55
|
-
- 同一 Python session 内 `await tool.bash({...})` → `HOST_OK\n`(宿主参数校验失败路径亦被触发)。
|
|
56
|
-
|
|
57
|
-
### 3.3 AST(自装器)
|
|
58
|
-
|
|
59
|
-
- 自装器单测:provision `@oh-my-pi/pi-natives-linux-x64@18.0.6`(2×163MB `.node`)→ **dlopen 成功**(exports `astGrep`/`astEdit`/…)→ 二次调用 reuse → `^18.0.0 -> 18.4.12`。
|
|
60
|
-
- **4999 第一人称(最终产物)**:`dsh headless` 让 agent 用 `dvc://ast_grep` 搜 `loadPiNatives` → `totalMatches: 3 / filesWithMatches: 2 / filesSearched: 189`;同一时刻 `<plugin>/.vendor` 出现 **314MB** 的 `@oh-my-pi/pi-natives-linux-x64`,而 **profile 树里没有 `@oh-my-pi`** —— 证明二进制是我们自己下的。
|
|
61
|
-
|
|
62
|
-
### 3.4 browser(puppeteer 内联)
|
|
63
|
-
|
|
64
|
-
`lib/puppeteer-core-*.js` 导出 206 项(含 `launch`/`connect`);用系统 Chrome 实测 `launch()` → `setContent` → `evaluate` 取回 `BUNDLED_PUPPETEER_OK`。
|
|
65
|
-
|
|
66
|
-
### 3.5 构建卫生
|
|
67
|
-
|
|
68
|
-
`tsc --noEmit` 0 错;`npm run build` 通过;产物除 peer 契约外无外部包引用(`zeromq` 彻底消失);全量单测 **57 files / 649 passed, 1 skipped**。
|
|
69
|
-
|
|
70
|
-
## 4. 过程中修掉的两个真 bug(都是本轮暴露、本轮修复)
|
|
71
|
-
|
|
72
|
-
1. **bridge 静默死通道**:jupyter_client 反序列化后的 header `date` 是 `datetime`,`json.dumps` 抛异常且**在 pump 线程里静默打死整条通道**(现象:"桥 ready 了但一条消息都没有")。修法:`default=str` + 单条消息失败不许杀通道。
|
|
73
|
-
2. **自装器锚点逃逸**:`findPackageDir(name, VENDOR_ROOT)` 会从 `.vendor` **向上走出**到 `node_modules`,破坏加载器"锚点有界"契约(单测 `ast-device.spec.ts` 抓到)。修法:vendor 走精确路径 `VENDOR_ROOT/node_modules/<name>`,且显式 `fromDir` 探测时**永不 provision**。
|
|
74
|
-
另修正 round 2 我引入的 `package.json` **重复 `puppeteer-core` 键**(已在清空依赖块时一并消除)。
|
|
75
|
-
|
|
76
|
-
## 5. 未做 / 已知限制
|
|
77
|
-
|
|
78
|
-
- **未发布**。按本仓红线,`npm publish` 需 user 单次明确放行。
|
|
79
|
-
- 自装代码自担:版本钉死、sha512 校验、平台探测、并发去重(当前无锁:两个进程同时首用可能重复下载,后者被 rename 覆盖)、代理/离线行为。
|
|
80
|
-
- AST 首次使用要下 ~314MB(上游包内含 baseline+modern 两个 CPU 变体,无法只取其一)。
|
|
81
|
-
- `.vendor`/`.venv-kernel` 都在包目录内,**重装插件会重下**(与既有 venv 行为一致)。
|
|
82
|
-
- 本机 rig 树里残留的旧 `@puppeteer`/`@oh-my-pi` 目录已手工清除(pnpm hoisted 树不回收无引用目录)。
|
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
# better-dsh 0.2.5-d 发布验收报告(2026-10-04,rig 4998)
|
|
2
|
-
|
|
3
|
-
- **被测物**: `better-dsh@0.2.5-d`(commit `4981254`,`feat(ast): surface silent failure modes as diagnostic fields`)
|
|
4
|
-
- **环境**: 交付形态 tarball 安装位 rig,端口 **4998**,`DSH_HOME=.test/home/compat`,profile `web`;驱动 = 第一人称真实 session(HTTP RPC 两段形,与《2026-10-03-ast-engine-deomp-4999实测报告》§四/§五 同款 password-gate + `/api` 信封)
|
|
5
|
-
- **发布状态**: **未发布**。`npm publish` 需 user 单独明确放行(AGENTS §〇 红线);本报告 §五 给出 pre-flight checklist 与 `--dry-run` 证据,发布动作不在本任务内。
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 0. 一句话
|
|
10
|
-
|
|
11
|
-
0.2.5-d 在 4998 rig 以交付形态(tarball remove→add)完成第一人称 live 验收:诊断契约三字段 `pathNotFound` / `overlapping` / `patternErrors` 全部在真实 session 里以原样 JSON 落实,`.vendor` 全程不重建、日志零 OMP/registry 行;一处处方偏差(任务给的"旧静默 pattern"实为单根 pattern,不触发 `patternErrors`)已用真 multi-root pattern 补测闭环,并给出引擎级根因。
|
|
12
|
-
|
|
13
|
-
## 1. 0.2.5-d 内容物
|
|
14
|
-
|
|
15
|
-
### 1.1 引擎替换回顾(0.2.5 系已完成,0.2.5-d 继承)
|
|
16
|
-
|
|
17
|
-
- 原生 addon(`@oh-my-pi` / pi_natives,静默供给)→ **包内 WASM ast-grep 引擎**:`lib/ast-assets/` 16 文件(ast-grep.wasm + tree-sitter.wasm + 14 语言 grammar wasm),冷启动零外部供给——`.vendor` 目录全程不出现,rig 日志 `omp|oh-my-pi|registry` **0 命中**(本轮全文件 grep,40 行)。
|
|
18
|
-
- 交付物延续 docs-packaging-trim 形态:tarball 5.1 MB / **733 文件**(shasum `5b3e3e35e25aaa34ef160035e027767975912217`)。
|
|
19
|
-
- 引擎行为面已被 0.2.5 系列锁定:对齐 pattern 34/8/11(4999 首测 §4.4 / 4998 复测 §4.8.3 逐字段一致)、dryRun 默认拦截、真写盘-回滚闭环、14 语言 match matrix(`a2d32a5`)。
|
|
20
|
-
|
|
21
|
-
### 1.2 诊断契约增量(0.2.5-d 本体 = commit `4981254`)
|
|
22
|
-
|
|
23
|
-
对原生前辈三类静默失败(契约报告 A1/A3/A6)的**有意分歧**,契约见 `docs/20_specs/ast/spec.md` §41:
|
|
24
|
-
|
|
25
|
-
| 字段 | 设备 | 语义 | 对应旧静默行为 |
|
|
26
|
-
|---|---|---|---|
|
|
27
|
-
| `patternErrors?: string[]` | 两者 | pattern 编译不成单根 AST 节点时逐条透出(`pattern <index> ("<pattern>"): <底层消息>`),健康 pattern 的 matches 照常返回;硬语法错误仍抛 `DVC_DEVICE_ERROR` | A1:multi-root pattern 伪装成 0 命中 |
|
|
28
|
-
| `pathNotFound?: boolean` | 两者 | 解析后的 target root 不在盘上 → `true` | A3:路径不存在与真 0 命中不可区分 |
|
|
29
|
-
| `overlapping?: number` | `ast_edit` | 重叠守卫丢弃的编辑计数(先入列 op 胜),仅 >0 时出现 | A6:守卫存在但计数不可见,遮蔽 op 静默消失 |
|
|
30
|
-
|
|
31
|
-
另:两设备 summary 明示**无 workspace 边界检查**(边界 = approval/policy 层;A5 文档化处理)。
|
|
32
|
-
|
|
33
|
-
## 2. 安装与站点证据
|
|
34
|
-
|
|
35
|
-
- 构建:`npm run build`(tsdown + build-client + kernel-bridge + ast-assets,输出 `ast-assets: 16 files, 14.4 MB`)→ `npm pack` → `better-dsh-0.2.5-d.tgz`。
|
|
36
|
-
- 安装(file: tarball 不刷新,**remove→add 一个来回**):`plugin --profile web remove better-dsh` → `add …/better-dsh-0.2.5-d.tgz` → `Packages: +1`(pnpm 11.7.0)→ `PORT=4998 bash .test/seed/test123/start.sh`(unit `dsh-4998-test123` + `test123-lan-4998-relay`)。
|
|
37
|
-
- 安装位核验:`package.json` version → **`"0.2.5-d"`**;`lib/ast-assets` → **16 文件**;`.vendor` → **ABSENT**(`ls` exit 2)。profile `package.json` 依赖行 `file:/home/u1/workspaces/dashr/better-dsh/better-dsh-0.2.5-d.tgz`。
|
|
38
|
-
- 站点:password gate `POST / -d password=admin` → **303** + `dsh-auth-<hash>` cookie(HttpOnly);boot graph 含 `"id":"better-dsh"`;`/plugins/??better-dsh/client.js&rev=4b9802368848` → **200**(29,700 B,= 安装位 `lib/client/index.js` 29,633 B + 服务端追加 sourceMappingURL 行,`cmp` 前缀逐字节一致)。
|
|
39
|
-
|
|
40
|
-
## 3. 第一人称 live 实测(真实 session,六项)
|
|
41
|
-
|
|
42
|
-
### 3.1 驱动过程与环境事件(透明记录)
|
|
43
|
-
|
|
44
|
-
- 驱动:§四/§五 同款两段形——`POST /api/session/create`(`client-request` 信封,`request.cwd=/home/u1/workspaces/dashr`)→ `POST /api/session/prompt`(`mode:'queue'`)。会话日志 `.test/home/compat/sessions/--home-u1-workspaces-dashr--/session-f4122ee1-3dab-498b-9ff0-280b470afd2b/session.v4.jsonl.zstd`,全部结果为 `tool/result` 事件原样 JSON。
|
|
45
|
-
- **QUOTA 事件**:前两个 session(`session-ac7f2999…`、`session-2ca4edea…`)首 turn 即 `Insufficient Balance`(HTTP 402 QUOTA)——rig 既有三条 LLM 路由全部欠费(`zai` ZAI_API_KEY / `deepseek-official` DEEPSEEK_API_KEY / `deepseek-openai` 存储 key)。**供给修复**:直连探测发现 ZAI **Anthropic 协议端点**(plan 订阅)可用而 paas 计费端点欠费,遂在 rig home patch(`cordis.patch.yml`,测试资产)新增 `zai-plan` provider 行(`api: anthropic-messages`,`baseURL: https://open.bigmodel.cn/api/anthropic`,`apiKeyEnv: ZAI_PLAN_API_KEY`,model `glm-4.7`),重启 rig 后 `session/selectModel` 指定该路由,turn 正常完成。**此为环境供给修复,不触及被测面**(被测面 = 包内 WASM 引擎 + 宿主 write dvc:// 路径,与 LLM 路由无关)。
|
|
46
|
-
- 有效会话 `session-f4122ee1…`:2 turn、8 次工具调用(write dvc://×5 / bash×3),turn 1 与 turn 2 均 `reason.kind = "completed"`。
|
|
47
|
-
|
|
48
|
-
### 3.2 (a) 旧静默处方 pattern —— 结果与任务预期不符(引擎级根因,见 §3.3)
|
|
49
|
-
|
|
50
|
-
`write dvc://ast_grep`,content `{"patterns":["export function $NAME($$$ARGS)"],"path":"better-dsh/src/devices/ast"}`(seq 21 原样):
|
|
51
|
-
|
|
52
|
-
```json
|
|
53
|
-
{
|
|
54
|
-
"matches": [],
|
|
55
|
-
"totalMatches": 0,
|
|
56
|
-
"filesWithMatches": 0,
|
|
57
|
-
"filesSearched": 11,
|
|
58
|
-
"limitReached": false
|
|
59
|
-
}
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
**无 `patternErrors`,且这是 0.2.5-d 的正确行为**:该 pattern 在 WASM ast-grep 里编译为**单根**(`export function $NAME($$$ARGS)` 解析为一个合法但永不匹配的声明节点),不抛 `Multiple AST nodes are detected`,因此不属于 patternErrors 契约面。独立对拍:本地以 0.2.5-d 源码(vitest 直驱 `dispatchDvcWrite`,同 pattern 同形 fixture)返回**逐字段一致**的静默形态——rig 与源码零漂移。旧契约报告 §7 把此 pattern 的 0.2.5-c 静默归因为 MULTI_NODE 吞噬,系排除法推断,对 WASM 引擎不成立(真正的静默机制是该 pattern 单根但结构不全,永不匹配)。**规避口径不变:pattern 必须写完整节点**。
|
|
63
|
-
|
|
64
|
-
### 3.3 (a2) 补充:真 multi-root pattern → `patternErrors` live(A1 分歧验收)
|
|
65
|
-
|
|
66
|
-
`write dvc://ast_grep`,content `{"patterns":["const $A = $B\nconst $C = $D"],"path":"better-dsh/src/devices/ast"}`(两语句 = 双根;seq 74 原样):
|
|
67
|
-
|
|
68
|
-
```json
|
|
69
|
-
{
|
|
70
|
-
"matches": [],
|
|
71
|
-
"totalMatches": 0,
|
|
72
|
-
"filesWithMatches": 0,
|
|
73
|
-
"filesSearched": 11,
|
|
74
|
-
"limitReached": false,
|
|
75
|
-
"patternErrors": [
|
|
76
|
-
"pattern 0 (\"const $A = $B\nconst $C = $D\"): Multiple AST nodes are detected. Please check the pattern source `const µA = µB\nconst µC = µD`."
|
|
77
|
-
]
|
|
78
|
-
}
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
`patternErrors` 1 条(index + pattern 原文 + 底层消息)、0 matches——与单测(`ast-device.spec.ts:258`)及 spec §45 的 WHEN/THEN 一致,A1 分歧在 live 落实。
|
|
82
|
-
|
|
83
|
-
### 3.4 (b) 完整节点 pattern → 真命中
|
|
84
|
-
|
|
85
|
-
`write dvc://ast_grep`,content `{"patterns":["export function $NAME($$$ARGS): $RET { $$$BODY }"],"path":"better-dsh/src/devices/ast","includeMeta":true,"limit":3}`(seq 28 原样,节选):
|
|
86
|
-
|
|
87
|
-
```json
|
|
88
|
-
{
|
|
89
|
-
"matches": [
|
|
90
|
-
{
|
|
91
|
-
"path": "better-dsh/src/devices/ast/ast-device.ts",
|
|
92
|
-
"text": "export function registerAstDevices(registry: DvcRegistry = { registerDvcDevice }): void { … }",
|
|
93
|
-
"byteStart": 13399, "byteEnd": 13688,
|
|
94
|
-
"startLine": 310, "startColumn": 1, "endLine": 313, "endColumn": 2,
|
|
95
|
-
"metaVariables": { "NAME": "registerAstDevices", "ARGS": "[registry: DvcRegistry = { registerDvcDevice }]", "RET": "void", "BODY": "[registry.registerDvcDevice('ast_edit', …), registry.registerDvcDevice('ast_grep', …)]" }
|
|
96
|
-
},
|
|
97
|
-
{ "path": "better-dsh/src/devices/ast/ast-reminder.ts", "text": "export function disposeAstReminders(sessionId: string): void { … }", "byteStart": 2063, "byteEnd": 2156, "startLine": 42, "…": "…(第 3 条 astFileNotice byteStart 3169,页共 3 条)" }
|
|
98
|
-
],
|
|
99
|
-
"totalMatches": 13,
|
|
100
|
-
"filesWithMatches": 8,
|
|
101
|
-
"filesSearched": 11,
|
|
102
|
-
"limitReached": true
|
|
103
|
-
}
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
**13/8/11 + `limitReached:true`(`limit:3` 分页)**,与旧契约报告 §7 对照实验的完整节点 13/8 完全一致;元变量四类捕获(NAME/ARGS/RET/BODY)齐全。
|
|
107
|
-
|
|
108
|
-
### 3.5 (c) 不存在路径 → `pathNotFound`(A3 分歧验收)
|
|
109
|
-
|
|
110
|
-
`write dvc://ast_grep`,content `{"patterns":["export function $N($$$A)"],"path":"no/such/dir"}`(seq 35 原样):
|
|
111
|
-
|
|
112
|
-
```json
|
|
113
|
-
{
|
|
114
|
-
"matches": [],
|
|
115
|
-
"totalMatches": 0,
|
|
116
|
-
"filesWithMatches": 0,
|
|
117
|
-
"filesSearched": 0,
|
|
118
|
-
"limitReached": false,
|
|
119
|
-
"pathNotFound": true
|
|
120
|
-
}
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
`pathNotFound:true` + `filesSearched:0`——与真 0 命中(§3.2 的 11 文件形态)可区分。✅
|
|
124
|
-
|
|
125
|
-
### 3.6 (d) 重叠双 op → `overlapping:1`,仅首 op 落盘(A6 分歧验收)
|
|
126
|
-
|
|
127
|
-
夹具 `.scratch/ast-tool-test/overlap-026.ts`(写前 md5 `fd021aa9ffa0389ba92a1320c6b9e4f3`,内容 `export function overlapTarget(x: number): number {\n return x * 2\n}`)。`write dvc://ast_edit`,content `{"ops":[{pat:"export function $NAME($$$ARGS): $RET { $$$BODY }", out:"… { /*op1-applied*/ $$$BODY }"},{pat:"function $NAME($$$ARGS): $RET { $$$BODY }", out:"… { /*op2-dropped-overlap*/ $$$BODY }"}],"paths":[".scratch/ast-tool-test/overlap-026.ts"],"dryRun":false}`(seq 42 原样):
|
|
128
|
-
|
|
129
|
-
```json
|
|
130
|
-
{
|
|
131
|
-
"changes": [
|
|
132
|
-
{
|
|
133
|
-
"path": ".scratch/ast-tool-test/overlap-026.ts",
|
|
134
|
-
"before": "export function overlapTarget(x: number): number {\n return x * 2\n}",
|
|
135
|
-
"after": "export function overlapTarget(x: number): number { /*op1-applied*/ return x * 2 }",
|
|
136
|
-
"byteStart": 0, "byteEnd": 67, "deletedLength": 67,
|
|
137
|
-
"startLine": 1, "startColumn": 1, "endLine": 3, "endColumn": 2
|
|
138
|
-
}
|
|
139
|
-
],
|
|
140
|
-
"fileChanges": [{ "path": ".scratch/ast-tool-test/overlap-026.ts", "count": 1 }],
|
|
141
|
-
"totalReplacements": 1,
|
|
142
|
-
"filesTouched": 1,
|
|
143
|
-
"filesSearched": 1,
|
|
144
|
-
"applied": true,
|
|
145
|
-
"limitReached": false,
|
|
146
|
-
"overlapping": 1
|
|
147
|
-
}
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
`changes[]` 只含 op1;盘面复核(seq 49 会话内 `cat` + 会话外 md5 `eab9de680da668fbabe79c22a575c67c`):
|
|
151
|
-
|
|
152
|
-
```text
|
|
153
|
-
export function overlapTarget(x: number): number { /*op1-applied*/ return x * 2 }
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
仅 `/*op1-applied*/` 在场,`/*op2-dropped-overlap*/` 未出现——先入列 op 胜 + 丢弃计数透出,与引擎守卫(`engine/edit.ts` 按 start 升序线性扫描)及单测(`ast-device.spec.ts:299`)一致。✅
|
|
157
|
-
|
|
158
|
-
### 3.7 (e) `.vendor` 供给链复核
|
|
159
|
-
|
|
160
|
-
全部 dvc 调用之后:`.test/home/compat/profiles/web/node_modules/better-dsh/.vendor` → **ABSENT**(会话内 seq 56 `ls` 报 `No such file or directory`;会话外复核 exit 2);`lib/ast-assets` 仍 **16 文件**(seq 56 会话内 `wc -l` = 16)。rig 日志 `grep -icE "omp|oh-my-pi|registry"` → **0**。✅
|
|
161
|
-
|
|
162
|
-
### 3.8 源码树不变量
|
|
163
|
-
|
|
164
|
-
`git status --short -- better-dsh/src better-dsh/test better-dsh/package.json` → **空**(live 写盘仅落在 gitignored `.scratch/` 夹具,符合预期)。
|
|
165
|
-
|
|
166
|
-
## 4. 构建卫生(非验收,记录用)
|
|
167
|
-
|
|
168
|
-
| 项 | 结果 |
|
|
169
|
-
|---|---|
|
|
170
|
-
| `tsc --noEmit`(host) | **0 错误**(exit 0) |
|
|
171
|
-
| `tsc -p tsconfig.client.json`(client) | **0 错误**(exit 0) |
|
|
172
|
-
| `npx vitest run` | **65 文件 / 705 passed + 1 skipped(706)**,169 s |
|
|
173
|
-
|
|
174
|
-
## 5. `npm publish` pre-flight checklist(发布闸门,未执行发布)
|
|
175
|
-
|
|
176
|
-
按 AGENTS §〇:a(本报告第一人称实测)✅ → b(报告落盘)✅ → c(**user 明确放行,待办**)→ d(publish)。当前到 b 为止。
|
|
177
|
-
|
|
178
|
-
- [x] **registry 目标**: `npm config get registry` → `https://registry.npmjs.org/`;whoami → `pgmi-builds`
|
|
179
|
-
- [x] **版本**: `package.json` `name: better-dsh`, `version: 0.2.5-d`(与安装位一致)
|
|
180
|
-
- [x] **files 列表**: `lib`、`THIRD_PARTY_NOTICES.md`、`docs`、`dsh-docs`、`cordis.patch.yml`、`eval-description.md`、`url-schemes-instruction.md`、`scripts/kernel-provision.mjs`
|
|
181
|
-
- [x] **`npm publish --dry-run`**(未发布,输出尾 8 行原样):
|
|
182
|
-
|
|
183
|
-
```text
|
|
184
|
-
npm notice === Tarball Details ===
|
|
185
|
-
npm notice name: better-dsh
|
|
186
|
-
npm notice version: 0.2.5-d
|
|
187
|
-
npm notice filename: better-dsh-0.2.5-d.tgz
|
|
188
|
-
npm notice package size: 5.1 MB
|
|
189
|
-
npm notice unpacked size: 27.0 MB
|
|
190
|
-
npm notice shasum: 5b3e3e35e25aaa34ef160035e027767975912217
|
|
191
|
-
npm notice total files: 733
|
|
192
|
-
npm notice
|
|
193
|
-
npm notice Publishing to https://registry.npmjs.org/ with tag latest and default access (dry-run)
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
- [x] 干跑确认:尾行带 `(dry-run)`,registry 无任何足迹。
|
|
197
|
-
- [ ] **user 放行后**:`npm publish`(真实动作)→ tag `v0.2.5-d`(GitHub 侧可逆,随发布节奏)。
|
|
198
|
-
|
|
199
|
-
## 6. 偏差与关注项
|
|
200
|
-
|
|
201
|
-
1. **处方 (a) 预期未按字面达成(已闭环)**:任务处方的 `export function $NAME($$$ARGS)` 不触发 `patternErrors`——单根 pattern 永不匹配≠multi-root 编译失败;本地 0.2.5-d 源码对拍逐字段一致,判定为**处方对旧 §7 根因推断的继承误差**,非产品缺陷。A1 验收由 (a2) 真 multi-root pattern 补齐。建议:后续文档/指引里把"完整节点"口径与"multi-root 才报 patternErrors"口径并列写清(单根残缺 pattern 仍是静默 0 命中,属引擎语义)。
|
|
202
|
-
2. **rig LLM 路由欠费**:三条既有路由 402 QUOTA;本轮以 `zai-plan`(Anthropic 端点)provider 行修复并留作 rig 默认(`agent-default-model` 现为 `zai-plan/glm-4.7`,原 `zai/glm-5.3-flash` 已欠费不可用)。rig home patch 为测试资产,该行建议保留至 paas 路由充值。
|
|
203
|
-
3. **`filesSearched` 双形态口径**(旧 A4,未变):目录遍历跳过非代码文件、显式单文件计入——§3.2(11)与 §3.6(1)的数字口径不同属设计内。
|
|
204
|
-
4. 首个 QUOTA 失败 turn 的会话(`ac7f2999`/`2ca4edea`)留在 rig home sessions 内,随 home 复用自然沉淀。
|
|
205
|
-
|
|
206
|
-
## 7. 复现
|
|
207
|
-
|
|
208
|
-
```bash
|
|
209
|
-
cd ~/workspaces/dashr/better-dsh && npm run build && npm pack
|
|
210
|
-
cd ~/workspaces/dashr
|
|
211
|
-
DSH_HOME=$PWD/.test/home/compat node upstream/deepseek-harness/apps/cli/lib/bin.js plugin --profile web remove better-dsh
|
|
212
|
-
DSH_HOME=$PWD/.test/home/compat node upstream/deepseek-harness/apps/cli/lib/bin.js plugin --profile web add $PWD/better-dsh/better-dsh-0.2.5-d.tgz
|
|
213
|
-
PORT=4998 bash .test/seed/test123/start.sh
|
|
214
|
-
# 认证 + RPC 两段形:POST /(password gate 铸 cookie)→ /api/session/create → /api/session/selectModel(zai-plan/glm-4.7)→ /api/session/prompt(queue)
|
|
215
|
-
# 会话日志:.test/home/compat/sessions/--home-u1-workspaces-dashr--/session-f4122ee1-…/session.v4.jsonl.zstd(seq 21/28/35/42/49/56/74)
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
## 0.2.5-d 重打包说明(无重验)
|
|
219
|
-
|
|
220
|
-
版本串按 user 指令从 0.2.6 改为 0.2.5-d。**未重跑 rig 验证**:改动仅为 `package.json` 的 `version` 字段,不触及任何已验证面。等价性证据:重打包后 tgz 内 `lib/` 65 个文件与 0.2.6 验证轮的构建产物 sha256 逐文件一致(清单比对),即发布的就是验证过的那个产物。
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
# `dvc://ast_grep` / `dvc://ast_edit` 契约与边界实测报告(2026-10-04,4998 rig)
|
|
2
|
-
|
|
3
|
-
- **被测面**: `dvc://ast_grep`、`dvc://ast_edit`(better-dsh ast 设备)
|
|
4
|
-
- **环境**: trimmed 安装位 rig,端口 **4998**,`DSH_HOME=.test/home/compat`,安装位 `better-dsh@0.2.5-c`(docs 已瘦身);文件策略 `danger-full-access`、approval `never`(无审批/沙箱旁路干扰,探针所见即设备行为)
|
|
5
|
-
- **方法**: 在一次性夹具上跑 **20 项探针**,每项都做**盘面复核**(`cat` / `md5sum`)而非只看返回值
|
|
6
|
-
- **与前序报告的关系**: `2026-10-03-better-dsh-tool-surface-repl-dvc-browser-ast-lsp-4999实测报告.md` 的 §4/§5 是**面**的覆盖(设备能不能用);本篇是**契约与边界**面(参数语义、错误路径、跨语言、越界、分页),并关闭其 §9 遗留项 `dvc://ast_edit 相对路径未复测`
|
|
7
|
-
- **判定**: 两设备功能面 **全绿**(19/20 行为符合预期);新增 1 条**错误静默**行为面(A1),非功能缺陷但属可用性/可诊断性缺口
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## 0. 一句话
|
|
12
|
-
|
|
13
|
-
`ast_grep` / `ast_edit` 在 trimmed 安装位上功能完整(AST 级匹配、元变量、分页、多语言、目录递归、dryRun 默认安全、真写盘字节级正确);主要风险不在功能而在**失败模式的静默**——0 命中、坏 pattern、路径不存在三者返回值不可区分。
|
|
14
|
-
|
|
15
|
-
## 1. 被测面口径
|
|
16
|
-
|
|
17
|
-
两个设备都用「对设备 URI 执行 `write`」的方式驱动,args 为 JSON 对象:
|
|
18
|
-
|
|
19
|
-
- `ast_grep`: `{patterns: string[], path?, offset?, limit?, includeMeta?}`
|
|
20
|
-
- `ast_edit`: `{ops: [{pat, out}], paths: string[], dryRun?}`
|
|
21
|
-
|
|
22
|
-
## 2. 夹具与不变量
|
|
23
|
-
|
|
24
|
-
夹具 `.scratch/ast-tool-test/`:`sample.ts`(TS,含 interface/function/箭头函数/legacy function)、`sample.py`(def/class/print)、`notes.md`、`data.json`。
|
|
25
|
-
|
|
26
|
-
| 文件 | 初始 md5 | 终态 md5 |
|
|
27
|
-
|---|---|---|
|
|
28
|
-
| `sample.ts` | `adfa9abc6ac2e1340cb8812a6b07e6ff` | `0af459a01c4eae5619950ca88ae3160f` |
|
|
29
|
-
| `sample.py` | `e75c4312a714c0e9dd4f05da0146fa05`(首改后) | `e75c4312a714c0e9dd4f05da0146fa05` |
|
|
30
|
-
| `notes.md` / `data.json` | — | 全程未变 |
|
|
31
|
-
|
|
32
|
-
**不变量结论**:dryRun 期盘面零改动;真写盘期仅目标文件变化;**零命中真写盘后 md5 与写前逐字节相同**(无空改/重排版)。
|
|
33
|
-
|
|
34
|
-
## 3. `ast_grep` 探针矩阵
|
|
35
|
-
|
|
36
|
-
| # | 探针 | 结果 |
|
|
37
|
-
|---|---|---|
|
|
38
|
-
| 1 | 5 pattern 同发(其一带故意不匹配项),`includeMeta:true` | ✅ 4 命中,`totalMatches:4`;`metaVariables` 正确(`NAME`/`MEMBERS`/`A`/`ARGS`/`BODY`) |
|
|
39
|
-
| 2 | 省略 `path` | ✅ 基准 = **进程 cwd**,扫 **313** 文件;`node_modules` / `.git` 被静默跳过 |
|
|
40
|
-
| 3 | 目录 + 正命中 pattern | ✅ 196 文件扫出 15 命中;`limit:3` 时 `limitReached:true` |
|
|
41
|
-
| 4 | `offset:3, limit:3` | ✅ 返回**第 4–6 条**,与第 1 页不相交(分页真实生效) |
|
|
42
|
-
| 5 | Python 语法 pattern(`def`/`print`) | ✅ 命中;**语言由扩展名推断** |
|
|
43
|
-
| 6 | `includeMeta` false / true | ✅ 两形态均正确 |
|
|
44
|
-
| 7 | 不存在的文件 | ⚠️ **不报错**,`filesSearched:0`、零命中 |
|
|
45
|
-
| 8 | 畸形 pattern | ⚠️ **不报错**,零命中,`filesSearched:1` |
|
|
46
|
-
| 9 | 缺 `patterns` | ✅ 硬报错:`` `patterns` must be a non-empty array of strings `` |
|
|
47
|
-
|
|
48
|
-
**目录扫描语义**(由 #2 #3 与 §5 交叉验证):
|
|
49
|
-
|
|
50
|
-
- 目录遍历时 `.md` / `.json` **不进搜索集**(`better-dsh/src` 196 文件 vs 显式传单文件时把非代码文件也算 1)
|
|
51
|
-
- 显式传单个非代码文件时会计入 `filesSearched`(**计数语义在两种调用形态下不可比**,见 A4)
|
|
52
|
-
- `totalMatches` = 全量命中数;`limitReached:true` 只表示**返回页被截断**
|
|
53
|
-
|
|
54
|
-
## 4. `ast_edit` 探针矩阵
|
|
55
|
-
|
|
56
|
-
| # | 探针 | 结果 |
|
|
57
|
-
|---|---|---|
|
|
58
|
-
| 10 | **省略 `dryRun`** | ✅ 默认 `true`:`applied:false`,md5 未变(fail-safe 默认) |
|
|
59
|
-
| 11 | `dryRun:false`,2 条 op | ✅ 两条均落盘;md5 `adfa…`→`0af4…`,`cat` 复核 `console.log(msg)`→`logger.info(msg)`、`function legacyThing` → 箭头函数 |
|
|
60
|
-
| 12 | Python 文件 | ✅ `print(...)` → `sys.stderr.write(...)` |
|
|
61
|
-
| 13 | `paths` 传**目录** | ✅ 递归生效,`filesSearched:2` |
|
|
62
|
-
| 14 | `paths` 传**绝对路径(workspace 之外 `/tmp`)** | ✅ 直接写入成功;返回 `path` 为未规范化的 `../../../../tmp/…` |
|
|
63
|
-
| 15 | **重叠** op(两 pattern 命中同一节点) | ✅ 先入列者胜;**遮蔽的 op 静默消失**(源码有重叠守卫,见 A6) |
|
|
64
|
-
| 16 | 不存在的路径 | ⚠️ `applied:true`、零改动、**不报错** |
|
|
65
|
-
| 17 | 畸形 pattern | ⚠️ `applied:true`、零改动、**不报错** |
|
|
66
|
-
| 18 | 缺 `paths` | ✅ 硬报错:`` `paths` must be a non-empty array of strings `` |
|
|
67
|
-
| 19 | 真写盘但零命中 | ✅ 文件**逐字节未变**(无重排版/空改) |
|
|
68
|
-
|
|
69
|
-
## 5. 交叉验证(防假阴性)
|
|
70
|
-
|
|
71
|
-
对 #3 的**零命中**结果做了独立 ground truth 核对,防止把「工具坏了」误判成「确实没有」:
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
grep -rn 'console\.log' better-dsh/src | wc -l # → 0(与 ast_grep 结论一致,非假阴性)
|
|
75
|
-
grep -rn 'export function' better-dsh/src/devices/ast | wc -l # → 10
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
经验法则:**`totalMatches:0` 但 `filesSearched>0` 时,先 grep 证明目标是否存在,再检查 pattern 是否完整节点。**
|
|
79
|
-
|
|
80
|
-
## 6. 发现清单
|
|
81
|
-
|
|
82
|
-
| ID | 严重度 | 面 | 现象 | 建议 |
|
|
83
|
-
|---|---|---|---|---|
|
|
84
|
-
| **A1** | 中(可诊断性) | 两者 | **不完整 AST 节点 pattern 静默零命中**。见 §7 根因分析 | 把 `Multiple AST nodes are detected` 透出为 `unavailable`/`patternError` 字段,而非回落空结果 |
|
|
85
|
-
| **A2** | 低(语义) | `ast_edit` | `applied` = 「本次不是 dryRun」,**不等于「有文件被改」**:#16/#17 零改动仍回 `applied:true` | 改名或补 `changed:boolean`;判定用 `filesTouched`/`totalReplacements` |
|
|
86
|
-
| **A3** | 中(可诊断性) | 两者 | **三类失败不可区分**:真实零命中 / 坏 pattern / 路径不存在,返回值形状一致 | 至少区分「路径不存在」(#7 #16 已有 `filesSearched:0` 可作信号,但未标错) |
|
|
87
|
-
| **A4** | 低(语义) | `ast_grep` | `filesSearched` 两形态不可比:目录遍历跳过非代码文件,显式传单文件却计入 | help 里明确计数口径 |
|
|
88
|
-
| **A5** | 中(安全面) | `ast_edit` | **无 workspace 边界**:绝对路径可写 workspace 之外(#14 `/tmp` 实测成功),且返回路径未规范化 | 明确「设备无沙箱,边界由 approval/policy 层负责」;或规范化显示路径 |
|
|
89
|
-
| **A6** | 观察(正面) | `ast_edit` | 重叠编辑有**显式守卫**(`src/devices/ast/engine/edit.ts` 内按 start 升序线性扫描 + `overlapping` 计数),先入列 pattern 胜——**非未定义行为**;但该计数**未出现在设备返回体中**,故从 API 看仍表现为静默 | 把 `overlapping` 透出到返回值 |
|
|
90
|
-
|
|
91
|
-
## 7. A1 根因分析(不完整节点 pattern)
|
|
92
|
-
|
|
93
|
-
**触发**:`{"patterns":["export function $NAME($$$ARGS)"],"path":"better-dsh/src/devices/ast"}` → `totalMatches:0`、`filesSearched:11`。
|
|
94
|
-
|
|
95
|
-
**根因(代码路径排除法)**:`src/devices/ast/engine/match.ts` 中 `findInSource` 的 `root.findAll(pattern)` 外包了一层 catch:
|
|
96
|
-
|
|
97
|
-
```ts
|
|
98
|
-
} catch (error) {
|
|
99
|
-
if (error instanceof Error && error.message.includes(MULTI_NODE)) return { matches: [], unavailable: false }
|
|
100
|
-
throw error
|
|
101
|
-
}
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
`MULTI_NODE = 'Multiple AST nodes are detected'`(同文件 :13)。该 catch 是**唯一**回落为空的分支,其余错误一律 rethrow(设备层会显式报错,如 #9/#18 所见)。既然 #A1 与 #17 都没有报错、只回空结果,**只能**是命中该分支:pattern 只写了签名(缺函数体),不是完整 AST 节点,ast-grep 抛 `MULTI_NODE` 后被吞掉并伪装成「无命中」。同族处理见 `engine/edit.ts:55`(`continue` 跳过)。
|
|
105
|
-
|
|
106
|
-
**对照实验(同目录,同一设备)**:
|
|
107
|
-
|
|
108
|
-
| pattern | 结果 |
|
|
109
|
-
|---|---|
|
|
110
|
-
| `export function $NAME($$$ARGS)`(用户处方,不完整节点) | `totalMatches: 0`(静默) |
|
|
111
|
-
| `export function $NAME($$$ARGS) { $$$BODY }` 等三条完整节点 | **`totalMatches: 13` / `filesWithMatches: 8`** |
|
|
112
|
-
|
|
113
|
-
**规避**:pattern 必须写成**完整 AST 节点**;0 命中时先按 §5 交叉验证。
|
|
114
|
-
|
|
115
|
-
## 8. 相对路径基准(前序 F1 复验)
|
|
116
|
-
|
|
117
|
-
前序报告 F1 记录:相对 `path` 基准 = harness 进程 cwd,`"better-dsh/src"` 直接 `Path not found`。该问题已在 `2026-10-03-physical-import与llm-completion-ast相对路径修复实测报告.md` §三 修复(基准改为会话 workspace)。
|
|
118
|
-
|
|
119
|
-
**本轮复验(trimmed 安装位 0.2.5-c)**:`path:"better-dsh/src"`、`path:".scratch/ast-tool-test/..."` 等**相对路径全部直接可用**,扫 196 / 1 文件均符合 workspace 基准预期;`paths` 侧同样通过。**F1 判定:已修复,本轮无回归。** 前序 §9 遗留项「`dvc://ast_edit` 相对路径未复测」**关闭**。
|
|
120
|
-
|
|
121
|
-
## 9. 未覆盖 / 遗留
|
|
122
|
-
|
|
123
|
-
- 未测 `.tsx/.jsx/.go/.rs` 等其余 grammar(仅验 TS + Python 两语言)
|
|
124
|
-
- 未测 `include`/`glob` 过滤与 `maxFiles`(默认 1000) 上限边界
|
|
125
|
-
- 未测 `parseErrors[]` 路径(未构造语法错误文件)
|
|
126
|
-
- 未测超大文件/超多文件下的性能与截断行为
|
|
127
|
-
- **未改任何源码**:本篇只记录行为面;A1/A2/A3/A5/A6 若要收,属 `better-dsh/` 源码变更,须走 build → rig 实测 → 报告 → 发布的老闸门
|
|
128
|
-
|
|
129
|
-
## 10. 复现
|
|
130
|
-
|
|
131
|
-
```bash
|
|
132
|
-
# 夹具
|
|
133
|
-
mkdir -p .scratch/ast-tool-test && cat > .scratch/ast-tool-test/sample.ts <<'EOF'
|
|
134
|
-
export function describeProbe(cfg: { name: string }): string {
|
|
135
|
-
console.log(cfg.name)
|
|
136
|
-
return cfg.name
|
|
137
|
-
}
|
|
138
|
-
function legacyThing(a, b) { return a + b }
|
|
139
|
-
EOF
|
|
140
|
-
|
|
141
|
-
# A1 对照:不完整节点 vs 完整节点(在任意 4998/4999 会话内对 dvc:// 设备 write)
|
|
142
|
-
# ① {"patterns":["export function $NAME($$$ARGS)"],"path":"better-dsh/src/devices/ast"} → totalMatches:0(静默)
|
|
143
|
-
# ② {"patterns":["export function $NAME($$$ARGS) { $$$BODY }"],"path":"better-dsh/src/devices/ast"} → totalMatches:13
|
|
144
|
-
|
|
145
|
-
# dryRun 默认安全复验:省略 dryRun → applied:false,随后 md5sum 应不变
|
|
146
|
-
# {"ops":[{"pat":"console.log($A)","out":"logger.info($A)"}],"paths":[".scratch/ast-tool-test/sample.ts"]}
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
---
|
|
150
|
-
|
|
151
|
-
**发布闸状态**:本篇为**观察性实测**,不含 `better-dsh` 版本变更;`npm publish` 不在范围内(按根 AGENTS.md 〇节,仍需 user 单次明确放行)。
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
# 2026-10-06 authentication-only Web admission — 4999 实测
|
|
2
|
-
|
|
3
|
-
## 结果与范围
|
|
4
|
-
|
|
5
|
-
本地测试包 `better-dsh@0.2.5-e` 已通过 tarball 的 `dsh plugin add` 安装到
|
|
6
|
-
`.test/home/compat/profiles/web`。运行实例为 `dsh-4999-test123`,原测试 home、
|
|
7
|
-
会话和共享 credential seed 保留,未触碰生产 3080/3081 或 Caddy 配置。
|
|
8
|
-
未发布 npm;user 于 2026-10-06 确认测试「looks good」并授权在本地 main 提交。
|
|
9
|
-
|
|
10
|
-
测试开启 `dashr-web-trust.config.trustAllHosts: true`。该模式仅包装原生
|
|
11
|
-
Connection 实例的 `requestRejection`,通过公开 `authorizeIndex` 接口委托
|
|
12
|
-
cookie 校验,不复制认证实现、不访问 private 字段、不修改上游。传入真实
|
|
13
|
-
Host/Cookie 与固定无 query 的 index 路径,API 准入不会执行 token 铸 cookie。
|
|
14
|
-
|
|
15
|
-
浏览器初始化脚本在任意 hostname 设置 `ownsHost: true`,已有 transport 保留。
|
|
16
|
-
默认仍为 `trustAllHosts: false`。关闭/卸载模式恢复原生地址检查,页面能力需刷新。
|
|
17
|
-
|
|
18
|
-
## 网络与登录
|
|
19
|
-
|
|
20
|
-
- 原生服务器监听 `127.0.0.1:4999`;现有 socat 中继监听 `192.168.31.130:4999`。
|
|
21
|
-
- 实际运行 argv 无 `--trusted-host`,没有给测试进程传入 `DSH_TRUSTED_HOSTS`。
|
|
22
|
-
- HTTPS 入口为 `https://test.pc.randomhash.app/`,沿用已有 Caddy。
|
|
23
|
-
- 本 test profile 禁用 `dashr-web-password`,以验证原生 token URL 登录;生产未变。
|
|
24
|
-
- launcher 允许 `TRUSTED_HOSTS=''` 显式省略 CLI 名单。原生/clean rig 默认仍由
|
|
25
|
-
CLI 放行 loopback、LAN 与测试域名。
|
|
26
|
-
|
|
27
|
-
## 运行时验证
|
|
28
|
-
|
|
29
|
-
每个入口先以本次 launch token 完成原生 303 cookie 交换,再读取 HTML 与 RPC。
|
|
30
|
-
额外的 unlisted Host 通过 loopback 连接模拟,未修改 DNS、服务器名单或代理。
|
|
31
|
-
|
|
32
|
-
| 入口 | 页面 | 模型列表/可配置 provider | 插件列表 | 设置描述 |
|
|
33
|
-
|---|---|---|---|---|
|
|
34
|
-
| loopback | 200 | 通过 | 通过 | 通过 |
|
|
35
|
-
| LAN | 200 | 通过 | 通过 | 通过 |
|
|
36
|
-
| unlisted | 200 | 通过 | 通过 | 通过 |
|
|
37
|
-
| HTTPS | 200 | 通过 | 通过 | 通过 |
|
|
38
|
-
|
|
39
|
-
- 各入口 HTML 均有 all-host `ownsHost` 初始化脚本。
|
|
40
|
-
- 未列入名单的请求携带不匹配 Origin 与 cross-site Fetch-Metadata,认证后仍成功。
|
|
41
|
-
- LAN 与 unlisted 请求分别验证:缺失、篡改、其他 authority 的 cookie 均为 401。
|
|
42
|
-
- 真实 `/api/remote.mux` WebSocket upgrade:unlisted Host + 跨域 Origin,认证后 101,
|
|
43
|
-
未认证 401。
|
|
44
|
-
- HTTPS `settings/mutate` 将测试字体 17 改为 18,描述接口读回 18 且 profile 文件
|
|
45
|
-
持久化;之后按 revision 恢复 17 并复验。未改模型凭据。
|
|
46
|
-
|
|
47
|
-
## 静态与自动测试
|
|
48
|
-
|
|
49
|
-
- LSP 核实 Connection capability 定义、web-trust 的引用;TypeScript AST 核实脚本
|
|
50
|
-
生成与插件 apply 结构。
|
|
51
|
-
- TDD:新增准入测试先复现 403,页面全地址测试先复现缺失 ownsHost;实现后通过。
|
|
52
|
-
- 定向测试 16/16;包含原生 Connection 的认证、native cookie lifetime 与卸载恢复。
|
|
53
|
-
- 全量 66 个测试文件通过:709 passed、1 skipped。
|
|
54
|
-
- host/client typecheck 通过,构建与 pack 通过,launcher `bash -n` 通过。
|
|
55
|
-
- 构建保留既有 puppeteer 相关 `eval` / 可选 `yauzl` 警告;不在本次准入改动范围。
|
|
56
|
-
|
|
57
|
-
## 验收与交接
|
|
58
|
-
|
|
59
|
-
当前 Computer Use 没有可用浏览器,接口验证不等于 UI 操作验收。
|
|
60
|
-
user 已确认测试效果可接受。4999 实例保持运行,测试 tarball 是 profile 的本地依赖来源,
|
|
61
|
-
交接时保留但不入库。仅提交本次代码、测试、rig 指引与文档,不发布 npm。
|
|
62
|
-
生产 profile 仅移除旧 `dashr-repl` trustedPageAuthorities 覆盖,Python 配置继承 bundle,
|
|
63
|
-
不安装测试包、不重启生产。备份保存在 `/tmp/dashr-prod-cordis.patch.before-cleanup-20261006.yml`。
|