pnpm-workspace.yaml 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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 the example-execute-over-tsx Agent Note.
  13. - examples
  14. # Deploy root of the single-exe build: a pure dependency manifest whose
  15. # closure is what the exe bundles and what the Python runtime distributes.
  16. - python/sdk-runtime
  17. peerDependencyRules:
  18. allowedVersions:
  19. typescript: '>=5 <7'
  20. # pnpm 10+ blocks any dependency shipping an install/build script until it is
  21. # explicitly reviewed here (strictDepBuilds defaults to true: an unlisted script
  22. # is a hard install error). Every such package MUST be listed; we deny by
  23. # default and only allow scripts we need. esbuild (native binary) and lefthook
  24. # (git hooks) genuinely need theirs.
  25. allowBuilds:
  26. esbuild: true
  27. lefthook: true
  28. # Cross-platform PTY boundary for the TUI process smoke and persistent PTY backend,
  29. # including ConPTY on Windows.
  30. node-pty: true
  31. # Pulled in by @earendil-works/pi-ai (optional LLM API backend). pnpm lists
  32. # them only because they ship lifecycle scripts, but those are no-ops we don't
  33. # need, so we deny them — install still succeeds.
  34. '@google/genai': false
  35. protobufjs: false
  36. node-addon-require-builtin: false
  37. # JSONL durability calls MoveFileExW with write-through publication on Windows.
  38. koffi: true
  39. # The Landlock launcher family is our own sibling-repo release, consumed
  40. # fresh (hours old at each coordinated bump) — the release-age quarantine
  41. # would block every such bump, so the family is exempted BY NAME, not by
  42. # pinned version.
  43. minimumReleaseAgeExclude:
  44. - node-addon-landlock-run
  45. - node-addon-landlock-run-linux-arm64
  46. - node-addon-landlock-run-linux-x64
  47. # Cordis release candidates are source-vendored and pinned in vendor/README.md
  48. # during the same-day sync that updates package manifests and the lockfile.
  49. - '@cordisjs/plugin-loader@1.0.0-rc.5'
  50. - cordis@4.0.0-rc.7
  51. # Fresh pi-ai releases carry the model catalog updates that are the whole
  52. # point of bumping it; waiting out the release age would defeat that.
  53. - '@earendil-works/pi-ai@0.81.1'