super-dsh 0.1.12-a → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -13
- package/agent-agy/dist/world-plugin.d.ts +1 -1
- package/agent-agy/dist/world-plugin.js +14 -27
- package/agent-agy-sdk/dist/world-plugin.d.ts +1 -1
- package/agent-agy-sdk/dist/world-plugin.js +14 -27
- package/agent-codex/dist/world-plugin.js +14 -27
- package/agent-codex-sdk/dist/world-plugin.js +14 -43
- package/agent-hermes/dist/world-plugin.js +14 -27
- package/agent-omp/dist/world-plugin.js +14 -39
- package/agent-omp/lib/client/index.js +258 -0
- package/agent-omp-sdk/dist/world-plugin.d.ts +1 -1
- package/agent-omp-sdk/dist/world-plugin.js +14 -43
- package/agent-pi/dist/world-plugin.js +14 -27
- package/bundles/better-dsh.tgz +0 -0
- package/bundles/manifest.json +10 -0
- package/cordis.patch.yml +7 -16
- package/node_modules/better-dsh/LICENSE +24 -0
- package/node_modules/better-dsh/README.md +323 -0
- package/node_modules/better-dsh/THIRD_PARTY_NOTICES.md +52 -0
- package/node_modules/better-dsh/cordis.patch.yml +139 -0
- package/node_modules/better-dsh/docs/00_adr/0001-bridge-tool-layer-not-service-layer.md +14 -0
- package/node_modules/better-dsh/docs/00_adr/0002-masking-is-presentation-only.md +15 -0
- package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-execution-framework.md +236 -0
- package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-framework-impl.md +2083 -0
- package/node_modules/better-dsh/docs/10_plans/2026-09-26-lsp-ast-reminder.md +64 -0
- package/node_modules/better-dsh/docs/10_plans/A2A-messaging-channel-test-archive.md +256 -0
- package/node_modules/better-dsh/docs/10_plans/code-mode-vs-rlm-ipython-comparison.md +137 -0
- package/node_modules/better-dsh/docs/10_plans/dashr-blueprint-review.md +201 -0
- package/node_modules/better-dsh/docs/10_plans/dashr-blueprint.md +561 -0
- package/node_modules/better-dsh/docs/10_plans/dashr-compaction-window-and-archive.md +307 -0
- package/node_modules/better-dsh/docs/10_plans/dashr-profile-layer-feasibility.md +367 -0
- package/node_modules/better-dsh/docs/10_plans/dashr-sandbox-escalation-semantics-gap.md +171 -0
- package/node_modules/better-dsh/docs/10_plans/dashr-security-sandbox-analysis.md +187 -0
- package/node_modules/better-dsh/docs/10_plans/dashr-surface-invariant-and-omp-imports.md +97 -0
- package/node_modules/better-dsh/docs/10_plans/ipython-kernel-interactive-interface-test-report.md +152 -0
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft.md +146 -0
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v3.md +50 -0
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v4.md +79 -0
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-vs-PrimeAgent-systemprompt-toolcatalog-comparison.md +138 -0
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/RLM-system-prompt-injection-gap-report.md +161 -0
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/V0.1.5-development-plan.md +109 -0
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_dsh.md +50 -0
- package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_prime.md +113 -0
- package/node_modules/better-dsh/docs/10_plans/recallable-compaction.md +147 -0
- package/node_modules/better-dsh/docs/10_plans/spike-tag-repro.mjs +102 -0
- package/node_modules/better-dsh/docs/10_plans/upstream-analysis.md +128 -0
- package/node_modules/better-dsh/docs/20_specs/agent/spec.md +54 -0
- package/node_modules/better-dsh/docs/20_specs/ast/spec.md +57 -0
- package/node_modules/better-dsh/docs/20_specs/compaction-recall/spec.md +46 -0
- package/node_modules/better-dsh/docs/20_specs/ctx/spec.md +107 -0
- package/node_modules/better-dsh/docs/20_specs/dsh/spec.md +47 -0
- package/node_modules/better-dsh/docs/20_specs/dvc/spec.md +106 -0
- package/node_modules/better-dsh/docs/20_specs/escalation-guidance/spec.md +44 -0
- package/node_modules/better-dsh/docs/20_specs/fs-scheme-resolution/spec.md +37 -0
- package/node_modules/better-dsh/docs/20_specs/hash-edit/spec.md +41 -0
- package/node_modules/better-dsh/docs/20_specs/http-read/spec.md +73 -0
- package/node_modules/better-dsh/docs/20_specs/kernel-provisioning/spec.md +53 -0
- package/node_modules/better-dsh/docs/20_specs/lsp/spec.md +121 -0
- package/node_modules/better-dsh/docs/20_specs/mobile-layout/spec.md +108 -0
- package/node_modules/better-dsh/docs/20_specs/model-failover/spec.md +20 -0
- package/node_modules/better-dsh/docs/20_specs/plugins-page-components/spec.md +79 -0
- package/node_modules/better-dsh/docs/20_specs/preact-ui-shell/spec.md +22 -0
- package/node_modules/better-dsh/docs/20_specs/repl-dispatch-resilience/spec.md +21 -0
- package/node_modules/better-dsh/docs/20_specs/skill/spec.md +58 -0
- package/node_modules/better-dsh/docs/20_specs/tool-surface/spec.md +222 -0
- package/node_modules/better-dsh/docs/20_specs/url-schema/spec.md +148 -0
- package/node_modules/better-dsh/docs/20_specs/web-trust-fence/spec.md +43 -0
- 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 +176 -0
- 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 +226 -0
- 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 +222 -0
- 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 +81 -0
- 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 +234 -0
- 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 +160 -0
- 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 +44 -0
- 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 +89 -0
- 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 +198 -0
- 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 +246 -0
- 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 +50 -0
- 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 +63 -0
- 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 +76 -0
- 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 +76 -0
- 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 +134 -0
- 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 +92 -0
- 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 +125 -0
- 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 +207 -0
- 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 +65 -0
- 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 +53 -0
- 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 +155 -0
- 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 +105 -0
- 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 +62 -0
- 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 +137 -0
- 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 +38 -0
- 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 +325 -0
- 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 +185 -0
- 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 +82 -0
- 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 +101 -0
- 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 +54 -0
- 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 +447 -0
- 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 +63 -0
- 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 +82 -0
- 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 +220 -0
- 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 +151 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-06-authentication-only-web-admission-4999.md +63 -0
- package/node_modules/better-dsh/docs/50_test-reports/2026-10-07-better-dsh-welcome-self-contained-4999.md +52 -0
- 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 +110 -0
- package/node_modules/better-dsh/docs/50_test-reports/kernel-provisioning.md +44 -0
- package/node_modules/better-dsh/docs/50_test-reports/repl-kernel-provisioning-test-report.md +87 -0
- package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-local-test-report.md +81 -0
- package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-report.md +93 -0
- package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-local-test-report.md +44 -0
- package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-report.md +110 -0
- package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.5-rc.2-local-test-report.md +79 -0
- 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 +142 -0
- 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 +193 -0
- 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 +96 -0
- 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 +127 -0
- 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 +150 -0
- 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 +224 -0
- 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 +168 -0
- 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 +123 -0
- 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 +110 -0
- 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 +86 -0
- 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 +66 -0
- 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 +67 -0
- 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 +136 -0
- package/node_modules/better-dsh/docs/50_test-reports/v0.2.1ef-dev-audit-report.md +73 -0
- 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 +102 -0
- 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 +73 -0
- 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 +47 -0
- 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 +158 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/SKILL.md +147 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch01-user-guide.md +123 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch02-plugin-basics.md +127 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch03-plugin-framework-practice.md +120 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch04-cordis-fundamentals.md +129 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch05-cordis-api.md +115 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch06-architecture.md +109 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch07-capability-seams.md +97 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch08-internals-pipelines.md +111 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch09-api-gateway.md +106 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch10-config-catalog.md +97 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch11-tool-catalog.md +121 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch12-persistence-catalog.md +109 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch13-subsystems-core-session.md +106 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch14-subsystems-agent-loop.md +111 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch15-subsystems-tool-execution.md +106 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch16-subsystems-session-data.md +132 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch17-subsystems-llm-streaming.md +128 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch18-subsystems-web-ui.md +142 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch19-cookbook.md +149 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch20-development-testing.md +87 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch21-postmortems.md +82 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch22-i18n.md +86 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/cheatsheet.md +67 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/glossary.md +57 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/patterns.md +88 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/AGENTS.md +75 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.md +84 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.zh.md +86 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.md +164 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.zh.md +164 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.md +150 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.zh.md +154 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.md +543 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.zh.md +545 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.md +3473 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.zh.md +3474 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.md +117 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.zh.md +119 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-remote-api.md +197 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-remote-api.zh.md +197 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-settings-card.md +102 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-settings-card.zh.md +102 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.md +101 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.zh.md +103 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-vendored-package.md +59 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-vendored-package.zh.md +59 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-an-llm-adapter.md +43 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-an-llm-adapter.zh.md +43 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.md +132 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.zh.md +136 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/maintaining-dsh-code-review.md +64 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/maintaining-dsh-code-review.zh.md +64 -0
- 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 +32 -0
- 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 +32 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.md +364 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.zh.md +366 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.md +207 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.zh.md +209 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.md +375 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.zh.md +377 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/inherited.md +39 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.md +152 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.zh.md +154 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.md +102 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.zh.md +104 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.md +45 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.zh.md +51 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/01-first-plugin.md +95 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/01-first-plugin.zh.md +95 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/02-lifecycle-and-effects.md +98 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +98 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.md +98 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.zh.md +98 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.md +144 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.zh.md +144 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.md +84 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.zh.md +84 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/06-composition-and-hmr.md +113 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/06-composition-and-hmr.zh.md +113 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/07-into-the-harness.md +108 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/07-into-the-harness.zh.md +108 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.md +60 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.zh.md +62 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/deepseek-llm-api-wire-extensions.md +163 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/deepseek-llm-api-wire-extensions.zh.md +163 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.md +33 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.zh.md +35 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.md +167 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.zh.md +173 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.md +86 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.zh.md +88 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.md +45 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.zh.md +45 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.md +22 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.zh.md +24 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.md +60 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.zh.md +62 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/style-samples.md +87 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/terminology.md +214 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-prompt.md +263 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.md +69 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.zh.md +69 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.md +1411 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.zh.md +1413 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.md +1075 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.zh.md +1077 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0001-acp-default-export-drops-inject.md +113 -0
- 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 +113 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +47 -0
- 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 +47 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0003-web-agent-gui-feedback-loop.md +53 -0
- 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 +53 -0
- 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 +55 -0
- 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 +55 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.md +18 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.zh.md +18 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.md +53 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.zh.md +53 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.md +61 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.zh.md +61 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.md +207 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.zh.md +207 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.md +170 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.zh.md +170 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.md +351 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.zh.md +351 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.md +168 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.zh.md +168 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.md +195 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.zh.md +195 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.md +219 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.zh.md +219 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.md +238 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.zh.md +238 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.md +258 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.zh.md +258 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.md +1209 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.zh.md +1219 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.md +329 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.zh.md +329 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.md +382 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.zh.md +382 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.md +266 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.zh.md +266 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.md +505 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.zh.md +505 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.md +277 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.zh.md +277 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.md +88 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.zh.md +88 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.md +290 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.zh.md +290 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.md +1080 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.zh.md +1086 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.md +202 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.zh.md +202 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.md +131 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.zh.md +131 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.md +395 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.zh.md +395 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.md +87 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.zh.md +87 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.md +220 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.zh.md +220 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.md +192 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.zh.md +192 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.md +59 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.zh.md +59 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.md +354 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.zh.md +354 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.md +509 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.zh.md +509 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.md +219 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.zh.md +219 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.md +194 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.zh.md +194 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.md +204 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.zh.md +204 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.md +1155 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.zh.md +1159 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.md +405 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.zh.md +405 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.md +303 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.zh.md +303 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.md +354 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.zh.md +354 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.md +175 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.zh.md +175 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.md +117 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.zh.md +117 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.md +260 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.zh.md +260 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.md +766 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.zh.md +770 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.md +324 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.zh.md +324 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.md +220 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.zh.md +220 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.md +184 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.zh.md +184 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.md +32 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.zh.md +32 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.md +105 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.zh.md +105 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.md +720 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.zh.md +720 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.md +343 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.zh.md +343 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.md +178 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.zh.md +178 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.md +95 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.zh.md +95 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.md +154 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.zh.md +154 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.md +206 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.zh.md +206 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.md +70 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.zh.md +70 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.md +278 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.zh.md +278 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.md +321 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.zh.md +321 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.md +54 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.zh.md +54 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.md +2225 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.zh.md +2233 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.md +62 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.zh.md +64 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.md +106 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.zh.md +106 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.md +144 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.zh.md +144 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.md +183 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.zh.md +183 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.md +52 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.zh.md +52 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.md +143 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.zh.md +143 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.md +137 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.zh.md +137 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.md +148 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.zh.md +150 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/dynamic-cordis.md +15 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/dynamic-cordis.zh.md +15 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.md +155 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.zh.md +155 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/llm-adapter.md +189 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/llm-adapter.zh.md +189 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.md +102 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.zh.md +102 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.md +30 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.zh.md +30 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.md +101 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.zh.md +101 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.md +85 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.zh.md +85 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.md +190 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.zh.md +190 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.md +150 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.zh.md +150 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.md +21 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.zh.md +21 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.md +11 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.zh.md +11 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.md +29 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.zh.md +29 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages-map.txt +234 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages.json +232 -0
- package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-README.md +63 -0
- package/node_modules/better-dsh/docs/dev-test-environment-notes.md +137 -0
- package/node_modules/better-dsh/docs/distro-blueprint.md +81 -0
- package/node_modules/better-dsh/docs/dsh-webUI-with-rlm-mode.png +0 -0
- package/node_modules/better-dsh/docs/repositioning-and-rebranding.md +102 -0
- package/node_modules/better-dsh/docs/specs/agent/spec.md +54 -0
- package/node_modules/better-dsh/docs/specs/ast/spec.md +57 -0
- package/node_modules/better-dsh/docs/specs/ast-engine-deomp/spec.md +170 -0
- package/node_modules/better-dsh/docs/specs/authentication-only-web-admission/spec.md +51 -0
- package/node_modules/better-dsh/docs/specs/compaction-recall/spec.md +46 -0
- package/node_modules/better-dsh/docs/specs/ctx/spec.md +179 -0
- package/node_modules/better-dsh/docs/specs/docs-packaging-trim/spec.md +110 -0
- package/node_modules/better-dsh/docs/specs/dsh/spec.md +47 -0
- package/node_modules/better-dsh/docs/specs/dvc/spec.md +106 -0
- package/node_modules/better-dsh/docs/specs/escalation-guidance/spec.md +44 -0
- package/node_modules/better-dsh/docs/specs/fs-scheme-resolution/spec.md +37 -0
- package/node_modules/better-dsh/docs/specs/hash-edit/spec.md +41 -0
- package/node_modules/better-dsh/docs/specs/http-read/spec.md +73 -0
- package/node_modules/better-dsh/docs/specs/kernel-provisioning/spec.md +53 -0
- package/node_modules/better-dsh/docs/specs/lsp/spec.md +121 -0
- package/node_modules/better-dsh/docs/specs/mobile-layout/spec.md +108 -0
- package/node_modules/better-dsh/docs/specs/model-failover/spec.md +20 -0
- package/node_modules/better-dsh/docs/specs/model-picker-ios-blur/spec.md +168 -0
- package/node_modules/better-dsh/docs/specs/plugins-page-components/spec.md +79 -0
- package/node_modules/better-dsh/docs/specs/preact-ui-shell/spec.md +22 -0
- package/node_modules/better-dsh/docs/specs/remote-pty-label/spec.md +126 -0
- package/node_modules/better-dsh/docs/specs/repl-dispatch-resilience/spec.md +21 -0
- package/node_modules/better-dsh/docs/specs/skill/spec.md +58 -0
- package/node_modules/better-dsh/docs/specs/tool-surface/spec.md +222 -0
- package/node_modules/better-dsh/docs/specs/url-schema/spec.md +148 -0
- package/node_modules/better-dsh/docs/specs/web-trust-fence/spec.md +43 -0
- package/node_modules/better-dsh/docs/specs/welcome-self-contained/spec.md +13 -0
- package/node_modules/better-dsh/docs/specs/zero-npm-runtime-deps/spec.md +85 -0
- package/node_modules/better-dsh/docs/superpowers/plans/2026-10-02-ctx-navigation.md +319 -0
- package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-ast-engine-deomp.md +1214 -0
- package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-docs-packaging-trim.md +181 -0
- package/node_modules/better-dsh/docs/superpowers/specs/2026-10-02-ctx-navigation-design.md +209 -0
- package/node_modules/better-dsh/docs/upstream-dsh-0.1.5-rc.2-report.md +156 -0
- package/node_modules/better-dsh/dsh-docs/AGENTS.md +75 -0
- package/node_modules/better-dsh/dsh-docs/agent-lifecycle.md +84 -0
- package/node_modules/better-dsh/dsh-docs/agent-lifecycle.zh.md +86 -0
- package/node_modules/better-dsh/dsh-docs/api-gateway.md +164 -0
- package/node_modules/better-dsh/dsh-docs/api-gateway.zh.md +164 -0
- package/node_modules/better-dsh/dsh-docs/architecture.md +150 -0
- package/node_modules/better-dsh/dsh-docs/architecture.zh.md +154 -0
- package/node_modules/better-dsh/dsh-docs/capability-seams.md +543 -0
- package/node_modules/better-dsh/dsh-docs/capability-seams.zh.md +545 -0
- package/node_modules/better-dsh/dsh-docs/config-catalog.md +3473 -0
- package/node_modules/better-dsh/dsh-docs/config-catalog.zh.md +3474 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.md +117 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.zh.md +119 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.md +197 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.zh.md +197 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.md +109 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.zh.md +109 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.md +102 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.zh.md +102 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.md +101 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.zh.md +103 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.md +59 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.zh.md +59 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.md +43 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.zh.md +43 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.md +132 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.zh.md +136 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.md +64 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.zh.md +64 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.md +32 -0
- package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +32 -0
- package/node_modules/better-dsh/dsh-docs/cordis-api/context.md +364 -0
- package/node_modules/better-dsh/dsh-docs/cordis-api/context.zh.md +366 -0
- package/node_modules/better-dsh/dsh-docs/cordis-api/events.md +207 -0
- package/node_modules/better-dsh/dsh-docs/cordis-api/events.zh.md +209 -0
- package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.md +375 -0
- package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.zh.md +377 -0
- package/node_modules/better-dsh/dsh-docs/cordis-api/inherited.md +39 -0
- package/node_modules/better-dsh/dsh-docs/cordis-api/registry.md +152 -0
- package/node_modules/better-dsh/dsh-docs/cordis-api/registry.zh.md +154 -0
- package/node_modules/better-dsh/dsh-docs/cordis-api/service.md +102 -0
- package/node_modules/better-dsh/dsh-docs/cordis-api/service.zh.md +104 -0
- package/node_modules/better-dsh/dsh-docs/cordis-primer.md +45 -0
- package/node_modules/better-dsh/dsh-docs/cordis-primer.zh.md +51 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.md +95 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.zh.md +95 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.md +98 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +98 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.md +98 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.zh.md +98 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.md +144 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.zh.md +144 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.md +84 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.zh.md +84 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.md +113 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.zh.md +113 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.md +108 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.zh.md +108 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.md +60 -0
- package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.zh.md +62 -0
- package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.md +163 -0
- package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.zh.md +163 -0
- package/node_modules/better-dsh/dsh-docs/defensive-patterns.md +33 -0
- package/node_modules/better-dsh/dsh-docs/defensive-patterns.zh.md +35 -0
- package/node_modules/better-dsh/dsh-docs/development.md +167 -0
- package/node_modules/better-dsh/dsh-docs/development.zh.md +173 -0
- package/node_modules/better-dsh/dsh-docs/event-producer-consumer.md +86 -0
- package/node_modules/better-dsh/dsh-docs/event-producer-consumer.zh.md +88 -0
- package/node_modules/better-dsh/dsh-docs/glossary.md +45 -0
- package/node_modules/better-dsh/dsh-docs/glossary.zh.md +45 -0
- package/node_modules/better-dsh/dsh-docs/graph-atlas.md +22 -0
- package/node_modules/better-dsh/dsh-docs/graph-atlas.zh.md +24 -0
- package/node_modules/better-dsh/dsh-docs/i18n/README.md +60 -0
- package/node_modules/better-dsh/dsh-docs/i18n/README.zh.md +62 -0
- package/node_modules/better-dsh/dsh-docs/i18n/style-samples.md +87 -0
- package/node_modules/better-dsh/dsh-docs/i18n/terminology.md +214 -0
- package/node_modules/better-dsh/dsh-docs/i18n/translation-prompt.md +263 -0
- package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.md +69 -0
- package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.zh.md +69 -0
- package/node_modules/better-dsh/dsh-docs/module-graph.md +1411 -0
- package/node_modules/better-dsh/dsh-docs/module-graph.zh.md +1413 -0
- package/node_modules/better-dsh/dsh-docs/persistence-catalog.md +1075 -0
- package/node_modules/better-dsh/dsh-docs/persistence-catalog.zh.md +1077 -0
- package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.md +113 -0
- package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.zh.md +113 -0
- package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +47 -0
- package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +47 -0
- package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.md +53 -0
- package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +53 -0
- package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +55 -0
- package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +55 -0
- package/node_modules/better-dsh/dsh-docs/postmortem/README.md +18 -0
- package/node_modules/better-dsh/dsh-docs/postmortem/README.zh.md +18 -0
- package/node_modules/better-dsh/dsh-docs/rescope.md +53 -0
- package/node_modules/better-dsh/dsh-docs/rescope.zh.md +53 -0
- package/node_modules/better-dsh/dsh-docs/session-format-status.md +47 -0
- package/node_modules/better-dsh/dsh-docs/session-format-status.zh.md +47 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/README.md +61 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/README.zh.md +61 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.md +207 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.zh.md +207 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/approval.md +170 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/approval.zh.md +170 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/attachment.md +351 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/attachment.zh.md +351 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.md +168 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.zh.md +168 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.md +91 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.zh.md +91 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.md +195 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.zh.md +195 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/commands.md +219 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/commands.zh.md +219 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/compaction.md +238 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/compaction.zh.md +238 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/conversation.md +258 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/conversation.zh.md +258 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/core.md +1209 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/core.zh.md +1219 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/credentials.md +329 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/credentials.zh.md +329 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/extensions.md +382 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/extensions.zh.md +382 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/feedback.md +266 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/feedback.zh.md +266 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.md +505 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.zh.md +505 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/goal.md +277 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/goal.zh.md +277 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/invariants.md +88 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/invariants.zh.md +88 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/jobs.md +290 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/jobs.zh.md +290 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.md +1080 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.zh.md +1086 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/lsp.md +202 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/lsp.zh.md +202 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.md +131 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.zh.md +131 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/persistence.md +395 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/persistence.zh.md +395 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/plan.md +87 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/plan.zh.md +87 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.md +220 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.zh.md +220 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/schedule.md +192 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/schedule.zh.md +192 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/scope.md +59 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/scope.zh.md +59 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.md +354 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.zh.md +354 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session-query.md +509 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session-query.zh.md +509 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.md +219 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.zh.md +219 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.md +194 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.zh.md +194 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session-title.md +204 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session-title.zh.md +204 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session.md +1155 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/session.zh.md +1159 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/settings.md +405 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/settings.zh.md +405 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/shell.md +303 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/shell.zh.md +303 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.md +148 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.zh.md +148 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/skills.md +354 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/skills.zh.md +354 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/slots.md +175 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/slots.zh.md +175 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/spill.md +117 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/spill.zh.md +117 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/storage.md +260 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/storage.zh.md +260 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/subagent.md +766 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/subagent.zh.md +770 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.md +324 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.zh.md +324 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.md +220 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.zh.md +220 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/terminal.md +184 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/terminal.zh.md +184 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/todo.md +32 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/todo.zh.md +32 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.md +105 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.zh.md +105 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/tools.md +720 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/tools.zh.md +720 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/typert.md +343 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/typert.zh.md +343 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.md +178 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.zh.md +178 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/web-client.md +95 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/web-client.zh.md +95 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/web-server.md +154 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/web-server.zh.md +154 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/web.md +206 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/web.zh.md +206 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/webhook.md +70 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/webhook.zh.md +70 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/workflow.md +278 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/workflow.zh.md +278 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/workspace.md +321 -0
- package/node_modules/better-dsh/dsh-docs/subsystems/workspace.zh.md +321 -0
- package/node_modules/better-dsh/dsh-docs/testing.md +54 -0
- package/node_modules/better-dsh/dsh-docs/testing.zh.md +54 -0
- package/node_modules/better-dsh/dsh-docs/tool-catalog.md +2225 -0
- package/node_modules/better-dsh/dsh-docs/tool-catalog.zh.md +2233 -0
- package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.md +62 -0
- package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.zh.md +64 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.md +106 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.zh.md +106 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.md +144 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.zh.md +144 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.md +183 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.zh.md +183 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.md +52 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.zh.md +52 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.md +143 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.zh.md +143 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.md +137 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.zh.md +137 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.md +148 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.zh.md +150 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.md +15 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.zh.md +15 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.md +155 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.zh.md +155 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.md +189 -0
- package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.zh.md +189 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/github-review.md +102 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/github-review.zh.md +102 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/index.md +30 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/index.zh.md +30 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.md +101 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.zh.md +101 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.md +85 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.zh.md +85 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/providers.md +190 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/providers.zh.md +190 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.md +150 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.zh.md +150 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/schedule.md +21 -0
- package/node_modules/better-dsh/dsh-docs/user/guide/schedule.zh.md +21 -0
- package/node_modules/better-dsh/dsh-docs/user/index.md +11 -0
- package/node_modules/better-dsh/dsh-docs/user/index.zh.md +11 -0
- package/node_modules/better-dsh/dsh-docs/web-styling.md +29 -0
- package/node_modules/better-dsh/dsh-docs/web-styling.zh.md +29 -0
- package/node_modules/better-dsh/eval-description.md +33 -0
- package/node_modules/better-dsh/lib/BrowserWebSocketTransport-D1aFReu_.js +4 -0
- package/node_modules/better-dsh/lib/BrowserWebSocketTransport-wm99h94r.js +39 -0
- package/node_modules/better-dsh/lib/LaunchOptions-B874eBu2.js +4 -0
- package/node_modules/better-dsh/lib/LaunchOptions-kGXcZOe0.js +17 -0
- package/node_modules/better-dsh/lib/NodeWebSocketTransport-BRLjmu2R.js +4 -0
- package/node_modules/better-dsh/lib/NodeWebSocketTransport-D9ysYGLM.js +3634 -0
- 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 +16106 -0
- package/node_modules/better-dsh/lib/bundle-delivery.d.ts +20 -0
- package/node_modules/better-dsh/lib/bundle-delivery.js +209 -0
- package/node_modules/better-dsh/lib/chunk-DQxbwPpZ.js +30 -0
- package/node_modules/better-dsh/lib/client/index.js +712 -0
- package/node_modules/better-dsh/lib/compaction/index.d.ts +57 -0
- package/node_modules/better-dsh/lib/compaction/index.js +145 -0
- package/node_modules/better-dsh/lib/failover/index.d.ts +59 -0
- package/node_modules/better-dsh/lib/failover/index.js +147 -0
- package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.d.ts +71 -0
- package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.js +249 -0
- package/node_modules/better-dsh/lib/hmr.d.ts +32 -0
- package/node_modules/better-dsh/lib/hmr.js +49 -0
- package/node_modules/better-dsh/lib/index-DTDXUe6m.d.ts +208 -0
- package/node_modules/better-dsh/lib/index-browser-CysrjMyM.js +21061 -0
- package/node_modules/better-dsh/lib/index.d.ts +705 -0
- package/node_modules/better-dsh/lib/index.js +3816 -0
- package/node_modules/better-dsh/lib/kernel-bridge.py +172 -0
- package/node_modules/better-dsh/lib/kernel-env-D8UOWeji.js +195 -0
- package/node_modules/better-dsh/lib/kernel-env.d.ts +80 -0
- package/node_modules/better-dsh/lib/kernel-env.js +3 -0
- package/node_modules/better-dsh/lib/lib-C8_jXvwA.js +894 -0
- package/node_modules/better-dsh/lib/lsp-server-registry-BXvUTBY7.js +3 -0
- package/node_modules/better-dsh/lib/lsp-server-registry-CH9WNFFt.js +972 -0
- package/node_modules/better-dsh/lib/main-BQeFrBM1.js +3 -0
- package/node_modules/better-dsh/lib/main-CupOhMp5.js +1432 -0
- package/node_modules/better-dsh/lib/mobile/plugin.d.ts +29 -0
- package/node_modules/better-dsh/lib/mobile/plugin.js +54 -0
- package/node_modules/better-dsh/lib/native-capture-BEByDXYM.js +68 -0
- package/node_modules/better-dsh/lib/puppeteer-core-CSk2PtSm.js +1136 -0
- package/node_modules/better-dsh/lib/py-sdk-D7klhpWb.js +178 -0
- package/node_modules/better-dsh/lib/py-sdk.d.ts +19 -0
- package/node_modules/better-dsh/lib/py-sdk.js +3 -0
- package/node_modules/better-dsh/lib/remote/plugin.d.ts +24 -0
- package/node_modules/better-dsh/lib/remote/plugin.js +1190 -0
- package/node_modules/better-dsh/lib/url-schemes/index.d.ts +88 -0
- package/node_modules/better-dsh/lib/url-schemes/index.js +12229 -0
- package/node_modules/better-dsh/lib/util-BHL_dfV_.js +2953 -0
- package/node_modules/better-dsh/lib/wasm_bg-CNXhHjVg.js +1291 -0
- package/node_modules/better-dsh/lib/web-password.d.ts +156 -0
- package/node_modules/better-dsh/lib/web-password.js +562 -0
- package/node_modules/better-dsh/lib/web-tree-sitter-CPrPD4J2.js +3440 -0
- package/node_modules/better-dsh/lib/web-trust-D6gJpUMf.js +393 -0
- package/node_modules/better-dsh/lib/web-trust-Dej_RI2B.d.ts +113 -0
- package/node_modules/better-dsh/lib/web-trust.d.ts +3 -0
- package/node_modules/better-dsh/lib/web-trust.js +4 -0
- package/node_modules/better-dsh/lib/webserver.d.ts +10 -0
- package/node_modules/better-dsh/lib/webserver.js +19 -0
- package/node_modules/better-dsh/lib/welcome-notice.d.ts +18 -0
- package/node_modules/better-dsh/lib/welcome-notice.js +59 -0
- package/node_modules/better-dsh/lib/wrap-T4I0nfPM.js +750 -0
- package/node_modules/better-dsh/package.json +430 -0
- package/node_modules/better-dsh/scripts/kernel-provision.mjs +35 -0
- package/node_modules/better-dsh/scripts/register-bundle.mjs +80 -0
- package/node_modules/better-dsh/url-schemes-instruction.md +22 -0
- package/package.json +19 -5
- package/superd-hub/dist/bundle-setup.d.ts +2 -0
- package/superd-hub/dist/bundle-setup.js +2 -0
- package/superd-hub/dist/fusion-transport.d.ts +6 -8
- package/superd-hub/dist/fusion-transport.js +6 -8
- package/superd-hub/dist/index.d.ts +0 -1
- package/superd-hub/dist/index.js +0 -1
- package/superd-hub/dist/world-entry.d.ts +3 -0
- package/superd-hub/dist/world-entry.js +4 -1
- package/superd-hub/dist/world-host.d.ts +5 -2
- package/superd-hub/dist/world-host.js +6 -2
- package/superd-hub/dist/world-join.d.ts +1 -1
- package/superd-hub/dist/world-join.js +14 -32
- package/superd-hub/dist/world-lifecycle.d.ts +20 -0
- package/superd-hub/dist/world-lifecycle.js +69 -0
- package/superd-hub/dist/world-mount.d.ts +1 -1
- package/superd-hub/dist/world-mount.js +2 -2
- package/superd-hub/package.json +0 -1
- package/superd-hub/dist/connection-trust.d.ts +0 -8
- package/superd-hub/dist/connection-trust.js +0 -16
- package/superd-hub/dist/web-trust.d.ts +0 -84
- package/superd-hub/dist/web-trust.js +0 -101
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# 2026-09-26 — LSP mount 收尾 + AST 可用性提醒 hook
|
|
2
|
+
|
|
3
|
+
状态:**已实现,测试全绿,未发布**(commit 见 better-dsh `change(2026-09-26-lsp-ast-reminder)`)。
|
|
4
|
+
|
|
5
|
+
## 背景(已裁决的事实)
|
|
6
|
+
|
|
7
|
+
1. LSP gate 的 per-agent 挂载修复(`agent/session-start` → `agent/created`)已在 HEAD
|
|
8
|
+
(`ce0541c`,2026-09-24),**未发布未部署**(最后 tag `v0.2.4b`,prod 跑的是它)。
|
|
9
|
+
本计划核实其完备性,不重复实现。
|
|
10
|
+
2. AST 提醒(新功能):在 `write`/`edit`/`grep` 的工具结果尾部追加一行
|
|
11
|
+
"ast_edit / ast_grep 可用"提示。**无 cap、每次都提示**(user 裁决 2026-09-26),
|
|
12
|
+
但按文件类型收窄(user 裁决:只认 Python/TypeScript 有限集)。
|
|
13
|
+
不与 LSP gate 交互、不中断/不改写原结果。
|
|
14
|
+
3. auto-review 适配(binding schema)**本计划不做**(user 裁决:experimental,不适配)。
|
|
15
|
+
|
|
16
|
+
## 核实项(Task 0,只读)— 全部通过
|
|
17
|
+
|
|
18
|
+
- [x] `src/url-schemes/index.ts` per-agent 挂载在 `agent/created`(HEAD 已修)
|
|
19
|
+
- [x] `src/index.ts`(REPL 行)同上(:1114)
|
|
20
|
+
- [x] 核心 0.1.7 发 `agent/created`/`agent/disposed`,不发 `agent/session-start`
|
|
21
|
+
- [x] 核心 `postExecute` 认 accept+content 变体 → notice append 在挂载后即生效
|
|
22
|
+
- [x] `src/hashline/index.js` 的 `session-start` 监听属旧独立插件壳,不在 bundle
|
|
23
|
+
exports(活路径是 `install.js#installHashline`,随 installAgentTools 走)
|
|
24
|
+
→ **不改动**,仅在报告中记录
|
|
25
|
+
- [x] 全量 grep src 确认无其他死事件注册
|
|
26
|
+
|
|
27
|
+
## Task 1: `ast-reminder` 纯函数模块(TDD)✅
|
|
28
|
+
|
|
29
|
+
- `src/devices/ast/ast-reminder.ts`
|
|
30
|
+
- `test/surface-devices/ast-reminder.spec.ts`
|
|
31
|
+
- 扩展名集:`.py .ts .tsx .mts .cts`;grep 规则:include 命中 py/ts、或 path 为
|
|
32
|
+
目录/缺省/代码文件 → 提示;仅当 path 明确指向非代码文件时静默。
|
|
33
|
+
- 文案单行:`ast_edit / ast_grep available for Python/TypeScript — write
|
|
34
|
+
dvc://ast_edit (structured rewrite) or dvc://ast_grep (pattern search)`
|
|
35
|
+
|
|
36
|
+
## Task 2: 接入 post-execute 钩子 ✅
|
|
37
|
+
|
|
38
|
+
`src/url-schemes/index.ts`:工具名集合扩为 `read/edit/write/grep`;LSP 语义逐字节
|
|
39
|
+
不变(副作用时序、isError 早退、accept-only append);两个 suffix 组合到一次
|
|
40
|
+
append(`appendSuffixes` 泛型 helper)。
|
|
41
|
+
|
|
42
|
+
## Task 3: 构建 + 全量测试 ✅
|
|
43
|
+
|
|
44
|
+
`npm run build` ✔;`tsc --noEmit` host+client ✔;`vitest run` **617 passed +
|
|
45
|
+
1 skipped**(基线 611+1skip,新增 ast-reminder 单测 7 + 钩子级 6)。
|
|
46
|
+
|
|
47
|
+
## Task 4: 4999 实测 ✅(2026-09-27 user 第一人称实测通过)
|
|
48
|
+
|
|
49
|
+
报告:`docs/50_test-reports/2026-09-27-lsp-ast-reminder-4999实测报告.md`。
|
|
50
|
+
三设备全绿 + 提醒链路 session log 实证(nag×1 + AST×1);gotcha G1–G4 记录在报告 §4。
|
|
51
|
+
|
|
52
|
+
已完成:occupant(native-ui-fusion 实例)经 user 批准退役;新 lib 已 rsync 进
|
|
53
|
+
test123 profile;rig 重启(token 见 start.sh 输出),boot graph 含 `better-dsh`。
|
|
54
|
+
RPC 探针(`POST /api/session/list`)证明网关面存活,但完整 session 驱动需 gateway
|
|
55
|
+
`_request` 描述符契约,未逆向。**浏览器验收清单(user,1 分钟)**:
|
|
56
|
+
1. 打开 rig URL → 新会话;2. 让它写一个 `.py` 文件 → 工具结果尾部应出现两行:
|
|
57
|
+
LSP nag(`lsp diagnostics available…`)+ AST 行(`ast_edit / ast_grep available…`);
|
|
58
|
+
3. 让它写一个 `.md` → 两行都不出现;4. 会话里 `write dvc://ast_grep {"patterns":["..."],"path":"..."}` 真实可用。
|
|
59
|
+
|
|
60
|
+
## 明确不做
|
|
61
|
+
|
|
62
|
+
- auto-review binding schema 适配(user:experimental,不适配)
|
|
63
|
+
- `src/hashline/index.js` 死事件改名(不在发布面,记录即可)
|
|
64
|
+
- npm publish / GitHub tag(需 user 单次确认)
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
# Dash 运行时 A2A Messaging Channel 实测存档
|
|
2
|
+
|
|
3
|
+
> 实测日期(UTC):2026-08-17T17:57:57Z
|
|
4
|
+
> 实测主体:Dash Agent 运行时自身(root session,`deepseek-v4-pro`)
|
|
5
|
+
> 工作区:`/home/u1/workspaces/dashr`
|
|
6
|
+
> 方式:全程通过 `run_cell` 调用 `tools.*` 实际执行,所有结论均来自真实工具返回,非文档推断。
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 1. 测试目标与范围
|
|
11
|
+
|
|
12
|
+
验证 Dash 运行时的 **A2A(Agent-to-Agent)messaging channel** 是否实现及其边界。
|
|
13
|
+
|
|
14
|
+
Dash 运行时按 **session 树** 划分 agent,因此 A2A 关系可归为三类:
|
|
15
|
+
|
|
16
|
+
1. **Parent ↔ Child**(双向)
|
|
17
|
+
2. **Siblings**(同父、同层)
|
|
18
|
+
3. ~~Out of family tree~~(跨 family tree)
|
|
19
|
+
|
|
20
|
+
第 3 类**天然不在范围**:运行时没有全局 session 总线,消息路由完全基于 session 树的 `parentSession` 指针。本存档只实测第 1、2 类,并以一个 grandchild 场景做旁证。
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 2. 实测拓扑(真实 session 树)
|
|
25
|
+
|
|
26
|
+
从 root 视角 `list_agents(scope=descendants)` 及各 session 头部记录还原:
|
|
27
|
+
|
|
28
|
+
```text
|
|
29
|
+
ROOT(me) session-d11e193f-a813-4200-96b1-0465ae8e8063 depth=0 parentSession=null preset=standard
|
|
30
|
+
├── A f743dca9-3953-4382-ac45-487a27df9db1 depth=1 parentSession=ROOT preset=rlm-mode
|
|
31
|
+
│ └── G 057bd298-d186-4eb4-bb5c-4a6ee2c158cd depth=2 parentSession=A preset=rlm-mode
|
|
32
|
+
└── B 06ac8b2c-fb2e-458f-80d6-a0d28e50f193 depth=1 parentSession=ROOT preset=rlm-mode
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
各 session 头部记录(`session.jsonl.zstd` 首行,`type=session`)实测摘录:
|
|
36
|
+
|
|
37
|
+
| agent | id | parentSession | origin | delegationDepth | agentPreset |
|
|
38
|
+
|---|---|---|---|---|---|
|
|
39
|
+
| root | `session-d11e193f-a813-4200-96b1-0465ae8e8063` | `null` | `null` | 0 | `standard` |
|
|
40
|
+
| A | `f743dca9-3953-4382-ac45-487a27df9db1` | `session-d11e193f-...` | `subagent` | 1 | `rlm-mode` |
|
|
41
|
+
| B | `06ac8b2c-fb2e-458f-80d6-a0d28e50f193` | `session-d11e193f-...` | `subagent` | 1 | `rlm-mode` |
|
|
42
|
+
| G | `057bd298-d186-4eb4-bb5c-4a6ee2c158cd` | `f743dca9-3953-...` | `subagent` | 2 | `rlm-mode` |
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 3. 关键机制发现
|
|
47
|
+
|
|
48
|
+
### 3.1 身份:subagent id == 子 session id == `DSH_SESSION_ID`
|
|
49
|
+
|
|
50
|
+
`subagent(..., run_in_background=true)` 返回的 `subagentId` 就是子 session 的 id,也等于子 agent 进程内的 `DSH_SESSION_ID`。
|
|
51
|
+
|
|
52
|
+
- spawn A 返回:`{"kind":"continuable","subagentId":"f743dca9-3953-4382-ac45-487a27df9db1"}`
|
|
53
|
+
- A 自报:`DSH_SESSION_ID=f743dca9-3953-4382-ac45-487a27df9db1`(一致)
|
|
54
|
+
|
|
55
|
+
### 3.2 父身份:不暴露在 env / list_agents,只写在子 session 日志头部
|
|
56
|
+
|
|
57
|
+
子 agent **无法**通过环境变量(无 `DSH_PARENT_*`)或 `list_agents`(只显示自己的 children/descendants)得知父身份。
|
|
58
|
+
|
|
59
|
+
但父身份写在子 agent **自己的** `session.jsonl` 头部 `parentSession` 字段里。B 实测是读自己 session 日志首条记录发现的:
|
|
60
|
+
|
|
61
|
+
```json
|
|
62
|
+
{"type":"session","id":"06ac8b2c-...","parentSession":"session-d11e193f-a813-4200-96b1-0465ae8e8063","origin":"subagent","delegationDepth":1,"agentPreset":"rlm-mode"}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### 3.3 路由规则(核心)
|
|
66
|
+
|
|
67
|
+
`send_message(caller, target)` 仅当 **`target.parentSession == caller.sessionId`** 时放行,即 **只能给自己的“直接子”发消息**。
|
|
68
|
+
|
|
69
|
+
越界时统一抛 `ToolCallError`:
|
|
70
|
+
> `subagent "<id>" belongs to another parent session`
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 4. 测试矩阵与结果
|
|
75
|
+
|
|
76
|
+
### 4.1 Parent ↔ Child ✅(可用,但**不对称**)
|
|
77
|
+
|
|
78
|
+
| 方向 | 通道 | 结果 | 证据 |
|
|
79
|
+
|---|---|---|---|
|
|
80
|
+
| Parent→Child | `send_message`(显式下行) | ✅ 可用,可递归 | 见下 |
|
|
81
|
+
| Child→Parent | completion notice(完成回传) | ✅ 可用 | A/B/G 每次 final message 都回到 root |
|
|
82
|
+
| Child→Parent | `send_message`(显式上行 push) | ❌ 不可用 | `belongs to another parent session` |
|
|
83
|
+
|
|
84
|
+
**下行实测(都回传了 token):**
|
|
85
|
+
- root→A:`DOWN_PING_8841` → A 回 `DOWN_OK` ✅
|
|
86
|
+
- root→B:`RELAY_OK` → B 回 `RELAY_OK` ✅
|
|
87
|
+
- A→G:`G_ECHO_PING` → G 回 `G_ECHO_OK` ✅(证明子 agent 可递归当父节点)
|
|
88
|
+
|
|
89
|
+
**上行实测:**
|
|
90
|
+
- A 调 `send_message(subagent_id="session-d11e193f-...", ...)` → 抛错 `subagent "session-d11e193f-..." belongs to another parent session` ❌
|
|
91
|
+
|
|
92
|
+
> 结论:下行是显式消息通道;上行只有“交结果”的完成回传,**不是对等双向**。
|
|
93
|
+
|
|
94
|
+
### 4.2 Siblings ❌(无直接通道)
|
|
95
|
+
|
|
96
|
+
- **A→B 直接发消息**:抛错 `subagent "06ac8b2c-fb2e-458f-80d6-a0d28e50f193" belongs to another parent session` ❌
|
|
97
|
+
- **不可见**:A 视角 `list_agents(scope=children)` 与 `scope=descendants` 均返回 `[]`,看不到 sibling B;sibling 关系只有共同父节点(root)能通过 `list_agents` 看到。
|
|
98
|
+
- **唯一通路**:经共同 parent 中转(A 交回 root → root 转发给 B)。实测 root→B 中转腿可行。
|
|
99
|
+
|
|
100
|
+
### 4.3 Grandchild(旁证:规则不特判、只认“直接子”)
|
|
101
|
+
|
|
102
|
+
- root→G(depth 2)直接发消息:抛错 `subagent "057bd298-..." belongs to another parent session` ❌
|
|
103
|
+
- 说明 sibling / 向上 / 跨层 全被同一条规则挡下,**不是针对 sibling 的特判**。
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## 5. 原始证据汇总
|
|
108
|
+
|
|
109
|
+
**关键消息 ID(`send_message` 返回):**
|
|
110
|
+
- root→A(DOWN 测试):`400063ce-b604-48db-b853-5bc2811df8e2`
|
|
111
|
+
- root→B(RELAY 测试):`946106a9-59e3-4527-8eba-211999289db4`
|
|
112
|
+
- A→G(follow-up):`590760b1-443d-4124-a0f9-8bbfc26f0eef`
|
|
113
|
+
- A 交叉测试指令:`ace2038e-ca4a-499b-8754-77b1d5c4cacb`
|
|
114
|
+
|
|
115
|
+
**统一拒绝错误(3 处实测一致):**
|
|
116
|
+
```
|
|
117
|
+
ToolCallError(send_message): subagent "<id>" belongs to another parent session
|
|
118
|
+
```
|
|
119
|
+
分别出现在:A→B(sibling)、A→root(上行)、root→G(跨层)。
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## 6. 结论
|
|
124
|
+
|
|
125
|
+
1. **A2A messaging channel 已实现,但形态是“树上的定向消息 + 完成回传”,不是全局对等消息总线。**
|
|
126
|
+
2. 边界严格由 `parentSession` 指针决定:`send_message` 只到**自己的直接子**。
|
|
127
|
+
3. **Parent↔Child**:下行可用且可递归;上行仅有完成回传,无显式 push。
|
|
128
|
+
4. **Siblings**:无直接通道、不可见,只能经共同父节点中转。
|
|
129
|
+
5. **Out of family tree / 跨层**:被同一条路由规则拒绝,符合“无全局总线”的预判。
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## 7. 遗留
|
|
134
|
+
|
|
135
|
+
测试产生的子 agent A、B、G 当前均处于 `ready`(空闲可续),不会再执行任务,除非继续 `send_message`。
|
|
136
|
+
- A = `f743dca9-3953-4382-ac45-487a27df9db1`
|
|
137
|
+
- B = `06ac8b2c-fb2e-458f-80d6-a0d28e50f193`
|
|
138
|
+
- G = `057bd298-d186-4eb4-bb5c-4a6ee2c158cd`
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
# 附录(2026-08-17 追加):Prime Agent 参照调查 — Finisher 事件实录与通道对比
|
|
143
|
+
|
|
144
|
+
> 追加背景:用户对本文 §4.2 的"sibling 之间不能直接通讯"提出疑问——Dash 的机制参考自 Prime Agent(当前 conversation 的运行时),而 Prime Agent 在真实工作中发生过一次 sibling 间"感知"事件(Doer 被用户 Escape 中断后 continue,主 Agent 误判其死亡并派了 Finisher,Finisher 却自己发现了 Doer 还在工作)。本附录从 Prime Agent 的会话日志与源码取证,回答四个问题,并给出两个实现的通道对比表。
|
|
145
|
+
>
|
|
146
|
+
> 术语口径:本附录按"设施(facility)= 运行时/界面直接提供给模型、cell 内可直接调用的能力"计;"读源码找端点 curl"类旁证不算工具。
|
|
147
|
+
> 取证来源:主会话日志 `/home/u1/.prime/agent/sessions/01a00967-75d6-755c-827c-562a446786a1.jsonl`(entry 2352/2357/2358 等)、Finisher 自身 session transcript(`sub-ff62e2e1/*.jsonl`)、Prime Agent 源码 `dist/core/agent-messages.js` + `dist/modes/daemon/daemon-mode.js`。
|
|
148
|
+
|
|
149
|
+
## 8. Finisher 事件实录(Q1–Q4)
|
|
150
|
+
|
|
151
|
+
### 8.1 Q1:Finisher 是怎么知道 Doer 还活着的?
|
|
152
|
+
|
|
153
|
+
**不是消息,是观察通道(`agent_observe`)。** Finisher 自身 transcript 的调用统计:
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
agent_observe.get_agent ×5 (读 sibling 的实时 status)
|
|
157
|
+
agent_observe.recent_messages ×7 (读 sibling 的 transcript 尾部)
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
它读到的事实:`m4b-doer-glm52 status=running、isStreaming=true`,transcript 末尾是"刚修完 tsc 类型错误、刚跑完孤儿检查"。辅助旁证是文件系统(mtime 4 秒前刚变、debug 文件被删、新文件出现)——但**主通道是直接读 sibling 的 transcript**。在 Prime Agent 里这不是猜测,是读取。
|
|
161
|
+
|
|
162
|
+
**术语澄清(用户追问,2026-08-17)**:`agent_observe` 不是"读源码 + 找端点 + curl"式的 API 调用。它和 `agent_message`、`websearch`、`edit` 一样,是运行时**预注入 kernel 命名空间的 Python 模块**——模型在 run_cell 里直接 `await agent_observe.get_agent('m4b-doer-glm52')`,与调用任何其他工具无异;daemon 通信、身份、权限对模型完全透明。按用户的设施定义("界面和运行时直接提供给模型、可直接 interact 的东西"),这是**设施(facility)**,不是外部 API。本文 §9 表格中的"观察 API"字样应按"观察设施"理解——措辞已在下文统一修正。
|
|
163
|
+
|
|
164
|
+
### 8.2 Q2:Prime Agent 的 channel 能看到 sibling 吗?
|
|
165
|
+
|
|
166
|
+
**能,且是设计内的一等公民。** 源码(`dist/core/agent-messages.js`):
|
|
167
|
+
|
|
168
|
+
```js
|
|
169
|
+
agentFamilyRelationship(current, target) {
|
|
170
|
+
if (isAgentFamilyParent(target, current)) return "parent";
|
|
171
|
+
if (isAgentFamilyParent(current, target)) return "child";
|
|
172
|
+
if (current.depth === target.depth && sameAgentFamilyParent(current, target, ...))
|
|
173
|
+
return "sibling"; // 同 depth + 同 parentSessionId/Path = sibling
|
|
174
|
+
return undefined; // 核家庭之外 → 拒绝
|
|
175
|
+
}
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
`buildAgentFamilyRoster()` 把 **parent + siblings + children(含各自 status)** 全部列给当前 agent——sibling 的存在、名字、状态对每个 agent 可见。daemon 侧(`daemon-mode.js`)的 target 解析对消息与观察统一走同一守卫:`assertAgentFamilyReach`(parent/siblings/children 之外一律拒绝,错误文案 `"Agent reach is limited to parent, siblings, and children"`)。
|
|
179
|
+
|
|
180
|
+
### 8.3 Q3:sibling 之间究竟能不能通讯?
|
|
181
|
+
|
|
182
|
+
- **Prime Agent:能。** `agent_message.send(..., receiver_role='sibling')` 合法,`send("all")` 家庭广播也覆盖 sibling。
|
|
183
|
+
- **但那次冲突的 resolve 走的是父,不是 sibling 直连。** 实录消息流(主会话 entry 2352/2357/2358):
|
|
184
|
+
1. Finisher → 父:报告"Doer 未死" + 自己的计划,并明说"需要你先停掉/删除 m4b-doer-glm52,避免对写。**请指示**";
|
|
185
|
+
2. 父 → Finisher:`receiver_role='child'` 角色变更指令"**它在写,你只看**",`deliveryStatus: queued`(steering 投递——busy 中的目标在运行中也能收到);
|
|
186
|
+
3. Finisher 此后持续 `agent_observe` 盯 Doer,Doer idle 后做只读验收;Doer 全程未被直接打扰。
|
|
187
|
+
- 原因:Finisher 正确判断了**生命周期归属**——停/删 Doer 是父的权限(`delete_subagent` 是 parent-owned),冲突裁决权在父。**能力存在,编排走父**。这是权限模型(谁有权裁决)与能力模型(谁可以直达)的区别。
|
|
188
|
+
|
|
189
|
+
### 8.4 Q4:冲突 resolve 时消息是怎么传的?
|
|
190
|
+
|
|
191
|
+
三步,全部经父中转(见 8.3);Finisher 与 Doer 之间没有直接消息,只有 Finisher → Doer 的**单向只读观察**(status + transcript 预览)。这与 Dash 实测的"唯一通路:经共同 parent 中转"表面相同,但 Dash 的中转是**因为没有其他通道**,Prime Agent 的中转是**编排选择**(存在 sibling 直连与观察通道)。
|
|
192
|
+
|
|
193
|
+
## 9. Prime Agent vs Dash:A2A Messaging Channel 对比表
|
|
194
|
+
|
|
195
|
+
| 维度 | Prime Agent | Dash(本文 §3–§5 实测 + 上游 continuation.ts) |
|
|
196
|
+
|---|---|---|
|
|
197
|
+
| 拓扑模型 | **核家庭(nuclear family)**:parent + siblings + direct children 双向;根互为 sibling | **严格树**:只认 `parentSession` 指针 |
|
|
198
|
+
| 可达性判定 | `agentFamilyRelationship`(同 parent 边即 sibling) | `target.parentSession == caller.sessionId`(**只能是直接子**) |
|
|
199
|
+
| Sibling 可见性 | ✅ 家庭名单显式列出 siblings + status | ❌ 不可见(`list_agents` 只有自己的 descendants) |
|
|
200
|
+
| Sibling 消息 | ✅ `receiver_role='sibling'` | ❌ `subagent "<id>" belongs to another parent session` |
|
|
201
|
+
| Sibling 观察(设施) | ✅ 预注入 kernel 模块 `agent_observe`:cell 内直接调用 `get_agent` / `recent_messages` / `list_agents`——status + 有界 transcript 预览,只读 | ❌ 无观察设施:cell 内没有任何可调用的观察函数;只能靠非设施旁证(读文件 mtime、自己翻 session 日志文件——按用户定义"不算工具") |
|
|
202
|
+
| 上行 | ✅ 显式消息(双向对等) | ❌ 显式 push 被拒,只有完成回传 |
|
|
203
|
+
| 下行 | ✅ 可递归 | ✅ 可递归(实测 A→G) |
|
|
204
|
+
| 群发 | ✅ `send("all")` 家庭广播(逐条 receipt) | ❌ |
|
|
205
|
+
| 投递语义 | steering delivery:busy 目标运行中可收(`deliveryStatus: queued`);idle 目标直接进上下文 | 完成回传 + 显式下行(busy 中的投递语义未实测) |
|
|
206
|
+
| 身份 | daemon 推导 sender,不可伪造;无 `from` 参数 | 父身份不暴露在 env / list_agents,只在子 session 日志头部 |
|
|
207
|
+
| 生命周期 | 父拥有 `delete_subagent`;child 仅在父会话存续期可用 | 父拥有(continuation 同源规则) |
|
|
208
|
+
| 观察/消息分权 | 观察只读(无 mutate 命令),与消息分离 | 无观察层 |
|
|
209
|
+
|
|
210
|
+
**一句话总结**:Dash 实现的是"树上的一条下行边 + 完成回传"的最小树消息;Prime Agent 把可达域从"父子边"扩展成**核家庭**——多出的是 sibling 可达(消息)、sibling 观察(status/transcript 只读)、家庭名单可见性、显式上行与群发。8.1 的 Finisher 事件恰好命中了 Dash 缺失的那一块:在 Dash 运行时上重演同一场景,Finisher 会完全失明——看不到 Doer 的 status、读不到 transcript,冲突的发现大概率迟到到"两个 agent 开始对写同一批文件"之后。
|
|
211
|
+
|
|
212
|
+
## 10. 对 Dash 的启示(遗留待办候选)
|
|
213
|
+
|
|
214
|
+
1. **补 sibling 观察(设施口径)**:只读的 status + 最近消息预览(有界),是上面场景的充分条件——即使不开放 sibling 直接消息,观察通道也能让冲突在写入前被发现。实现形态应与 Prime Agent 同级:**预注入 kernel 的 Python 模块**(Dash 侧即 tools.* binding 或 `_dashr_*` 注入 helper),模型 cell 内直接调用;而不是"自己去读 session 日志文件"——后者按用户定义不算工具,只能算碰巧存在的旁证。
|
|
215
|
+
2. **补家庭名单可见性**:`list_agents` 至少向每个 agent 暴露同父 sibling 的存在与状态(当前只显示 descendants,父身份还要读自己日志)。
|
|
216
|
+
3. **sibling 消息是否开放**是设计取舍:Prime Agent 有直连但编排惯例走父(生命周期在父)。Dash 若只补观察,可保持"消息走父、观察可横"的分权。
|
|
217
|
+
4. **上行显式 push**:Prime Agent 双向对等;Dash 只有完成回传,子 agent 无法主动给父发"我需要裁决"类消息(Finisher 事件里那条"请指示"在 Dash 上发不出去)。
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## 11. Delegation 三层模型:通道与"返回结果"的关系(2026-08-17 追加)
|
|
222
|
+
|
|
223
|
+
> 用户追问:"PA 的 A2A Messaging Channel 是不是独立于 delegation 返回 result 的东西?"——答案:方向对了一半,有一个关键修正:**结果本身恰恰就是骑在这个通道上传的**。
|
|
224
|
+
|
|
225
|
+
### 11.1 Prime Agent 的三层结构
|
|
226
|
+
|
|
227
|
+
```
|
|
228
|
+
① 委派准入(spawn/admission)
|
|
229
|
+
rlm('task', name=...) → 立即返回 handle(rlm_child_id / session_dir / model)
|
|
230
|
+
← 独立于通道,纯簿记。rlm() 永远不返回子 agent 的答案
|
|
231
|
+
|
|
232
|
+
② 结果传输
|
|
233
|
+
子 agent 的最终答复 = await agent_message.send(message, receiver_role='parent')
|
|
234
|
+
← 结果就是一条父向消息,骑在 messaging channel 上("写文件给父读"是旁路)
|
|
235
|
+
|
|
236
|
+
③ 存活/完成状态面
|
|
237
|
+
status(idle/running)、repliedSinceTask、"completed without sending a reply" 通知、
|
|
238
|
+
agent_observe 的 status + transcript 预览
|
|
239
|
+
← 独立于通道,是监测机制,不是结果传输
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
- 说"通道独立于 delegation 的返回"**对一半**:`rlm()` 的准入返回与通道无关(只给 handle、立刻返回、绝不等结果)。
|
|
243
|
+
- 但 delegation 的 **result 没有独立管道**:子 agent 的最终答案就是一条父向消息。Finisher 事件里那条 "[from child:m4b-finisher-glm52] …请指示" 与它的正式交付报告形态完全相同——**结果交付只是通道的一种用途,不是另一套机制**。
|
|
244
|
+
|
|
245
|
+
### 11.2 两实现的对照(DSH 实测 §4.1 的"不对称"之根源)
|
|
246
|
+
|
|
247
|
+
| | 结果传输 | 显式消息 |
|
|
248
|
+
|---|---|---|
|
|
249
|
+
| **Dash** | 完成回传:内置 delegation 机制,final message 自动回根 | `send_message` 显式下行——**两套东西** |
|
|
250
|
+
| **Prime Agent** | 子 agent 显式 `agent_message.send(receiver_role='parent')`——**结果也是一条消息** | 同一通道,双向 + sibling + 群发——**一套东西** |
|
|
251
|
+
|
|
252
|
+
Dash 把"交结果"做成了 delegation 的内置特权路径(上行 push 被拒无妨,结果有专线);Prime Agent 把"交结果"统一成了消息(上行 push 天然存在,因为结果本身就是上行消息的一种)。
|
|
253
|
+
|
|
254
|
+
### 11.3 一个由此产生的行为差异
|
|
255
|
+
|
|
256
|
+
Finisher 事件里,父 agent 被 "completed without sending a reply" 误导——因为 Prime Agent 里**"完成"与"回传结果"是解耦的**:③ 层的完成状态通知先到(子 agent 因 interrupt 被误报 completed),② 层的结果消息还没发。Dash 里这两件事绑在一起(完成回传 = 结果到达),反而没有这个坑。**两解耦各有代价**:解耦 = 结果通道可复用(sibling 消息、steering、角色变更都走同一设施),但完成≠有结果;绑定 = 语义简单,但通道只剩"显式下行"这一条窄边。
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# 上游 DSH Code Mode 与 Dash RLM(ipython)对比调研
|
|
2
|
+
|
|
3
|
+
> 调研日期(UTC):2026-08-19
|
|
4
|
+
> 上游源码:`upstream/deepseek-harness`(已从 rc.5 更新到 `dsh-v0.1.0-rc.7`,commit `99f6f02fec`)
|
|
5
|
+
> 对比对象:DSH 原生 Code Mode(`run_code`)vs Dash RLM 插件(`ipython`)
|
|
6
|
+
> 方式:读上游源码 + 设计 Agent Note + 本会话实测 dashr 运行时,全部结论均有文件/行号/引文支撑。
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 1. 结论速览(TL;DR)
|
|
11
|
+
|
|
12
|
+
| 问题 | 结论 |
|
|
13
|
+
|---|---|
|
|
14
|
+
| ① DSH Code Mode 是否也是「单一顶层工具 + 代码块」? | ✅ 是。`run_code` 就是唯一顶层工具,形状与 `ipython` 完全同构 |
|
|
15
|
+
| ② 沙箱逃逸是否等价? | ✅ 是。上游自己也写明「containment, not a security boundary」,信任姿态 = bash;任何图灵完备模式都会逃逸,只是快慢/直接间接之别 |
|
|
16
|
+
| ③ 最关键差异 | 🔴 **DSH 明确「拒绝」了持久化 kernel(REPL 式),而 Dash RLM 恰恰是持久化 IPython kernel**。这是二者最根本的分歧,根因是「可重建性」(reconstructability) |
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 2. 上游版本与源码定位
|
|
21
|
+
|
|
22
|
+
- 远程:`https://github.com/deepseek-ai/deepseek-harness.git`
|
|
23
|
+
- 更新:本地 rc.5 → `dsh-v0.1.0-rc.7`(tag 即 `origin/master`,`git merge --ff-only` 完成)
|
|
24
|
+
- 核心文件:
|
|
25
|
+
- `packages/core/tools/src/code-mode.ts` —— `run_code` 工具定义 + dispatch bridge
|
|
26
|
+
- `packages/core/tools/src/py-types.ts` / `ts-types.ts` —— SDK 生成(Python/TS 两套)
|
|
27
|
+
- `packages/code-runtime/code-runtime/` —— 执行能力 seam(`ctx.codeRuntime`)
|
|
28
|
+
- `packages/code-runtime/code-runtime-worker-thread/` —— 唯一 shipped 后端
|
|
29
|
+
- `.agents/notes/implemented/feature/2026-06-15-code-mode.md` —— 权威设计文档
|
|
30
|
+
- `.agents/notes/implemented/feature/2026-07-31-code-mode-language-dispatch.md` —— Python 呈现层
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## 3. 表面形状对比:是不是「单一顶层工具」
|
|
35
|
+
|
|
36
|
+
**是。** 两者都把「工具调用界面」归一化成一个顶层工具:
|
|
37
|
+
|
|
38
|
+
| | DSH Code Mode | Dash RLM |
|
|
39
|
+
|---|---|---|
|
|
40
|
+
| 顶层工具名 | `run_code`(`RUN_CODE_NAME`) | `ipython` |
|
|
41
|
+
| 必填参数 | `code` + `description` 两个 | `cell` + `description` 两个 |
|
|
42
|
+
| 代码块语义 | 「async 函数的 body」,顶层 `await`/`return` 可用 | 一个 IPython cell,顶层 `await`/`return` 可用 |
|
|
43
|
+
| 输出契约 | 只 `print`/`return` 的才进模型上下文 | 只 `print`/`return` 的才回来 |
|
|
44
|
+
| 模式开关 | `tools: { mode: 'native'|'code'|'both' }` | `agent-preset: rlm-mode` |
|
|
45
|
+
|
|
46
|
+
在 `mode: 'code'` 下,wire 上只挂 `run_code` 一个工具 + 一段生成的 SDK `.d.ts`。这与 dashr 的「只有 `ipython` 可直连」是同一形态。
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 4. 执行基底对比(最根本差异)
|
|
51
|
+
|
|
52
|
+
| 维度 | DSH Code Mode | Dash RLM |
|
|
53
|
+
|---|---|---|
|
|
54
|
+
| 执行载体 | 每次 run 起一个**全新** `worker_threads.Worker` | **持久化** IPython/Jupyter kernel 进程 |
|
|
55
|
+
| 状态 | **无状态**(每次 fresh,进程世界随 worker 销毁) | **有状态**(变量/import 跨 cell 存活,实测确认) |
|
|
56
|
+
| 语言 | TypeScript(唯一 shipped 后端) | Python(真实 IPython) |
|
|
57
|
+
| 隔离 | worker 线程:空 env、heap 上限、可硬终止 | 真实 kernel 进程(无 worker 级 containment) |
|
|
58
|
+
|
|
59
|
+
DSH 把 TS 程序 host-side 做 `stripTypeScriptTypes`(去类型),再包成 `AsyncFunction` 在 worker 里执行;绑定经 message port 桥接。**每次都是纯函数调用,无跨 run 状态。**
|
|
60
|
+
|
|
61
|
+
Dash RLM 则是在一个长期存活的内核里逐 cell `exec`,变量天然累积——这就是我在本会话里直接验证过的「上一轮变量下一轮还在」。
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 5. 语言对比
|
|
66
|
+
|
|
67
|
+
| | DSH | Dash RLM |
|
|
68
|
+
|---|---|---|
|
|
69
|
+
| 实际可运行语言 | **TypeScript**(`language = 'typescript'`,`isolation = 'worker-thread'`) | **Python**(IPython) |
|
|
70
|
+
| Python 支持 | **仅呈现层**:`py-types.ts` + `renderToolsSdkPy` + `PYTHON_FLAVOR` 都在,但**没有 published Python 后端**——设计文档原话:「The Python branch of both tables is unreachable in the shipped tree」 | 原生 Python,真跑 |
|
|
71
|
+
|
|
72
|
+
即:DSH 把 Python 的「schema/SDK/描述」都准备好了,但还没有能执行 Python 的后端;dashr 则是反过来的——直接实现了 Python 执行(IPython),走的是 DSH 预留的「future Python backend」那条路。
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 6. 工具绑定形式对比
|
|
77
|
+
|
|
78
|
+
| | DSH | Dash RLM |
|
|
79
|
+
|---|---|---|
|
|
80
|
+
| 调用形式 | `await tools.name(args)`(命名空间对象 `tools`) | `await name(args)`(扁平顶层函数) |
|
|
81
|
+
| 错误类 | `ToolCallError`,带 `toolName` | `ToolCallError`,带 `toolName` |
|
|
82
|
+
| 参数契约 | 单个 args 对象,必须 lossless JSON | 单个位置 args 对象,拒绝 kwargs |
|
|
83
|
+
| 命名防护 | null-prototype + `defineProperty` 防 `__proto__`/`constructor` 撞名 | 扁平 `user_ns[global_name]` 绑定 |
|
|
84
|
+
|
|
85
|
+
`ToolCallError` + `toolName` 这个契约是 dashr 从上游「搬」过来的(上游 `code-mode.ts` 里 `errorClass: { name: 'ToolCallError', memberNameProperty: 'toolName' }` 与 dashr bootstrap 完全一致)。差异在命名空间:DSH 用 `tools.` 前缀统一收敛,dashr 用扁平全局名(这是我在实测里注意到的「工具目录像原生函数」摩擦的根源之一)。
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## 7. 并发模型对比
|
|
90
|
+
|
|
91
|
+
- **DSH**:每个 run 一个调度队列,严格按提交顺序启动,逐调用走 `registry.executionMode`(`isConcurrencySafe`)分类 parallel/exclusive;连续的 parallel 调用最多重叠 `maxParallelSubCalls`(默认 10,1 即串行);exclusive 调用排空池后单独跑。承诺「只读调用可用 `Promise.all`/`asyncio.gather` 重叠,写调用按提交顺序单独跑」。
|
|
92
|
+
- **Dash RLM**:cell 内用 `asyncio.gather` 扇出,同样有重叠上限;底层同样走「并发安全分类 + 顺序提交」的契约。
|
|
93
|
+
|
|
94
|
+
二者并发语义高度同构——dashr 的「submission-order + overlap cap」直接继承自上游这套设计。
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## 8. 隔离与沙箱逃逸(安全性)
|
|
99
|
+
|
|
100
|
+
**上游自己就把话说透了。** `code-runtime-worker-thread` README 第一段:
|
|
101
|
+
|
|
102
|
+
> **Containment, not a security boundary**: trust posture is bash-equivalent by design ... model code can reach Node APIs and has authority comparable to the bash tool.
|
|
103
|
+
|
|
104
|
+
设计文档 §Trust posture(第 84 行):
|
|
105
|
+
|
|
106
|
+
> The worker runtime provides containment, not a security boundary ... `worker.terminate()` stops the thread but not OS processes it spawned. Code Mode uses the same `tools/pre-execute` policy gate as bash ...
|
|
107
|
+
|
|
108
|
+
**结论**:DSH Code Mode 的 worker 只是「资源隔离」(isolate、空 env、heap 上限、硬终止),**不是安全边界**;信任姿态等价于 bash(bash 本就能执行任意 shell 命令)。所以:
|
|
109
|
+
|
|
110
|
+
- **Code Mode 逃逸**:模型代码能直接 reach Node API,等价于 bash。
|
|
111
|
+
- **RLM/ipython 逃逸**:kernel 进程原生 `open()` 可写任意路径(本会话已实测复现)。
|
|
112
|
+
- **普通 native 模式逃逸**:bash + write 组合先写脚本再执行,同样图灵完备。
|
|
113
|
+
|
|
114
|
+
三者本质等价——都是「图灵完备的代码执行能力」,差别只在**实现步骤的快慢/直接间接**,不在是否可能。这与你(用户)的判断完全一致。
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## 9. 关键分歧:DSH 明确拒绝了「持久化 kernel」
|
|
119
|
+
|
|
120
|
+
设计文档「Alternatives considered」第 119 行,一字不差:
|
|
121
|
+
|
|
122
|
+
> **A REPL-style persistent kernel** (state survives across `run_code` calls). **Rejected for the MVP**: cross-call state would be invisible to the session log, breaking the **reconstructability guarantee that every request is a pure function of the log**; fresh-per-run keeps it. A kernel-style backend remains expressible behind the seam later, with its own logging story.
|
|
123
|
+
|
|
124
|
+
**这正是 dashr 现在的做法。** 上游为了「每个请求是日志的纯函数、会话可完整重建」这个保证,主动放弃了持久化 kernel;dashr 反其道而行,选了持久化 IPython kernel,因此:
|
|
125
|
+
|
|
126
|
+
- **得到**:对偏好编程/强化编程训练的模型更直接、状态可累积(不需要每次重新声明变量/import)、真正的交互式内核体验。
|
|
127
|
+
- **失去**:跨 cell 状态对 session log 不可见 → 破坏了「纯函数 of log」的可重建性;任何一次会话回放都无法仅凭日志重建出与当时一致的 kernel 内存态。
|
|
128
|
+
|
|
129
|
+
这不是对错问题,而是 **capability(能力)与 reproducibility/security(可重建性/安全)的取舍**——dashr 站在了「能力/直接性」这一侧,上游站在了「可重建/可审计」这一侧。
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## 10. 对 dashr 的启示(可选下一步)
|
|
134
|
+
|
|
135
|
+
1. **接口命名**:上游用 `tools.name()` 命名空间,dashr 用扁平 `name()`。命名空间能显著缓解「工具目录像原生函数、被模型直接调用」的心智摩擦(本会话实测两次直接调 `grep`/`read` 被拒)。
|
|
136
|
+
2. **无状态 vs 有状态**:dashr 的持久化 kernel 需要补「状态可见化」——至少把关键状态(如写入过的变量、已安装的包)显式记录进 log,否则回放/审计会失真。上游的 fresh-per-run 是零成本的这一面。
|
|
137
|
+
3. **沙箱叙事**:上游已经把「containment ≠ security boundary」写进 README 和设计文档;dashr 的文档可以对齐这个表述,把「kernel 原生 I/O 可写工作区外」从「隐患」重新定性为「bash 等价信任姿态」。
|