2026-06-16 14:55:37 +08:00
|
|
|
packages:
|
|
|
|
|
- vendor/*
|
Reorganize packages into a modular hierarchy
Move the 18 flat packages/<name> packages into role-grouped dirs:
core/, llm/, bash/, session-persistence/, ui/, support/. Group dirs are
pure containers; each package keeps its @deepseek-ai/dsh-* name.
Collapse the per-package tsconfig paths maps (base + typecheck) into one
@deepseek-ai/dsh-* wildcard with a candidate per group, and derive the
publint list from the hierarchy. Update all depth-coupled globs/configs
(workspace, tsdown, vitest, eslint, knip, tsconfig includes/refs,
per-package tsconfigs, generators, doc-script scopes, type-equiv manifest)
and the cross-package/script relative imports in tests.
Fix doc-typecheck's workspacePaths() to parse tsconfig JSONC via the
TypeScript API instead of a regex comment-strip, which corrupted the
new wildcard `/*/` path candidates.
WIP: doc cross-links and package/RFC docs still to update.
2026-06-20 22:55:20 +08:00
|
|
|
- packages/*/*
|
2026-07-22 10:55:17 +08:00
|
|
|
# Product assemblies over the packages tier (the structure introduced with
|
|
|
|
|
# the dsh CLI): apps/cli is the `dsh` bin.
|
|
|
|
|
- apps/*
|
2026-07-16 18:12:22 +08:00
|
|
|
- website
|
2026-07-17 15:42:35 +08:00
|
|
|
# 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
|
2026-07-19 22:50:49 +08:00
|
|
|
# globs (vendor/*, packages/*/*) exclude them. See the example-execute-over-tsx Agent Note.
|
2026-07-17 15:42:35 +08:00
|
|
|
- examples
|
2026-07-11 14:08:26 +08:00
|
|
|
# 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
|
2026-06-16 14:55:37 +08:00
|
|
|
|
|
|
|
|
peerDependencyRules:
|
|
|
|
|
allowedVersions:
|
|
|
|
|
typescript: '>=5 <7'
|
|
|
|
|
|
2026-06-16 16:17:03 +08:00
|
|
|
# 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.
|
2026-06-16 14:55:37 +08:00
|
|
|
allowBuilds:
|
|
|
|
|
esbuild: true
|
|
|
|
|
lefthook: true
|
2026-07-20 20:59:22 +08:00
|
|
|
# Cross-platform PTY boundary for the TUI process smoke, including ConPTY on Windows.
|
|
|
|
|
node-pty: true
|
2026-06-16 16:25:24 +08:00
|
|
|
# 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.
|
2026-06-16 16:17:03 +08:00
|
|
|
'@google/genai': false
|
|
|
|
|
protobufjs: false
|
2026-07-15 11:28:45 +08:00
|
|
|
node-addon-require-builtin: false
|
2026-07-05 04:31:22 +08:00
|
|
|
# JSONL durability calls MoveFileExW with write-through publication on Windows.
|
|
|
|
|
koffi: true
|
2026-07-09 15:42:37 +08:00
|
|
|
|
|
|
|
|
# The Landlock launcher family is our own sibling-repo release, consumed
|
|
|
|
|
# fresh (hours old at each coordinated bump) — the release-age quarantine
|
|
|
|
|
# would block every such bump, so the family is exempted BY NAME, not by
|
|
|
|
|
# pinned version.
|
|
|
|
|
minimumReleaseAgeExclude:
|
|
|
|
|
- node-addon-landlock-run
|
|
|
|
|
- node-addon-landlock-run-linux-arm64
|
|
|
|
|
- node-addon-landlock-run-linux-x64
|
2026-07-15 11:28:45 +08:00
|
|
|
# Cordis release candidates are source-vendored and pinned in vendor/README.md
|
|
|
|
|
# during the same-day sync that updates package manifests and the lockfile.
|
|
|
|
|
- '@cordisjs/plugin-loader@1.0.0-rc.5'
|
|
|
|
|
- cordis@4.0.0-rc.7
|