Machine-produced by `pnpm run rescope-vendor --apply` plus the regeneration it prints: `pnpm install` for the lockfile, `pnpm run gen-third-party-notices`, `verify-translation-pairing --write` for the touched bilingual pairs, `gen-doc-graphs`, and one typert snapshot whose ids embed character offsets. `pnpm run rescope-vendor --check` verifies the result. Renames nine vendored packages (cordis, cosmokit, schemastery and the six @cordisjs plugins) and every reference that resolves them: manifest names and dependency keys, module specifiers including declare-module merges, cordis.yml plugin names, tsconfig paths, every Markdown fence, and `docs/` prose. Directory names, upstream versions, and dependency ranges are unchanged, so vendor/README.md still reads as an upstream snapshot; its manifest table gains an upstream-name column so THIRD_PARTY_NOTICES keeps MIT attribution pointed at each fork's origin. The tutorial tier follows the rename end to end: its yaml fences named plugins the Loader can no longer resolve, its `ts ignore-check` fences disagreed with the compiled fences beside them, and its prose quoted both. The contracts that told readers to keep upstream names — the root convention and the vendoring cookbook's tree comment and manifest invariant — now say to rescope instead. Two rules read `@deepseek-ai/` as "another workspace plugin": the client bundle purity gate now names the vendored libraries a browser bundle inlines, and the files where a bare `cordis` is an agent-preset id keep that product data.
dsh-paths
English | 中文
Shared filesystem path helpers for DeepSeek Harness user data.
DSH home
resolveDshHome() resolves the single-root DeepSeek Harness home. Precedence, highest first: an explicit configured path, $DSH_HOME, then ~/.dsh. The harness keeps all user data under one root.
dshHomePath(...segments) joins child segments onto that resolved home with Node's platform path rules. With no segments it returns the home itself.
dshHomeDisplay() names an active root symbolically for user-facing paths: ~/.dsh for the default home, $DSH_HOME for any configured home. It never leaks an absolute machine path.
DSH_HOME_DIR_NAME owns the default user-data directory name: .dsh.
defaultDshHome() returns the default DeepSeek Harness home by joining the operating-system home directory with .dsh, using Node's platform path rules.
expandHomePath() expands ~, ~/..., and Windows-style ~\... prefixes against the operating-system home directory. It leaves non-tilde paths and ~user/... untouched.
Watch paths
canonicalizeWatchPath() gives a native filesystem watcher one stable spelling of its target. It resolves the deepest existing ancestor through fs.realpath() and restores any missing suffix, so a file or directory may still be watched before it is created. In particular, Windows 8.3 aliases cannot be mixed with the long paths emitted by the native watcher backend.
This package is intentionally small and harness-dep-free so product packages can share user-data path conventions without depending on one another.
Known Limitations and Deferred Work
- Expansion is deliberately narrow — only bare
~,~/..., and~\...use the current operating-system home; named-user forms such as~alice/..., environment variables, and shell expressions remain unchanged. - Canonicalization reads but never mutates —
canonicalizeWatchPath()performsrealpathprobes and propagates errors other than absence; callers still own directory creation, permissions, and trust policy for the resulting path.