pnpm-workspace.yaml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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 Landlock launcher family is our own sibling-repo release, consumed
  41. # fresh (hours old at each coordinated bump) — the release-age quarantine
  42. # would block every such bump, so the family is exempted BY NAME, not by
  43. # pinned version.
  44. minimumReleaseAgeExclude:
  45. - node-addon-landlock-run
  46. - node-addon-landlock-run-linux-arm64
  47. - node-addon-landlock-run-linux-x64
  48. # Cordis release candidates are source-vendored and pinned in vendor/README.md
  49. # during the same-day sync that updates package manifests and the lockfile.
  50. - '@cordisjs/plugin-loader@1.0.0-rc.5'
  51. - cordis@4.0.0-rc.7
  52. # Fresh pi-ai releases carry the model catalog updates that are the whole
  53. # point of bumping it; waiting out the release age would defeat that.
  54. - '@earendil-works/pi-ai@0.82.1'
  55. patchedDependencies:
  56. '@earendil-works/pi-tui@0.80.7': patches/@earendil-works__pi-tui@0.80.7.patch