super-dsh 0.3.0-a → 0.3.0-d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -22
- package/cordis.patch.yml +3 -3
- package/package.json +20 -8
- package/superd-hub/dist/bundle-setup.d.ts +17 -2
- package/superd-hub/dist/bundle-setup.js +158 -2
- package/superd-hub/dist/spawn-world.js +2 -5
- package/superd-hub/dist/world-resolution.d.ts +6 -0
- package/superd-hub/dist/world-resolution.js +39 -0
- package/superd-hub/package.json +19 -2
- package/superd-hub/scripts/register-companion.mjs +100 -0
- package/bundles/better-dsh.tgz +0 -0
- package/bundles/manifest.json +0 -10
- package/node_modules/better-dsh/LICENSE +0 -24
- package/node_modules/better-dsh/README.md +0 -323
- package/node_modules/better-dsh/THIRD_PARTY_NOTICES.md +0 -52
- package/node_modules/better-dsh/cordis.patch.yml +0 -139
- package/node_modules/better-dsh/docs/00_adr/0001-bridge-tool-layer-not-service-layer.md +0 -14
- package/node_modules/better-dsh/docs/00_adr/0002-masking-is-presentation-only.md +0 -15
- package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-execution-framework.md +0 -236
- package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-framework-impl.md +0 -2083
- package/node_modules/better-dsh/docs/10_plans/2026-09-26-lsp-ast-reminder.md +0 -64
- package/node_modules/better-dsh/docs/10_plans/A2A-messaging-channel-test-archive.md +0 -256
- package/node_modules/better-dsh/docs/10_plans/code-mode-vs-rlm-ipython-comparison.md +0 -137
- package/node_modules/better-dsh/docs/10_plans/dashr-blueprint-review.md +0 -201
- package/node_modules/better-dsh/docs/10_plans/dashr-blueprint.md +0 -561
- package/node_modules/better-dsh/docs/10_plans/dashr-compaction-window-and-archive.md +0 -307
- package/node_modules/better-dsh/docs/10_plans/dashr-profile-layer-feasibility.md +0 -367
- package/node_modules/better-dsh/docs/10_plans/dashr-sandbox-escalation-semantics-gap.md +0 -171
- package/node_modules/better-dsh/docs/10_plans/dashr-security-sandbox-analysis.md +0 -187
- package/node_modules/better-dsh/docs/10_plans/dashr-surface-invariant-and-omp-imports.md +0 -97
- package/node_modules/better-dsh/docs/10_plans/ipython-kernel-interactive-interface-test-report.md +0 -152
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft.md +0 -146
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v3.md +0 -50
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v4.md +0 -79
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-vs-PrimeAgent-systemprompt-toolcatalog-comparison.md +0 -138
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/RLM-system-prompt-injection-gap-report.md +0 -161
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/V0.1.5-development-plan.md +0 -109
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_dsh.md +0 -50
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_prime.md +0 -113
- package/node_modules/better-dsh/docs/10_plans/recallable-compaction.md +0 -147
- package/node_modules/better-dsh/docs/10_plans/spike-tag-repro.mjs +0 -102
- package/node_modules/better-dsh/docs/10_plans/upstream-analysis.md +0 -128
- package/node_modules/better-dsh/docs/20_specs/agent/spec.md +0 -54
- package/node_modules/better-dsh/docs/20_specs/ast/spec.md +0 -57
- package/node_modules/better-dsh/docs/20_specs/compaction-recall/spec.md +0 -46
- package/node_modules/better-dsh/docs/20_specs/ctx/spec.md +0 -107
- package/node_modules/better-dsh/docs/20_specs/dsh/spec.md +0 -47
- package/node_modules/better-dsh/docs/20_specs/dvc/spec.md +0 -106
- package/node_modules/better-dsh/docs/20_specs/escalation-guidance/spec.md +0 -44
- package/node_modules/better-dsh/docs/20_specs/fs-scheme-resolution/spec.md +0 -37
- package/node_modules/better-dsh/docs/20_specs/hash-edit/spec.md +0 -41
- package/node_modules/better-dsh/docs/20_specs/http-read/spec.md +0 -73
- package/node_modules/better-dsh/docs/20_specs/kernel-provisioning/spec.md +0 -53
- package/node_modules/better-dsh/docs/20_specs/lsp/spec.md +0 -121
- package/node_modules/better-dsh/docs/20_specs/mobile-layout/spec.md +0 -108
- package/node_modules/better-dsh/docs/20_specs/model-failover/spec.md +0 -20
- package/node_modules/better-dsh/docs/20_specs/plugins-page-components/spec.md +0 -79
- package/node_modules/better-dsh/docs/20_specs/preact-ui-shell/spec.md +0 -22
- package/node_modules/better-dsh/docs/20_specs/repl-dispatch-resilience/spec.md +0 -21
- package/node_modules/better-dsh/docs/20_specs/skill/spec.md +0 -58
- package/node_modules/better-dsh/docs/20_specs/tool-surface/spec.md +0 -222
- package/node_modules/better-dsh/docs/20_specs/url-schema/spec.md +0 -148
- package/node_modules/better-dsh/docs/20_specs/web-trust-fence/spec.md +0 -43
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-06-write/345/267/245/345/205/267sandbox/345/215/207/347/272/247/351/200/217/344/274/240bug/345/244/215/345/217/221/345/217/212/346/214/202/350/265/267-/344/272/213/344/273/266/346/212/245/345/221/212.md +0 -176
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-08-hashline-edit-E_RANGE_UNVERIFIED/350/267/250/350/275/256/344/274/232/350/257/235/351/224/256/345/244/261/346/225/210-/350/257/212/346/226/255/346/212/245/345/221/212.md +0 -226
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-11-control-prompt-into-eval-description/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -222
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-fs-scheme-resolution-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -81
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-grammar-matrix/344/270/216catalog-centralize-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -234
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-recallable-context-design/351/252/214/350/257/201/346/212/245/345/221/212.md +0 -160
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-recallable-context-/345/256/236/346/265/213/345/211/247/346/234/254.md +0 -44
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-recallable-context-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -89
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-/345/205/255scheme/345/206/222/347/203/237/344/270/216/350/276/271/347/225/214/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -198
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-13-hashline-off/344/270/213scheme/345/217/257/350/276/276/346/200/247/345/267/245/345/205/267/351/235/242/344/270/215/345/257/271/347/247/260-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -246
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-13-preact-ui-shell/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -50
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-14-4999-skill/346/270/205/345/215/225/344/270/216lsp-gate/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -63
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-17-plugins/351/241/265/345/205/255/347/273/204/344/273/266/346/213/206/345/210/206/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -76
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-22-4988/345/217/214/345/271/263/351/235/242/345/220/257/345/212/250/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -76
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-22-better-dsh/347/273/204/344/273/266/347/203/255/346/217/222/346/213/224/344/270/216/344/276/235/350/265/226/347/272/247/350/201/224/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -134
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-23-remote-framework/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -92
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-23-remote-framework/347/254/254/344/270/200/344/272/272/347/247/260/345/244/215/346/265/213/346/212/245/345/221/212.md +0 -125
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-23-ssh/345/267/245/345/205/267assisted-pty/344/274/232/350/257/235framing/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -207
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-24-v0.1.7-rc.1/345/257/271/351/275/220/350/275/256-compaction/344/270/216failover/350/256/276/347/275/256/351/235/242/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -65
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-27-lsp-ast-reminder-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -53
- package/node_modules/better-dsh/docs/50_test-reports/2026-09-28-ctx-scheme/351/225/277/344/274/232/350/257/235utility/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -155
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-01-v0.2.4d-web-password-gate/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -105
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-02-better-dsh-schemastery/344/276/235/350/265/226/345/243/260/346/230/216/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -62
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-02-ctx-navigation/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -137
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-02-v0.2.0-rc.2/345/257/271/351/275/220/350/275/256/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -38
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-ast-engine-deomp-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -325
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-better-dsh-tool-surface-repl-dvc-browser-ast-lsp-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -185
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-docs-packaging-trim/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -82
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-physical-import/344/270/216llm-completion-ast/347/233/270/345/257/271/350/267/257/345/276/204/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -101
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-pnpm11/345/271/264/351/276/204/351/227/250/351/224/201/346/226/207/344/273/266/347/233/270/344/275/215/345/256/236/350/257/201.md +0 -54
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-remote-BYO-PTY-label/351/207/215/346/236/204/347/254/254/344/270/200/344/272/272/347/247/260/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -447
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-schemastery-cosmokit/346/272/220/347/240/201/345/206/205/350/201/224/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -63
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-zero-npm-runtime-deps/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -82
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-04-ast-engine-deomp-0.2.5-d/345/217/221/345/270/203/351/252/214/346/224/266/346/212/245/345/221/212.md +0 -220
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-04-ast_grep/344/270/216ast_edit/345/245/221/347/272/246/344/270/216/350/276/271/347/225/214/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -151
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-06-authentication-only-web-admission-4999.md +0 -63
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-07-better-dsh-welcome-self-contained-4999.md +0 -52
- package/node_modules/better-dsh/docs/50_test-reports/REPL-/345/267/245/345/205/267/350/260/203/347/224/250-/346/210/252/346/226/255/350/257/212/346/226/255.md +0 -110
- package/node_modules/better-dsh/docs/50_test-reports/kernel-provisioning.md +0 -44
- package/node_modules/better-dsh/docs/50_test-reports/repl-kernel-provisioning-test-report.md +0 -87
- package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-local-test-report.md +0 -81
- package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-report.md +0 -93
- package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-local-test-report.md +0 -44
- package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-report.md +0 -110
- package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.5-rc.2-local-test-report.md +0 -79
- package/node_modules/better-dsh/docs/50_test-reports/v0.1.8-improved-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -142
- package/node_modules/better-dsh/docs/50_test-reports/v0.1.8-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -193
- package/node_modules/better-dsh/docs/50_test-reports/v0.1.8b-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -96
- package/node_modules/better-dsh/docs/50_test-reports/v0.1.8c-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -127
- package/node_modules/better-dsh/docs/50_test-reports/v0.1.8d-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -150
- package/node_modules/better-dsh/docs/50_test-reports/v0.1.8e-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -224
- package/node_modules/better-dsh/docs/50_test-reports/v0.1.9a-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -168
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.0b-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -123
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.1-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -110
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.1b-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -86
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.1c-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -66
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.1d-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -67
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.1e-P1-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -136
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.1ef-dev-audit-report.md +0 -73
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.1f-plugin-shipped-ui-patches/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -102
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.3b-hashline-content-locator/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -73
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.3c-mobile-wave/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -47
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.4-ios-focus-zoom-suppression/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -158
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/SKILL.md +0 -147
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch01-user-guide.md +0 -123
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch02-plugin-basics.md +0 -127
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch03-plugin-framework-practice.md +0 -120
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch04-cordis-fundamentals.md +0 -129
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch05-cordis-api.md +0 -115
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch06-architecture.md +0 -109
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch07-capability-seams.md +0 -97
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch08-internals-pipelines.md +0 -111
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch09-api-gateway.md +0 -106
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch10-config-catalog.md +0 -97
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch11-tool-catalog.md +0 -121
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch12-persistence-catalog.md +0 -109
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch13-subsystems-core-session.md +0 -106
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch14-subsystems-agent-loop.md +0 -111
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch15-subsystems-tool-execution.md +0 -106
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch16-subsystems-session-data.md +0 -132
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch17-subsystems-llm-streaming.md +0 -128
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch18-subsystems-web-ui.md +0 -142
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch19-cookbook.md +0 -149
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch20-development-testing.md +0 -87
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch21-postmortems.md +0 -82
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch22-i18n.md +0 -86
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/cheatsheet.md +0 -67
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/glossary.md +0 -57
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/patterns.md +0 -88
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/AGENTS.md +0 -75
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.md +0 -84
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.zh.md +0 -86
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.md +0 -164
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.zh.md +0 -164
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.md +0 -150
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.zh.md +0 -154
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.md +0 -543
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.zh.md +0 -545
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.md +0 -3473
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.zh.md +0 -3474
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.md +0 -117
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.zh.md +0 -119
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-remote-api.md +0 -197
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-remote-api.zh.md +0 -197
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-settings-card.md +0 -102
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-settings-card.zh.md +0 -102
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.md +0 -101
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.zh.md +0 -103
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-vendored-package.md +0 -59
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-vendored-package.zh.md +0 -59
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-an-llm-adapter.md +0 -43
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-an-llm-adapter.zh.md +0 -43
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.md +0 -132
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.zh.md +0 -136
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/maintaining-dsh-code-review.md +0 -64
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/maintaining-dsh-code-review.zh.md +0 -64
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/responding-to-pr-review-on-a-stack.md +0 -32
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +0 -32
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.md +0 -364
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.zh.md +0 -366
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.md +0 -207
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.zh.md +0 -209
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.md +0 -375
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.zh.md +0 -377
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/inherited.md +0 -39
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.md +0 -152
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.zh.md +0 -154
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.md +0 -102
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.zh.md +0 -104
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.md +0 -45
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.zh.md +0 -51
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/01-first-plugin.md +0 -95
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/01-first-plugin.zh.md +0 -95
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/02-lifecycle-and-effects.md +0 -98
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +0 -98
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.md +0 -98
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.zh.md +0 -98
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.md +0 -144
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.zh.md +0 -144
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.md +0 -84
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.zh.md +0 -84
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/06-composition-and-hmr.md +0 -113
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/06-composition-and-hmr.zh.md +0 -113
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/07-into-the-harness.md +0 -108
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/07-into-the-harness.zh.md +0 -108
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.md +0 -60
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.zh.md +0 -62
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/deepseek-llm-api-wire-extensions.md +0 -163
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/deepseek-llm-api-wire-extensions.zh.md +0 -163
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.md +0 -33
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.zh.md +0 -35
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.md +0 -167
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.zh.md +0 -173
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.md +0 -86
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.zh.md +0 -88
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.md +0 -45
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.zh.md +0 -45
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.md +0 -22
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.zh.md +0 -24
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.md +0 -60
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.zh.md +0 -62
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/style-samples.md +0 -87
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/terminology.md +0 -214
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-prompt.md +0 -263
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.md +0 -69
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.zh.md +0 -69
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.md +0 -1411
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.zh.md +0 -1413
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.md +0 -1075
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.zh.md +0 -1077
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0001-acp-default-export-drops-inject.md +0 -113
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0001-acp-default-export-drops-inject.zh.md +0 -113
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +0 -47
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +0 -47
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0003-web-agent-gui-feedback-loop.md +0 -53
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +0 -53
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +0 -55
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +0 -55
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.md +0 -18
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.zh.md +0 -18
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.md +0 -53
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.zh.md +0 -53
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.md +0 -61
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.zh.md +0 -61
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.md +0 -207
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.zh.md +0 -207
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.md +0 -170
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.zh.md +0 -170
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.md +0 -351
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.zh.md +0 -351
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.md +0 -168
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.zh.md +0 -168
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.md +0 -195
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.zh.md +0 -195
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.md +0 -219
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.zh.md +0 -219
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.md +0 -238
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.zh.md +0 -238
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.md +0 -258
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.zh.md +0 -258
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.md +0 -1209
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.zh.md +0 -1219
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.md +0 -329
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.zh.md +0 -329
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.md +0 -382
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.zh.md +0 -382
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.md +0 -266
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.zh.md +0 -266
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.md +0 -505
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.zh.md +0 -505
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.md +0 -277
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.zh.md +0 -277
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.md +0 -88
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.zh.md +0 -88
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.md +0 -290
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.zh.md +0 -290
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.md +0 -1080
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.zh.md +0 -1086
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.md +0 -202
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.zh.md +0 -202
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.md +0 -131
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.zh.md +0 -131
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.md +0 -395
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.zh.md +0 -395
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.md +0 -87
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.zh.md +0 -87
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.md +0 -220
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.zh.md +0 -220
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.md +0 -192
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.zh.md +0 -192
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.md +0 -59
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.zh.md +0 -59
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.md +0 -354
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.zh.md +0 -354
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.md +0 -509
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.zh.md +0 -509
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.md +0 -219
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.zh.md +0 -219
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.md +0 -194
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.zh.md +0 -194
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.md +0 -204
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.zh.md +0 -204
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.md +0 -1155
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.zh.md +0 -1159
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.md +0 -405
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.zh.md +0 -405
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.md +0 -303
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.zh.md +0 -303
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.md +0 -354
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.zh.md +0 -354
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.md +0 -175
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.zh.md +0 -175
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.md +0 -117
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.zh.md +0 -117
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.md +0 -260
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.zh.md +0 -260
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.md +0 -766
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.zh.md +0 -770
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.md +0 -324
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.zh.md +0 -324
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.md +0 -220
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.zh.md +0 -220
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.md +0 -184
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.zh.md +0 -184
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.md +0 -32
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.zh.md +0 -32
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.md +0 -105
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.zh.md +0 -105
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.md +0 -720
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.zh.md +0 -720
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.md +0 -343
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.zh.md +0 -343
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.md +0 -178
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.zh.md +0 -178
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.md +0 -95
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.zh.md +0 -95
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.md +0 -154
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.zh.md +0 -154
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.md +0 -206
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.zh.md +0 -206
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.md +0 -70
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.zh.md +0 -70
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.md +0 -278
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.zh.md +0 -278
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.md +0 -321
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.zh.md +0 -321
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.md +0 -54
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.zh.md +0 -54
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.md +0 -2225
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.zh.md +0 -2233
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.md +0 -62
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.zh.md +0 -64
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.md +0 -106
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.zh.md +0 -106
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.md +0 -144
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.zh.md +0 -144
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.md +0 -183
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.zh.md +0 -183
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.md +0 -52
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.zh.md +0 -52
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.md +0 -143
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.zh.md +0 -143
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.md +0 -137
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.zh.md +0 -137
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.md +0 -148
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.zh.md +0 -150
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/dynamic-cordis.md +0 -15
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/dynamic-cordis.zh.md +0 -15
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.md +0 -155
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.zh.md +0 -155
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/llm-adapter.md +0 -189
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/llm-adapter.zh.md +0 -189
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.md +0 -102
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.zh.md +0 -102
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.md +0 -30
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.zh.md +0 -30
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.md +0 -101
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.zh.md +0 -101
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.md +0 -85
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.zh.md +0 -85
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.md +0 -190
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.zh.md +0 -190
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.md +0 -150
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.zh.md +0 -150
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.md +0 -21
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.zh.md +0 -21
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.md +0 -11
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.zh.md +0 -11
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.md +0 -29
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.zh.md +0 -29
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages-map.txt +0 -234
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages.json +0 -232
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-README.md +0 -63
- package/node_modules/better-dsh/docs/dev-test-environment-notes.md +0 -137
- package/node_modules/better-dsh/docs/distro-blueprint.md +0 -81
- package/node_modules/better-dsh/docs/dsh-webUI-with-rlm-mode.png +0 -0
- package/node_modules/better-dsh/docs/repositioning-and-rebranding.md +0 -102
- package/node_modules/better-dsh/docs/specs/agent/spec.md +0 -54
- package/node_modules/better-dsh/docs/specs/ast/spec.md +0 -57
- package/node_modules/better-dsh/docs/specs/ast-engine-deomp/spec.md +0 -170
- package/node_modules/better-dsh/docs/specs/authentication-only-web-admission/spec.md +0 -51
- package/node_modules/better-dsh/docs/specs/compaction-recall/spec.md +0 -46
- package/node_modules/better-dsh/docs/specs/ctx/spec.md +0 -179
- package/node_modules/better-dsh/docs/specs/docs-packaging-trim/spec.md +0 -110
- package/node_modules/better-dsh/docs/specs/dsh/spec.md +0 -47
- package/node_modules/better-dsh/docs/specs/dvc/spec.md +0 -106
- package/node_modules/better-dsh/docs/specs/escalation-guidance/spec.md +0 -44
- package/node_modules/better-dsh/docs/specs/fs-scheme-resolution/spec.md +0 -37
- package/node_modules/better-dsh/docs/specs/hash-edit/spec.md +0 -41
- package/node_modules/better-dsh/docs/specs/http-read/spec.md +0 -73
- package/node_modules/better-dsh/docs/specs/kernel-provisioning/spec.md +0 -53
- package/node_modules/better-dsh/docs/specs/lsp/spec.md +0 -121
- package/node_modules/better-dsh/docs/specs/mobile-layout/spec.md +0 -108
- package/node_modules/better-dsh/docs/specs/model-failover/spec.md +0 -20
- package/node_modules/better-dsh/docs/specs/model-picker-ios-blur/spec.md +0 -168
- package/node_modules/better-dsh/docs/specs/plugins-page-components/spec.md +0 -79
- package/node_modules/better-dsh/docs/specs/preact-ui-shell/spec.md +0 -22
- package/node_modules/better-dsh/docs/specs/remote-pty-label/spec.md +0 -126
- package/node_modules/better-dsh/docs/specs/repl-dispatch-resilience/spec.md +0 -21
- package/node_modules/better-dsh/docs/specs/skill/spec.md +0 -58
- package/node_modules/better-dsh/docs/specs/tool-surface/spec.md +0 -222
- package/node_modules/better-dsh/docs/specs/url-schema/spec.md +0 -148
- package/node_modules/better-dsh/docs/specs/web-trust-fence/spec.md +0 -43
- package/node_modules/better-dsh/docs/specs/welcome-self-contained/spec.md +0 -13
- package/node_modules/better-dsh/docs/specs/zero-npm-runtime-deps/spec.md +0 -85
- package/node_modules/better-dsh/docs/superpowers/plans/2026-10-02-ctx-navigation.md +0 -319
- package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-ast-engine-deomp.md +0 -1214
- package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-docs-packaging-trim.md +0 -181
- package/node_modules/better-dsh/docs/superpowers/specs/2026-10-02-ctx-navigation-design.md +0 -209
- package/node_modules/better-dsh/docs/upstream-dsh-0.1.5-rc.2-report.md +0 -156
- package/node_modules/better-dsh/dsh-docs/AGENTS.md +0 -75
- package/node_modules/better-dsh/dsh-docs/agent-lifecycle.md +0 -84
- package/node_modules/better-dsh/dsh-docs/agent-lifecycle.zh.md +0 -86
- package/node_modules/better-dsh/dsh-docs/api-gateway.md +0 -164
- package/node_modules/better-dsh/dsh-docs/api-gateway.zh.md +0 -164
- package/node_modules/better-dsh/dsh-docs/architecture.md +0 -150
- package/node_modules/better-dsh/dsh-docs/architecture.zh.md +0 -154
- package/node_modules/better-dsh/dsh-docs/capability-seams.md +0 -543
- package/node_modules/better-dsh/dsh-docs/capability-seams.zh.md +0 -545
- package/node_modules/better-dsh/dsh-docs/config-catalog.md +0 -3473
- package/node_modules/better-dsh/dsh-docs/config-catalog.zh.md +0 -3474
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.md +0 -117
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.zh.md +0 -119
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.md +0 -197
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.zh.md +0 -197
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.md +0 -109
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.zh.md +0 -109
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.md +0 -102
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.zh.md +0 -102
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.md +0 -101
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.zh.md +0 -103
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.md +0 -59
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.zh.md +0 -59
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.md +0 -43
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.zh.md +0 -43
- package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.md +0 -132
- package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.zh.md +0 -136
- package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.md +0 -64
- package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.zh.md +0 -64
- package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.md +0 -32
- package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +0 -32
- package/node_modules/better-dsh/dsh-docs/cordis-api/context.md +0 -364
- package/node_modules/better-dsh/dsh-docs/cordis-api/context.zh.md +0 -366
- package/node_modules/better-dsh/dsh-docs/cordis-api/events.md +0 -207
- package/node_modules/better-dsh/dsh-docs/cordis-api/events.zh.md +0 -209
- package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.md +0 -375
- package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.zh.md +0 -377
- package/node_modules/better-dsh/dsh-docs/cordis-api/inherited.md +0 -39
- package/node_modules/better-dsh/dsh-docs/cordis-api/registry.md +0 -152
- package/node_modules/better-dsh/dsh-docs/cordis-api/registry.zh.md +0 -154
- package/node_modules/better-dsh/dsh-docs/cordis-api/service.md +0 -102
- package/node_modules/better-dsh/dsh-docs/cordis-api/service.zh.md +0 -104
- package/node_modules/better-dsh/dsh-docs/cordis-primer.md +0 -45
- package/node_modules/better-dsh/dsh-docs/cordis-primer.zh.md +0 -51
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.md +0 -95
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.zh.md +0 -95
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.md +0 -98
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +0 -98
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.md +0 -98
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.zh.md +0 -98
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.md +0 -144
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.zh.md +0 -144
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.md +0 -84
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.zh.md +0 -84
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.md +0 -113
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.zh.md +0 -113
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.md +0 -108
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.zh.md +0 -108
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.md +0 -60
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.zh.md +0 -62
- package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.md +0 -163
- package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.zh.md +0 -163
- package/node_modules/better-dsh/dsh-docs/defensive-patterns.md +0 -33
- package/node_modules/better-dsh/dsh-docs/defensive-patterns.zh.md +0 -35
- package/node_modules/better-dsh/dsh-docs/development.md +0 -167
- package/node_modules/better-dsh/dsh-docs/development.zh.md +0 -173
- package/node_modules/better-dsh/dsh-docs/event-producer-consumer.md +0 -86
- package/node_modules/better-dsh/dsh-docs/event-producer-consumer.zh.md +0 -88
- package/node_modules/better-dsh/dsh-docs/glossary.md +0 -45
- package/node_modules/better-dsh/dsh-docs/glossary.zh.md +0 -45
- package/node_modules/better-dsh/dsh-docs/graph-atlas.md +0 -22
- package/node_modules/better-dsh/dsh-docs/graph-atlas.zh.md +0 -24
- package/node_modules/better-dsh/dsh-docs/i18n/README.md +0 -60
- package/node_modules/better-dsh/dsh-docs/i18n/README.zh.md +0 -62
- package/node_modules/better-dsh/dsh-docs/i18n/style-samples.md +0 -87
- package/node_modules/better-dsh/dsh-docs/i18n/terminology.md +0 -214
- package/node_modules/better-dsh/dsh-docs/i18n/translation-prompt.md +0 -263
- package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.md +0 -69
- package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.zh.md +0 -69
- package/node_modules/better-dsh/dsh-docs/module-graph.md +0 -1411
- package/node_modules/better-dsh/dsh-docs/module-graph.zh.md +0 -1413
- package/node_modules/better-dsh/dsh-docs/persistence-catalog.md +0 -1075
- package/node_modules/better-dsh/dsh-docs/persistence-catalog.zh.md +0 -1077
- package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.md +0 -113
- package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.zh.md +0 -113
- package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +0 -47
- package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +0 -47
- package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.md +0 -53
- package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +0 -53
- package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +0 -55
- package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +0 -55
- package/node_modules/better-dsh/dsh-docs/postmortem/README.md +0 -18
- package/node_modules/better-dsh/dsh-docs/postmortem/README.zh.md +0 -18
- package/node_modules/better-dsh/dsh-docs/rescope.md +0 -53
- package/node_modules/better-dsh/dsh-docs/rescope.zh.md +0 -53
- package/node_modules/better-dsh/dsh-docs/session-format-status.md +0 -47
- package/node_modules/better-dsh/dsh-docs/session-format-status.zh.md +0 -47
- package/node_modules/better-dsh/dsh-docs/subsystems/README.md +0 -61
- package/node_modules/better-dsh/dsh-docs/subsystems/README.zh.md +0 -61
- package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.md +0 -207
- package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.zh.md +0 -207
- package/node_modules/better-dsh/dsh-docs/subsystems/approval.md +0 -170
- package/node_modules/better-dsh/dsh-docs/subsystems/approval.zh.md +0 -170
- package/node_modules/better-dsh/dsh-docs/subsystems/attachment.md +0 -351
- package/node_modules/better-dsh/dsh-docs/subsystems/attachment.zh.md +0 -351
- package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.md +0 -168
- package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.zh.md +0 -168
- package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.md +0 -91
- package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.zh.md +0 -91
- package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.md +0 -195
- package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.zh.md +0 -195
- package/node_modules/better-dsh/dsh-docs/subsystems/commands.md +0 -219
- package/node_modules/better-dsh/dsh-docs/subsystems/commands.zh.md +0 -219
- package/node_modules/better-dsh/dsh-docs/subsystems/compaction.md +0 -238
- package/node_modules/better-dsh/dsh-docs/subsystems/compaction.zh.md +0 -238
- package/node_modules/better-dsh/dsh-docs/subsystems/conversation.md +0 -258
- package/node_modules/better-dsh/dsh-docs/subsystems/conversation.zh.md +0 -258
- package/node_modules/better-dsh/dsh-docs/subsystems/core.md +0 -1209
- package/node_modules/better-dsh/dsh-docs/subsystems/core.zh.md +0 -1219
- package/node_modules/better-dsh/dsh-docs/subsystems/credentials.md +0 -329
- package/node_modules/better-dsh/dsh-docs/subsystems/credentials.zh.md +0 -329
- package/node_modules/better-dsh/dsh-docs/subsystems/extensions.md +0 -382
- package/node_modules/better-dsh/dsh-docs/subsystems/extensions.zh.md +0 -382
- package/node_modules/better-dsh/dsh-docs/subsystems/feedback.md +0 -266
- package/node_modules/better-dsh/dsh-docs/subsystems/feedback.zh.md +0 -266
- package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.md +0 -505
- package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.zh.md +0 -505
- package/node_modules/better-dsh/dsh-docs/subsystems/goal.md +0 -277
- package/node_modules/better-dsh/dsh-docs/subsystems/goal.zh.md +0 -277
- package/node_modules/better-dsh/dsh-docs/subsystems/invariants.md +0 -88
- package/node_modules/better-dsh/dsh-docs/subsystems/invariants.zh.md +0 -88
- package/node_modules/better-dsh/dsh-docs/subsystems/jobs.md +0 -290
- package/node_modules/better-dsh/dsh-docs/subsystems/jobs.zh.md +0 -290
- package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.md +0 -1080
- package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.zh.md +0 -1086
- package/node_modules/better-dsh/dsh-docs/subsystems/lsp.md +0 -202
- package/node_modules/better-dsh/dsh-docs/subsystems/lsp.zh.md +0 -202
- package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.md +0 -131
- package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.zh.md +0 -131
- package/node_modules/better-dsh/dsh-docs/subsystems/persistence.md +0 -395
- package/node_modules/better-dsh/dsh-docs/subsystems/persistence.zh.md +0 -395
- package/node_modules/better-dsh/dsh-docs/subsystems/plan.md +0 -87
- package/node_modules/better-dsh/dsh-docs/subsystems/plan.zh.md +0 -87
- package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.md +0 -220
- package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.zh.md +0 -220
- package/node_modules/better-dsh/dsh-docs/subsystems/schedule.md +0 -192
- package/node_modules/better-dsh/dsh-docs/subsystems/schedule.zh.md +0 -192
- package/node_modules/better-dsh/dsh-docs/subsystems/scope.md +0 -59
- package/node_modules/better-dsh/dsh-docs/subsystems/scope.zh.md +0 -59
- package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.md +0 -354
- package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.zh.md +0 -354
- package/node_modules/better-dsh/dsh-docs/subsystems/session-query.md +0 -509
- package/node_modules/better-dsh/dsh-docs/subsystems/session-query.zh.md +0 -509
- package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.md +0 -219
- package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.zh.md +0 -219
- package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.md +0 -194
- package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.zh.md +0 -194
- package/node_modules/better-dsh/dsh-docs/subsystems/session-title.md +0 -204
- package/node_modules/better-dsh/dsh-docs/subsystems/session-title.zh.md +0 -204
- package/node_modules/better-dsh/dsh-docs/subsystems/session.md +0 -1155
- package/node_modules/better-dsh/dsh-docs/subsystems/session.zh.md +0 -1159
- package/node_modules/better-dsh/dsh-docs/subsystems/settings.md +0 -405
- package/node_modules/better-dsh/dsh-docs/subsystems/settings.zh.md +0 -405
- package/node_modules/better-dsh/dsh-docs/subsystems/shell.md +0 -303
- package/node_modules/better-dsh/dsh-docs/subsystems/shell.zh.md +0 -303
- package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.md +0 -148
- package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.zh.md +0 -148
- package/node_modules/better-dsh/dsh-docs/subsystems/skills.md +0 -354
- package/node_modules/better-dsh/dsh-docs/subsystems/skills.zh.md +0 -354
- package/node_modules/better-dsh/dsh-docs/subsystems/slots.md +0 -175
- package/node_modules/better-dsh/dsh-docs/subsystems/slots.zh.md +0 -175
- package/node_modules/better-dsh/dsh-docs/subsystems/spill.md +0 -117
- package/node_modules/better-dsh/dsh-docs/subsystems/spill.zh.md +0 -117
- package/node_modules/better-dsh/dsh-docs/subsystems/storage.md +0 -260
- package/node_modules/better-dsh/dsh-docs/subsystems/storage.zh.md +0 -260
- package/node_modules/better-dsh/dsh-docs/subsystems/subagent.md +0 -766
- package/node_modules/better-dsh/dsh-docs/subsystems/subagent.zh.md +0 -770
- package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.md +0 -324
- package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.zh.md +0 -324
- package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.md +0 -220
- package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.zh.md +0 -220
- package/node_modules/better-dsh/dsh-docs/subsystems/terminal.md +0 -184
- package/node_modules/better-dsh/dsh-docs/subsystems/terminal.zh.md +0 -184
- package/node_modules/better-dsh/dsh-docs/subsystems/todo.md +0 -32
- package/node_modules/better-dsh/dsh-docs/subsystems/todo.zh.md +0 -32
- package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.md +0 -105
- package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.zh.md +0 -105
- package/node_modules/better-dsh/dsh-docs/subsystems/tools.md +0 -720
- package/node_modules/better-dsh/dsh-docs/subsystems/tools.zh.md +0 -720
- package/node_modules/better-dsh/dsh-docs/subsystems/typert.md +0 -343
- package/node_modules/better-dsh/dsh-docs/subsystems/typert.zh.md +0 -343
- package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.md +0 -178
- package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.zh.md +0 -178
- package/node_modules/better-dsh/dsh-docs/subsystems/web-client.md +0 -95
- package/node_modules/better-dsh/dsh-docs/subsystems/web-client.zh.md +0 -95
- package/node_modules/better-dsh/dsh-docs/subsystems/web-server.md +0 -154
- package/node_modules/better-dsh/dsh-docs/subsystems/web-server.zh.md +0 -154
- package/node_modules/better-dsh/dsh-docs/subsystems/web.md +0 -206
- package/node_modules/better-dsh/dsh-docs/subsystems/web.zh.md +0 -206
- package/node_modules/better-dsh/dsh-docs/subsystems/webhook.md +0 -70
- package/node_modules/better-dsh/dsh-docs/subsystems/webhook.zh.md +0 -70
- package/node_modules/better-dsh/dsh-docs/subsystems/workflow.md +0 -278
- package/node_modules/better-dsh/dsh-docs/subsystems/workflow.zh.md +0 -278
- package/node_modules/better-dsh/dsh-docs/subsystems/workspace.md +0 -321
- package/node_modules/better-dsh/dsh-docs/subsystems/workspace.zh.md +0 -321
- package/node_modules/better-dsh/dsh-docs/testing.md +0 -54
- package/node_modules/better-dsh/dsh-docs/testing.zh.md +0 -54
- package/node_modules/better-dsh/dsh-docs/tool-catalog.md +0 -2225
- package/node_modules/better-dsh/dsh-docs/tool-catalog.zh.md +0 -2233
- package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.md +0 -62
- package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.zh.md +0 -64
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.md +0 -106
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.zh.md +0 -106
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.md +0 -144
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.zh.md +0 -144
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.md +0 -183
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.zh.md +0 -183
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.md +0 -52
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.zh.md +0 -52
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.md +0 -143
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.zh.md +0 -143
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.md +0 -137
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.zh.md +0 -137
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.md +0 -148
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.zh.md +0 -150
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.md +0 -15
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.zh.md +0 -15
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.md +0 -155
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.zh.md +0 -155
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.md +0 -189
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.zh.md +0 -189
- package/node_modules/better-dsh/dsh-docs/user/guide/github-review.md +0 -102
- package/node_modules/better-dsh/dsh-docs/user/guide/github-review.zh.md +0 -102
- package/node_modules/better-dsh/dsh-docs/user/guide/index.md +0 -30
- package/node_modules/better-dsh/dsh-docs/user/guide/index.zh.md +0 -30
- package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.md +0 -101
- package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.zh.md +0 -101
- package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.md +0 -85
- package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.zh.md +0 -85
- package/node_modules/better-dsh/dsh-docs/user/guide/providers.md +0 -190
- package/node_modules/better-dsh/dsh-docs/user/guide/providers.zh.md +0 -190
- package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.md +0 -150
- package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.zh.md +0 -150
- package/node_modules/better-dsh/dsh-docs/user/guide/schedule.md +0 -21
- package/node_modules/better-dsh/dsh-docs/user/guide/schedule.zh.md +0 -21
- package/node_modules/better-dsh/dsh-docs/user/index.md +0 -11
- package/node_modules/better-dsh/dsh-docs/user/index.zh.md +0 -11
- package/node_modules/better-dsh/dsh-docs/web-styling.md +0 -29
- package/node_modules/better-dsh/dsh-docs/web-styling.zh.md +0 -29
- package/node_modules/better-dsh/eval-description.md +0 -33
- package/node_modules/better-dsh/lib/BrowserWebSocketTransport-D1aFReu_.js +0 -4
- package/node_modules/better-dsh/lib/BrowserWebSocketTransport-wm99h94r.js +0 -39
- package/node_modules/better-dsh/lib/LaunchOptions-B874eBu2.js +0 -4
- package/node_modules/better-dsh/lib/LaunchOptions-kGXcZOe0.js +0 -17
- package/node_modules/better-dsh/lib/NodeWebSocketTransport-BRLjmu2R.js +0 -4
- package/node_modules/better-dsh/lib/NodeWebSocketTransport-D9ysYGLM.js +0 -3634
- package/node_modules/better-dsh/lib/ast-assets/ast-grep.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-bash.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-c.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-cpp.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-css.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-go.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-html.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-javascript.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-json.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-python.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-ruby.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-rust.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-tsx.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-typescript.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter-yaml.wasm +0 -0
- package/node_modules/better-dsh/lib/ast-assets/tree-sitter.wasm +0 -0
- package/node_modules/better-dsh/lib/bidi-BalpKaJc.js +0 -16106
- package/node_modules/better-dsh/lib/bundle-delivery.d.ts +0 -20
- package/node_modules/better-dsh/lib/bundle-delivery.js +0 -209
- package/node_modules/better-dsh/lib/chunk-DQxbwPpZ.js +0 -30
- package/node_modules/better-dsh/lib/client/index.js +0 -712
- package/node_modules/better-dsh/lib/compaction/index.d.ts +0 -57
- package/node_modules/better-dsh/lib/compaction/index.js +0 -145
- package/node_modules/better-dsh/lib/failover/index.d.ts +0 -59
- package/node_modules/better-dsh/lib/failover/index.js +0 -147
- package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.d.ts +0 -71
- package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.js +0 -249
- package/node_modules/better-dsh/lib/hmr.d.ts +0 -32
- package/node_modules/better-dsh/lib/hmr.js +0 -49
- package/node_modules/better-dsh/lib/index-DTDXUe6m.d.ts +0 -208
- package/node_modules/better-dsh/lib/index-browser-CysrjMyM.js +0 -21061
- package/node_modules/better-dsh/lib/index.d.ts +0 -705
- package/node_modules/better-dsh/lib/index.js +0 -3816
- package/node_modules/better-dsh/lib/kernel-bridge.py +0 -172
- package/node_modules/better-dsh/lib/kernel-env-D8UOWeji.js +0 -195
- package/node_modules/better-dsh/lib/kernel-env.d.ts +0 -80
- package/node_modules/better-dsh/lib/kernel-env.js +0 -3
- package/node_modules/better-dsh/lib/lib-C8_jXvwA.js +0 -894
- package/node_modules/better-dsh/lib/lsp-server-registry-BXvUTBY7.js +0 -3
- package/node_modules/better-dsh/lib/lsp-server-registry-CH9WNFFt.js +0 -972
- package/node_modules/better-dsh/lib/main-BQeFrBM1.js +0 -3
- package/node_modules/better-dsh/lib/main-CupOhMp5.js +0 -1432
- package/node_modules/better-dsh/lib/mobile/plugin.d.ts +0 -29
- package/node_modules/better-dsh/lib/mobile/plugin.js +0 -54
- package/node_modules/better-dsh/lib/native-capture-BEByDXYM.js +0 -68
- package/node_modules/better-dsh/lib/puppeteer-core-CSk2PtSm.js +0 -1136
- package/node_modules/better-dsh/lib/py-sdk-D7klhpWb.js +0 -178
- package/node_modules/better-dsh/lib/py-sdk.d.ts +0 -19
- package/node_modules/better-dsh/lib/py-sdk.js +0 -3
- package/node_modules/better-dsh/lib/remote/plugin.d.ts +0 -24
- package/node_modules/better-dsh/lib/remote/plugin.js +0 -1190
- package/node_modules/better-dsh/lib/url-schemes/index.d.ts +0 -88
- package/node_modules/better-dsh/lib/url-schemes/index.js +0 -12229
- package/node_modules/better-dsh/lib/util-BHL_dfV_.js +0 -2953
- package/node_modules/better-dsh/lib/wasm_bg-CNXhHjVg.js +0 -1291
- package/node_modules/better-dsh/lib/web-password.d.ts +0 -156
- package/node_modules/better-dsh/lib/web-password.js +0 -562
- package/node_modules/better-dsh/lib/web-tree-sitter-CPrPD4J2.js +0 -3440
- package/node_modules/better-dsh/lib/web-trust-D6gJpUMf.js +0 -393
- package/node_modules/better-dsh/lib/web-trust-Dej_RI2B.d.ts +0 -113
- package/node_modules/better-dsh/lib/web-trust.d.ts +0 -3
- package/node_modules/better-dsh/lib/web-trust.js +0 -4
- package/node_modules/better-dsh/lib/webserver.d.ts +0 -10
- package/node_modules/better-dsh/lib/webserver.js +0 -19
- package/node_modules/better-dsh/lib/welcome-notice.d.ts +0 -18
- package/node_modules/better-dsh/lib/welcome-notice.js +0 -59
- package/node_modules/better-dsh/lib/wrap-T4I0nfPM.js +0 -750
- package/node_modules/better-dsh/package.json +0 -430
- package/node_modules/better-dsh/scripts/kernel-provision.mjs +0 -35
- package/node_modules/better-dsh/scripts/register-bundle.mjs +0 -80
- package/node_modules/better-dsh/url-schemes-instruction.md +0 -22
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
# tool-surface Specification
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
DASHR 的模型表面(model surface)契约:哪些工具出现在 registry 投影(LLM-client 协议 tools 数组、REPL 绑定)里。核心原则——掩码作用于 tool registry(被替代了呈现面的原生工具全部 visible=false);REPL 绑定对 registry 可见集做机械/透明的自动桥接(零名单维护);被掩工具的能力保留靠三桥 service 层直调(`agent` spawn/fork、`agent_message` 消息+中断、`agent_workflow` 编排),不靠 registry 豁免。全部 REPL 指引(cell 语义、调用形、非 flat 名例外、`subagent` 别名注记)只经由 `eval` 工具的 wire description 承载——system prompt 中不存在任何 DASHR 渲染的工具目录或 control-prompt section。
|
|
5
|
-
|
|
6
|
-
## Requirements
|
|
7
|
-
|
|
8
|
-
### Requirement: Registry masking of replaced-presentation native tools
|
|
9
|
-
|
|
10
|
-
The system SHALL remove the native tools whose presentation surface DASHR replaces(`skill`、上游 `send_message`、`report`、`list_agents`、delegation 家族 `subagent_fork`/`interrupt_agent`/`workflow`/`ralph`)from the agent's tool registry projection via an agent-scope registry restriction —— wire tools array 与 REPL bindings 同源于该 projection,移除因此均匀生效。`subagent` is deliberately NOT masked:它在每个表面保持可见,且 **`eval` 工具的 description** 注记它是 `agent` delegation tool(统一 agent-spawn 入口)的别名。The restriction MUST NOT touch the registered tool definitions themselves;DASHR preserves each masked tool's native capability at the tool-bridge level(not by registry exemption):`agent` spawns/forks subagents、`agent_message` 经 host-plane service 层传递 child-downlink/parent-uplink/interrupt、`agent_workflow` 把 script/rfc 透传给 CAPTURED native workflow/ralph definitions(workflowEngine service 是 preset delegation realm 的 entry-local 服务,任何外部 ctx 不可见——native execute closures 从内部解析);`agent://` 取代 `list_agents`、`read skill://` 取代 `skill`。
|
|
11
|
-
|
|
12
|
-
#### Scenario: Masked tool absent from every model-facing surface
|
|
13
|
-
|
|
14
|
-
- **WHEN** an agent session starts under DASHR
|
|
15
|
-
- **THEN** the wire tools array 与 the REPL bindings 均不含 masked 名,对 masked 名的调用返回 `UNKNOWN_TOOL`
|
|
16
|
-
|
|
17
|
-
#### Scenario: subagent stays visible as an annotated alias
|
|
18
|
-
|
|
19
|
-
- **WHEN** an agent session starts under DASHR
|
|
20
|
-
- **THEN** `subagent` remains present on the wire tools array 与 the REPL bindings,且 `eval` 工具 description 注明它是 `agent` delegation tool 的别名
|
|
21
|
-
|
|
22
|
-
#### Scenario: Masked capability preserved through the bridge
|
|
23
|
-
|
|
24
|
-
- **WHEN** the model sends a child-downlink, parent-uplink, or interrupt through the `agent_message` bridge
|
|
25
|
-
- **THEN** the service layer executes it with native delivery semantics (user-role next-turn delivery, `messageId` confirmation) and native authorization (direct-child-only lineage, ancestor authority for interrupt)
|
|
26
|
-
|
|
27
|
-
#### Scenario: DASHR's own wrappers unaffected
|
|
28
|
-
|
|
29
|
-
- **WHEN** the agent-scope restriction denies a native name that a DASHR wrapper shadows on the agent's own layer
|
|
30
|
-
- **THEN** the wrapper (`read`/`write`/`grep`/`glob`, `agent`/`agent_message`/`agent_workflow`) remains visible and callable on every surface
|
|
31
|
-
|
|
32
|
-
### Requirement: Delegation bridges are registry tools
|
|
33
|
-
|
|
34
|
-
The system SHALL register the delegation bridges(`agent`、`agent_message`、`agent_workflow`)as real tools in the tool registry(与 `eval` transport 同一 host registration 层),runtime argument validation inside their execute、structured `{ error }` return values(bad input 不抛异常)。Registry projection 是**两个**模型表面的 single source:wire tools array 与 REPL `tool.*` bindings(经 mechanical auto-bridge)。两个表面 SHALL 每个 session name-by-name 相等(以 mechanical binding rule 的 flat-name 限定为界);唯一允许的例外是 `eval` 本身排除在 binding set 之外(self-call prevention)。
|
|
35
|
-
|
|
36
|
-
#### Scenario: Bridge callable directly on the wire
|
|
37
|
-
|
|
38
|
-
- **WHEN** the model sends a direct tool call `agent` with `{ description, prompt }` (no cell)
|
|
39
|
-
- **THEN** the call dispatches through the normal kernel pipeline and returns the same result shape the REPL binding returns, with the same audit events as any registry tool
|
|
40
|
-
|
|
41
|
-
#### Scenario: Three-surface name equality
|
|
42
|
-
|
|
43
|
-
- **WHEN** a DASHR session starts
|
|
44
|
-
- **THEN** 目录表面已随「Catalog section presents REPL bridge instructions」的 REMOVED 撤销,原三表面等式收敛为两表面:the wire tools array 与 the REPL binding names 在 flat-name 规则内 equal as sets,excepting only `eval`
|
|
45
|
-
|
|
46
|
-
#### Scenario: No dual-source drift
|
|
47
|
-
|
|
48
|
-
- **WHEN** a bridge's parameter surface changes
|
|
49
|
-
- **THEN** the wire schema 与 REPL binding 一起变化,因为两者都派生自同一注册 schema
|
|
50
|
-
|
|
51
|
-
### Requirement: eval transport description matches runtime semantics
|
|
52
|
-
|
|
53
|
-
The system SHALL state the eval transport's top-level semantics truthfully in **the `eval` tool's model-facing description(唯一的 REPL 指引载体)**:top-level `await` works —— kernel 以 `PyCF_ALLOW_TOP_LEVEL_AWAIT` 编译 cell 并运行 module coroutine;top-level `return` is a SyntaxError(cell 运行于 module scope,globals = locals)。The description SHALL NOT claim top-level `return` is accepted.
|
|
54
|
-
|
|
55
|
-
#### Scenario: Description promises only what the kernel does
|
|
56
|
-
|
|
57
|
-
- **WHEN** the model reads the `eval` tool description
|
|
58
|
-
- **THEN** the text states that top-level `await` works,states that top-level `return` is a SyntaxError(module-scope cell),and contains no claim that top-level `return` is accepted
|
|
59
|
-
|
|
60
|
-
#### Scenario: Top-level return stays rejected
|
|
61
|
-
|
|
62
|
-
- **WHEN** a cell contains a top-level `return`
|
|
63
|
-
- **THEN** the kernel rejects it with a SyntaxError, matching the description
|
|
64
|
-
|
|
65
|
-
### Requirement: eval description is the single REPL guidance source
|
|
66
|
-
|
|
67
|
-
The system SHALL carry ALL REPL guidance in the `eval` tool's wire description —— cell 语义、直调 vs 进 cell 的判据、非 flat 名例外、`subagent` 别名注记、**置于 description 末尾**的 mechanical bridge 调用形 —— 内容从**插件源码中的 Markdown 文件**加载、注册工具时作为 `description` 生效;system prompt 中 SHALL NOT 存在任何 DASHR 渲染的工具目录或 control-prompt section。桥接指引 SHALL 只陈述**一个**统一调用形、一句话说清:`await tool.<name>(argsObject)`,argsObject = 该工具 wire JSON-Schema 参数对象写成的 Python dict 字面量(同字段名、单个位置参数、不用 kwargs),唯一系统性语法差异为 `true`/`false`/`null` → `True`/`False`/`None`;SHALL NOT 渲染 per-tool 签名表,且 SHALL NOT 对桥接调用的返回值形态作任何陈述(不写"不保证形状/需试错"类措辞)。描述中的桥接示例 SHALL 使用与被引工具 wire schema 一致的参数名。
|
|
68
|
-
|
|
69
|
-
#### Scenario: System prompt carries no DASHR catalog or control section
|
|
70
|
-
|
|
71
|
-
- **WHEN** an agent session renders its system prompt
|
|
72
|
-
- **THEN** 没有 DASHR 来源的 section 枚举 per-tool 签名,也没有独立的 control-prompt section 教 cell 范式;全部 REPL 指引只经由 `eval` description 到达模型
|
|
73
|
-
|
|
74
|
-
#### Scenario: Description loads from the source Markdown
|
|
75
|
-
|
|
76
|
-
- **WHEN** the plugin registers the `eval` tool
|
|
77
|
-
- **THEN** 其 wire description 等于包内 Markdown 指引文件的内容——编辑该文件即改变模型可见的 description
|
|
78
|
-
|
|
79
|
-
#### Scenario: One bridge call form, one syntax delta
|
|
80
|
-
|
|
81
|
-
- **WHEN** the model reads the bridge instructions in the `eval` description
|
|
82
|
-
- **THEN** it sees the single positional-args-object call form 与 `True`/`False`/`None` 大小写映射,and no per-tool signature table or output-shape caveat(无任何"不保证形态/试错"措辞)
|
|
83
|
-
|
|
84
|
-
#### Scenario: Examples match wire parameter names
|
|
85
|
-
|
|
86
|
-
- **WHEN** the description shows a bridge example for `read`
|
|
87
|
-
- **THEN** 参数键与 `read` 的 wire schema 一致(如 `path`),而非其它工具的键名
|
|
88
|
-
|
|
89
|
-
#### Scenario: Guidance lives and dies with the tool
|
|
90
|
-
|
|
91
|
-
- **WHEN** a session's scope excludes the `eval` tool
|
|
92
|
-
- **THEN** 任何地方都不渲染 REPL 指引(指引即工具自身的 description);`eval` 在场时指引必然在场
|
|
93
|
-
|
|
94
|
-
#### Scenario: Alias annotation present
|
|
95
|
-
|
|
96
|
-
- **WHEN** the model reads the `eval` description
|
|
97
|
-
- **THEN** it states that `subagent` is an alias of the `agent` delegation tool,两者经同一 runtime delegate
|
|
98
|
-
|
|
99
|
-
#### Scenario: Non-flat exception present
|
|
100
|
-
|
|
101
|
-
- **WHEN** the model reads the `eval` description
|
|
102
|
-
- **THEN** it states that 含非标识符字符(如连字符)的工具名没有 `tool.<name>` member,必须以 direct tool call 调用
|
|
103
|
-
|
|
104
|
-
### Requirement: Masking failures surface loudly
|
|
105
|
-
|
|
106
|
-
The system SHALL surface a structured error, not a silent skip, when restricting any masked tool name fails at session start;application 完成后 mask SHALL verify 每个 masked 名在 **the wire tools array 与 the REPL bindings** 中均不存在。
|
|
107
|
-
|
|
108
|
-
#### Scenario: A masked name's restriction errors and the session reports it
|
|
109
|
-
|
|
110
|
-
- **WHEN** applying the mask, a single masked name's registry restriction throws
|
|
111
|
-
- **THEN** the session surfaces the failure as a structured error naming the masked tool, and the name does not silently remain on any model-facing surface
|
|
112
|
-
|
|
113
|
-
#### Scenario: Masked names absent after successful application
|
|
114
|
-
|
|
115
|
-
- **WHEN** an agent session starts under DASHR with a healthy registry
|
|
116
|
-
- **THEN** the wire tools array 与 the REPL bindings contain none of the masked names(`skill`、`send_message`、`report`、`list_agents`、`subagent_fork`、`interrupt_agent`、`workflow`、`ralph`),and a call naming a masked tool returns `UNKNOWN_TOOL`
|
|
117
|
-
|
|
118
|
-
### Requirement: REPL bindings bridge the visible registry mechanically
|
|
119
|
-
The system SHALL install REPL bindings by automatic, transparent conversion of every flat-bindable name in the registry's visible set at session start — no manual allowlist or denylist; masked names are naturally absent because the binding source and the masking act on the same projection. Non-flat names SHALL be skipped — a name is non-flat when it contains characters outside `[A-Za-z0-9_]` (e.g. hyphens); a `__` infix alone is a legal identifier and does not by itself make a name non-flat — and the bridge instructions SHALL state the name-shape limitation without enumerating affected tools.
|
|
120
|
-
|
|
121
|
-
#### Scenario: A newly registered host tool appears in the REPL without list edits
|
|
122
|
-
- **WHEN** the host registers a new flat-named tool after a DASHR upgrade
|
|
123
|
-
- **THEN** the next agent session exposes it as `tool.<name>` with no DASHR source change
|
|
124
|
-
|
|
125
|
-
#### Scenario: Non-flat MCP names documented, not listed
|
|
126
|
-
- **WHEN** an MCP tool named `mcp__server__tool-name` is registered
|
|
127
|
-
- **THEN** no binding is created for it, and the bridge instructions explain the name-shape limitation
|
|
128
|
-
|
|
129
|
-
#### Scenario: Double-underscore infix alone stays bindable
|
|
130
|
-
- **WHEN** a tool named `mcp__server__tool` (identifier characters only, no hyphen) is registered
|
|
131
|
-
- **THEN** the name is flat-bindable (`'mcp__server__tool'.isidentifier()` is true) and appears as `tool.<name>` unless separately masked
|
|
132
|
-
|
|
133
|
-
### Requirement: llm_completion tool
|
|
134
|
-
The system SHALL provide an `llm_completion` tool: a one-shot, stateless LLM call — no tools, no conversation history, no agent creation. Inputs: `{ prompt, system?, maxTokens? }`; output: the model's text. The call SHALL be attributed to the calling agent's session through the normal tool-call audit (the host's auxiliary-purpose enum is closed and carries no completion class), SHALL honor the caller's abort signal, and SHALL resolve its model route from the calling agent's current model selection, and SHALL answer a structured error value — never a silent fallback route — when no selection is available. A finish other than a clean stop, or any tool-call block in the output, SHALL produce a structured error value, not a thrown exception.
|
|
135
|
-
|
|
136
|
-
#### Scenario: Zero-spawn judge step inside a cell
|
|
137
|
-
- **WHEN** a cell calls `await tool.llm_completion({ prompt: "<judge prompt>", system: "<rubric>" })`
|
|
138
|
-
- **THEN** the value returned is the model's text; no subagent is spawned, no session besides the caller's is created, and the call is auditable under its own purpose
|
|
139
|
-
|
|
140
|
-
#### Scenario: Model route follows the caller
|
|
141
|
-
- **WHEN** the calling agent's selected model differs from the host default
|
|
142
|
-
- **THEN** the completion runs on the caller's selection
|
|
143
|
-
|
|
144
|
-
#### Scenario: Degraded finish is a structured error
|
|
145
|
-
- **WHEN** the completion hits maxTokens or aborts
|
|
146
|
-
- **THEN** the tool returns `{ error: <description> }` rather than throwing
|
|
147
|
-
|
|
148
|
-
### Requirement: REPL tool namespace introspection
|
|
149
|
-
The system SHALL make the REPL `tool` namespace introspectable: `dir(tool)` returns the sorted list of bound tool names — exactly the names callable as `tool.<name>(argsObject)`. The underlying injected mapping (e.g. `__dashr_injected__`) remains unchanged for compatibility; `dir()` is the documented introspection surface.
|
|
150
|
-
|
|
151
|
-
#### Scenario: dir(tool) lists the binding set
|
|
152
|
-
- **WHEN** a cell runs `dir(tool)`
|
|
153
|
-
- **THEN** the returned list equals the sorted set of names bound in the `tool` namespace for that run (dunder members aside), including the delegation bridges and `llm_completion`
|
|
154
|
-
|
|
155
|
-
### Requirement: Hashline edit family registered on the agent's own layer
|
|
156
|
-
|
|
157
|
-
The system SHALL register the vendored hashline edit family on each agent's own scope layer at session start — `edit` (hash-anchored ordered edit tuples, shadowing the preset's built-in edit by nearest-layer resolution, no mask entry needed) and `undo_last_edit` (revert of the most recent hashline edit) — alongside the URL-aware read/write/grep/glob wrappers, unwinding with the agent. The write tool SHALL remain the upstream full-file write with its native confirmation envelope: no hook SHALL append a hashline preview to write results, and the hashline guidance SHALL NOT promise post-write anchors (the model MAY edit directly using anchors derived from the content it just wrote, or read first). The hashline guidance sections SHALL shadow the preset's built-in tool guidance on the same layer (compiled defaults when no agentPresets service or a failing override — never a failed install).
|
|
158
|
-
|
|
159
|
-
#### Scenario: A hash-anchored edit lands and is reversible
|
|
160
|
-
|
|
161
|
-
- **WHEN** the model calls `edit` with anchored edit tuples on a file whose current content matches the anchors
|
|
162
|
-
- **THEN** the edit applies atomically (drift-checked against current content), and a subsequent `undo_last_edit` reverts it
|
|
163
|
-
|
|
164
|
-
#### Scenario: A write result stays upstream-native
|
|
165
|
-
|
|
166
|
-
- **WHEN** the model calls `write` and it succeeds
|
|
167
|
-
- **THEN** the result content is the upstream confirmation envelope with no auto-read/anchor section appended, and no read is required before the next anchored `edit` on that file
|
|
168
|
-
|
|
169
|
-
#### Scenario: The shadow replaces the built-in edit without masking
|
|
170
|
-
|
|
171
|
-
- **WHEN** an agent session starts under DASHR
|
|
172
|
-
- **THEN** the `edit` the model sees is the hashline tool (own-layer shadow), the preset's built-in edit is unreachable for that agent, and no deny-list entry names `edit`
|
|
173
|
-
|
|
174
|
-
### Requirement: Lsp feedback rides edit results
|
|
175
|
-
The system SHALL attach the same write-feedback diagnostics contract to successful edits: after a landed `edit` with an explicit path, the result content carries the diagnostics summary computed from the exact landed content (didSave freshness, timeout degradation, span guard — the `dvc` write-feedback requirement's terms apply verbatim). Anchor-only edits (path inferred from anchors) and non-edit tools pass through untouched; the write tool's feedback stays with its wrapper (no double pull).
|
|
176
|
-
|
|
177
|
-
#### Scenario: An edit that introduces a type error reports it
|
|
178
|
-
- **WHEN** an edit lands content introducing a type error in a file with a language server and its check completes within the budget
|
|
179
|
-
- **THEN** the edit result text carries the diagnostics summary for the exact landed content
|
|
180
|
-
|
|
181
|
-
### Requirement: Hashline edit verification is content-anchored
|
|
182
|
-
|
|
183
|
-
The system SHALL verify each edit tuple's anchors against the CURRENT file content before consulting any ledger: an anchor SHALL be accepted when its hash locates a unique, consistently pairable position in the current canonical line hashes; the served ledger SHALL be advisory (echo/undo attribution) and keyed by canonical absolute path with no session identity, so anchors survive session-tree forks and continuation without a re-read. Genuine drift SHALL still fail closed with nothing written, batch atomicity SHALL be unchanged, and a multi-tuple batch failure SHALL instruct reading the file once and resubmitting the whole batch.
|
|
184
|
-
|
|
185
|
-
#### Scenario: An edit across a forked session lands without a re-read
|
|
186
|
-
|
|
187
|
-
- **WHEN** a file is written or read in one session node, the conversation continues in a forked node (new session identity), and the model submits anchored edit tuples derived from that earlier content
|
|
188
|
-
- **THEN** the edit applies without any intervening `read`, because verification matched current content
|
|
189
|
-
|
|
190
|
-
#### Scenario: A drifted line still fails closed
|
|
191
|
-
|
|
192
|
-
- **WHEN** an anchor's hash no longer exists in the current file (content changed or line removed externally)
|
|
193
|
-
- **THEN** the tuple is rejected with a drift error stating the content changed and a read is needed, and nothing is written
|
|
194
|
-
|
|
195
|
-
#### Scenario: An ambiguous anchor falls back before failing
|
|
196
|
-
|
|
197
|
-
- **WHEN** an anchor's hash occurs at multiple current positions and the served ledger cannot disambiguate the span
|
|
198
|
-
- **THEN** the tuple is rejected with nothing written, and the error names the ambiguity
|
|
199
|
-
|
|
200
|
-
#### Scenario: Multi-tuple failure copy is actionable
|
|
201
|
-
|
|
202
|
-
- **WHEN** any tuple in a multi-tuple batch fails verification
|
|
203
|
-
- **THEN** the batch aborts with zero writes and the error instructs reading the file once, then resubmitting the whole batch
|
|
204
|
-
|
|
205
|
-
### Requirement: Hashline store centralized under DSH_HOME
|
|
206
|
-
|
|
207
|
-
The hashline store SHALL live at a single location — `$DSH_HOME/storages/dsh-better-edit/hash-store.sqlite` — for tool calls, previews, and tests alike, resolved through the harness home resolver so `DSH_HOME` isolates deployments; no per-workspace dot-directory SHALL be created. The served table SHALL be keyed by canonical absolute path (no session column), the 7-day TTL prune SHALL be retained, and the store schema version SHALL bump with a rebuild-on-mismatch gate that drops and recreates legacy session-keyed served tables.
|
|
208
|
-
|
|
209
|
-
#### Scenario: No dot-directory is created
|
|
210
|
-
|
|
211
|
-
- **WHEN** hashline tools run inside any workspace
|
|
212
|
-
- **THEN** state lands in the centralized store and no `<workspace>/.dsh_better_edit/` directory is created
|
|
213
|
-
|
|
214
|
-
#### Scenario: DSH_HOME isolates deployments
|
|
215
|
-
|
|
216
|
-
- **WHEN** the harness runs with a test `DSH_HOME` (e.g. the 4999 line)
|
|
217
|
-
- **THEN** its hashline store is a separate file under that home and never touches the production store
|
|
218
|
-
|
|
219
|
-
#### Scenario: Legacy session-keyed served tables rebuild
|
|
220
|
-
|
|
221
|
-
- **WHEN** the store opens with a schema version below the current one, or a served table still carrying a `session_id` column
|
|
222
|
-
- **THEN** the served table is dropped and recreated with the path-keyed schema, and the version marker is updated
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
# url-schema Specification
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
Give DASHR one uniform URL resource-addressing layer: read/write/grep/glob accept `scheme://` URLs, route by scheme to a handler, apply one selector syntax uniformly, and keep non-URL behavior byte-identical to the native tools via delegation.
|
|
6
|
-
|
|
7
|
-
## Requirements
|
|
8
|
-
|
|
9
|
-
### Requirement: FS-shaped tools accept and route scheme URLs
|
|
10
|
-
The scheme registry SHALL be owned by the `dsh-url-schemes` cordis service (renamed from `dsh-url-schema`), which SHALL contain the `UrlResolver` and scheme handlers only (no tool registrations inside the service). The URL-aware read/write/grep/glob tools SHALL be tool-layer consumers. read SHALL accept `scheme://` URLs and resolve them end-to-end through the scheme registry; grep/glob SHALL translate or materialize the resource for the native search; write SHALL dispatch to a structured per-scheme write channel (all rejected this wave).
|
|
11
|
-
|
|
12
|
-
#### Scenario: Reading a registered scheme
|
|
13
|
-
- **WHEN** the model calls read with a registered scheme URL (e.g. `skill://foo`)
|
|
14
|
-
- **THEN** the system returns the handler-resolved content with the selector applied, not a filesystem read
|
|
15
|
-
|
|
16
|
-
#### Scenario: Reading an unregistered scheme
|
|
17
|
-
- **WHEN** the model calls read with a URL whose scheme has no registered handler (including `history://` — no special case exists)
|
|
18
|
-
- **THEN** the system returns the structured `URL_UNREGISTERED_SCHEME` error listing the registered schemes
|
|
19
|
-
|
|
20
|
-
#### Scenario: URL without a scheme prefix
|
|
21
|
-
- **WHEN** a resolver-layer caller passes a string without `scheme://`
|
|
22
|
-
- **THEN** the system returns the structured `URL_NO_SCHEME` error
|
|
23
|
-
|
|
24
|
-
### Requirement: `dsh://docs` serves the vendored upstream official docs
|
|
25
|
-
`dsh://docs` SHALL serve the shipped upstream official harness documentation corpus (`dsh-docs/`, vendored from the `deepseek-ai/deepseek-harness` repo `docs/`), not the DASHR repository's working notes. Resolution order: explicit `docsDir` → packaged `dsh-docs/` → packaged `docs/` → repo-root `docs/` (walk-up probes `dsh-docs` before `docs` at every level).
|
|
26
|
-
|
|
27
|
-
#### Scenario: Docs index lists the official corpus
|
|
28
|
-
- **WHEN** the model reads `dsh://docs`
|
|
29
|
-
- **THEN** the index enumerates the upstream official docs tree (`agent-lifecycle.md`, `api-gateway.md`, `architecture.md`, …)
|
|
30
|
-
|
|
31
|
-
### Requirement: Bare `skill://` lists the available skills
|
|
32
|
-
A bare `skill://` URL (no skill name) SHALL render the cwd-scoped skill catalog from the registry's `list` face — one line per winning summary (`skill://<name> — <description>`, plus `(use when: …)` when `whenToUse` is present) — using the same discovery rule as a name lookup. An empty catalog SHALL answer explicitly, never with an error.
|
|
33
|
-
|
|
34
|
-
#### Scenario: Bare skill list
|
|
35
|
-
- **WHEN** the model reads `skill://` with no skill name
|
|
36
|
-
- **THEN** the tool result contains the count header and per-skill lines, cwd-scoped exactly like `skill://<name>` resolution
|
|
37
|
-
|
|
38
|
-
#### Scenario: Empty catalog
|
|
39
|
-
- **WHEN** no skill is available in the workspace scope
|
|
40
|
-
- **THEN** the result reads "No skills available in this workspace scope." — not a `URL_SKILL_NOT_FOUND` error
|
|
41
|
-
|
|
42
|
-
### Requirement: Delegation shells preserve native non-URL behavior
|
|
43
|
-
The system SHALL implement read/write/grep/glob as delegation shells over the definition registered under the same semantic name at capture time, captured once per agent via `ctx.tools.get(name, agent)` strictly before the wrappers register on the agent's own scope layer (`read` included — its captured delegate MAY be another feature's wrapper). Non-URL inputs SHALL be forwarded verbatim to `captured.execute(args, exec)`, preserving the native write-intent policy gate, sandbox resolution, ripgrep search semantics, and any outer-layer behavior already present. The shells SHALL honor per-feature config gates `Config = { urlSchemes?: boolean = true, hashline?: boolean = true }` from the patch-line `config:` block: with `urlSchemes: false`, scheme paths SHALL fall through to the captured definition (native failure semantics are honest); with `hashline: false`, file reads SHALL delegate without hashline anchoring.
|
|
44
|
-
|
|
45
|
-
#### Scenario: Ordinary write keeps the policy gate
|
|
46
|
-
- **WHEN** the model writes to an ordinary file path
|
|
47
|
-
- **THEN** the call runs through the captured native write definition — the write-intent policy gate, sandbox resolution, and observation events behave exactly as before the URL schema existed
|
|
48
|
-
|
|
49
|
-
#### Scenario: Ordinary grep/glob keep ripgrep semantics
|
|
50
|
-
- **WHEN** the model greps or globs over ordinary paths
|
|
51
|
-
- **THEN** the call delegates to the captured native definition with args untouched, returning native-shaped results
|
|
52
|
-
|
|
53
|
-
#### Scenario: Missing native delegate fails loudly
|
|
54
|
-
- **WHEN** a host did not deploy the native write/grep/glob and the corresponding wrapper is invoked on a non-URL input
|
|
55
|
-
- **THEN** the system returns the structured `NATIVE_WRITE_UNAVAILABLE` / `NATIVE_GREP_UNAVAILABLE` / `NATIVE_GLOB_UNAVAILABLE` error instead of reimplementing the tool
|
|
56
|
-
|
|
57
|
-
#### Scenario: Capture happens before registration
|
|
58
|
-
- **WHEN** an agent session starts and the URL-aware tools are installed
|
|
59
|
-
- **THEN** the definitions under `read`/`write`/`grep`/`glob` are captured strictly before any wrapper registers on that agent's scope layer, so the captured reference is the pre-existing tool rather than the wrapper (no self-recursion)
|
|
60
|
-
|
|
61
|
-
#### Scenario: URL capability disabled by gate
|
|
62
|
-
- **WHEN** the patch line sets `urlSchemes: false` and the model reads `ctx://session`
|
|
63
|
-
- **THEN** the wrapper delegates to the captured read definition and the native failure surfaces
|
|
64
|
-
|
|
65
|
-
### Requirement: URL search reuses the native engine
|
|
66
|
-
The system SHALL run grep/glob over URL-addressed resources through the native search engine: path-backed schemes (a handler-implemented `resolvePath` mapping the URL to a real disk location — `skill://` today) have the URL translated to the disk path before delegating; content-backed schemes (agent, ctx, `dsh://config`, http, …) have the resolved text materialized into a fresh RAM-backed tempfs directory (`/dev/shm` when available and writable; falling back to the OS temp dir when unavailable or when a single materialization exceeds 8 MiB) which is removed afterwards whatever the outcome.
|
|
67
|
-
|
|
68
|
-
#### Scenario: Searching a path-backed resource
|
|
69
|
-
- **WHEN** the model greps a `skill://name` URL
|
|
70
|
-
- **THEN** the URL is translated to the skill's real disk path and only the search root is rewritten before the native grep runs
|
|
71
|
-
|
|
72
|
-
#### Scenario: Searching a content-backed resource
|
|
73
|
-
- **WHEN** the model greps a content-backed URL (e.g. `ctx://model`)
|
|
74
|
-
- **THEN** the resolved text is written into a fresh temp dir under `/dev/shm` (or the OS temp dir on fallback) as `content.txt`, the native grep searches it, and the temp dir is removed whether the search succeeds or fails
|
|
75
|
-
|
|
76
|
-
#### Scenario: Listing a URL resource
|
|
77
|
-
- **WHEN** the model calls glob with a URL in `pattern`
|
|
78
|
-
- **THEN** a path-backed scheme globs the resource's real disk directory natively, and a content-backed scheme returns the resolved text's non-empty lines as the listing without a native call
|
|
79
|
-
|
|
80
|
-
#### Scenario: Glob metacharacters in a URL pattern
|
|
81
|
-
- **WHEN** the glob pattern is a URL carrying glob metacharacters (e.g. `skill://grp/*`, `skill://grp/**/*.md`)
|
|
82
|
-
- **THEN** the pattern splits at the first metacharacter (`*?[`): the URL part resolves via `resolvePath` and the tail is the rooted glob pattern applied WITHIN the resource's real disk directory — the raw metachar-containing string is never handed to the native engine as a literal path
|
|
83
|
-
|
|
84
|
-
#### Scenario: Grep match paths report URL addressing
|
|
85
|
-
- **WHEN** a grep over a path-backed URL returns matches
|
|
86
|
-
- **THEN** match paths are rewritten back to the URL form (`skill://grp/SKILL.md`), both for absolute paths under the disk root and for native-relative paths — the model never sees internal disk locations
|
|
87
|
-
|
|
88
|
-
#### Scenario: Fallback to the OS temp dir
|
|
89
|
-
- **WHEN** `/dev/shm` is unavailable or the content exceeds 8 MiB
|
|
90
|
-
- **THEN** materialization falls back to the OS temp dir and the search still completes
|
|
91
|
-
|
|
92
|
-
### Requirement: URL writes are rejected per scheme
|
|
93
|
-
The system SHALL reject every `scheme://` write with a scheme-specific structured error: `dvc://` → `DVC_NO_DEVICE` (no device mounted), `ctx://` → `URL_READ_ONLY` (curated read-only snapshot), any other registered scheme → `URL_WRITE_UNSUPPORTED`, unregistered scheme → `URL_UNREGISTERED_SCHEME`.
|
|
94
|
-
|
|
95
|
-
#### Scenario: Writing to a read-only scheme
|
|
96
|
-
- **WHEN** the model writes to `ctx://model`
|
|
97
|
-
- **THEN** the system returns the structured `URL_READ_ONLY` error explaining the scheme is a read-only snapshot
|
|
98
|
-
|
|
99
|
-
#### Scenario: Writing to the device placeholder
|
|
100
|
-
- **WHEN** the model writes to `dvc://<device>`
|
|
101
|
-
- **THEN** the system returns the structured `DVC_NO_DEVICE` error (no devices mounted to route the write to)
|
|
102
|
-
|
|
103
|
-
### Requirement: Unified selector syntax
|
|
104
|
-
The system SHALL parse selectors once (`:N-M` comma-lists, `:raw`, `:path/…`, `?q=`) and apply them uniformly to every handler's full text after resolution. Handlers return full text with no default line truncation; only explicit selectors page. Malformed selectors return the structured `URL_BAD_SELECTOR` error.
|
|
105
|
-
|
|
106
|
-
#### Scenario: Scheme URL with a line range
|
|
107
|
-
- **WHEN** the model reads `skill://foo:50-100`
|
|
108
|
-
- **THEN** the system resolves the full skill body and returns lines 50–100, exactly as it would slice a plain file
|
|
109
|
-
|
|
110
|
-
#### Scenario: JSON path and query selectors
|
|
111
|
-
- **WHEN** the resolved text is JSON and the URL carries `:path/a.b` or `?q=a.b`
|
|
112
|
-
- **THEN** the system navigates the JSON by dot-path; for non-JSON text `?q=` keeps the lines containing the query string
|
|
113
|
-
|
|
114
|
-
### Requirement: Read delegation shapes args to the delegate and coerces output
|
|
115
|
-
The URL-aware read wrapper SHALL accept both `path` and `file_path` (aliased); when delegating a non-scheme path it SHALL shape args to the delegate's DECLARED parameters (`file_path` for the host-native read, `path` for hashline; opaque schemas forwarded verbatim — no keys added an unknown validator might reject) and SHALL coerce a non-string delegate result to the wrapper's string output (JSON serialization), since the wrapper declares the string face for every branch.
|
|
116
|
-
|
|
117
|
-
#### Scenario: Host-native delegate receives file_path
|
|
118
|
-
- **WHEN** a file path is delegated to a delegate whose schema declares `file_path`
|
|
119
|
-
- **THEN** the delegate receives `file_path` (the `path` key removed) and its structured result is serialized into the wrapper's string output
|
|
120
|
-
|
|
121
|
-
#### Scenario: Hashline delegate receives path
|
|
122
|
-
- **WHEN** a file path is delegated to the hashline read (schema declares `path`)
|
|
123
|
-
- **THEN** the delegate receives `path` only and the anchored text returns verbatim
|
|
124
|
-
|
|
125
|
-
### Requirement: read's file branch stays vendored hashline
|
|
126
|
-
The system SHALL keep the ordinary-file branch of read on the vendored hashline pipeline (HASH│content anchors plus the snapshot store the vendored edit tools depend on), reading through the sandboxed filesystem and the fs observation policy gate — read delegates to no native definition.
|
|
127
|
-
|
|
128
|
-
#### Scenario: Plain file read returns hashline anchors
|
|
129
|
-
- **WHEN** the model reads an ordinary file path
|
|
130
|
-
- **THEN** the system returns hashline-anchored lines via the vendored pipeline and records the observation with the fs policy gate, so follow-up edit calls see the version just read
|
|
131
|
-
|
|
132
|
-
### Requirement: Read chassis with ordered transforms
|
|
133
|
-
The `read` tool registration SHALL be owned by a single chassis inside `dsh-url-schemes`: an ordered transform chain (URL transform, hashline anchor transform, …) with a terminal delegate to the captured read definition. Additional read-side features SHALL register transforms into the chassis rather than registering competing `read` definitions (same-layer same-name registration is a registry error); a read-interested feature SHALL fall back to its own minimal wrapper only when the chassis is absent.
|
|
134
|
-
|
|
135
|
-
#### Scenario: Transforms compose deterministically
|
|
136
|
-
- **WHEN** both the URL transform and the hashline anchor transform are registered and the model reads a filesystem path
|
|
137
|
-
- **THEN** the path flows URL transform (no match) → anchor transform (anchors applied) → captured native read
|
|
138
|
-
|
|
139
|
-
### Requirement: General syntax guidance section
|
|
140
|
-
The service SHALL render a gated `url-schema:general` system-prompt section whose text is loaded once at module load from the package-root `url-schemes-instruction.md` (the owner-maintained instruction file; shipped via the package.json `files` array — an unlisted file is omitted from the published package and the module-load `readFileSync` fails plugin boot, the 0.2.3-d ENOENT lesson) (shipped via the package.json `files` array — an unlisted file is omitted from the published package and the module-load `readFileSync` fails plugin boot, the 0.2.3-d ENOENT lesson). The section is the SINGLE surfacing point of the URL scheme set to the model: the read/grep/glob/write tool descriptions SHALL carry NO `scheme://` mentions, so the model cannot believe only some tools accept URLs. The section text is the OWNER-MAINTAINED file rendered verbatim (2026-09-12 ruling: the file is hand-edited, not generated) and SHALL cover at minimum: the general URL grammar (`scheme://<path>[:selector]`); all six schemes (`skill://`, `agent://`, `dsh://`, `ctx://`, `dvc://`, `http(s)://`) with first-level resource coverage per scheme; the selector set including the composite `:raw:N-M` clause; and bulk-read guidance. The section renders only while the URL capability is enabled.
|
|
141
|
-
|
|
142
|
-
#### Scenario: Gated disclosure
|
|
143
|
-
- **WHEN** the URL capability is enabled and an agent session starts
|
|
144
|
-
- **THEN** the system prompt contains the section text loaded from `url-schemes-instruction.md` with the grammar, selector, and scheme coverage
|
|
145
|
-
|
|
146
|
-
#### Scenario: Tool descriptions stay scheme-silent
|
|
147
|
-
- **WHEN** the model inspects any read/grep/glob/write tool description on the wire
|
|
148
|
-
- **THEN** no description carries a `scheme://` mention — the `url-schema:general` section is the only place the scheme set is surfaced
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
# web-trust-fence Specification
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
better-dsh 的 /api 信任栅栏随发契约(替代 prod 手改 patch):bundle patch 整行重述 `connection` 行,`trustedHosts` = `DSH_TRUSTED_HOSTS` env 条目 + 上游 webRuntime 权威拼接(env 缺省时行为与原装行等价、零侵入);host 半 boot script 的 isLoopback 腿——页面 origin 命中 `trustedPageAuthorities` 时置 `window.__DSH_TRANSPORT__ = { ownsHost: true }`(空列表不注入)。
|
|
5
|
-
|
|
6
|
-
## Requirements
|
|
7
|
-
|
|
8
|
-
### Requirement: Plugin-shipped fence authorities
|
|
9
|
-
|
|
10
|
-
The plugin's bundle patch layer SHALL override the `connection` loader row by id, restating the row's full shape, with `config.trustedHosts` computed as the concatenation of `DSH_TRUSTED_HOSTS` environment entries (whitespace-separated) and the upstream `webRuntime`-derived authorities; with the environment variable unset or empty the resulting composition SHALL be byte-equivalent in behavior to the unpatched upstream row (inert by default).
|
|
11
|
-
|
|
12
|
-
#### Scenario: Env-derived authority passes the fence
|
|
13
|
-
|
|
14
|
-
- **WHEN** the daemon runs with `DSH_TRUSTED_HOSTS=host.example` and a browser reaches `/api` with `Host: host.example` and same-origin markers
|
|
15
|
-
- **THEN** the request passes the Host/Origin trust fence (no 403 from the fence) and the Settings > Models provider directory loads from that authority
|
|
16
|
-
|
|
17
|
-
#### Scenario: Inert without the environment variable
|
|
18
|
-
|
|
19
|
-
- **WHEN** the daemon runs without `DSH_TRUSTED_HOSTS`
|
|
20
|
-
- **THEN** the fence accepts exactly the authorities the unpatched upstream composition would (loopback, LAN literals on all-interface binds, `--trusted-host` extras)
|
|
21
|
-
|
|
22
|
-
#### Scenario: Malformed entry fails loud at load
|
|
23
|
-
|
|
24
|
-
- **WHEN** `DSH_TRUSTED_HOSTS` contains an entry that is not a bare canonical `host[:port]` authority
|
|
25
|
-
- **THEN** plugin load fails loudly via the upstream `assertTrustedAuthority` validation instead of silently widening or narrowing the fence
|
|
26
|
-
|
|
27
|
-
### Requirement: Upgrade-safe replacement of the hand patch
|
|
28
|
-
|
|
29
|
-
The plugin SHALL NOT require source-level edits to vendored `@deepseek-ai/*` files for fence behavior; the alpha.3 hand patch (`isLoopbackHostname` widening in `dsh-client-connection` index.js and client bundle) SHALL be retirable on alpha.5+ by this capability alone, and the row-override shape SHALL be tracked as an upstream-alignment checklist item (diff `packages/bundle/web-app/cordis.patch.yml`'s `connection` row each alignment round).
|
|
30
|
-
|
|
31
|
-
#### Scenario: Upstream row drift is detected at alignment time
|
|
32
|
-
|
|
33
|
-
- **WHEN** an upstream release changes the `connection` row's keys (name, inject, or config shape)
|
|
34
|
-
- **THEN** the alignment-round checklist surfaces the drift before the stale restated row ships
|
|
35
|
-
|
|
36
|
-
### Requirement: User layer keeps precedence
|
|
37
|
-
|
|
38
|
-
A user's own profile or home `cordis.patch.yml` override of the `connection` row SHALL take precedence over the plugin's bundle layer, preserving the upstream layering contract.
|
|
39
|
-
|
|
40
|
-
#### Scenario: User override wins
|
|
41
|
-
|
|
42
|
-
- **WHEN** the user's profile patch restates the `connection` row
|
|
43
|
-
- **THEN** the user's row applies, not the plugin's
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# Super Dash 自包含 Better Dash 与 DSH 默认策略
|
|
2
|
-
|
|
3
|
-
2026-10-07 user 裁决:两仓物理独立;Super Dash 每次打包都构建兄弟仓当前 Better Dash 源码,内嵌本地实际产物,不从 registry 取 Better Dash;WebTrust、dev WebMCP、webserver 默认监听及 onboarding/welcome 策略归 Better Dash。
|
|
4
|
-
|
|
5
|
-
- Better Dash 独立 build/pack;Super Dash 用 npm bundledDependencies 内嵌该本地 tarball 展开的物理包。依赖版本 exact-pin 与源包一致。
|
|
6
|
-
- Super Dash bundle 的有序 patch 文件先读取内嵌 Better Dash YAML,再读取自己的 YAML;消费者 profile 只声明 Super Dash,不单独声明 Better Dash。
|
|
7
|
-
- Better Dash 的 WebTrust 默认组合启用 authentication-only,保留 native cookie 校验;Super Dash 删除重复实现及相关覆盖。
|
|
8
|
-
- Better Dash 禁用原生 webserver 行、以独立 dashr-webserver 行继承原生 Service,并在监听前等待 welcome entry;默认 host 0.0.0.0,保留原生 port/压缩/CLI 配置机制;测试 launcher 默认仅覆盖 4999 端口,不再提供消费包未有的默认 host。
|
|
9
|
-
- Better Dash 关闭 credentialOnboarding,人工模型配置保持可用。
|
|
10
|
-
- `dashr-welcome-notice` 是可单行 disabled 的 Host entry:从实际安装锚的 Models 客户端读取当前 WELCOME_NOTICE_VERSION,经官方 internal/config 与 Entry.update 将确认同步投到原 ui-settings-general,不替换 Models UI,不写死版本,不用客户端 localStorage 假确认。
|
|
11
|
-
- 静态私有常量没有公开 API;普通版本 bump 自动生效,符号/产物结构变化必须显式报错,不能静默保留旧版本。
|
|
12
|
-
- dev WebMCP 移归 Better Dash 仓的开发测试目录,不进入正式插件 tarball;联合 launcher 仅将其作为开发附加 bundle。
|
|
13
|
-
- 真实 tarball 安装、登录、native eval/create/prompt/resume、roster、首次 settings 快照、热禁用恢复为本轮验收;浏览器连接与 dev3 按可用环境如实记录。4999 保持运行。无 npm publish、commit/tag/push、上游或生产修改。
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
# better-dsh 归零 npm 运行时依赖(zero-npm-runtime-deps)
|
|
2
|
-
|
|
3
|
-
状态:**已完成**(round 1–4 全部落地并实测;发布待 user 放行) | 规格路径:`docs/specs/zero-npm-runtime-deps/spec.md`(仓库根 docs;`better-dsh/docs/` 是 `prebuild` 由 `../docs` 重建的产物,别写那里)
|
|
4
|
-
|
|
5
|
-
## 0. 动机(实证)
|
|
6
|
-
|
|
7
|
-
一次 DSH UI Plugin Manager 安装的真实日志:
|
|
8
|
-
|
|
9
|
-
```
|
|
10
|
-
+ better-dsh 0.2.5-a
|
|
11
|
-
Packages: +15 -71
|
|
12
|
-
node_modules/zeromq install$ node ./script/install.js ← 我们的 REPL 原生依赖,cmake 构建
|
|
13
|
-
Done in 3.7s using pnpm v11.7.0
|
|
14
|
-
[WARN] GET …/@oven/bun-linux-aarch64-android/-/…-1.4.2.tgz error (UND_ERR_SOCKET). Will retry in 10 seconds.
|
|
15
|
-
dsh: pnpm printed nothing for 600000ms and was terminated
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
1. **卡住的东西不是 better-dsh 的**:`bun@1.4.2`(12 个平台包,各 ~86 MB)来自同一 profile 的 `super-dsh@0.1.9`。DSH 把插件 profile 设计成**一个共享 pnpm 工程**,于是"装插件 X" = "重解整个 profile"(`Packages: +15 -71` 是指纹)。
|
|
19
|
-
2. **失败形态是超时、不是构建错误**:Plugin Manager 对每条捕获输出的 pnpm 运行挂 600000 ms 静默上限(`packages/boot/plugin-manager/src/index.ts:184`),超时杀树并打印 `operations.ts:453` 那句;真正的错误只是一条被吞掉的 WARN。
|
|
20
|
-
3. **我们自己也在这条链上**:`zeromq@6.6.0` 是硬 `dependencies`,其 install 脚本用 cmake-ts 现场编译;`src/kernel.ts:20` 是**顶层静态 import**,该原生模块一旦拿不到,**整个插件加载死**(不只是 REPL)。`docs/specs/kernel-provisioning` 的三级自愈只覆盖 Python venv。
|
|
21
|
-
|
|
22
|
-
user 裁决(2026-10-03):**不要 declare 任何运行时依赖,不要 postinstall,不要碰 Node 包管理器**;二进制由我们自己的代码在 spin-up 自检与首次使用 lazy 时自装;装不上就那个组件不可用,其他组件照常。
|
|
23
|
-
|
|
24
|
-
## 1. 目标态(硬契约)— ✅ 已达成
|
|
25
|
-
|
|
26
|
-
- `package.json`:`dependencies` / `optionalDependencies` / `scripts.postinstall` **全部不存在**;60 条 `peerDependencies` 保留(harness 契约,由 loader 安装域供给)。真实安装器实测 `Packages: +1`(只加自己)。
|
|
27
|
-
- 运行时需要的一切只有两条出路:**构建期进产物**(tsdown `noExternal` 内联;资产随 `files`)或**运行期自装到插件自管目录**(不调用 npm/pnpm/npx)。
|
|
28
|
-
- 供给触发点只剩:**守护进程 spin-up 自检** + **首次使用 lazy**。
|
|
29
|
-
- **fail-open 硬要求**:任何一项失败只让该组件不可用,插件整体加载与其余组件零影响。
|
|
30
|
-
|
|
31
|
-
## 2. 逐依赖处置与进度
|
|
32
|
-
|
|
33
|
-
| 依赖 | 用户 | 处置 | 状态 |
|
|
34
|
-
|---|---|---|---|
|
|
35
|
-
| `diff` | hashline `edit-diff.js` | tsdown `noExternal` 内联 | ✅ 已内联(`//#region node_modules/diff/...` 实证),已从 `dependencies` 移除 |
|
|
36
|
-
| `xxhash-wasm` | hashline `hash-assign.js` | 同上(wasm 在 esm 构建里已内联为 `Uint8Array`,无外部资产) | ✅ 已内联,已移除 |
|
|
37
|
-
| `file-type` | hashline `file-view.js`(A/B 实测:该调用点在**改动前就已被 tree-shake**,产物里只剩一条裸 `import "file-type"`) | 直接移除;内联与否不影响运行时 | ✅ 已移除 |
|
|
38
|
-
| `use-sync-external-store` | client 半 | client 构建早已 `noExternal` 内联(产物零引用实证) | ✅ 已移除 |
|
|
39
|
-
| `puppeteer-core` | `dvc://browser`(`await import()`) | 构建期内联(`lib/puppeteer-core-*.js`,206 导出);实测拉起系统 Chrome 成功;保留 vendor 自装兜底 | ✅ 已移除声明 |
|
|
40
|
-
| `zeromq` | REPL `src/kernel.ts:20` 静态 import | 删除;传输层改 venv 内 Python bridge | ✅ 已删除(`dependencies` 现只剩 `puppeteer-core`;Node 产物零 zeromq 引用) |
|
|
41
|
-
| `@oh-my-pi/pi-natives-<platform>` | AST(`natives-loader.ts` 已 fail-open) | `ensurePiNatives()` 首用自装到 `<packageRoot>/.vendor`;加载器 vendor 精确查找 + 锚点有界 | ✅ 已移除声明,实测通过 |
|
|
42
|
-
|
|
43
|
-
`scripts.postinstall`:✅ 早已不存在(0.2.2-a 起零 lifecycle script)——本次要消灭的是**依赖带进来的 install script**(zeromq)。
|
|
44
|
-
|
|
45
|
-
## 3. REPL 传输层重写(round 2 已落地,待 4999 复测)
|
|
46
|
-
|
|
47
|
-
现状:Node 是 Jupyter 客户端,用 `Dealer`/`Subscriber` 直连 ipykernel 的 shell/iopub/control(`src/kernel.ts:249-344`)。
|
|
48
|
-
|
|
49
|
-
目标:
|
|
50
|
-
|
|
51
|
-
```
|
|
52
|
-
Node(TS) ──stdio JSON lines──► bridge.py(venv python + pyzmq/jupyter_client)──ZMQ──► ipykernel
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
- `pyzmq` / `jupyter_client` 由 `ipykernel` 传递依赖保证在场(实证:`.venv-kernel/lib/python3.11/site-packages/zmq`)。
|
|
56
|
-
- 保留语义:cell 串行、iopub 流式、control 中断 + SIGALRM 升级、超时/dispose 时序、comm(host 请求桥)。
|
|
57
|
-
- Node 侧不得再出现 zeromq/原生 socket;venv 未就绪时 `dashr-repl` 行**不抛**,标为未就绪。
|
|
58
|
-
|
|
59
|
-
## 4. 供给阶梯(改造后)
|
|
60
|
-
|
|
61
|
-
1. **守护进程 spin-up 自检**(主路径;`resolveKernelEnv` 已有,新增 bridge 可启动检查)。
|
|
62
|
-
2. **首次使用 lazy**(兜底)。
|
|
63
|
-
3. ~~postinstall~~ 不存在。
|
|
64
|
-
|
|
65
|
-
## 5. 验收(对齐"改动点同类"红线)
|
|
66
|
-
|
|
67
|
-
- 清单零 `dependencies`/`optionalDependencies`/`postinstall`;`npm pack` 后 tarball 自足。
|
|
68
|
-
- 断网/无 npm:`dsh plugin add <tarball>` 成功、插件加载成功、REPL 由 venv 自足跑通一次真实 `eval`。
|
|
69
|
-
- 无 zeromq 时:插件加载正常、其余组件全可用、只有 REPL 在缺 venv 时明确报"未就绪"。
|
|
70
|
-
- 4999 第一人称实测 + 报告落 `docs/50_test-reports/`。
|
|
71
|
-
- 发布仍需 user 明确放行。
|
|
72
|
-
|
|
73
|
-
## 6. 已知风险
|
|
74
|
-
|
|
75
|
-
- `puppeteer-core` 打包兼容性(动态 require / `import.meta`)未验。
|
|
76
|
-
- Python bridge 多一跳后的中断/流式时序(SIGALRM 升级路径最敏感)。
|
|
77
|
-
- 自装代码自担:版本钉死、sha512 校验、平台探测、并发去重、代理/离线行为。
|
|
78
|
-
|
|
79
|
-
## 7. 进展日志
|
|
80
|
-
|
|
81
|
-
- **round 1(2026-10-03)**:`tsdown.config.ts` 增 `BUNDLED_RUNTIME` + `noExternal`(含 `file-type` 的纯 JS 闭包:`@borewit/text-codec`/`@tokenizer/*`/`debug`/`ieee754`/`strtok3`/`token-types`/`uint8array-extras`);`package.json` 的 `dependencies` 从 6 项降到 2 项(只剩 `puppeteer-core`、`zeromq`)。验证:`npm run build` 通过;产物内联 `diff` + `xxhash-wasm`,除 `puppeteer-core`/`zeromq` 外无任何外部包引用;全量单测 **649 passed / 1 skipped**。
|
|
82
|
-
- 顺手发现:`better-dsh/docs/` 是构建产物(`scripts/copy-docs.mjs` 会 `rmSync + cpSync ../docs`),规格必须写在仓库根 `docs/`。
|
|
83
|
-
- **round 4(2026-10-03)**:清单归零并接线自装器。`vendor.ts` 增 `VENDOR_ROOT = <packageRoot>/.vendor`;`natives-loader` 增 `ensurePiNatives()`(首用 lazy;显式 anchor 永不 provision)+ vendor 精确查找;`ast-device` 两处调用点 `await nativesOrThrow()`;`browser-device.loadPuppeteer()` 失败时走 vendor。删 `dependencies` + `optionalDependencies`(顺带修掉 round 2 我引入的重复 `puppeteer-core` 键)。实测:**`Packages: +1`**;puppeteer 内联后成功 `launch()` 系统 Chrome(`BUNDLED_PUPPETEER_OK`);`dsh headless` 让 agent 走 `dvc://ast_grep` → `totalMatches 3 / files 2 / searched 189`,同时 `<plugin>/.vendor` 出现 314MB pi-natives,而 **profile 树里无 `@oh-my-pi`**(证明自装生效);全量单测 **649 passed / 1 skipped**。报告:`docs/50_test-reports/2026-10-03-zero-npm-runtime-deps实测报告.md`。
|
|
84
|
-
- **round 3(2026-10-03)**:① 新传输最后一条未验路径打通:`/tmp/smoke-comm.mts` 走通 host-request comm(内核 `create_comm('dashr.host')` → iopub → Node → **control** 通道 `comm_msg` 回包 → 内核 control-thread handler 解 future),cell 打印 `HOSTREPLY {'pong': True, ...}`。② **4999 第一人称实测**:新 tarball 装进 rig 的 web + headless profile(物理树里 **`zeromq` 已消失**),`dsh headless` 真实 session:`eval` 跑出 `REPL_OK 42`,同一 Python session 内 `await tool.bash({...})` 拿回 `HOST_OK\n`(宿主参数校验失败路径也顺带被触发),启动日志零错误、composed tree 含 `dashr-repl`。③ 新增 `src/vendor.ts`——零依赖自装器(registry packument → sha512/shasum 校验 → 自写 tar+pax 解包 → `createRequire` 解析入口 → 递归依赖闭包 + os/cpu/libc 平台过滤 → staging+rename 原子落盘)。实测:provision `@oh-my-pi/pi-natives-linux-x64@18.0.6`(2×163MB `.node`)并 **dlopen 成功**(exports `astGrep`/`astEdit`/…),二次调用 reuse。④ 注意:`better-dsh-0.2.5*.tgz` 是**入库的** rig 交付物,本轮为实测重新打包覆盖。
|
|
85
|
-
- **round 2(2026-10-03)**:REPL 传输层换成 venv 内 Python bridge。新增 `src/kernel-bridge.py`(stdio JSON lines ↔ pyzmq/jupyter_client;`default=str` 序列化,避免 header 的 `datetime` 打死 pump 线程)与 `src/kernel-transport.ts`(spawn/readline/`waitFor`/`onExit`);`kernel.ts` 删掉 `import { Dealer, Subscriber } from 'zeromq'`、`DELIM`/`encode`/`decode`/socket 字段/iopub pump,改由 `handleTransportMessage` 路由。`scripts/copy-kernel-bridge.mjs` 把 .py 拷进 `lib/`(`files: [lib]` 覆盖),`build` 链尾追加。验证:`tsc --noEmit` 0 错;全量产物零 `zeromq`;真实 ipykernel 冒烟通过(kernel_info ✅ / `print("SMOKE",6*7)` → `"SMOKE 42\n"` ✅ / 到 idle ✅ / **KERNEL_BOOTSTRAP 单元执行无错** ✅ / interrupt ✅ / dispose ✅)。⚠ 尚未经新传输验证的路径:host-request comm(内核侧 `dashr.host` → Node `serveHostRequest` → control 通道 comm_msg 回包),留给 4999 实测。
|