Files
deepseek-harness/pnpm-workspace.yaml
T
imccyu ec601ca13d build(vendor): rescope the vendored Cordis packages into @deepseek-ai
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.
2026-08-10 22:04:13 +08:00

69 lines
3.1 KiB
YAML

packages:
- vendor/*
- packages/*/*
# The Landlock launcher is developed with its harness consumers but keeps
# its native build and publication scripts under native/landlock-run.
- native/landlock-run
- native/landlock-run/packages/*
# Product assemblies over the package tier; apps/cli owns the `dsh` bin.
- apps/*
- website
# The runnable demo leaves join as ONE workspace member: examples/package.json
# declares the union of every leaf's cordis.yml plugins as workspace:*, so a
# plain-node (`:lib`) boot of any leaf (examples/<leaf>/cordis.yml) resolves its
# plugins through real package `exports`→lib by walking up to examples/node_modules.
# Members for DEPENDENCY RESOLUTION only — NOT build targets: tsdown's explicit
# globs (vendor/*, packages/*/*) exclude them. See examples/AGENTS.md and the archived
# run-ci-examples-from-built-lib Agent Note.
- examples
# Deploy root of the single-exe build: a pure dependency manifest whose
# closure is what the exe bundles and what the Python runtime distributes.
- python/sdk-runtime
# Vendored framework packages keep their upstream semver ranges, while local
# builds must resolve those matching names to this workspace's pinned sources.
linkWorkspacePackages: true
peerDependencyRules:
allowedVersions:
typescript: '>=5 <7'
# pnpm 10+ blocks any dependency shipping an install/build script until it is
# explicitly reviewed here (strictDepBuilds defaults to true: an unlisted script
# is a hard install error). Every such package MUST be listed; we deny by
# default and only allow scripts we need. esbuild (native binary) and lefthook
# (git hooks) genuinely need theirs.
allowBuilds:
esbuild: true
lefthook: true
# Cross-platform boundary for the persistent PTY backend, including ConPTY on Windows.
node-pty: true
# Pulled in by @earendil-works/pi-ai (optional LLM API backend). pnpm lists
# them only because they ship lifecycle scripts, but those are no-ops we don't
# need, so we deny them — install still succeeds.
'@google/genai': false
protobufjs: false
node-addon-require-builtin: false
# JSONL durability calls MoveFileExW with write-through publication on Windows.
koffi: true
# The Python runtime deploy includes the reviewed workspace postinstall that
# restores the executable bit on node-pty's macOS spawn helper.
'@deepseek-ai/dsh-pty-local@file:packages/pty/pty-local': true
minimumReleaseAgeExclude:
# Fresh pi-ai releases carry the model catalog updates that are the whole
# point of bumping it; waiting out the release age would defeat that.
- '@earendil-works/pi-ai@0.82.1'
- node-addon-native-custom-loader@0.1.4
- node-addon-require-builtin-darwin-arm64@0.1.4
- node-addon-require-builtin-darwin-x64@0.1.4
- node-addon-require-builtin-linux-arm64-gnu@0.1.4
- node-addon-require-builtin-linux-x64-gnu@0.1.4
- node-addon-require-builtin-win32-arm64-msvc@0.1.4
- node-addon-require-builtin-win32-ia32-msvc@0.1.4
- node-addon-require-builtin-win32-x64-msvc@0.1.4
- node-addon-require-builtin@0.1.4
patchedDependencies:
node-pty@1.1.0: patches/node-pty@1.1.0.patch