super-dsh 0.3.0-c → 0.3.0-e
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/client/index.js +25 -11
- 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/client/mesh-api.d.ts +6 -3
- package/superd-hub/dist/client/mesh-api.js +20 -5
- package/superd-hub/dist/fusion-transport.js +14 -3
- package/superd-hub/dist/gateway.js +2 -0
- package/superd-hub/dist/machines.d.ts +2 -0
- package/superd-hub/dist/machines.js +2 -0
- package/superd-hub/dist/mesh-link.d.ts +10 -2
- package/superd-hub/dist/mesh-link.js +131 -27
- package/superd-hub/dist/mesh-rpc.d.ts +1 -1
- package/superd-hub/dist/mesh-rpc.js +20 -12
- package/superd-hub/dist/pairing-auth.d.ts +7 -0
- package/superd-hub/dist/pairing-auth.js +29 -0
- package/superd-hub/lib/client/index.js +25 -11
- 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/baseline.md +0 -13
- 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 -91
- package/node_modules/better-dsh/dsh-docs/subsystems/invariants.zh.md +0 -91
- 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 -212
- 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 -426
- 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,198 +0,0 @@
|
|
|
1
|
-
# dsh-url-schemes 六 scheme 冒烟与边界实测报告
|
|
2
|
-
|
|
3
|
-
- 日期:2026-09-12
|
|
4
|
-
- 被测对象:`dashr/src/url-schemes/` 的六类 URL scheme(`skill://`、`agent://`、`dsh://`、`ctx://`、`dvc://`、`http(s)://`)在活体 runtime 中的 `read`/`write`/`grep`/`glob` 行为。
|
|
5
|
-
- 被测运行时:**本 agent 自己所在的活体实例** —— `dsh web` @ `http://127.0.0.1:4999`(`DSH_WEB_URL`),`DSH_HOME=/home/u1/workspaces/dashr/.dsh-test`,session id `session-92ef9c82-fbf8-4b71-87af-a92125e0734c`,cwd `/home/u1/workspaces/dashr`,agentPreset `standard`。
|
|
6
|
-
- 方法:**第一人称实测**——全部调用由本 agent 在真实 runtime 中发出(`read`/`write`/`grep`/`glob` 工具 + `eval` pad 内 `await tool.*`),无静态推断、无人工转写返回值。`dvc://` 写路径的"是否真落地"由回读文件系统二次确认。
|
|
7
|
-
- change:无(本轮为既有能力的系统冒烟,非某个 change 的验收)。
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## 0. 结论
|
|
12
|
-
|
|
13
|
-
> **gates 标签(2026-09-13 补)**:本报告实测于 `urlSchemes: true + hashline: true`(DASHR read 包装在场)。「六 scheme read 全可达 6/6」仅在该组合下成立;`hashline: false` 下的可达性矩阵见《2026-09-13-hashline-off下scheme可达性工具面不对称-实测报告.md》。
|
|
14
|
-
|
|
15
|
-
| 判定项 | 结果 |
|
|
16
|
-
|---|---|
|
|
17
|
-
| 六类 scheme 在 `read` 上全部可达 | ✅ 6/6 |
|
|
18
|
-
| 未登记 scheme / 已登记只读 scheme 的写拦截 | ✅ 三类错误各自精确(`URL_READ_ONLY` / `URL_WRITE_UNSUPPORTED` / `URL_UNREGISTERED_SCHEME`) |
|
|
19
|
-
| `dvc://` 写是否**真实执行**(非 dry-run 空转) | ✅ `ast_edit` `dryRun:false` 改写落盘,回读确认 |
|
|
20
|
-
| 选择器四形态(`:raw` / `:N-M` / `:path/` / `?q=`) | ✅ 基本全通;目录列表上的 `?q=` 不过滤(§3.3) |
|
|
21
|
-
| `http(s)://` selector-exempt(端口/查询不误解析) | ✅ `:443` 与 `?x=1` 均原样进请求 |
|
|
22
|
-
| 内容型 scheme 的 `grep`/`glob` 支持 | ⚠️ `grep` 经 `/dev/shm` 物化可用;`glob` 的 URL-in-`path` 分支在 `dsh://docs` 上失效(§3.4) |
|
|
23
|
-
| **`dvc://` 结果的 wire 可见性** | ❌ **缺口**:`write` 渲染面只输出 `Executed dvc://<device>`,设备 payload 仅存在于结构化 `after` 字段(§3.1) |
|
|
24
|
-
|
|
25
|
-
**一句话**:六类 scheme 功能面完整、错误分类精确、`dvc://` 写是真执行;唯二值得处理的是 **`dvc://` 设备结果在渲染文本里丢失**(直接影响 `ast_grep`/`lsp`/`browser` 的可用性),以及 **`glob` 在 `dsh://docs` 上的 path 分支空转**。
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## 1. 被测对象与环境事实
|
|
30
|
-
|
|
31
|
-
| 项 | 值 |
|
|
32
|
-
|---|---|
|
|
33
|
-
| 运行时 | `DSH_HOME=/home/u1/workspaces/dashr/.dsh-test`;`DSH_SESSION_ID=session-92ef9c82-fbf8-4b71-87af-a92125e0734c`;`DSH_SHELL=1` |
|
|
34
|
-
| GUI 端点 | `http://127.0.0.1:4999`(监听于 `127.0.0.1`);直连无 token 返回 **401** `dsh web authentication required; reopen the URL printed by dsh web.`(≈133 B,空 `<title>`) |
|
|
35
|
-
| 方案单源 | `dashr/src/url-schemes/catalog.ts` 的 `SCHEME_CATALOGUE`(六条、`SCHEME_NAMES` 排序后 = `agent, ctx, dsh, dvc, http, https, skill`) |
|
|
36
|
-
| 实现入口 | `dashr/src/url-schemes/index.ts`(挂载)、`resolver.ts`(端到端解析)、`selector.ts`(统一选择器)、`handlers/*`(六 scheme)、`tools/{read,write,grep,glob,materialize}.ts`(工具改写) |
|
|
37
|
-
| 设备实现 | `vendored/devices/ast/ast-device.ts`(`ast_edit`/`ast_grep`)、`vendored/devices/browser/browser-device.ts`、`vendored/devices/lsp/lsp-device.ts` |
|
|
38
|
-
| 已核 ctx 快照 | `ctx://session`:segments(live 0–34)、`system_prompt.chars = 0`、totals 与后续增长一致 |
|
|
39
|
-
| 临时物化 | `grep` 对 URL 内容物化到 `/dev/shm/dashr-url-*/content.txt`;调用后目录被清理(收尾核 `/dev/shm` 为空) |
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## 2. 逐 scheme 实测矩阵
|
|
44
|
-
|
|
45
|
-
| Scheme | 已测形式 | 实测结果 |
|
|
46
|
-
|---|---|---|
|
|
47
|
-
| `skill://` | 裸根;`skill://dsh-dev-skill`;`/SKILL.md`;`/chapters/ch01-user-guide.md`;`:1-4`;`glob` 列目录 | 裸根 → `skill "" is unknown or no longer available`;`dsh-dev-skill` → 全文(= `.agents/skills/cordis-dsh-dev/SKILL.md`);子文件可读;`:1-4` 正确截 4 行;`glob` 返回 26 个真实相对路径 |
|
|
48
|
-
| `agent://` | 裸根;`agent://<原始id>`;`<原始id>/transcript`;`:1-8`;`agent://<label>`;含 `:` 的 label | 裸根 → `no agents`(无子 agent 时)/ 之后为 4 列表格;settled child 原始 id → 产出物 `pong`;live child transcript 可读并可开窗;label 可寻址;含 `:` 的 label → 选择器解析错误(§3.5) |
|
|
49
|
-
| `dsh://` | 裸根;`/docs`;`/docs/subsystems`;`/docs/subsystems/slots.md?q=priority`;`/config`;`:path/` 点路径(含数组下标) | 裸根 → `expected "docs" or "config"`;目录列 JSON 数组;文件可读;`?q=priority` → 3 行命中;`/config` → 完整配置 JSON;`:path/permission.defaultPreset` → `workspace-write`;`:path/llm-deepseek.models.0.id` → `deepseek-flash` |
|
|
50
|
-
| `ctx://` | 裸根;`transcript`;`system`;`thinking[0]`;`user_prompts[0]`;`tool_calls[n]`;`agent_responses[0]`;`injections:raw`;`compactions`;`:raw:N-M` | 全部可读;`[n]` 按 0 基序号或事件 seq 双寻址;越界报错带集合长度;`compactions` 无内容 → `(no compactions recorded)`;`:raw:1-3` ≡ `:1-3` |
|
|
51
|
-
| `dvc://` | 裸根;设备文档(4 个);`write` 执行(`ast_grep`/`ast_edit`/`browser`);非法参数;尾部 `/sub` | 裸根 → 4 行设备表;设备文档 + usage 提示;写执行见 §4;非法 JSON → 带解析信息的错误;`dvc://browser/ignored-sub` → 仍返回 browser 文档(首段寻址) |
|
|
52
|
-
| `http(s)://` | `read` 原始 GET;`web_fetch` 解码;`?x=1`;`:443`;loopback | `read https://example.com` → 原始 HTML(带 `[url-fetch]` 前缀);`web_fetch` → 解码纯文本;查询与端口均原样保留;`127.0.0.1` 被拒(§3.6) |
|
|
53
|
-
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
## 3. 关键发现
|
|
57
|
-
|
|
58
|
-
### 3.1 `dvc://` 设备结果在 wire 渲染面上不可见(唯一实质性缺口)
|
|
59
|
-
|
|
60
|
-
`tools/write.ts` 对 `dvc://` 写构造 `WriteOutcome{ operation:'execute', after: JSON.stringify(result,null,2) }`,但 `render` 只输出:
|
|
61
|
-
|
|
62
|
-
```
|
|
63
|
-
const verb = … value.operation === 'execute' ? 'Executed' : …
|
|
64
|
-
return [{ type: 'text', text: `${verb} ${value.path}` }]
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
→ 渲染文本恒为 `Executed dvc://ast_grep`。设备 payload 只在结构化 `after` 里。
|
|
68
|
-
|
|
69
|
-
实测对照(同一次 `ast_grep` 调用):
|
|
70
|
-
|
|
71
|
-
- 直接 `write dvc://ast_grep` → 模型侧只看到 `Executed dvc://ast_grep`;
|
|
72
|
-
- `eval` pad 内 `await tool.write({"file_path":"dvc://ast_grep", …})` → 完整 JSON:`totalMatches:143`、`filesWithMatches:28`、`filesSearched:162`、`limitReached:true`、`matches[]`(含 `byteStart/startLine/…`)、`parseErrors[]`。
|
|
73
|
-
|
|
74
|
-
**影响**:模型直调 `ast_grep`/`lsp`/`browser` 拿不到任何结果数据(既无匹配也无报错),而这三个设备恰是输出价值最高的三个。建议 `write.ts` 的 device 分支把 payload 一并渲染进文本(或以可读摘要进文本、全量进 structure)。这是本轮唯一建议改代码的点。
|
|
75
|
-
|
|
76
|
-
### 3.2 `skill://` 按 frontmatter 名寻址,而非目录名
|
|
77
|
-
|
|
78
|
-
`skill://dsh-dev-skill` 命中,其解析路径为 `.agents/skills/cordis-dsh-dev/`——目录名 `cordis-dsh-dev` 反而不被接受(`skill "cordis-dsh-dev" is unknown`)。同理 `superpowers`(顶层无 `SKILL.md`)不可寻址,裸 `skill://` 亦报未知。属正确语义(skill 名 = frontmatter `name`),但"猜目录名"是最自然的错误路径,可考虑错误信息附带候选名提示。
|
|
79
|
-
|
|
80
|
-
### 3.3 `?q=` 在目录列表上不过滤
|
|
81
|
-
|
|
82
|
-
- `dsh://docs/subsystems/slots.md?q=priority` → 正确返回 3 行命中(含行号与上下文);
|
|
83
|
-
- `dsh://docs/subsystems?q=slots` → 返回**未过滤**的完整 98 项目录列表。
|
|
84
|
-
|
|
85
|
-
即查询选择器只在"文件内容"语义下生效,目录列表(JSON 数组)上的 `?q=` 静默失效。建议改为:JSON 无匹配路径时对列表做行过滤,或明确忽略时给出提示。
|
|
86
|
-
|
|
87
|
-
### 3.4 `glob` 的 URL-in-`path` 分支在 `dsh://docs` 上空转
|
|
88
|
-
|
|
89
|
-
`tools/glob.ts` 头注声称 "path-backed schemes (`skill://`, `dsh://docs`) implement the handler's optional `resolvePath`",但实测:
|
|
90
|
-
|
|
91
|
-
- `glob({path:"skill://dsh-dev-skill", pattern:"ch01*.md"})` → ✅ 1 个文件(pattern 生效,any-depth 语义正确);
|
|
92
|
-
- `glob({path:"dsh://docs/subsystems", pattern:"slots.md"})` → ❌ `(no output)`。
|
|
93
|
-
|
|
94
|
-
对照 `glob({pattern:"dsh://docs/subsystems"})` → ✅ 返回列表(content-backed "非空行即列表" 分支)。结论:`dsh://docs` 实际走 content-backed,`glob-in-path` 把列表 JSON 物化成 `content.txt` 后自然搜不到 `slots.md`。**头注与实现不符(注释过期)**,建议二选一:给 dsh docs 补 `resolvePath`,或订正注释。
|
|
95
|
-
|
|
96
|
-
### 3.5 含 `:` 的 agent label 无法寻址
|
|
97
|
-
|
|
98
|
-
`agent://Dummy child for agent:// test` → `invalid line selector ":// test" — expected N, N-M, or N-M,N2-M2`。原因是 `parseUrl` 的 path 截断在第一个 `:`,label 中的 `://` 被当成选择器。**原始 session id 始终可寻址**(本轮据此拿到 settled child 的 `pong` 产出物)。属方案语法的固有边界,值得在 `agent://` 文档里点明"label 含 `:` 时请用原始 id"。
|
|
99
|
-
|
|
100
|
-
### 3.6 `http(s)://` 的两条路径与 SSRF 门
|
|
101
|
-
|
|
102
|
-
- `read https://example.com` → 原始 curl 式 GET(返回完整 HTML,前缀 `[url-fetch] plain-text result of a direct HTTP GET (curl-equivalent). No JS execution or interaction`);
|
|
103
|
-
- `web_fetch https://example.com/` → 解码后的纯文本;
|
|
104
|
-
- `read https://example.com:443/` 与 `?x=1` → 原样进请求(selector-exempt 生效,未误判为行选择器/点路径);
|
|
105
|
-
- `web_fetch http://127.0.0.1:4999/` → ❌ `URL hostname "127.0.0.1" resolves to a non-public IP address`(私网/回环 SSRF 门,与官方文档 Ch1 "web_fetch to literal private addresses is refused" 一致);
|
|
106
|
-
- `dvc://browser` 走设备路径**可合法访问 loopback**:`open http://127.0.0.1:4999` → `{ok:true,url:"http://127.0.0.1:4999/",title:""}`;页内求值 `document.title` → `""`、`bodyLen:133`。经 curl 侧核验,该 133 B 即 **401 认证栅栏文本**——浏览器探针到达了服务端但未携带 token(预期行为,非传输故障)。
|
|
107
|
-
|
|
108
|
-
### 3.7 错误分类精确、可直接排障
|
|
109
|
-
|
|
110
|
-
| 触发 | 返回 |
|
|
111
|
-
|---|---|
|
|
112
|
-
| `write ctx://session/transcript` | `ctx:// is a curated read-only snapshot — write to ctx://session/transcript is not supported`(`URL_READ_ONLY`) |
|
|
113
|
-
| `write skill://dsh-dev-skill/SKILL.md` | `write to skill:// is not supported (read-only scheme, or its write channel is not wired yet)`(`URL_WRITE_UNSUPPORTED`) |
|
|
114
|
-
| `write foo://bar` | `no handler registered for scheme "foo" (registered: agent, ctx, dsh, dvc, http, https, skill)` |
|
|
115
|
-
| `read dvc://nope` | `unknown device: nope` |
|
|
116
|
-
| `read ctx://session/tool_calls[999]` | `no such element (collection "tool_calls" has 40 items, 0-based; labels are event seqs)` |
|
|
117
|
-
| `write dvc://ast_grep`(非 JSON) | `dvc:// write dispatch: device "ast_grep" requires a JSON args payload (Unexpected token 'h', "this is not json" is not valid JSON)` |
|
|
118
|
-
| `dvc://lsp`(action 缺失 / 二进制缺失) | 先 `unknown action null — expected "diagnostics", "definition", "references", "hover", or "format"`;补 `action` 后 → `language server binary "typescript-language-server" not found … — npm install -g typescript-language-server typescript` |
|
|
119
|
-
| `dvc://browser`(action 缺失) | `unknown action null — expected "open", "run", or "close"` |
|
|
120
|
-
|
|
121
|
-
### 3.8 临时物化无残留
|
|
122
|
-
|
|
123
|
-
`grep` 对 `dsh://docs/subsystems/slots.md` 的搜索把内容物化到 `/dev/shm/dashr-url-c2cNM0/content.txt` 后由 `finally` 清理;收尾核 `/dev/shm` 已空。符合 `tools/materialize.ts` 的设计(shm 优先、>8 MiB 回退 `os.tmpdir()`)。
|
|
124
|
-
|
|
125
|
-
---
|
|
126
|
-
|
|
127
|
-
## 4. `dvc://` 写路径的真执行证据(核心)
|
|
128
|
-
|
|
129
|
-
### 4.1 `ast_edit`(`dryRun:false`)真实落盘
|
|
130
|
-
|
|
131
|
-
目标 scratch 文件(写前):
|
|
132
|
-
|
|
133
|
-
```js
|
|
134
|
-
export function greet(name) {
|
|
135
|
-
return `hello ${name}`
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
export function farewell(name) {
|
|
139
|
-
return `bye ${name}`
|
|
140
|
-
}
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
调用:
|
|
144
|
-
|
|
145
|
-
```json
|
|
146
|
-
{"ops": [{"pat": "export function farewell($N) { $$$B }",
|
|
147
|
-
"out": "export function goodbye($N) { $$$B }"}],
|
|
148
|
-
"paths": ["/home/u1/workspaces/dashr/.scratch/dvc-scheme-test.js"],
|
|
149
|
-
"dryRun": false}
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
回读(写后):
|
|
153
|
-
|
|
154
|
-
```js
|
|
155
|
-
export function greet(name) {
|
|
156
|
-
return `hello ${name}`
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
export function goodbye(name) { return `bye ${name}` }
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
→ 函数名改写 + ast-grep 单行重排均落盘,**证明这是真执行而非空转**。(该 scratch 文件在收尾时已删除。)
|
|
163
|
-
|
|
164
|
-
### 4.2 `ast_grep` 结构化输出(经 eval pad 取得)
|
|
165
|
-
|
|
166
|
-
```json
|
|
167
|
-
{ "totalMatches": 143, "filesWithMatches": 28, "filesSearched": 162,
|
|
168
|
-
"limitReached": true,
|
|
169
|
-
"matches": [ { "path": "../../dashr/src/url-schemes/vendored/hashline/contract.js",
|
|
170
|
-
"text": "export function isNormalizedEdit(input) { … }",
|
|
171
|
-
"byteStart": 775, "byteEnd": 877, "startLine": 15, "startColumn": 1,
|
|
172
|
-
"endLine": 17, "endColumn": 2 }, … ],
|
|
173
|
-
"parseErrors": [ "…: url-schemes/vendored/devices/lsp/defaults.json: GenericFailure, Invalid pattern: Multiple AST nodes are detected…" ] }
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
(`parseErrors` 出现在 `patterns` 含多节点模式时,属预期:该 pattern 在 JSON 文件上不成立。)
|
|
177
|
-
|
|
178
|
-
### 4.3 `dvc://` 首段寻址
|
|
179
|
-
|
|
180
|
-
`read dvc://browser/ignored-sub` → 仍返回 browser 设备文档,证实 `catalog.ts` 所述"`dvc://` 只按第一段寻址,尾部 `/sub` 被解析后丢弃"。
|
|
181
|
-
|
|
182
|
-
---
|
|
183
|
-
|
|
184
|
-
## 5. 遗留与建议(按优先级)
|
|
185
|
-
|
|
186
|
-
1. **【建议改码】`dvc://` 设备 payload 进渲染文本**(§3.1)——否则 `ast_grep`/`lsp`/`browser` 对模型是"看得见工具、看不见结果"。当前唯一绕行 = 在 `eval` cell 内 `await tool.write(...)` 取 `after`。
|
|
187
|
-
2. **【建议改码或订正注释】`glob` 的 `dsh://docs` path 分支**(§3.4)——头注声称 path-backed,实际 content-backed 空转。
|
|
188
|
-
3. **【建议改码】目录列表上的 `?q=`**(§3.3)——静默失效,至少应给提示。
|
|
189
|
-
4. **【文档】`skill://` 按 frontmatter 名寻址**、**`agent://` label 含 `:` 需用原始 id**(§3.2/§3.5)——两条最易踩,建议进 `agent://`/`skill://` 的模型面说明或错误信息附提示。
|
|
190
|
-
5. **【无需动作】** `http(s)` 私网拒绝、`ctx://` 只读、`dvc://` 尾段丢弃、临时物化清理——均为设计内行为,已复核无异常。
|
|
191
|
-
6. **【未覆盖】** 本轮未测:`dvc://lsp` 的 `definition/references/hover/format` 成功路径(缺 `typescript-language-server`,仅验到报错分支)、`http(s)` 的重定向/压缩/大响应物化、`ctx://` 分片(compaction 后多 segment)形态。留待后续按需补测。
|
|
192
|
-
|
|
193
|
-
---
|
|
194
|
-
|
|
195
|
-
## 附:证据来源
|
|
196
|
-
|
|
197
|
-
- 全部返回值取自本 session(`session-92ef9c82…`)在 `DSH_HOME=/home/u1/workspaces/dashr/.dsh-test` 下的活体调用;`ctx://session/tool_calls[n]` 事后可回放本轮每一次调用与其结果。
|
|
198
|
-
- 源码核验:`dashr/src/url-schemes/{catalog,selector,resolver,index}.ts`、`handlers/{agent,ctx,dsh,dvc,skill,http}.ts`、`tools/{read,write,grep,glob,materialize}.ts`、`vendored/devices/ast/ast-device.ts`、`vendored/devices/browser/browser-device.ts`。
|
|
@@ -1,246 +0,0 @@
|
|
|
1
|
-
# hashline:false 配置下 URL scheme 可达性的**工具面不对称** — 实测报告
|
|
2
|
-
|
|
3
|
-
- 日期:2026-09-13
|
|
4
|
-
- 被测对象:`dashr/src/url-schemes/` 七类 URL scheme(`skill://`、`agent://`、`dsh://`、`ctx://`、`dvc://`、`http(s)://`)在**当前活体配置**下的 `read`/`grep`/`glob`/`write` 行为。
|
|
5
|
-
- 被测运行时:**本 agent 自己所在的活体实例** —— `dsh web` @ `http://127.0.0.1:4999`,`DSH_HOME=/home/u1/workspaces/dashr/.dsh-test`,`DSH_SESSION_ID=session-1ae1181e-abb7-4d59-939e-f5e0400a4258`,cwd `/home/u1/workspaces/dashr`。
|
|
6
|
-
- 方法:**第一人称实测**。全部调用由本 agent 在真实 runtime 中发出(`read`/`grep`/`glob`/`write` 工具),无静态推断。被观测返回值原文摘录于 §3。
|
|
7
|
-
- change:无(系统冒烟,非某 change 的验收)。
|
|
8
|
-
- 关联:`2026-09-12-fs-scheme-resolution-实测报告.md`、`2026-09-12-url-schemes-六scheme冒烟与边界实测报告.md`(差异见 §5)。
|
|
9
|
-
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
## 0. 结论速览
|
|
13
|
-
|
|
14
|
-
| 判定项 | 结果 |
|
|
15
|
-
|---|---|
|
|
16
|
-
| `dsh://` / `dvc://` / `http://` 在 `read` 上可达 | ✅ |
|
|
17
|
-
| `skill://` 在 `read` 上 | ✅ **已收口(2026-09-13 user 裁决后返工)**:不再查 registry——`isSessionLayerScheme` 在 `wrap.ts` 与 `sandbox-plugin.ts` 双处纳入 `skill://`,直接抛结构化 `CTX_SESSION_LAYER` 边界错误,文案可执行(指 `skill` 工具 / `grep`,`glob path=skill://…`);活的假 "unknown" 消失,`sessionCwd`/`scopedAwareSkills`/`URL_SKILL_NOT_INVOCABLE_SCOPE` 死代码在 src/副本/活体 bundle 全 0 命中(user 第二轮亲自复验) |
|
|
18
|
-
| `https://` 在 `read` 上可达 | ✅ 已修(`HTTP_SCHEMES` 循环登记)并两轮复验存活 |
|
|
19
|
-
| 同一批 scheme 在 `grep`/`glob` 上可达 | ✅ `ctx://`、`agent://`、`skill://`、`https://` 全部可达(§2、§3) |
|
|
20
|
-
| 根因 | **`hashline:false` 使 DASHR 的 `read` 包装不安装 → `read` 退化为平台原生工具 → 只剩 FS 层 resolver;`grep`/`glob`/`write` 包装仅由 `urlSchemes` 门控,仍在场 → 走工具层 resolver** |
|
|
21
|
-
|
|
22
|
-
**一句话**:不是 scheme 坏了,是**同一实例里 `read` 与 `grep`/`glob`/`write` 分属两套 resolver**。`hashline:false` 配置下,会话型(`ctx://`/`agent://`)只经 `grep`/`glob` 抵达,`read` 是死的;`https://` 更因 FS 层只登记了 `http` 而整条断掉。
|
|
23
|
-
|
|
24
|
-
> **2026-09-13 收口更新(user 第二轮复验确认)**:`https://` 已修(两轮活体存活);`skill://` 按业务逻辑归属裁决重分类为会话型边界(§4 P1-skill 处置块),行为收窄(全局技能亦不在 FS 层解析)但文案已指替代路径,`grep`/`glob` 回退复验通过。
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## 1. 环境与配置锚定
|
|
28
|
-
|
|
29
|
-
### 1.1 配置来源(profile 层唯一)
|
|
30
|
-
|
|
31
|
-
`.dsh-test/profiles/web/cordis.patch.yml`(0.1.5-rc.2 无 home patch 层,故 `.dsh-test/cordis.patch.yml` 空):
|
|
32
|
-
|
|
33
|
-
```yaml
|
|
34
|
-
- id: dashr-repl
|
|
35
|
-
config:
|
|
36
|
-
python: !!js process.env.DASHR_KERNEL_PYTHON ?? 'python3'
|
|
37
|
-
snapshotDir: /home/u1/workspaces/dashr/.dsh-test/snapshots
|
|
38
|
-
hashline: false # ← 关键
|
|
39
|
-
urlSchemes: true
|
|
40
|
-
|
|
41
|
-
- id: fs-sandbox
|
|
42
|
-
name: './node_modules/better-dsh/lib/fs-aware/sandbox-plugin.js'
|
|
43
|
-
config:
|
|
44
|
-
urlSchemes: true
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
### 1.2 活体日志佐证
|
|
48
|
-
|
|
49
|
-
`.scratch/dsh-4999.log`(每个 session-start 一行):
|
|
50
|
-
|
|
51
|
-
```
|
|
52
|
-
DEBUG-INSTALL gates: {"urlSchemes":true,"hashline":false}
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
### 1.3 工具面身份判定(决定性)
|
|
56
|
-
|
|
57
|
-
当前 `read` 工具**不是** DASHR 的 URL-aware read:
|
|
58
|
-
|
|
59
|
-
| 证据 | 值 |
|
|
60
|
-
|---|---|
|
|
61
|
-
| 工具入参名 | `file_path`(DASHR 包装用 `path`,见 `url-schemes/tools/read.ts:92`) |
|
|
62
|
-
| 输出形态 | 行号前缀 `N: content`(DASHR 包装 scheme 分支返回原文、文件分支返回 `HASH│content`) |
|
|
63
|
-
| 包装注册门 | `url-schemes/index.ts:188` `if (gates.hashline) { …register(createReadTool…) }` → `hashline:false` 即不注册 |
|
|
64
|
-
| 注释自证 | `index.ts:158-159`:**"`hashline: false` → read wrapper 不安装(captured 原生 read 独立站立,scheme 解析由挂载的 FS 后端承担)"** |
|
|
65
|
-
|
|
66
|
-
`grep`/`glob`/`write` 的注册门是 `urlSchemes`(`index.ts:197`、`266-268`),故**仍在场**,走工具层 resolver。实测 `write dsh://config` 报的是 `url-schemes/tools/write.ts:130` 的文案、`write dvc://ast_grep` 成功派发,均可交叉印证工具层包装在场。
|
|
67
|
-
|
|
68
|
-
### 1.4 两套 resolver 的登记差异(根因表)
|
|
69
|
-
|
|
70
|
-
| resolver | 构造点 | 登记 schemes | 环境字段 |
|
|
71
|
-
|---|---|---|---|
|
|
72
|
-
| **工具层**(read/grep/glob/write 包装消费) | `url-schemes/index.ts:283-328` | `skill`、`agent`、`dsh`、`dvc`、`ctx`、**`HTTP_SCHEMES = ['http','https']`** | `{ agent, cwd, rawUrl }`(`tools/read.ts:119-121`、`tools/grep.ts:69`) |
|
|
73
|
-
| **FS 层**(原生 read/grep/glob 经 `ctx.fs` 消费) | `fs-aware/wrap.ts:49-59` | `skill`、`dsh`、`dvc`、**仅字面 `http`** | 仅 `{ fs, rawUrl }`(`wrap.ts:81`,**无 agent/cwd**) |
|
|
74
|
-
| **FS 层会话型守卫** | `wrap.ts:37-46`、`99-115` | `ctx://`/`agent://` → 结构化 `CTX_SESSION_LAYER` | — |
|
|
75
|
-
|
|
76
|
-
两处差异直接产生全部四个失败:`https` 未登记、`ctx`/`agent` 被守卫、`skill` 缺 `cwd`+`scope`。
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## 2. scheme × 工具 可达性矩阵
|
|
81
|
-
|
|
82
|
-
(✅ 实测可达;❌ 实测失败;`—` 本轮未测)
|
|
83
|
-
|
|
84
|
-
| scheme | `read`(原生 / FS 层) | `grep`(工具层) | `glob`(工具层) | `write`(工具层) |
|
|
85
|
-
|---|---|---|---|---|
|
|
86
|
-
| `dsh://` | ✅ 列表/配置/选择器 | ✅(`path: dsh://docs` 命中 4 行) | ✅(`dsh://docs/subsystems` → 116 文件) | ❌ 只读(`tools/write.ts:130`) |
|
|
87
|
-
| `dvc://` | ✅ roster + 各设备文档 | — | — | ✅ 三设备真派发(`ast_grep`/`ast_edit`/`browser`) |
|
|
88
|
-
| `http://` | ✅(`example.com` 抓回) | — | — | ❌ 只读 |
|
|
89
|
-
| `https://` | ❌ **未登记** | ✅(`example.com` 命中) | — | — |
|
|
90
|
-
| `skill://` | ❌ **unknown** | ✅(`book-to-skill` 命中 560 行/约 130 文件) | ✅(全部文件路径列出) | ❌ 只读 |
|
|
91
|
-
| `ctx://` | ❌ **边界错误** | ✅(`user_prompts[0]` 命中本轮首条 prompt) | — | — |
|
|
92
|
-
| `agent://` | ❌ **边界错误** | — | ✅(物化到 `/dev/shm`) | — |
|
|
93
|
-
|
|
94
|
-
`dsh://` 选择器四形态在 `read` 上全通:`:N-M`、`:raw`(与 `:raw:N-M` 等价)、`:path/agent-loop`、`?q=`。
|
|
95
|
-
|
|
96
|
-
---
|
|
97
|
-
|
|
98
|
-
## 3. 原始观测(判定依据,原文摘录)
|
|
99
|
-
|
|
100
|
-
### 3.1 `read` 侧四个失败
|
|
101
|
-
|
|
102
|
-
```
|
|
103
|
-
read dsh://docs → ✅ 251 条文档索引
|
|
104
|
-
read dsh://config:path/agent-loop → ✅ {"maxParallelToolCalls":10}
|
|
105
|
-
read dsh://docs/tool-catalog.md?q=ui-deliverables → ✅ 过滤命中 1 行
|
|
106
|
-
|
|
107
|
-
read skill://book-to-skill → ❌ skill "book-to-skill" is unknown or no longer available
|
|
108
|
-
read skill://book-to-skill/SKILL.md → ❌ 同上(子路径无效,仍是 registry 查无此名)
|
|
109
|
-
read ctx://session/transcript:1-8 → ❌ CTX_SESSION_LAYER: session-layer scheme — read it through the read tool (…)
|
|
110
|
-
read ctx://session/compactions → ❌ 同上
|
|
111
|
-
read agent:// → ❌ 同上
|
|
112
|
-
read https://example.com → ❌ no handler registered for scheme "https" (registered: dsh, dvc, http, skill)
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
后者的 `registered: dsh, dvc, http, skill` 是 **FS 层 resolver 的登记表**,直接坐实 `read` 走的是 FS 层。
|
|
116
|
-
|
|
117
|
-
### 3.2 `grep`/`glob` 侧全通(反证)
|
|
118
|
-
|
|
119
|
-
```
|
|
120
|
-
grep path=skill://book-to-skill pattern=^# → ✅ 560 matches(真实落到 .agents/skills/book-to-skill/*)
|
|
121
|
-
glob path=skill://book-to-skill pattern=* → ✅ 约 130 条文件路径
|
|
122
|
-
grep path=ctx://session/user_prompts[0] pattern="test your tools"
|
|
123
|
-
→ ✅ 1 match:/dev/shm/dashr-url-UTBpHR/content.txt:2
|
|
124
|
-
grep path=https://example.com pattern="Example Domain"
|
|
125
|
-
→ ✅ 1 match:/dev/shm/dashr-url-NqMEfC/content.txt:3
|
|
126
|
-
glob path=agent:// pattern=* → ✅ /dev/shm/dashr-url-6h2V9Y/content.txt
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
并可见 `ctx://` 选择器语法细节:集合下标是 **0-based 方括号**,标签为事件 seq:
|
|
130
|
-
|
|
131
|
-
```
|
|
132
|
-
grep path=ctx://session/user_prompts pattern=… → ❌ ctx://…[]: no such element
|
|
133
|
-
(collection "user_prompts" has 2 items, 0-based; labels are event seqs)
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
### 3.3 `write` 侧
|
|
137
|
-
|
|
138
|
-
```
|
|
139
|
-
write dsh://config {…} → ❌ write to dsh:// is not supported (read-only scheme, or its write channel is not wired yet)
|
|
140
|
-
write dvc://ast_grep {patterns:[…] path:/abs} → ✅ 结构化 payload 完整渲染(含 matches/totalMatches/parseErrors)
|
|
141
|
-
write dvc://ast_edit {ops:[…] dryRun:true} → ✅ {"applied": false, …}(dryRun 生效,未落盘)
|
|
142
|
-
write dvc://browser {"action":"open"|"close"} → ✅ {"ok":true,"url":"about:blank"} / {"ok":true}
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
**`dvc://` 设备 payload 已被完整渲染进工具结果**(见 §5 与旧报告的差异)。
|
|
146
|
-
|
|
147
|
-
### 3.4 旁路发现
|
|
148
|
-
|
|
149
|
-
1. **`dvc://` 设备相对路径以服务端 cwd 为根,不是会话 workspace。** `path:"."` 全量搜了 monorepo checkout(6950 文件,返回 `../../dashr/src/...`);`path:"dashr/src"` 直接 `Path not found`;绝对路径才命中(163 文件)。设备 cwd = `upstream/deepseek-harness`。
|
|
150
|
-
2. **`ast_grep` 的 `export function $NAME` 形态静默 0 命中**,而 `function $NAME` 在同一路径命中 646。导出声明的 pattern 形态在本 vendored 实现下**不报错也不匹配**(部分语言另报 `Multiple AST nodes are detected`)。
|
|
151
|
-
3. **发布面残留调试日志**:`url-schemes/index.ts:154` 与 `:337` 仍有 `console.log('DEBUG-INSTALL …')`,并已在 4999 日志里逐 session 打印。
|
|
152
|
-
4. **会话指引与部署面不符**:本 session 收到的 URL scheme 指引把 `read` 描述为 `HASH│content` 锚点读;`hashline:false` 下实际是原生行号读。指引来源疑为 `renderGeneralSectionText()` / `generalSection()`(`index.ts:263`、`catalog.ts:135`),建议门控对齐。
|
|
153
|
-
|
|
154
|
-
---
|
|
155
|
-
|
|
156
|
-
## 4. 发现清单
|
|
157
|
-
|
|
158
|
-
### P1 — `https://` 在 FS 层未登记(一行修复,✅ 2026-09-13 复验存活)
|
|
159
|
-
|
|
160
|
-
`fs-aware/wrap.ts:57` 写死 `resolver.register('http', createHttpHandler())`,而工具层正确循环 `HTTP_SCHEMES = ['http','https']`(`handlers/http.ts:45`)。`hashline:false` 时 FS 层是 `read` 的唯一路径 → `read https://…` 恒失败。修法:`buildFsLayerResolver` 同样 `for (const s of HTTP_SCHEMES) resolver.register(s, handler)`。skill:// 重分类重构后复验:`read https://example.com` 正常抓取(session 60418790)。遗留小项(与本次无关,记录在案):`read https://example.com:1-3` 这类**把行选择器写进 URL** 的形态会整串进 `new URL()` 报 invalid URL——http handler 不剥选择器后缀,dsh handler 剥(`dsh://docs:1-3` 正常);属探针写法与既有限制,非本次回归。
|
|
161
|
-
|
|
162
|
-
### P1 — `skill://` 在 FS 层丢失 agent/cwd(workspace 技能全不可见)
|
|
163
|
-
|
|
164
|
-
`wrap.ts:81` 只给 `{ fs, rawUrl }`;`handlers/skill.ts:106-113` 的 `lookupOptions` 需要 `cwd` + `scope`,两者皆缺时 workspace 作用域技能层读作 absent → 全部 `unknown`。FS 层结构性拿不到 agent,所以要么把 skill 解析留在工具层、要么在 `hashline:false` 下补一条 scheme 呈现通道。
|
|
165
|
-
|
|
166
|
-
> **处置(2026-09-13 user 裁决后重定方向,推翻本报告早前的"补通道"方案)**:第一版补通道(sessionCwd 配置 + scopedAware list 启发式)经活体证伪——dump-config 实证 **dsh-web-app bundle patch 在宿主层 disable 了 `skill-filesystem`/`tool-skill`**,web profile 全局层没有任何 skill provider,list 与 get 同空,启发式从未命中(A/B 活体:user-global 的 `skill://markitdown` 与 project 的 `skill://book-to-skill` 双双 `unknown`,session 8b6dcf85)。根因不是"缺 cwd",而是**技能加载路径解析(CWD/user-global/app 运行时根、扫描深度)是宿主 `dsh-skill-filesystem` 的业务逻辑**,FS 层不得自写近似版。最终处置:`skill://` 重分类为会话层 scheme,FS 层一律答 `CTX_SESSION_LAYER` 边界错误(指名原生 `skill` 工具);`sessionCwd` 配置整体移除;工具层 handler lookup 收敛为 `dsh-tool-skill` 的精确镜像。详见 `2026-09-12-fs-scheme-resolution-实测报告.md` §4d 与 change design.md §D6。
|
|
167
|
-
>
|
|
168
|
-
> **活体复验(session 37899b26 / bfa99754 / f12a206e / 60418790 / 029aa5bb,2026-09-13)**:`read skill://book-to-skill` → 结构化边界错误(指名原生 skill 工具);`read skill://markitdown:1-5` → 同(与技能名无关);**原生 `skill` 工具加载 `book-to-skill` 成功**(完整 `<skill_content>` + resourceBase);`grep path=skill://book-to-skill pattern=^#` → 560 matches(工具层通道完好);`read https://example.com` → 正常抓取(P1-a 存活)。
|
|
169
|
-
>
|
|
170
|
-
> **user 第二轮复验(2026-09-13,第一人称)**:lib 02:32 重建 → 02:33 重启;规范源与副本三文件逐字节一致;`https://` / DEBUG-INSTALL / gate 注释 / `skill://` 收口四项全过;`sessionCwd`、`scopedAwareSkills`、`URL_SKILL_NOT_INVOCABLE_SCOPE` 在 src/副本/**活体 bundle** 三面 **0 命中**;`grep path=skill://` 回退复验通过。user 点评:**"以承认边界替代假装能查"是对的**——上轮 `list({cwd})` 无 scope 读不到 workspace 技能(宿主 `SkillViewOptions` 明写 "omitted reads the global layer alone")本是不可达探针;定性为会话型比修探针干净。行为收窄代价(全局技能亦不在 FS 层解析)已被可执行文案覆盖。user 唯一未亲自引爆文案指向的原生 `skill` 工具(agent probe session f12a206e 已验加载成功)。
|
|
171
|
-
>
|
|
172
|
-
> **user 复验带出两处小瑕疵,本轮已修**:① `sandbox-plugin.ts` 的 `buildResolver` 有**重复的 `register('dsh', …)` 块**(改 skill 块时拼接失误;`register` 是 `handlers.set`,覆盖不抛错,纯死代码)且 `'http'` 仍是字面量未跟 `HTTP_SCHEMES` 对齐(当前非最外层故潜伏,挂载顺序一翻 https 即静默回归)→ **删除私有登记面,`buildResolver` 改为复用 `wrap.ts` 的共享 `buildFsLayerResolver`**(登记单源,双消费方永不再漂移;其 `ctx`/`agent` handler 在本类不可达——前置守卫先拦);② `url-schemes/index.ts` 两个同名 `export interface Config`(sessionCwd 增删残留)→ 并回一个。单测断言同步:https 注册性检查改为网络无关(成功/取数失败皆证登记,唯 "no handler" 才是回归)。收口烟测(session 0335526e,重启后):`skill://` 边界 / `https://` 抓取 / `dsh://docs:1-3` 三连全过;回归 vitest 489/14 基线族、tsc 13、openspec valid。
|
|
173
|
-
|
|
174
|
-
### P2 — `hashline:false` 下会话型 scheme 无 `read` 通道,且注释与事实不符
|
|
175
|
-
|
|
176
|
-
`index.ts:288-290` 声称 *"Session-layer schemes (ctx://, agent://) answer the structured boundary error here; **the read tool's scheme branch keeps serving them with the calling agent's context**"* —— 该 "read tool's scheme branch" 只在 `hashline:true` 时存在。`hashline:false` 下 `ctx://`/`agent://` 在 `read` 上无任何通道(`grep`/`glob` 可用,但那是另一个工具面的补偿,不等于 read 通道)。注释与 `index.ts:158-159` 的 gate 说明应统一。
|
|
177
|
-
|
|
178
|
-
### P2 — 发布前清理 `DEBUG-INSTALL` 调试 `console.log`
|
|
179
|
-
|
|
180
|
-
`url-schemes/index.ts:154`、`:337`。
|
|
181
|
-
|
|
182
|
-
### P3 — `ast_grep` 导出形态 pattern 静默漏报
|
|
183
|
-
|
|
184
|
-
建议在设备文档或实现里显式声明支持的 pattern 形态(或对 0 命中且 pattern 含 `export ` 时给出提示)。
|
|
185
|
-
|
|
186
|
-
### P3 — `dvc://` 设备根目录与会话 workspace 不一致
|
|
187
|
-
|
|
188
|
-
易误伤脚本化调用(相对路径静默落到别的树)。建议设备文档写明"相对路径以服务端 cwd 为根",或与 `ctxFsIO` 的 workspace 对齐。
|
|
189
|
-
|
|
190
|
-
### P3 — 会话指引把 `read` 描述为 `HASH│content` 锚点读,`hashline:false` 下实为行号读
|
|
191
|
-
|
|
192
|
-
`url-schemes-instruction.md`(owner 维护)对 read 输出的描述按 hashline 锚点语义书写;`hashline:false` 活体下 read 实际返回行号形式。建议按 gates 加一句条件说明(2026-09-13 复核:三项 P3 均无变化、未复测,挂账)。
|
|
193
|
-
---
|
|
194
|
-
|
|
195
|
-
## 5. 与既有报告的差异(待对齐)
|
|
196
|
-
|
|
197
|
-
| 项 | 既有报告 | 本轮观测 | 研判 |
|
|
198
|
-
|---|---|---|---|
|
|
199
|
-
| `read` 上六 scheme 全可达 | `2026-09-12-url-schemes-六scheme冒烟与边界实测报告.md` §0:**✅ 6/6** | `read` 上 `ctx`/`agent`/`skill`/`https` **全 ❌** | **两次实测的 `gates` 不同**:该报告应以 `hashline:true`(DASHR read 包装在场)跑出;本轮为 `hashline:false`。二者不矛盾,但结论必须带配置标签——"六 scheme 可达"仅在 `hashline:true` 成立 |
|
|
200
|
-
| `glob` 的 URL-in-`path` 分支在 `dsh://docs` 失效 | 同上 §0:⚠️ 失效 | ✅ 正常(`glob path=dsh://docs/subsystems` → 116 文件) | 疑似已修或与 `hashline` 门控相关,建议复测后销项 |
|
|
201
|
-
| `dvc://` 设备 payload 在渲染面丢失 | 同上 §0:❌ 缺口(只输出 `Executed dvc://<device>`) | ✅ payload 完整渲染(§3.3) | **该缺口在当前构建已不复现**,建议销项 |
|
|
202
|
-
| FS 层 = dsh/dvc/http(s),会话型(含 `skill://`)走边界错误 | `2026-09-12-fs-scheme-resolution-实测报告.md` §1/§2(D2) | 一致(skill 已并入会话型族) | ✅ 与本轮 §1.4 吻合;**2026-09-13 起 FS 层登记面 = dsh/dvc/http/https(`HTTP_SCHEMES` 共享 builder),`skill://` 归入会话型边界** |
|
|
203
|
-
| `skill://` 假 "unknown"(本报告 §1.4/探针清单) | —(本报告当时的活体事实) | **✅ 已消灭**:user 第二轮复验(2026-09-13)——规范源/副本/活体 bundle 三面逐字节核验,`sessionCwd`/`scopedAwareSkills`/`URL_SKILL_NOT_INVOCABLE_SCOPE` 全 0 命中;活体 `read skill://…` 恒答可执行边界文案 | **按业务逻辑归属裁决返工**(`4c21c94` + 本轮清理):技能路径解析/扫描深度属宿主 `skill-filesystem`,插件不再自写近似版;user 唯一未亲自引爆的是文案指向的原生 `skill` 工具本身(agent 前序 probe session f12a206e 已验:完整 `<skill_content>` 加载成功) |
|
|
204
|
-
|
|
205
|
-
**建议**:两份 09-12 报告在标题或结论处补注其 `gates.urlSchemes/hashline` 取值,否则后来者会据"6/6"误判 `read` 可用性。
|
|
206
|
-
|
|
207
|
-
---
|
|
208
|
-
|
|
209
|
-
## 6. 未覆盖面(诚实声明)
|
|
210
|
-
|
|
211
|
-
- `grep` 未测 `dvc://`、`agent://`、`http://`;`glob` 未测 `ctx://`、`http(s)://`、`dvc://`(矩阵中以 `—` 标注)。
|
|
212
|
-
- `write` 仅测 `dvc://`(三设备)与 `dsh://`(只读拦截);未测 `ctx://`/`agent://`/`skill://` 写拦截的具体错误分类器。
|
|
213
|
-
- 未测 `hashline:true` 组合作对照(本轮无该实例),故 §5 的"配置差异"为**推断**,需一次 `hashline:true` 复跑坐实。
|
|
214
|
-
- 未测 `skill://` 的**全局(非 workspace)技能**路径——它们可能不依赖 cwd,若存在则 FS 层 `skill://` 并非全灭。
|
|
215
|
-
- 未覆盖工具:`eval` 桥(`await tool.*` 内调用 scheme)、`present`、`subagent`、`workflow`、`agent_message`、`web_search`、`web_fetch`、`goal_*`、`todo_write`、`ask_user_question`。
|
|
216
|
-
- 未做 `tsc`/`vitest`——本轮是活体冒烟,非 change 验收。
|
|
217
|
-
|
|
218
|
-
---
|
|
219
|
-
|
|
220
|
-
## 附:探针清单(可复现)
|
|
221
|
-
|
|
222
|
-
```
|
|
223
|
-
# read(原生 / FS 层)
|
|
224
|
-
read dsh://docs
|
|
225
|
-
read dsh://config:path/agent-loop
|
|
226
|
-
read dsh://docs/tool-catalog.md?q=ui-deliverables
|
|
227
|
-
read skill://book-to-skill # ❌ unknown
|
|
228
|
-
read ctx://session/transcript:1-8 # ❌ CTX_SESSION_LAYER
|
|
229
|
-
read agent:// # ❌ CTX_SESSION_LAYER
|
|
230
|
-
read https://example.com # ❌ unregistered
|
|
231
|
-
read http://example.com # ✅
|
|
232
|
-
|
|
233
|
-
# grep / glob(工具层)
|
|
234
|
-
grep path=dsh://docs pattern=trustedHosts
|
|
235
|
-
glob path=dsh://docs/subsystems pattern=*.md
|
|
236
|
-
grep path=skill://book-to-skill pattern='^#'
|
|
237
|
-
grep path=ctx://session/user_prompts[0] pattern='test your tools'
|
|
238
|
-
grep path=https://example.com pattern='Example Domain'
|
|
239
|
-
glob path=agent:// pattern='*'
|
|
240
|
-
|
|
241
|
-
# write(工具层)
|
|
242
|
-
write dvc://ast_grep {"patterns":["function $NAME"],"path":"/home/u1/workspaces/dashr/dashr/src","limit":3}
|
|
243
|
-
write dvc://ast_edit {"ops":[{"pat":"console.log($$$A)","out":"logger.info($$A)"}],"paths":[…],"dryRun":true}
|
|
244
|
-
write dvc://browser {"action":"open","url":"about:blank"} ; write dvc://browser {"action":"close"}
|
|
245
|
-
write dsh://config "nope" # ❌ read-only
|
|
246
|
-
```
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# 2026-09-13-preact-ui-shell 实测报告
|
|
2
|
-
|
|
3
|
-
- change: `2026-09-13-preact-ui-shell`(openspec valid)
|
|
4
|
-
- 依据: `~/workspaces/superd/apps/ui-preact` PoC(2026-09-09,0.1.3-alpha.2 + superd 伺服路径)
|
|
5
|
-
- gates: 测试线 4999,`urlSchemes:true + hashline:false + preact shell build`
|
|
6
|
-
- 结论先行: **shell 渲染引擎已换 Preact**(只 preact,无 @preact/signals——user 2026-09-13 裁决),全上游 UI 语料零改动获得 Preact 渲染;shell index chunk **555,959 → 434,173 B(−21.9%)**;浏览器级 A/B 实测挂载面与 stock 完全一致。
|
|
7
|
-
|
|
8
|
-
## 1. 改动面(全部属 monorepo 本地 patch,不入 upstream git)
|
|
9
|
-
|
|
10
|
-
| # | 改动 | 说明 |
|
|
11
|
-
|---|---|---|
|
|
12
|
-
| 1 | `apps/web/vite.config.ts` `resolve.alias` +5 条 | react / react/jsx-runtime / react/jsx-dev-runtime / react-dom / react-dom/client → preact/compat 家族(regex 锚定,防 `react-dom` 先命中 `react`) |
|
|
13
|
-
| 2 | 同文件 `resolve.dedupe` + `'preact'` | dedupe 条目从本包 node_modules 解析——**缺它必挂**:seed importer 在 `packages/client/web/lib`,node 向上走看不到 `apps/web/node_modules/preact`(报 `Could not load preact/compat`) |
|
|
14
|
-
| 3 | `apps/web/package.json` devDeps + `preact@10.29.8` | 精确 pin 对齐 PoC;仅 devDep,发布面无它 |
|
|
15
|
-
| 4 | `vendor/{AGENTS,CLAUDE,README}.md` → `vendor/docs/` | **根除 `vendor/CLAUDE.md` ENOTDIR/exit 236 老坑**(见 §4) |
|
|
16
|
-
|
|
17
|
-
AGENTS.md §二 harness 本地 patch 已记档(换 tag 需重放)。
|
|
18
|
-
|
|
19
|
-
## 2. 体积(实测)
|
|
20
|
-
|
|
21
|
-
| chunk | stock | preact build | Δ |
|
|
22
|
-
|---|---|---|---|
|
|
23
|
-
| `index-*.js`(react 家族 rides index) | 555,959 B | 434,173 B | **−121,786 B(−21.9%)** |
|
|
24
|
-
| `vendor-*.js`(react-free,katex/shiki/markdown 管线) | 740,575 B | 740,575 B | 0(设计内) |
|
|
25
|
-
|
|
26
|
-
## 3. 浏览器级 A/B 验证(playwright,同脚本双跑)
|
|
27
|
-
|
|
28
|
-
| 断言 | stock React build | preact build |
|
|
29
|
-
|---|---|---|
|
|
30
|
-
| UI 语料挂载(侧栏/会话列表/Settings/输入框文本) | ✅ 全 | ✅ 全(逐字一致) |
|
|
31
|
-
| `#root button` 数 | 31 | 31 |
|
|
32
|
-
| composer(textarea/contenteditable) | 1 | 1 |
|
|
33
|
-
| console.error | 0 | 0 |
|
|
34
|
-
| shell 内 react-dom 痕迹 | **`version:"18.3.1", rendererPackageName:"react-dom"` banner 在 shell** | **无**(唯一 `react-dom` 字串 = 平台模块种子表键 `{react:Y3, "react-dom":Y3, ...}`——同一个 preact 实例登记两个平台词,设计终态) |
|
|
35
|
-
| pageerror | slot 重复注册 ×1 | slot 重复注册 ×1 |
|
|
36
|
-
|
|
37
|
-
**pageerror 定责(A/B + 发布前验尸修正)**:`settings.general.item` slot id `compaction-tuning` 重复注册在 **stock 上同样存在**(factory id `Ba` vs `f5` 仅 minified 差异)→ 与渲染引擎无关。**根因(publish 前验尸确认)**:canonical 树里有一份**未提交的半成品 compaction-tuning 吸收工作**(`src/compaction/` + `installCompactionTuning` 接线,随 rsync 进入 4999 副本),与 `.dsh-test` profile 仍挂着的 local-plugin 版 compaction-tuning **同 id 注册两次**——两因叠加。该半成品已 `git stash`(带说明消息)移出 0.2.3-e 发布内容,续作时须先摘除 profile 的 local-plugin 行再合入。`better-dsh/client.js` 内的 `react-dom` 匹配为 pnpm 依赖路径字符串(`@tanstack+react-virtual@…_react-dom@18.3.1…`),stock/preact 两面同在,非本体。
|
|
38
|
-
|
|
39
|
-
**user 未亲自引爆项声明**:深交互面(聊天流式渲染、shiki 高亮、markdown 管线)未逐项人工过——零 console.error 为强信号非穷尽证明(PoC 同款边界声明)。
|
|
40
|
-
|
|
41
|
-
## 4. 顺带根除:`vendor/CLAUDE.md` ENOTDIR/exit 236 老坑
|
|
42
|
-
|
|
43
|
-
`vendor/` 根下三个文档文件(AGENTS/CLAUDE/README.md)撞 `pnpm-workspace.yaml` 的 `vendor/*` workspace glob:任何 workspace 枚举器读 `<条目>/package.json`——目录 ENOENT(容忍跳过),**文件 ENOTDIR(炸)**。历史受害面:`npm run build-client`(2026-09-03 记档)、本轮 `npx vite build`(exit 236、裸单行错误)。已移入 `vendor/docs/`(目录无 package.json → ENOENT 跳过)。换 tag 重放时记得同款处理。
|
|
44
|
-
|
|
45
|
-
**新坑记档**:`pnpm add` 之后 `npx vite` 从根解析到 **vite 8/rolldown**(错误形态完全不同)——web 构建一律走 `pnpm run build:web`(workspace 内 vite 6.4.3)。
|
|
46
|
-
|
|
47
|
-
## 5. 范围裁决
|
|
48
|
-
|
|
49
|
-
- **不入 better-dsh npm 发布物**:本 change 是测试线 monorepo 本地 patch。插件若要随发布把 Preact UI 带到 prod,必须附带 preact 前端 dist + web-runtime override 行(PoC 路径 B 已在 0.1.3-alpha.2 验证可行)——代价是 UI 语料冻结在 fork 点,且 prod host(0.1.3-alpha.2)与测试线(0.1.5-rc.2)语料版本错位。**该决定挂 prod host 升级门下,另行裁决。**
|
|
50
|
-
- 因此本轮 npm alpha(0.2.3-e)的插件内容不含 Preact——发布内容 = url-schemes 系(skill:// 收口等)+ 本轮清理。
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
# 4999 实测报告 — skill:// 空路径清单 + lsp gate/fan-out(2026-09-14)
|
|
2
|
-
|
|
3
|
-
## 被测构建
|
|
4
|
-
- canonical:`dashr/dashr` @ `0da6a9f`(skill:// bare list)+ `84a98dc`(lsp parity stages 2/3/5)+ `3a94ce1`(stage 4)+ `7373d4e`(gate)
|
|
5
|
-
- 部署:rsync → monorepo `packages/better-dsh/better-dsh`(tsdown + build-client)→ 4999 实例(unit `dsh-4999-test`,DSH_HOME=`.dsh-test`)重启后验证。
|
|
6
|
-
|
|
7
|
-
## 方法
|
|
8
|
-
真实 agent 会话(headless Chrome CDP 驱动 GUI,复用 `.scratch/cdp-chat.mjs`),会话 `session-3dc1ae5b`(workspace `--home-u1-workspaces-dashr--`),prompt 指示执行指定 tool call 并原样回报输出;tool result 从 session v3 jsonl(zstd)落账本取证。
|
|
9
|
-
|
|
10
|
-
## 结果
|
|
11
|
-
|
|
12
|
-
### 1. 裸 `skill://` → 可用技能清单 ✅
|
|
13
|
-
`read skill://`(无名字)返回 cwd 范围技能目录(`N available skill(s):` + 逐条 `skill://<name> — <description> (use when: …)`),实际返回 11 条(book-to-skill … markitdown),与会话 skill catalog 一致。此前"returns nothing"的空白路径消除。
|
|
14
|
-
|
|
15
|
-
### 2. `write dvc://lsp {"action":"status"}` ✅
|
|
16
|
-
返回 `{"ok":true,"gate":"unasked"}` —— gate 动作走通,session id 由 write 分发器自动注入,agent 无需手填。
|
|
17
|
-
|
|
18
|
-
### 3. `{"action":"diagnostics","file":"<abs .ts>","all":true}` fan-out ✅
|
|
19
|
-
```json
|
|
20
|
-
{ "ok": true, "fanout": true,
|
|
21
|
-
"servers": ["typescript-language-server","biome","eslint","denols","tailwindcss"],
|
|
22
|
-
"diagnostics": [],
|
|
23
|
-
"summary": "fan-out …/src/index.ts: 0 diagnostic(s) across 5 server(s) — …" }
|
|
24
|
-
```
|
|
25
|
-
5 个覆盖 .ts 的注册 server 全部被查询、合并、按 server 标注,无崩溃。
|
|
26
|
-
|
|
27
|
-
### 4. 结构化错误路径 ✅(负例)
|
|
28
|
-
相对路径 `dashr/dashr/src/index.ts`(相对 session cwd 不存在)→ 结构化 `file not found: <cwd>/…`,非崩溃非静默。
|
|
29
|
-
|
|
30
|
-
## 结论
|
|
31
|
-
本轮三项改动(skill:// 清单、lsp gate、fan-out 诊断)在 4999 真实运行时第一人称实测通过。单测侧:lsp-device 22 过、lsp-gate 5 过、skill.spec 17 过;tsc/构建绿。
|
|
32
|
-
|
|
33
|
-
## 遗留
|
|
34
|
-
- 真实 language server 端到端诊断(安装 pyright/ts 后取非空诊断、didOpen/didSave 同步行号对齐)未覆盖——本机当时无 server 二进制,fan-out 返回 0 视为"无 server/干净"两可;待装齐后补测。
|
|
35
|
-
- gate on 后的 warm-start/didOpen 预热延迟附挂路径需真实 server 才能观测。
|
|
36
|
-
|
|
37
|
-
## 追加实测(同日,commit 351d942)— dvc://lsp 读面
|
|
38
|
-
- `read dvc://lsp/status`:同一会话先 `write {"action":"on"}` 后 read → `{"ok":true,"gate":"on"}` —— session 经 read env 注入生效,读面返回**调用会话**的 gate。
|
|
39
|
-
- `read dvc://lsp/diagnostics?file=<abs>&all=1`:query 经 selector 还原为参数,fan-out 5 server 正常返回。
|
|
40
|
-
- 写面保留 status 动作(与注入式分发对称),但查询的规范形式是读面。
|
|
41
|
-
|
|
42
|
-
## 追加(同日,commit 660fd4b)— 两个活体缺陷修复
|
|
43
|
-
1. **dvc://browser 被会话注入毒死**:dispatcher 把 `session` 塞进 args,browser device 严格 validator 报 `unknown field(s) "session"`。修复:session 改走 `execute(args, {session})` 带外传输(lsp gate 同步改读 ctx,兼容旧 in-args)。进程内实证:`dispatchDvcWrite('dvc://browser', open example.com, 'sess-1')` 真实启动 Chrome 并返回 `{"ok":true,...,"title":"Example Domain"}`。
|
|
44
|
-
2. **read 普通文件路径失败**:wrapper 参数只声明 `path`,被委托方(host 原生 read 要求 `file_path`)收不到参数报 missing required property;非 string 返回值又撞 wrapper 的 string 输出 schema。修复:参数声明双键别名;委托前按被委托方**声明的 schema** 适配键名(opaque schema 原样透传);非 string 结果 JSON 归一。三个委托形态(file_path 声明/path 声明/opaque)单测覆盖。
|
|
45
|
-
|
|
46
|
-
## 追加(同日,commit f53c609)— glob/grep URL 缺陷修复
|
|
47
|
-
- `glob pattern="skill://grp/*"` 曾把带 glob 元字符的 URL 整体传给 ripgrep 当字面路径(rg exit 2)。修复:`splitUrlGlob` 在路径段首个元字符(`*?[`)处切分——URL 部分走 resolvePath,尾部 glob 作为 rooted pattern 应用在资源真实目录内。进程内对真实 skill 目录实证:`skill://grp/*` 与 `skill://grp/**/*.md` 均在目录内解析,不再报 No such file。
|
|
48
|
-
- `grep path="skill://…"` 匹配路径改写回 URL 形式(绝对路径前缀改写 + 原生相对路径前置),模型看到 `skill://grp/SKILL.md` 而非内部磁盘位置。
|
|
49
|
-
- url-schema spec 的 "glob with a URL in pattern … globs the resource's real disk directory natively" 场景现在对带元字符的 URL 同样成立。
|
|
50
|
-
|
|
51
|
-
## 追加(同日,commit 874edf2)— dsh://docs 指向上游官方文档
|
|
52
|
-
- 官方 harness 文档语料(241 个 md,源自 deepseek-ai/deepseek-harness docs/,经 dsh-dev-skill 抓取)vendor 进包内 `dsh-docs/`,随 `files` 发布。
|
|
53
|
-
- 解析顺序:显式 docsDir → `pkgRoot/dsh-docs` → `pkgRoot/docs` → `pkgRoot/../docs`;docs-dir 逐级上溯在每层先探 `dsh-docs`。
|
|
54
|
-
- 4999 部署后实测:`dsh://docs` 索引返回 agent-lifecycle/api-gateway/architecture/… 官方语料清单。
|
|
55
|
-
|
|
56
|
-
## 追加(2026-09-15)— 外部调查四洞修复(commit 待填:本条 commit)
|
|
57
|
-
外部 owner 级调查确认四个洞,全部修复并在 4999 部署后实测:
|
|
58
|
-
1. **fan-out 死代码**:`obtainClient` 被提到 `all:true` 分支之前,primary 缺失时 fan-out 永不可达。修复:fan-out 提前分发(`diagnosticsFanOut` 独立函数),不再要求 primary client。
|
|
59
|
-
2. **fan-out 失败与干净不可分**:每 server 结果现带 `status: ok|missing|error`(`perServer` 数组),summary 明示 "missing (NOT clean): …" / "errors: …"。4999 实测:`perServer:[{typescript-language-server,ok},{biome,missing},{eslint,missing},{denols,ok},{tailwindcss,missing}]`。
|
|
60
|
-
3. **安装结果被丢弃**:`ensureMustHave` 的 `installServer` 结果现落入 `installFailed`(per-session),在 `status` 读面以 `installFailures` 呈现;成功安装后调 `clearCommandProbeCache` 清负探针缓存(修复负缓存永久误报)。
|
|
61
|
-
4. **must-have 只在 write 后触发**:新增 `lspGateEnsure`,read/query-first 路径同样触发后台安装。附加:`resolveCommandPath` 显式探测 `~/.local/bin`、`~/.cargo/bin`、`~/go/bin`(daemon PATH 被 scrub 后 npm -g 安装位置不可见——本次 user 手工 symlink 到 /usr/local/bin 的根因)。
|
|
62
|
-
5. **device summary 过期**("advertises 4, answers 11"):summary 改为完整动作枚举(read 面 + write 面)。
|
|
63
|
-
6. **status 读面扩充**:`availability`(每语言 command+available)、`liveServers`、(会话内)`gate`+`installFailures`。4999 实测:python/typescript/rust available=true、go=false,liveServers 两条。
|