pnpm-workspace.yaml 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. packages:
  2. - vendor/*
  3. - packages/*/*
  4. # Product assemblies over the package tier; apps/cli owns the `dsh` bin.
  5. - apps/*
  6. - website
  7. # The runnable demo leaves join as ONE workspace member: examples/package.json
  8. # declares the union of every leaf's cordis.yml plugins as workspace:*, so a
  9. # plain-node (`:lib`) boot of any leaf (examples/<leaf>/cordis.yml) resolves its
  10. # plugins through real package `exports`→lib by walking up to examples/node_modules.
  11. # Members for DEPENDENCY RESOLUTION only — NOT build targets: tsdown's explicit
  12. # globs (vendor/*, packages/*/*) exclude them. See examples/AGENTS.md and the archived
  13. # run-ci-examples-from-built-lib Agent Note.
  14. - examples
  15. # Deploy root of the single-exe build: a pure dependency manifest whose
  16. # closure is what the exe bundles and what the Python runtime distributes.
  17. - python/sdk-runtime
  18. peerDependencyRules:
  19. allowedVersions:
  20. typescript: '>=5 <7'
  21. # pnpm 10+ blocks any dependency shipping an install/build script until it is
  22. # explicitly reviewed here (strictDepBuilds defaults to true: an unlisted script
  23. # is a hard install error). Every such package MUST be listed; we deny by
  24. # default and only allow scripts we need. esbuild (native binary) and lefthook
  25. # (git hooks) genuinely need theirs.
  26. allowBuilds:
  27. esbuild: true
  28. lefthook: true
  29. # Cross-platform PTY boundary for the TUI process smoke and persistent PTY backend,
  30. # including ConPTY on Windows.
  31. node-pty: true
  32. # Pulled in by @earendil-works/pi-ai (optional LLM API backend). pnpm lists
  33. # them only because they ship lifecycle scripts, but those are no-ops we don't
  34. # need, so we deny them — install still succeeds.
  35. '@google/genai': false
  36. protobufjs: false
  37. node-addon-require-builtin: false
  38. # JSONL durability calls MoveFileExW with write-through publication on Windows.
  39. koffi: true
  40. # The Python runtime deploy includes the reviewed workspace postinstall that
  41. # restores the executable bit on node-pty's macOS spawn helper.
  42. '@deepseek-ai/dsh-pty-local@file:packages/pty/pty-local': true
  43. # The Landlock launcher family is our own sibling-repo release, consumed
  44. # fresh (hours old at each coordinated bump) — the release-age quarantine
  45. # would block every such bump, so the family is exempted BY NAME, not by
  46. # pinned version.
  47. minimumReleaseAgeExclude:
  48. - node-addon-landlock-run
  49. - node-addon-landlock-run-linux-arm64
  50. - node-addon-landlock-run-linux-x64
  51. # Cordis release candidates are source-vendored and pinned in vendor/README.md
  52. # during the same-day sync that updates package manifests and the lockfile.
  53. - '@cordisjs/plugin-loader@1.0.0-rc.5'
  54. - cordis@4.0.0-rc.7
  55. # Fresh pi-ai releases carry the model catalog updates that are the whole
  56. # point of bumping it; waiting out the release age would defeat that.
  57. - '@earendil-works/pi-ai@0.82.1'
  58. patchedDependencies:
  59. '@earendil-works/pi-tui@0.80.7': patches/@earendil-works__pi-tui@0.80.7.patch
  60. node-pty@1.1.0: patches/node-pty@1.1.0.patch