pnpm-workspace.yaml 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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. # Vendored framework packages keep their upstream semver ranges, while local
  19. # builds must resolve those matching names to this workspace's pinned sources.
  20. linkWorkspacePackages: true
  21. peerDependencyRules:
  22. allowedVersions:
  23. typescript: '>=5 <7'
  24. # pnpm 10+ blocks any dependency shipping an install/build script until it is
  25. # explicitly reviewed here (strictDepBuilds defaults to true: an unlisted script
  26. # is a hard install error). Every such package MUST be listed; we deny by
  27. # default and only allow scripts we need. esbuild (native binary) and lefthook
  28. # (git hooks) genuinely need theirs.
  29. allowBuilds:
  30. esbuild: true
  31. lefthook: true
  32. # Cross-platform boundary for the persistent PTY backend, including ConPTY on Windows.
  33. node-pty: true
  34. # Pulled in by @earendil-works/pi-ai (optional LLM API backend). pnpm lists
  35. # them only because they ship lifecycle scripts, but those are no-ops we don't
  36. # need, so we deny them — install still succeeds.
  37. '@google/genai': false
  38. protobufjs: false
  39. node-addon-require-builtin: false
  40. # JSONL durability calls MoveFileExW with write-through publication on Windows.
  41. koffi: true
  42. # The Python runtime deploy includes the reviewed workspace postinstall that
  43. # restores the executable bit on node-pty's macOS spawn helper.
  44. '@deepseek-ai/dsh-pty-local@file:packages/pty/pty-local': true
  45. # The Landlock launcher family is our own sibling-repo release, consumed
  46. # fresh (hours old at each coordinated bump) — the release-age quarantine
  47. # would block every such bump, so the family is exempted BY NAME, not by
  48. # pinned version.
  49. minimumReleaseAgeExclude:
  50. - node-addon-landlock-run
  51. - node-addon-landlock-run-linux-arm64
  52. - node-addon-landlock-run-linux-x64
  53. # Cordis release candidates are source-vendored and pinned in vendor/README.md
  54. # during the same-day sync that updates package manifests and the lockfile.
  55. - '@cordisjs/plugin-loader@1.0.0-rc.5'
  56. - cordis@4.0.0-rc.7
  57. # Fresh pi-ai releases carry the model catalog updates that are the whole
  58. # point of bumping it; waiting out the release age would defeat that.
  59. - '@earendil-works/pi-ai@0.82.1'
  60. - node-addon-native-custom-loader@0.1.4
  61. - node-addon-require-builtin-darwin-arm64@0.1.4
  62. - node-addon-require-builtin-darwin-x64@0.1.4
  63. - node-addon-require-builtin-linux-arm64-gnu@0.1.4
  64. - node-addon-require-builtin-linux-x64-gnu@0.1.4
  65. - node-addon-require-builtin-win32-arm64-msvc@0.1.4
  66. - node-addon-require-builtin-win32-ia32-msvc@0.1.4
  67. - node-addon-require-builtin-win32-x64-msvc@0.1.4
  68. - node-addon-require-builtin@0.1.4
  69. patchedDependencies:
  70. node-pty@1.1.0: patches/node-pty@1.1.0.patch