fix: pin SDK version and auto-build dist on install - #52
lsimpsonsfdc wants to merge 1 commit into
Conversation
Installing from npm or a local path failed because "latest" for @paperclipai/plugin-sdk is unpinned (breaks reproducible installs) and there was no prepare script, so dist/ was never built for consumers installing from a git ref or local path.
|
This one needs a rebase: Dependabot #48 just bumped the lockfiles to 2026.722.0 on main, so bun.lock and package-lock.json conflict now. The parts that still matter after that merge are the package.json pin itself (main still says "latest") and the prepare script for git/local installs. Both are worth keeping. If you rebase down to those, happy to re-review. |
|
Audit-hold (LAC-3664 / LAC-3656) — Security Engineer review. Status: HELD, not merged. Reasons:
Unblock path: rebase onto current main, refresh the pin to the current SDK version (or drop the lockfile pin and keep just the |
Summary
Installing this plugin from a git ref or local path (
isLocalPath: true) currently fails or produces a broken install, for two related reasons:@paperclipai/plugin-sdkis pinned tolatestinpackage.json/lockfiles. This makes installs non-reproducible — two installs on different days can silently resolve different SDK versions, and a breaking SDK release can brick existing installs with no way to pin back. Pinned to the current release,2026.722.0.preparescript, sodist/is never built when installing from a git ref or local path (onlynpm publishtriggersprepublishOnly). Consumers installing via{ "packageName": "/path/to/paperclip-plugin-agent-usage", "isLocalPath: true }"(documented in this repo's own README) get a plugin with nodist/manifest.js/dist/worker.js, which fails to load in Paperclip.Both were found while debugging repeated install failures against a self-hosted Paperclip instance.
How to test
Checklist
npm run typecheckpassesnpm run buildproducesdist/manifest.js+dist/worker.js