# pnpm workspace definition. # # Replaces npm's `workspaces` field, which has been removed from package.json — # pnpm ignores that field, and keeping both would leave two sources of truth # that can silently disagree. packages: - 'packages/*' - 'apps/*' # Dependency install scripts. # # pnpm refuses to run them unless a package is named here, and treats anything # undeclared as a hard error on *every* command until it is resolved. That is a # real supply-chain protection: a transitive dependency cannot execute code at # install time simply by being pulled in. # # `esbuild` asks to run one, and does not need to. Its platform binary arrives # through an optional dependency (`@esbuild/linux-x64`); the postinstall only # verifies what is already present. Checked rather than assumed — after a # scriptless install the binary reported 0.25.12 and both the Vite build and # tsx work normally. # # So it is denied rather than approved: same result, one fewer package allowed # to execute code on every machine that installs. If a build ever genuinely # fails for want of a script, flip it to `true` here and record why. # `@google/genai` and `protobufjs` arrive transitively under the Prime Agent SDK, # which carries a client for every provider it supports whether or not we use it. # Piggy talks to exactly one — Prime Inference, over the OpenAI-compatible API — # so neither package is on any path we execute, and their install scripts are # denied on the same reasoning as esbuild's. Verified after a scriptless install: # the agent session starts, resolves the model and completes a tool round trip. allowBuilds: '@google/genai': false esbuild: false protobufjs: false