{"_id":"@decaf-ts/paperclip-pixels","_rev":"16-8f094635261116b5a1b2ffd9e02d1855","name":"@decaf-ts/paperclip-pixels","dist-tags":{"latest":"0.6.0"},"versions":{"0.2.0":{"name":"@decaf-ts/paperclip-pixels","version":"0.2.0","keywords":["paperclip","pixel-agents","bridge","plugin","worker","relay"],"license":"MIT","_id":"@decaf-ts/paperclip-pixels@0.2.0","maintainers":[{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},{"name":"vnogueira91","email":"vnogueira91@gmail.com"}],"homepage":"https://github.com/decaf-ts/paperclip-pixels#readme","bugs":{"url":"https://github.com/decaf-ts/paperclip-pixels/issues"},"bin":{"paperclip-pixel-relay":"bin/paperclip-pixel-relay.js"},"dist":{"shasum":"3fd455322316993fa151fbae6151c172a48bed15","tarball":"https://registry.npmjs.org/@decaf-ts/paperclip-pixels/-/paperclip-pixels-0.2.0.tgz","fileCount":45,"integrity":"sha512-OwiqUgbdRVe5NyK9v9Jik+myDpcckjH2kHDOnxl8tiEH6m/LnEYV5vT0i+V38o1xWfEZ5n6glK/n+xErR91VjQ==","signatures":[{"sig":"MEUCIDi8FJhpuWYXp7wyC01RZgeNXaNAYP32SFonrY17knEnAiEAscLb0iEDXmncZggFP7DzsfEsKrXVGaUN9yO11mYhXEs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4328246},"main":"dist/worker.js","type":"module","types":"dist/worker.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/worker.d.ts","import":"./dist/worker.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js"}},"gitHead":"1f322ff7deb3569c9b2934619de85dedc5552adf","scripts":{"lint":"eslint .","test":"jest --config jest.config.ts","build":"node scripts/build.mjs && node scripts/build-ui.mjs && npm run build:types","release":"./bin/tag-release.sh","build:ui":"node scripts/build-ui.mjs","lint-fix":"eslint --fix .","prebuild":"rimraf ./dist","test:all":"npm run test:domain && npm run test:worker && npm run test","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"jest --config jest.config.ts --watch","build:types":"tsc -p tsconfig.json --emitDeclarationOnly","postinstall":"node scripts/link-paperclip-sdk.mjs","test:domain":"jest --config jest.config.domain.ts","test:worker":"vitest run","build:worker":"node scripts/build.mjs","typecheck:ui":"tsc -p tsconfig.test.json --noEmit","prepublishOnly":"npm run build","prepare-release":"npm run lint && npm run typecheck && npm run build && npm run test:all"},"_npmUser":{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},"repository":{"url":"git+https://github.com/decaf-ts/paperclip-pixels.git","type":"git"},"_npmVersion":"11.13.0","description":"Paperclip <-> Pixel Agents bridge: a Paperclip plugin (manifest, event subscriptions, snapshot bootstrap, worker->UI bridge, action policy) plus the paperclip-pixel-relay companion CLI for Pixel Agents.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jest":"^29.7.0","react":"^19.2.8","eslint":"^9.12.0","rimraf":"^6.0.1","vitest":"^4.1.11","esbuild":"^0.28.1","globals":"^17.11.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","react-dom":"^19.2.8","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^29.5.13","@types/node":"^24.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.68.0","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","jest-environment-jsdom":"^29.7.0","@testing-library/jest-dom":"^6.6.3"},"paperclipPlugin":{"worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","react-dom":">=18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/paperclip-pixels_0.2.0_1788178666879_0.8384218867098352","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@decaf-ts/paperclip-pixels","version":"0.2.1","keywords":["paperclip","pixel-agents","bridge","plugin","worker","relay"],"license":"MIT","_id":"@decaf-ts/paperclip-pixels@0.2.1","maintainers":[{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},{"name":"vnogueira91","email":"vnogueira91@gmail.com"}],"homepage":"https://github.com/decaf-ts/paperclip-pixels#readme","bugs":{"url":"https://github.com/decaf-ts/paperclip-pixels/issues"},"bin":{"paperclip-pixel-relay":"bin/paperclip-pixel-relay.js"},"dist":{"shasum":"c49f9bdd01beca99e6179f9493d480bd40e594e1","tarball":"https://registry.npmjs.org/@decaf-ts/paperclip-pixels/-/paperclip-pixels-0.2.1.tgz","fileCount":45,"integrity":"sha512-Y3ALrE3A2YokOJ8HO2OmWQhdErOr0BfpFjfJ3qPbzHK+c/aPLDiQmavcIVhiRN7eQ1MJjY3TWCtoSdPgDjw4fw==","signatures":[{"sig":"MEUCIGV6svwFGOWfjhEMeo/iwNKRCU2YifIHKoZvtJUrncSQAiEA7sBD7eEpZb620R1v4x+zkNYkutU82owtlgaLjOZN3WM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4345624},"main":"dist/worker.js","type":"module","types":"dist/worker.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/worker.d.ts","import":"./dist/worker.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js"}},"gitHead":"a0a6240149fde50e41e08f209747523554c0e1db","scripts":{"lint":"eslint .","test":"jest --config jest.config.ts","build":"node scripts/build.mjs && node scripts/build-ui.mjs && npm run build:types","release":"./bin/tag-release.sh","build:ui":"node scripts/build-ui.mjs","lint-fix":"eslint --fix .","prebuild":"rimraf ./dist","test:all":"npm run test:domain && npm run test:worker && npm run test","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"jest --config jest.config.ts --watch","build:types":"tsc -p tsconfig.json --emitDeclarationOnly","postinstall":"node scripts/link-paperclip-sdk.mjs","test:domain":"jest --config jest.config.domain.ts","test:worker":"vitest run","build:worker":"node scripts/build.mjs","typecheck:ui":"tsc -p tsconfig.test.json --noEmit","prepublishOnly":"npm run build","prepare-release":"npm run lint && npm run typecheck && npm run build && npm run test:all"},"_npmUser":{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},"repository":{"url":"git+https://github.com/decaf-ts/paperclip-pixels.git","type":"git"},"_npmVersion":"11.13.0","description":"Paperclip <-> Pixel Agents bridge: a Paperclip plugin (manifest, event subscriptions, snapshot bootstrap, worker->UI bridge, action policy) plus the paperclip-pixel-relay companion CLI for Pixel Agents.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jest":"^29.7.0","react":"^19.2.8","eslint":"^9.12.0","rimraf":"^6.0.1","vitest":"^4.1.11","esbuild":"^0.28.1","globals":"^17.11.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","react-dom":"^19.2.8","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^29.5.13","@types/node":"^24.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.68.0","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","jest-environment-jsdom":"^29.7.0","@testing-library/jest-dom":"^6.6.3"},"paperclipPlugin":{"worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","react-dom":">=18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/paperclip-pixels_0.2.1_1788189288070_0.47842143410006854","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@decaf-ts/paperclip-pixels","version":"0.2.2","keywords":["paperclip","pixel-agents","bridge","plugin","worker","relay"],"license":"MIT","_id":"@decaf-ts/paperclip-pixels@0.2.2","maintainers":[{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},{"name":"vnogueira91","email":"vnogueira91@gmail.com"}],"homepage":"https://github.com/decaf-ts/paperclip-pixels#readme","bugs":{"url":"https://github.com/decaf-ts/paperclip-pixels/issues"},"bin":{"paperclip-pixel-relay":"bin/paperclip-pixel-relay.js"},"dist":{"shasum":"b71dc477e67d4b9caa2eb450034569151fd5c3ad","tarball":"https://registry.npmjs.org/@decaf-ts/paperclip-pixels/-/paperclip-pixels-0.2.2.tgz","fileCount":45,"integrity":"sha512-981plTAYTgrXJEHaPjLmI0Y+bGEEKLtQBJudplWYLMa+aaM5H8AE+LO9+ooCNlUCIBd6eRVUqiEDL4EbkdrVVQ==","signatures":[{"sig":"MEYCIQCJ1Np1lsnvUgFWBuwbADDMouaNPzxtdIfq7A93CuvlVQIhAMlaGu78gWEXnr1do/ZMAzR5Bd3BGgmbrxGSWedJN5yc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4345624},"main":"dist/worker.js","type":"module","types":"dist/worker.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/worker.d.ts","import":"./dist/worker.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js"}},"gitHead":"5e38c8e9ed58a82f0ac4cb17a876718c7dc7dc9e","scripts":{"lint":"eslint .","test":"jest --config jest.config.ts","build":"node scripts/build.mjs && node scripts/build-ui.mjs && npm run build:types","release":"./bin/tag-release.sh","build:ui":"node scripts/build-ui.mjs","lint-fix":"eslint --fix .","prebuild":"rimraf ./dist","test:all":"npm run test:domain && npm run test:worker && npm run test","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"jest --config jest.config.ts --watch","build:types":"tsc -p tsconfig.json --emitDeclarationOnly","postinstall":"node scripts/link-paperclip-sdk.mjs","test:domain":"jest --config jest.config.domain.ts","test:worker":"vitest run","build:worker":"node scripts/build.mjs","typecheck:ui":"tsc -p tsconfig.test.json --noEmit","prepublishOnly":"npm run build","prepare-release":"npm run lint && npm run typecheck && npm run build && npm run test:all"},"_npmUser":{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},"repository":{"url":"git+https://github.com/decaf-ts/paperclip-pixels.git","type":"git"},"_npmVersion":"11.13.0","description":"Paperclip <-> Pixel Agents bridge: a Paperclip plugin (manifest, event subscriptions, snapshot bootstrap, worker->UI bridge, action policy) plus the paperclip-pixel-relay companion CLI for Pixel Agents.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jest":"^29.7.0","react":"^19.2.8","eslint":"^9.12.0","rimraf":"^6.0.1","vitest":"^4.1.11","esbuild":"^0.28.1","globals":"^17.11.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","react-dom":"^19.2.8","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^29.5.13","@types/node":"^24.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.68.0","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","jest-environment-jsdom":"^29.7.0","@testing-library/jest-dom":"^6.6.3"},"paperclipPlugin":{"worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","react-dom":">=18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/paperclip-pixels_0.2.2_1788191811750_0.4631858478237141","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@decaf-ts/paperclip-pixels","version":"0.3.0","keywords":["paperclip","pixel-agents","bridge","plugin","worker","relay"],"license":"MIT","_id":"@decaf-ts/paperclip-pixels@0.3.0","maintainers":[{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},{"name":"vnogueira91","email":"vnogueira91@gmail.com"}],"homepage":"https://github.com/decaf-ts/paperclip-pixels#readme","bugs":{"url":"https://github.com/decaf-ts/paperclip-pixels/issues"},"bin":{"paperclip-pixel-relay":"bin/paperclip-pixel-relay.js"},"dist":{"shasum":"01033af427dd82fd14ee1814bbdb1bc2896366b5","tarball":"https://registry.npmjs.org/@decaf-ts/paperclip-pixels/-/paperclip-pixels-0.3.0.tgz","fileCount":45,"integrity":"sha512-YSI2jbLblxr1psOWR2nFgNIanvXUJaIh7ccweCAF89H+epSZIRHt5JEbJG2Jqu1mehBaU1hVF2B3Y67zRHzx1w==","signatures":[{"sig":"MEMCHxl9PYnQ/A3ITnWsW+7/f7Gq6T32Fz299jBMox/qm3cCIHhY0N8QDKhs3DwX7lAa4K7VJRWfj5m3v3Txc8sVZMQk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4385812},"main":"dist/worker.js","type":"module","types":"dist/worker.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/worker.d.ts","import":"./dist/worker.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js"}},"gitHead":"0be626ad2a2c799cc1ac658ff1880ed5b50f18d3","scripts":{"lint":"eslint .","test":"jest --config jest.config.ts","build":"node scripts/build.mjs && node scripts/build-ui.mjs && npm run build:types","release":"./bin/tag-release.sh","build:ui":"node scripts/build-ui.mjs","lint-fix":"eslint --fix .","prebuild":"rimraf ./dist","test:all":"npm run test:domain && npm run test:worker && npm run test","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"jest --config jest.config.ts --watch","build:types":"tsc -p tsconfig.json --emitDeclarationOnly","postinstall":"node scripts/link-paperclip-sdk.mjs","test:domain":"jest --config jest.config.domain.ts","test:worker":"vitest run","build:worker":"node scripts/build.mjs","typecheck:ui":"tsc -p tsconfig.test.json --noEmit","prepublishOnly":"npm run build","prepare-release":"npm run lint && npm run typecheck && npm run build && npm run test:all"},"_npmUser":{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},"repository":{"url":"git+https://github.com/decaf-ts/paperclip-pixels.git","type":"git"},"_npmVersion":"11.13.0","description":"Paperclip <-> Pixel Agents bridge: a Paperclip plugin (manifest, event subscriptions, snapshot bootstrap, worker->UI bridge, action policy) plus the paperclip-pixel-relay companion CLI for Pixel Agents.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jest":"^29.7.0","react":"^19.2.8","eslint":"^9.12.0","rimraf":"^6.0.1","vitest":"^4.1.11","esbuild":"^0.28.1","globals":"^17.11.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","react-dom":"^19.2.8","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^29.5.13","@types/node":"^24.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.68.0","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","jest-environment-jsdom":"^29.7.0","@testing-library/jest-dom":"^6.6.3"},"paperclipPlugin":{"worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","react-dom":">=18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/paperclip-pixels_0.3.0_1788194504085_0.2035620431737326","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@decaf-ts/paperclip-pixels","version":"0.5.0","keywords":["paperclip","pixel-agents","bridge","plugin","worker","relay"],"license":"MIT","_id":"@decaf-ts/paperclip-pixels@0.5.0","maintainers":[{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},{"name":"vnogueira91","email":"vnogueira91@gmail.com"}],"homepage":"https://github.com/decaf-ts/paperclip-pixels#readme","bugs":{"url":"https://github.com/decaf-ts/paperclip-pixels/issues"},"bin":{"paperclip-pixel-relay":"bin/paperclip-pixel-relay.js"},"dist":{"shasum":"2d4b2a22d6795c8c3ee09ccc6d99eb9e7908a94e","tarball":"https://registry.npmjs.org/@decaf-ts/paperclip-pixels/-/paperclip-pixels-0.5.0.tgz","fileCount":52,"integrity":"sha512-FmZnyGKqiv7AZVoX+ECxMsESj98hpAy7G6QENREvXoHCQQlC+rxVmA7kjWYMPxZOq6LmDxgoYLd12eJiJXLVlw==","signatures":[{"sig":"MEUCIQDqJSFaU+JBr+c4mWLgG3/BciAVeoTxhIZitFoumgRNcAIgRicsWwLfIFyxo0aJMrqMupgAdDdzpxBGpKHL2GGbCok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4453963},"main":"dist/worker.js","type":"module","types":"dist/worker.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/worker.d.ts","import":"./dist/worker.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js"}},"gitHead":"1a981539c72a04831305dc3a4b783cf5c9d56cb1","scripts":{"lint":"eslint .","test":"jest --config jest.config.ts","build":"node scripts/build.mjs && node scripts/build-ui.mjs && npm run build:types","release":"./bin/tag-release.sh","build:ui":"node scripts/build-ui.mjs","lint-fix":"eslint --fix .","prebuild":"rimraf ./dist","test:all":"npm run test:domain && npm run test:worker && npm run test","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"jest --config jest.config.ts --watch","build:types":"tsc -p tsconfig.json --emitDeclarationOnly","postinstall":"node scripts/link-paperclip-sdk.mjs","test:domain":"jest --config jest.config.domain.ts","test:worker":"vitest run","build:worker":"node scripts/build.mjs","typecheck:ui":"tsc -p tsconfig.test.json --noEmit","prepublishOnly":"npm run build","prepare-release":"npm run lint && npm run typecheck && npm run build && npm run test:all"},"_npmUser":{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},"repository":{"url":"git+https://github.com/decaf-ts/paperclip-pixels.git","type":"git"},"_npmVersion":"11.13.0","description":"Paperclip <-> Pixel Agents bridge: a Paperclip plugin (manifest, event subscriptions, snapshot bootstrap, worker->UI bridge, action policy) plus the paperclip-pixel-relay companion CLI for Pixel Agents.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.18.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jest":"^29.7.0","react":"^19.2.8","eslint":"^9.12.0","rimraf":"^6.0.1","vitest":"^4.1.11","esbuild":"^0.28.1","globals":"^17.11.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","react-dom":"^19.2.8","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^29.5.13","@types/node":"^24.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.68.0","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","jest-environment-jsdom":"^29.7.0","@testing-library/jest-dom":"^6.6.3"},"paperclipPlugin":{"worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","react-dom":">=18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/paperclip-pixels_0.5.0_1788198979559_0.03190662444046377","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@decaf-ts/paperclip-pixels","version":"0.5.1","keywords":["paperclip","pixel-agents","bridge","plugin","worker","relay"],"license":"MIT","_id":"@decaf-ts/paperclip-pixels@0.5.1","maintainers":[{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},{"name":"vnogueira91","email":"vnogueira91@gmail.com"}],"homepage":"https://github.com/decaf-ts/paperclip-pixels#readme","bugs":{"url":"https://github.com/decaf-ts/paperclip-pixels/issues"},"bin":{"paperclip-pixel-relay":"bin/paperclip-pixel-relay.js"},"dist":{"shasum":"59e01b1d50b13f3f83e12e6000c964ef07db2f4a","tarball":"https://registry.npmjs.org/@decaf-ts/paperclip-pixels/-/paperclip-pixels-0.5.1.tgz","fileCount":52,"integrity":"sha512-BIL+i7AnNfwS3N9u4cEXwijKbttRghEimLhSOCEfCrfrpa0x0CkrXgJimnPgf2DuUjk2s1z0yBVyxF3SUTBbHA==","signatures":[{"sig":"MEQCIEmxPkJkC61inpjKU3RfOlsiFu73pqB1j+/R1aCqDKSXAiAOtHDcYyYy0OmrcfYAK7G/Hv4nkXcz950D2jLDDl5Q5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4454018},"main":"dist/worker.js","type":"module","types":"dist/worker.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/worker.d.ts","import":"./dist/worker.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js"}},"gitHead":"6fc7d128b96f0b91668b7337921bea3d3196c634","scripts":{"lint":"eslint .","test":"jest --config jest.config.ts","build":"node scripts/build.mjs && node scripts/build-ui.mjs && npm run build:types","release":"./bin/tag-release.sh","version":"node scripts/sync-plugin-version.mjs","build:ui":"node scripts/build-ui.mjs","lint-fix":"eslint --fix .","prebuild":"rimraf ./dist","test:all":"npm run test:domain && npm run test:worker && npm run test","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"jest --config jest.config.ts --watch","build:types":"tsc -p tsconfig.json --emitDeclarationOnly","postinstall":"node scripts/link-paperclip-sdk.mjs","test:domain":"jest --config jest.config.domain.ts","test:worker":"vitest run","build:worker":"node scripts/build.mjs","typecheck:ui":"tsc -p tsconfig.test.json --noEmit","prepublishOnly":"npm run build","prepare-release":"npm run lint && npm run typecheck && npm run build && npm run test:all"},"_npmUser":{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},"repository":{"url":"git+https://github.com/decaf-ts/paperclip-pixels.git","type":"git"},"_npmVersion":"11.13.0","description":"Paperclip <-> Pixel Agents bridge: a Paperclip plugin (manifest, event subscriptions, snapshot bootstrap, worker->UI bridge, action policy) plus the paperclip-pixel-relay companion CLI for Pixel Agents.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.18.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jest":"^29.7.0","react":"^19.2.8","eslint":"^9.12.0","rimraf":"^6.0.1","vitest":"^4.1.11","esbuild":"^0.28.1","globals":"^17.11.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","react-dom":"^19.2.8","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^29.5.13","@types/node":"^24.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.68.0","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","jest-environment-jsdom":"^29.7.0","@testing-library/jest-dom":"^6.6.3"},"paperclipPlugin":{"worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","react-dom":">=18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/paperclip-pixels_0.5.1_1788199681788_0.7609868290692181","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@decaf-ts/paperclip-pixels","version":"0.5.2","keywords":["paperclip","pixel-agents","bridge","plugin","worker","relay"],"license":"MIT","_id":"@decaf-ts/paperclip-pixels@0.5.2","maintainers":[{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},{"name":"vnogueira91","email":"vnogueira91@gmail.com"}],"homepage":"https://github.com/decaf-ts/paperclip-pixels#readme","bugs":{"url":"https://github.com/decaf-ts/paperclip-pixels/issues"},"bin":{"paperclip-pixel-relay":"bin/paperclip-pixel-relay.js"},"dist":{"shasum":"23f50ef1a51c5757ce5e3f2a3ada953add0d3a28","tarball":"https://registry.npmjs.org/@decaf-ts/paperclip-pixels/-/paperclip-pixels-0.5.2.tgz","fileCount":52,"integrity":"sha512-QLI5n0zTH7mdjbSBDBZZ1Q15R2WDM2/lzlkncT5K7ERb9hR7D6o1zDeLBZgC01JIKWM3F86/r+7e21oTkkXyMA==","signatures":[{"sig":"MEUCIGr/aGkdegVDAkezXEytopDmRzFs1T6h9ugjAMgz1WStAiEAreHgEW3vyIYhtzO3iR6uPPC3OiSgeIRDiUlPSUGdItU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4454018},"main":"dist/worker.js","type":"module","types":"dist/worker.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/worker.d.ts","import":"./dist/worker.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js"}},"gitHead":"7f44baf988bfe0db8a8bdf706e8051eea9cae364","scripts":{"lint":"eslint .","test":"jest --config jest.config.ts","build":"node scripts/build.mjs && node scripts/build-ui.mjs && npm run build:types","release":"./bin/tag-release.sh","version":"node scripts/sync-plugin-version.mjs","build:ui":"node scripts/build-ui.mjs","lint-fix":"eslint --fix .","prebuild":"rimraf ./dist","test:all":"npm run test:domain && npm run test:worker && npm run test","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"jest --config jest.config.ts --watch","build:types":"tsc -p tsconfig.json --emitDeclarationOnly","postinstall":"node scripts/link-paperclip-sdk.mjs","test:domain":"jest --config jest.config.domain.ts","test:worker":"vitest run","build:worker":"node scripts/build.mjs","typecheck:ui":"tsc -p tsconfig.test.json --noEmit","prepublishOnly":"npm run build","prepare-release":"npm run lint && npm run typecheck && npm run build && npm run test:all"},"_npmUser":{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},"repository":{"url":"git+https://github.com/decaf-ts/paperclip-pixels.git","type":"git"},"_npmVersion":"11.13.0","description":"Paperclip <-> Pixel Agents bridge: a Paperclip plugin (manifest, event subscriptions, snapshot bootstrap, worker->UI bridge, action policy) plus the paperclip-pixel-relay companion CLI for Pixel Agents.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.18.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jest":"^29.7.0","react":"^19.2.8","eslint":"^9.12.0","rimraf":"^6.0.1","vitest":"^4.1.11","esbuild":"^0.28.1","globals":"^17.11.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","react-dom":"^19.2.8","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^29.5.13","@types/node":"^24.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.68.0","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","jest-environment-jsdom":"^29.7.0","@testing-library/jest-dom":"^6.6.3"},"paperclipPlugin":{"worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","react-dom":">=18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/paperclip-pixels_0.5.2_1788199796012_0.8768726855429652","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@decaf-ts/paperclip-pixels","version":"0.5.3","keywords":["paperclip","pixel-agents","bridge","plugin","worker","relay"],"license":"MIT","_id":"@decaf-ts/paperclip-pixels@0.5.3","maintainers":[{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},{"name":"vnogueira91","email":"vnogueira91@gmail.com"}],"homepage":"https://github.com/decaf-ts/paperclip-pixels#readme","bugs":{"url":"https://github.com/decaf-ts/paperclip-pixels/issues"},"bin":{"paperclip-pixel-relay":"bin/paperclip-pixel-relay.js"},"dist":{"shasum":"090cf329cda833011dccf9c15555c93446d70a1b","tarball":"https://registry.npmjs.org/@decaf-ts/paperclip-pixels/-/paperclip-pixels-0.5.3.tgz","fileCount":52,"integrity":"sha512-/R4WbH3HxQJMJ8Zmp1Zp2RfXb3MbzhVLZjmuxPyKi//AwCdSJwyJWn8j2SKORZMI4u69LDKFsTxzL+nNMn/2Ag==","signatures":[{"sig":"MEUCIGs4W0ussPoJpxm8Zt7aE+uOWX7XTpyz8+hAO0SZpHAlAiEAycXnSDOte1i9RD4UF8LhPPfDxNNpv+oFqfq0A/J5qbg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4456576},"main":"dist/worker.js","type":"module","types":"dist/worker.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/worker.d.ts","import":"./dist/worker.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js"}},"gitHead":"07f7f5e7012216dbf8ed527aadae8623ba1284d6","scripts":{"lint":"eslint .","test":"jest --config jest.config.ts","build":"node scripts/build.mjs && node scripts/build-ui.mjs && npm run build:types","release":"./bin/tag-release.sh","version":"node scripts/sync-plugin-version.mjs","build:ui":"node scripts/build-ui.mjs","lint-fix":"eslint --fix .","prebuild":"rimraf ./dist","test:all":"npm run test:domain && npm run test:worker && npm run test","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"jest --config jest.config.ts --watch","build:types":"tsc -p tsconfig.json --emitDeclarationOnly","postinstall":"node scripts/link-paperclip-sdk.mjs","test:domain":"jest --config jest.config.domain.ts","test:worker":"vitest run","build:worker":"node scripts/build.mjs","typecheck:ui":"tsc -p tsconfig.test.json --noEmit","prepublishOnly":"npm run build","prepare-release":"npm run lint && npm run typecheck && npm run build && npm run test:all"},"_npmUser":{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},"repository":{"url":"git+https://github.com/decaf-ts/paperclip-pixels.git","type":"git"},"_npmVersion":"11.13.0","description":"Paperclip <-> Pixel Agents bridge: a Paperclip plugin (manifest, event subscriptions, snapshot bootstrap, worker->UI bridge, action policy) plus the paperclip-pixel-relay companion CLI for Pixel Agents.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.18.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jest":"^29.7.0","react":"^19.2.8","eslint":"^9.12.0","rimraf":"^6.0.1","vitest":"^4.1.11","esbuild":"^0.28.1","globals":"^17.11.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","react-dom":"^19.2.8","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^29.5.13","@types/node":"^24.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.68.0","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","jest-environment-jsdom":"^29.7.0","@testing-library/jest-dom":"^6.6.3"},"paperclipPlugin":{"worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","react-dom":">=18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/paperclip-pixels_0.5.3_1788200057380_0.312090669172304","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@decaf-ts/paperclip-pixels","version":"0.5.4","keywords":["paperclip","pixel-agents","bridge","plugin","worker","relay"],"license":"MIT","_id":"@decaf-ts/paperclip-pixels@0.5.4","maintainers":[{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},{"name":"vnogueira91","email":"vnogueira91@gmail.com"}],"homepage":"https://github.com/decaf-ts/paperclip-pixels#readme","bugs":{"url":"https://github.com/decaf-ts/paperclip-pixels/issues"},"bin":{"paperclip-pixel-relay":"bin/paperclip-pixel-relay.js"},"dist":{"shasum":"3a5561af5f5a8d149fc89fd9e03c8ccc5dba3c3b","tarball":"https://registry.npmjs.org/@decaf-ts/paperclip-pixels/-/paperclip-pixels-0.5.4.tgz","fileCount":52,"integrity":"sha512-e393HJgJxEwt05b5MdUZ87j0+00w1QTuOhinMbB0ZY4VfMDcoEpswOsVyOn9LUgMSnNzLI/tgI3vRsM4N2/80g==","signatures":[{"sig":"MEUCIGa0D9i/kiJALzAy0pdoRJDAaI8XGJUlvOjTB+dbGbBcAiEA6UBARl2UmCw8BO97PgD3njles8+Vc9ROXMSeWV2RDNY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4458264},"main":"dist/worker.js","type":"module","types":"dist/worker.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/worker.d.ts","import":"./dist/worker.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js"}},"gitHead":"7424a349294b73393f2a598e676fe3568ea0b5f8","scripts":{"lint":"eslint .","test":"jest --config jest.config.ts","build":"node scripts/build.mjs && node scripts/build-ui.mjs && npm run build:types","release":"./bin/tag-release.sh","version":"node scripts/sync-plugin-version.mjs","build:ui":"node scripts/build-ui.mjs","lint-fix":"eslint --fix .","prebuild":"rimraf ./dist","test:all":"npm run test:domain && npm run test:worker && npm run test","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"jest --config jest.config.ts --watch","build:types":"tsc -p tsconfig.json --emitDeclarationOnly","postinstall":"node scripts/link-paperclip-sdk.mjs","test:domain":"jest --config jest.config.domain.ts","test:worker":"vitest run","build:worker":"node scripts/build.mjs","typecheck:ui":"tsc -p tsconfig.test.json --noEmit","prepublishOnly":"npm run build","prepare-release":"npm run lint && npm run typecheck && npm run build && npm run test:all"},"_npmUser":{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},"repository":{"url":"git+https://github.com/decaf-ts/paperclip-pixels.git","type":"git"},"_npmVersion":"11.13.0","description":"Paperclip <-> Pixel Agents bridge: a Paperclip plugin (manifest, event subscriptions, snapshot bootstrap, worker->UI bridge, action policy) plus the paperclip-pixel-relay companion CLI for Pixel Agents.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.18.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jest":"^29.7.0","react":"^19.2.8","eslint":"^9.12.0","rimraf":"^6.0.1","vitest":"^4.1.11","esbuild":"^0.28.1","globals":"^17.11.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","react-dom":"^19.2.8","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^29.5.13","@types/node":"^24.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.68.0","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","jest-environment-jsdom":"^29.7.0","@testing-library/jest-dom":"^6.6.3"},"paperclipPlugin":{"worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","react-dom":">=18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/paperclip-pixels_0.5.4_1788200799431_0.2898584022981925","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"@decaf-ts/paperclip-pixels","version":"0.5.5","keywords":["paperclip","pixel-agents","bridge","plugin","worker","relay"],"license":"MIT","_id":"@decaf-ts/paperclip-pixels@0.5.5","maintainers":[{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},{"name":"vnogueira91","email":"vnogueira91@gmail.com"}],"homepage":"https://github.com/decaf-ts/paperclip-pixels#readme","bugs":{"url":"https://github.com/decaf-ts/paperclip-pixels/issues"},"bin":{"paperclip-pixel-relay":"bin/paperclip-pixel-relay.js"},"dist":{"shasum":"e13ca4a5472c15597b84a14417f54a2e45f11e53","tarball":"https://registry.npmjs.org/@decaf-ts/paperclip-pixels/-/paperclip-pixels-0.5.5.tgz","fileCount":52,"integrity":"sha512-APtQY8bkw15eFuDkZXBv33C5RSvQd/W+zJHH6zUXfjYFQaFFmBDIN3Pl3yKB+yp7lzXQlw+LQjSGKztP2zKwPQ==","signatures":[{"sig":"MEQCIDWcDJf9aJUaBdgnZ5MiJkFrEHnDmQ3IkhsoS2foYRPwAiBtZPcHy4WyH3O6AQJoGvvSTOlT8SRcU0db4wcHQrpCGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4459875},"main":"dist/worker.js","type":"module","types":"dist/worker.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/worker.d.ts","import":"./dist/worker.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js"}},"gitHead":"b16afd7885ecc7b75be83f586de07bfa99755c1c","scripts":{"lint":"eslint .","test":"jest --config jest.config.ts","build":"node scripts/build.mjs && node scripts/build-ui.mjs && npm run build:types","release":"./bin/tag-release.sh","version":"node scripts/sync-plugin-version.mjs","build:ui":"node scripts/build-ui.mjs","lint-fix":"eslint --fix .","prebuild":"rimraf ./dist","test:all":"npm run test:domain && npm run test:worker && npm run test","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"jest --config jest.config.ts --watch","build:types":"tsc -p tsconfig.json --emitDeclarationOnly","postinstall":"node scripts/link-paperclip-sdk.mjs","test:domain":"jest --config jest.config.domain.ts","test:worker":"vitest run","build:worker":"node scripts/build.mjs","typecheck:ui":"tsc -p tsconfig.test.json --noEmit","prepublishOnly":"npm run build","prepare-release":"npm run lint && npm run typecheck && npm run build && npm run test:all"},"_npmUser":{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},"repository":{"url":"git+https://github.com/decaf-ts/paperclip-pixels.git","type":"git"},"_npmVersion":"11.13.0","description":"Paperclip <-> Pixel Agents bridge: a Paperclip plugin (manifest, event subscriptions, snapshot bootstrap, worker->UI bridge, action policy) plus the paperclip-pixel-relay companion CLI for Pixel Agents.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.18.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jest":"^29.7.0","react":"^19.2.8","eslint":"^9.12.0","rimraf":"^6.0.1","vitest":"^4.1.11","esbuild":"^0.28.1","globals":"^17.11.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","react-dom":"^19.2.8","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^29.5.13","@types/node":"^24.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.68.0","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","jest-environment-jsdom":"^29.7.0","@testing-library/jest-dom":"^6.6.3"},"paperclipPlugin":{"worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","react-dom":">=18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/paperclip-pixels_0.5.5_1788201032565_0.3538634590061511","host":"s3://npm-registry-packages-npm-production"}},"0.5.6":{"name":"@decaf-ts/paperclip-pixels","version":"0.5.6","keywords":["paperclip","pixel-agents","bridge","plugin","worker","relay"],"license":"MIT","_id":"@decaf-ts/paperclip-pixels@0.5.6","maintainers":[{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},{"name":"vnogueira91","email":"vnogueira91@gmail.com"}],"homepage":"https://github.com/decaf-ts/paperclip-pixels#readme","bugs":{"url":"https://github.com/decaf-ts/paperclip-pixels/issues"},"bin":{"paperclip-pixel-relay":"bin/paperclip-pixel-relay.js"},"dist":{"shasum":"e2362a1a9d69bcfdae2ab9eac64ea94137239162","tarball":"https://registry.npmjs.org/@decaf-ts/paperclip-pixels/-/paperclip-pixels-0.5.6.tgz","fileCount":52,"integrity":"sha512-/nKdK/w/LI78z6jeX7fVCaa6a6PgH1GF9afzhQHuAUuD6iOKb9kFyU5bZb1TMZWtA6b0sMIEGyXUFonjIC2x2g==","signatures":[{"sig":"MEQCIFcOjE8rjjBqC4a5g9mL2KxpQGwXz4iBEWhk8DqDRbRHAiAVehoA1duJA+fIuE6ufvNWumPmgkHmnCwJLhKHtCP4Ag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4458850},"main":"dist/worker.js","type":"module","types":"dist/worker.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/worker.d.ts","import":"./dist/worker.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js"}},"gitHead":"7bb2062dea6ae352d008164f9797f94499334217","scripts":{"lint":"eslint .","test":"jest --config jest.config.ts","build":"node scripts/build.mjs && node scripts/build-ui.mjs && npm run build:types","release":"./bin/tag-release.sh","version":"node scripts/sync-plugin-version.mjs","build:ui":"node scripts/build-ui.mjs","lint-fix":"eslint --fix .","prebuild":"rimraf ./dist","test:all":"npm run test:domain && npm run test:worker && npm run test","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"jest --config jest.config.ts --watch","build:types":"tsc -p tsconfig.json --emitDeclarationOnly","postinstall":"node scripts/link-paperclip-sdk.mjs","test:domain":"jest --config jest.config.domain.ts","test:worker":"vitest run","build:worker":"node scripts/build.mjs","typecheck:ui":"tsc -p tsconfig.test.json --noEmit","prepublishOnly":"npm run build","prepare-release":"npm run lint && npm run typecheck && npm run build && npm run test:all"},"_npmUser":{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},"repository":{"url":"git+https://github.com/decaf-ts/paperclip-pixels.git","type":"git"},"_npmVersion":"11.13.0","description":"Paperclip <-> Pixel Agents bridge: a Paperclip plugin (manifest, event subscriptions, snapshot bootstrap, worker->UI bridge, action policy) plus the paperclip-pixel-relay companion CLI for Pixel Agents.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.18.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jest":"^29.7.0","react":"^19.2.8","eslint":"^9.12.0","rimraf":"^6.0.1","vitest":"^4.1.11","esbuild":"^0.28.1","globals":"^17.11.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","react-dom":"^19.2.8","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^29.5.13","@types/node":"^24.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.68.0","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","jest-environment-jsdom":"^29.7.0","@testing-library/jest-dom":"^6.6.3"},"paperclipPlugin":{"worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","react-dom":">=18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/paperclip-pixels_0.5.6_1788202281751_0.17794631864524169","host":"s3://npm-registry-packages-npm-production"}},"0.5.7":{"name":"@decaf-ts/paperclip-pixels","version":"0.5.7","keywords":["paperclip","pixel-agents","bridge","plugin","worker","relay"],"license":"MIT","_id":"@decaf-ts/paperclip-pixels@0.5.7","maintainers":[{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},{"name":"vnogueira91","email":"vnogueira91@gmail.com"}],"homepage":"https://github.com/decaf-ts/paperclip-pixels#readme","bugs":{"url":"https://github.com/decaf-ts/paperclip-pixels/issues"},"bin":{"paperclip-pixel-relay":"bin/paperclip-pixel-relay.js"},"dist":{"shasum":"6f1c850a48e5d737717894ec25dfd8192674d7b4","tarball":"https://registry.npmjs.org/@decaf-ts/paperclip-pixels/-/paperclip-pixels-0.5.7.tgz","fileCount":52,"integrity":"sha512-9btkMMV8aWOlRRMYz13/yFoNXcwTAryCJKX7ggTzEeZ8cIFmJ4m8OZQ3+k8jGvVBFTmMhvarYH5kuml2CdwRPQ==","signatures":[{"sig":"MEUCIQDY3LbSJ96LJxleNA+35gsexTg3sLHaFM8SiehFis88NwIga1Hq4BbAfVcG+35aEbWS0L5peVpZSs6jL3yjr16SnDE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4460506},"main":"dist/worker.js","type":"module","types":"dist/worker.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/worker.d.ts","import":"./dist/worker.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js"}},"gitHead":"fd8919be7abe324e824a323087506be575a8c9a1","scripts":{"lint":"eslint .","test":"jest --config jest.config.ts","build":"node scripts/build.mjs && node scripts/build-ui.mjs && npm run build:types","release":"./bin/tag-release.sh","version":"node scripts/sync-plugin-version.mjs","build:ui":"node scripts/build-ui.mjs","lint-fix":"eslint --fix .","prebuild":"rimraf ./dist","test:all":"npm run test:domain && npm run test:worker && npm run test","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"jest --config jest.config.ts --watch","build:types":"tsc -p tsconfig.json --emitDeclarationOnly","postinstall":"node scripts/link-paperclip-sdk.mjs","test:domain":"jest --config jest.config.domain.ts","test:worker":"vitest run","build:worker":"node scripts/build.mjs","typecheck:ui":"tsc -p tsconfig.test.json --noEmit","prepublishOnly":"npm run build","prepare-release":"npm run lint && npm run typecheck && npm run build && npm run test:all"},"_npmUser":{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},"repository":{"url":"git+https://github.com/decaf-ts/paperclip-pixels.git","type":"git"},"_npmVersion":"11.13.0","description":"Paperclip <-> Pixel Agents bridge: a Paperclip plugin (manifest, event subscriptions, snapshot bootstrap, worker->UI bridge, action policy) plus the paperclip-pixel-relay companion CLI for Pixel Agents.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.18.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jest":"^29.7.0","react":"^19.2.8","eslint":"^9.12.0","rimraf":"^6.0.1","vitest":"^4.1.11","esbuild":"^0.28.1","globals":"^17.11.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","react-dom":"^19.2.8","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^29.5.13","@types/node":"^24.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.68.0","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","jest-environment-jsdom":"^29.7.0","@testing-library/jest-dom":"^6.6.3"},"paperclipPlugin":{"worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","react-dom":">=18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/paperclip-pixels_0.5.7_1788202592199_0.32524795570395537","host":"s3://npm-registry-packages-npm-production"}},"0.5.8":{"name":"@decaf-ts/paperclip-pixels","version":"0.5.8","keywords":["paperclip","pixel-agents","bridge","plugin","worker","relay"],"license":"MIT","_id":"@decaf-ts/paperclip-pixels@0.5.8","maintainers":[{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},{"name":"vnogueira91","email":"vnogueira91@gmail.com"}],"homepage":"https://github.com/decaf-ts/paperclip-pixels#readme","bugs":{"url":"https://github.com/decaf-ts/paperclip-pixels/issues"},"bin":{"paperclip-pixel-relay":"bin/paperclip-pixel-relay.js"},"dist":{"shasum":"260185b1b72eae8dc03fafbc5280afc471fe2e1b","tarball":"https://registry.npmjs.org/@decaf-ts/paperclip-pixels/-/paperclip-pixels-0.5.8.tgz","fileCount":52,"integrity":"sha512-eGEO+Nhhlyf5aff7A1VY2FUgT6BoxL9HJPRxL0bU8DZV7kUE+t9GukACnshyt930LqpWeARQenQkuNjcBZiN9Q==","signatures":[{"sig":"MEUCIQCTwIh/GOEHlZJ8ANaWTj+e1C6TOc5WbPtlLS4d4oRfSwIgb+69IOG8kbT9z70zCCSIj87dprJwZ3kUQT+ZbPC1VUA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4460941},"main":"dist/worker.js","type":"module","types":"dist/worker.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/worker.d.ts","import":"./dist/worker.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js"}},"gitHead":"1d8496781c19708028c4b8f8907f9a0bfbc1af23","scripts":{"lint":"eslint .","test":"jest --config jest.config.ts","build":"node scripts/build.mjs && node scripts/build-ui.mjs && npm run build:types","release":"./bin/tag-release.sh","version":"node scripts/sync-plugin-version.mjs","build:ui":"node scripts/build-ui.mjs","lint-fix":"eslint --fix .","prebuild":"rimraf ./dist","test:all":"npm run test:domain && npm run test:worker && npm run test","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"jest --config jest.config.ts --watch","build:types":"tsc -p tsconfig.json --emitDeclarationOnly","postinstall":"node scripts/link-paperclip-sdk.mjs","test:domain":"jest --config jest.config.domain.ts","test:worker":"vitest run","build:worker":"node scripts/build.mjs","typecheck:ui":"tsc -p tsconfig.test.json --noEmit","prepublishOnly":"npm run build","prepare-release":"npm run lint && npm run typecheck && npm run build && npm run test:all"},"_npmUser":{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},"repository":{"url":"git+https://github.com/decaf-ts/paperclip-pixels.git","type":"git"},"_npmVersion":"11.13.0","description":"Paperclip <-> Pixel Agents bridge: a Paperclip plugin (manifest, event subscriptions, snapshot bootstrap, worker->UI bridge, action policy) plus the paperclip-pixel-relay companion CLI for Pixel Agents.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.18.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jest":"^29.7.0","react":"^19.2.8","eslint":"^9.12.0","rimraf":"^6.0.1","vitest":"^4.1.11","esbuild":"^0.28.1","globals":"^17.11.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","react-dom":"^19.2.8","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^29.5.13","@types/node":"^24.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.68.0","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","jest-environment-jsdom":"^29.7.0","@testing-library/jest-dom":"^6.6.3"},"paperclipPlugin":{"worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","react-dom":">=18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/paperclip-pixels_0.5.8_1788202776278_0.5943728391389627","host":"s3://npm-registry-packages-npm-production"}},"0.5.9":{"name":"@decaf-ts/paperclip-pixels","version":"0.5.9","keywords":["paperclip","pixel-agents","bridge","plugin","worker","relay"],"license":"MIT","_id":"@decaf-ts/paperclip-pixels@0.5.9","maintainers":[{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},{"name":"vnogueira91","email":"vnogueira91@gmail.com"}],"homepage":"https://github.com/decaf-ts/paperclip-pixels#readme","bugs":{"url":"https://github.com/decaf-ts/paperclip-pixels/issues"},"bin":{"paperclip-pixel-relay":"bin/paperclip-pixel-relay.js"},"dist":{"shasum":"17396b593e0abd0c2a2406c9ea8a31406561f909","tarball":"https://registry.npmjs.org/@decaf-ts/paperclip-pixels/-/paperclip-pixels-0.5.9.tgz","fileCount":52,"integrity":"sha512-mKDKvXYj96DPzeb7cbktiXsdhBTKYlbNwXvWQZJraDqNgdIZ+XqmVpf/66cemkz0aLPH9AhqRrD3cmuliUM4pQ==","signatures":[{"sig":"MEUCICNFFd04yEBP8h2h8rCJ2lGtq668yCu9YIFwpEsnsvgXAiEAk9rLGSI+6dJN1+Mqp1IxhaD7v780bD5iDfL21a+8rXU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4988424},"main":"dist/worker.js","type":"module","types":"dist/worker.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/worker.d.ts","import":"./dist/worker.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js"}},"gitHead":"779f46898d96aed276a6bca960b36a33efa5f300","scripts":{"lint":"eslint .","test":"jest --config jest.config.ts","build":"node scripts/build.mjs && node scripts/build-ui.mjs && npm run build:types","release":"./bin/tag-release.sh","version":"node scripts/sync-plugin-version.mjs","build:ui":"node scripts/build-ui.mjs","lint-fix":"eslint --fix .","prebuild":"rimraf ./dist","test:all":"npm run test:domain && npm run test:worker && npm run test","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"jest --config jest.config.ts --watch","build:types":"tsc -p tsconfig.json --emitDeclarationOnly","postinstall":"node scripts/link-paperclip-sdk.mjs","test:domain":"jest --config jest.config.domain.ts","test:worker":"vitest run","build:worker":"node scripts/build.mjs","typecheck:ui":"tsc -p tsconfig.test.json --noEmit","prepublishOnly":"npm run build","prepare-release":"npm run lint && npm run typecheck && npm run build && npm run test:all"},"_npmUser":{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},"repository":{"url":"git+https://github.com/decaf-ts/paperclip-pixels.git","type":"git"},"_npmVersion":"11.13.0","description":"Paperclip <-> Pixel Agents bridge: a Paperclip plugin (manifest, event subscriptions, snapshot bootstrap, worker->UI bridge, action policy) plus the paperclip-pixel-relay companion CLI for Pixel Agents.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.18.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jest":"^29.7.0","react":"^19.2.8","eslint":"^9.12.0","rimraf":"^6.0.1","vitest":"^4.1.11","esbuild":"^0.28.1","globals":"^17.11.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","react-dom":"^19.2.8","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^29.5.13","@types/node":"^24.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.68.0","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","jest-environment-jsdom":"^29.7.0","@testing-library/jest-dom":"^6.6.3"},"paperclipPlugin":{"worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","react-dom":">=18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/paperclip-pixels_0.5.9_1788210440286_0.5895021896044195","host":"s3://npm-registry-packages-npm-production"}},"0.5.10":{"name":"@decaf-ts/paperclip-pixels","version":"0.5.10","keywords":["paperclip","pixel-agents","bridge","plugin","worker","relay"],"license":"MIT","_id":"@decaf-ts/paperclip-pixels@0.5.10","maintainers":[{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},{"name":"vnogueira91","email":"vnogueira91@gmail.com"}],"homepage":"https://github.com/decaf-ts/paperclip-pixels#readme","bugs":{"url":"https://github.com/decaf-ts/paperclip-pixels/issues"},"bin":{"paperclip-pixel-relay":"bin/paperclip-pixel-relay.js"},"dist":{"shasum":"77edb19348312678ad81cb94404f8b7917072da5","tarball":"https://registry.npmjs.org/@decaf-ts/paperclip-pixels/-/paperclip-pixels-0.5.10.tgz","fileCount":52,"integrity":"sha512-NxXynut1UDc/4Oe2U/cumvY0nRb2Sfd6RMebT7nQgpNGxOYx0BwzAk5x2AUCfUtN0/zfgC366Z+qK2zZJ8Xu8A==","signatures":[{"sig":"MEUCIQDX0M8CVtSWrNJR4cnTZquAtwwBySwLjMA0F7QyMf1ZhAIgS4ajf3aE0JlEJJnY+5DyQ7LHYznau2WULzmU294/+/k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4990692},"main":"dist/worker.js","type":"module","types":"dist/worker.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/worker.d.ts","import":"./dist/worker.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js"}},"gitHead":"7699b3cc7f72acc57336b021afab194e75bfd96f","scripts":{"lint":"eslint .","test":"jest --config jest.config.ts","build":"node scripts/build.mjs && node scripts/build-ui.mjs && npm run build:types","release":"./bin/tag-release.sh","version":"node scripts/sync-plugin-version.mjs","build:ui":"node scripts/build-ui.mjs","lint-fix":"eslint --fix .","prebuild":"rimraf ./dist","test:all":"npm run test:domain && npm run test:worker && npm run test","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"jest --config jest.config.ts --watch","build:types":"tsc -p tsconfig.json --emitDeclarationOnly","postinstall":"node scripts/link-paperclip-sdk.mjs","test:domain":"jest --config jest.config.domain.ts","test:worker":"vitest run","build:worker":"node scripts/build.mjs","typecheck:ui":"tsc -p tsconfig.test.json --noEmit","prepublishOnly":"npm run build","prepare-release":"npm run lint && npm run typecheck && npm run build && npm run test:all"},"_npmUser":{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},"repository":{"url":"git+https://github.com/decaf-ts/paperclip-pixels.git","type":"git"},"_npmVersion":"11.13.0","description":"Paperclip <-> Pixel Agents bridge: a Paperclip plugin (manifest, event subscriptions, snapshot bootstrap, worker->UI bridge, action policy) plus the paperclip-pixel-relay companion CLI for Pixel Agents.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.18.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jest":"^29.7.0","react":"^19.2.8","eslint":"^9.12.0","rimraf":"^6.0.1","vitest":"^4.1.11","esbuild":"^0.28.1","globals":"^17.11.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","react-dom":"^19.2.8","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/jest":"^29.5.13","@types/node":"^24.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","typescript-eslint":"^8.68.0","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.8","jest-environment-jsdom":"^29.7.0","@testing-library/jest-dom":"^6.6.3"},"paperclipPlugin":{"worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","react-dom":">=18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/paperclip-pixels_0.5.10_1788211474485_0.16059755911489848","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@decaf-ts/paperclip-pixels","version":"0.6.0","description":"Paperclip <-> Pixel Agents bridge: a Paperclip plugin (manifest, event subscriptions, snapshot bootstrap, worker->UI bridge, action policy) plus the paperclip-pixel-relay companion CLI for Pixel Agents.","type":"module","main":"dist/worker.js","types":"dist/worker.d.ts","exports":{".":{"import":"./dist/worker.js","types":"./dist/worker.d.ts"},"./manifest":{"import":"./dist/manifest.js","types":"./dist/manifest.d.ts"}},"bin":{"paperclip-pixel-relay":"bin/paperclip-pixel-relay.js"},"paperclipPlugin":{"manifest":"./dist/manifest.js","worker":"./dist/worker.js"},"scripts":{"postinstall":"node scripts/link-paperclip-sdk.mjs","prebuild":"rimraf ./dist","build":"node scripts/build.mjs && node scripts/build-ui.mjs && npm run build:types","build:worker":"node scripts/build.mjs","build:ui":"node scripts/build-ui.mjs","build:types":"tsc -p tsconfig.json --emitDeclarationOnly","typecheck":"tsc -p tsconfig.json --noEmit","typecheck:ui":"tsc -p tsconfig.test.json --noEmit","release":"./bin/tag-release.sh","lint":"eslint .","lint-fix":"eslint --fix .","test":"jest --config jest.config.ts","test:watch":"jest --config jest.config.ts --watch","test:domain":"jest --config jest.config.domain.ts","test:worker":"vitest run","test:all":"npm run test:domain && npm run test:worker && npm run test","version":"node scripts/sync-plugin-version.mjs","prepare-release":"npm run lint && npm run typecheck && npm run build && npm run test:all","prepublishOnly":"npm run build"},"keywords":["paperclip","pixel-agents","bridge","plugin","worker","relay"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/decaf-ts/paperclip-pixels.git"},"homepage":"https://github.com/decaf-ts/paperclip-pixels#readme","bugs":{"url":"https://github.com/decaf-ts/paperclip-pixels/issues"},"publishConfig":{"access":"public"},"engines":{"node":">=20"},"peerDependencies":{"react":">=18","react-dom":">=18"},"dependencies":{"ws":"^8.18.3"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"devDependencies":{"@eslint/js":"^9.39.5","@testing-library/jest-dom":"^6.6.3","@testing-library/react":"^16.3.0","@types/jest":"^29.5.13","@types/node":"^24.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","esbuild":"^0.28.1","eslint":"^9.12.0","eslint-config-prettier":"^10.1.8","globals":"^17.11.0","typescript-eslint":"^8.68.0","jest":"^29.7.0","jest-environment-jsdom":"^29.7.0","react":"^19.2.8","react-dom":"^19.2.8","rimraf":"^6.0.1","ts-jest":"^29.2.5","ts-node":"^10.9.2","typescript":"^5.9.3","vitest":"^4.1.11","zod":"^4.4.3"},"gitHead":"4f6cfa335d70895c30c494ed0f719c8de87ce0e0","_id":"@decaf-ts/paperclip-pixels@0.6.0","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-hxLj6u8XnmBmCZUITrRinDE598xTMIR0AbMe3ATXEzkSng+EhGQjNiyEL2bRdl/Satlanzg69CtNi7W8QjFaEQ==","shasum":"34218f46977fe415ed6afdfa6edea88e09e71b03","tarball":"https://registry.npmjs.org/@decaf-ts/paperclip-pixels/-/paperclip-pixels-0.6.0.tgz","fileCount":53,"unpackedSize":5041697,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC48BjN6W0o/a4G4+5UCY0ufqkItG+SKjR281kGruVhMQIhALj0G/eApDCYUnIFfpNKiLCeTmMPEmsEXXxXh+NculRJ"}]},"_npmUser":{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},"directories":{},"maintainers":[{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},{"name":"vnogueira91","email":"vnogueira91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/paperclip-pixels_0.6.0_1788214841743_0.8420697289084351"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-31T12:17:46.683Z","modified":"2026-08-31T22:20:42.119Z","0.2.0":"2026-08-31T12:17:47.035Z","0.2.1":"2026-08-31T15:14:48.252Z","0.2.2":"2026-08-31T15:56:51.927Z","0.3.0":"2026-08-31T16:41:44.260Z","0.5.0":"2026-08-31T17:56:19.744Z","0.5.1":"2026-08-31T18:08:02.028Z","0.5.2":"2026-08-31T18:09:56.249Z","0.5.3":"2026-08-31T18:14:17.549Z","0.5.4":"2026-08-31T18:26:39.585Z","0.5.5":"2026-08-31T18:30:32.783Z","0.5.6":"2026-08-31T18:51:21.915Z","0.5.7":"2026-08-31T18:56:32.420Z","0.5.8":"2026-08-31T18:59:36.508Z","0.5.9":"2026-08-31T21:07:20.466Z","0.5.10":"2026-08-31T21:24:34.692Z","0.6.0":"2026-08-31T22:20:41.952Z"},"bugs":{"url":"https://github.com/decaf-ts/paperclip-pixels/issues"},"license":"MIT","homepage":"https://github.com/decaf-ts/paperclip-pixels#readme","keywords":["paperclip","pixel-agents","bridge","plugin","worker","relay"],"repository":{"type":"git","url":"git+https://github.com/decaf-ts/paperclip-pixels.git"},"description":"Paperclip <-> Pixel Agents bridge: a Paperclip plugin (manifest, event subscriptions, snapshot bootstrap, worker->UI bridge, action policy) plus the paperclip-pixel-relay companion CLI for Pixel Agents.","maintainers":[{"name":"tvenceslau","email":"venceslau.tiago@gmail.com"},{"name":"vnogueira91","email":"vnogueira91@gmail.com"}],"readme":"# @decaf-ts/paperclip-pixels\n\nA loss-minimizing translation layer that makes [Paperclip](https://github.com/paperclipai/paperclip) organizational state (companies, agents, runs, issues, approvals) visible as real, animated characters in [Pixel Agents](https://github.com/pixel-agents-hq/pixel-agents) — without either project requiring a single source-code change.\n\nOne npm package, two things you run:\n\n| What | Where it runs | What it is |\n|---|---|---|\n| **The Paperclip plugin** | Installed *into* Paperclip, as a forked worker process | `.` export — manifest + worker (event subscriptions, snapshot bootstrap, behavioral proxies, action policy, embedded \"Pixel Office\" dashboard UI) |\n| **`paperclip-pixel-relay`** | A companion process you run *alongside* Pixel Agents | `bin` — a small, zero-dependency CLI that lets the plugin reach Pixel Agents' real (unmodified) hook endpoint |\n\nPaperclip has a real plugin system; Pixel Agents does not (confirmed by reading its source — `hookProviders` is a hardcoded array baked in at build time, there is no plugin-loading mechanism at all). So \"installing into Pixel Agents\" isn't a thing — instead, `paperclip-pixel-relay` is a normal companion process, the same way you'd run a sidecar or a reverse proxy.\n\n## How it works, in one paragraph\n\nPixel Agents ships one hook provider (`claudeProvider`) that accepts real Claude Code hook JSON at `POST /api/hooks/claude`. The plugin maps Paperclip events into that exact wire shape and posts them there — landing on Pixel Agents' own pre-existing \"hooks-only external provider\" adoption path (built for non-Claude tools like OpenCode/Copilot), which is what makes a character spawn and animate with zero Pixel Agents code touched. The one thing genuinely un-workaroundable without touching Pixel Agents source is its bearer token, which is randomly regenerated every boot with no override — so `paperclip-pixel-relay` runs next to Pixel Agents, reads the token straight off `~/.pixel-agents/server.json` on the local filesystem, and forwards the plugin's pushes with the right `Authorization` header attached.\n\n## Install\n\n```bash\nnpm install @decaf-ts/paperclip-pixels\n```\n\n### Part A — install the plugin into Paperclip\n\n**Via the UI:** Organization → Settings → Plugins → **Install Plugin** → enter `@decaf-ts/paperclip-pixels` in the \"npm Package Name\" field → Install.\n\n**Via the API** (what an automated/scripted deployment uses — this is exactly how `deploy/k8s/` bootstraps it in this repo):\n\n```bash\ncurl -X POST \"$PAPERCLIP_URL/api/plugins/install\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"packageName\": \"@decaf-ts/paperclip-pixels\"}'\n```\n\n(Requires an instance-admin session in `authenticated` mode, or a `local_trusted` loopback session — see Paperclip's own plugin docs for auth details. For a **local, unpublished checkout** instead of the npm registry, pass `\"isLocalPath\": true` with `packageName` set to the absolute path of this package's directory, e.g. `/opt/paperclip-pixel-plugin` — that's the pattern this repo's own `deploy/docker/bridge-stack-entrypoint.sh` uses.)\n\nOnce installed, the plugin needs no further action to start reading Paperclip state — it activates immediately, subscribes to 12 Paperclip event types, and boots a company snapshot on first company access.\n\n### Part B — run the relay next to Pixel Agents\n\nThe relay needs filesystem access to Pixel Agents' `~/.pixel-agents/` directory (to read its bearer token), so it must run **on the same machine, or same pod/container-group**, as the Pixel Agents process it's paired with.\n\n```bash\n# simplest: npx, no separate install\nnpx @decaf-ts/paperclip-pixels paperclip-pixel-relay\n\n# or, if you installed the package:\npaperclip-pixel-relay --port 8081 --pixel-agents-url http://127.0.0.1:8080\n```\n\nOptions (all also settable via env var — see `--help`): `--port`/`$RELAY_PORT` (default `8081`), `--host`/`$RELAY_HOST` (default `127.0.0.1`), `--pixel-agents-url`/`$PIXEL_AGENTS_URL` (default `http://127.0.0.1:8080`), `--pixel-agents-home`/`$PIXEL_AGENTS_HOME`, and `--shared-secret`/`$RELAY_SHARED_SECRET`. A unique relay secret of at least 24 characters is mandatory; bind the same value as `pixelAgentsTokenRef` in Paperclip. This prevents the relay from becoming an unauthenticated credential-bearing hook proxy.\n\n**Docker / Kubernetes:** see `deploy/` in this repo for a complete, working minikube stack (Postgres + Paperclip host with the plugin baked in + Pixel Agents + the relay as a same-pod sidecar container) as a concrete reference. The short version: run `paperclip-pixel-relay --host 0.0.0.0` as a second container in the same pod as Pixel Agents, sharing an `emptyDir` volume mounted at `~/.pixel-agents` in both containers.\n\n### Configure the plugin\n\nSet these on the plugin's instance config (Paperclip UI: Plugins → this plugin → Configure; or `POST /api/plugins/:id/config`):\n\n| Field | Default | Meaning |\n|---|---|---|\n| `pixelAgentsUrl` | `http://127.0.0.1:8081` | Base URL of the running `paperclip-pixel-relay` (**not** Pixel Agents itself — the relay is the one that knows the bearer token). The default assumes Paperclip, the relay, and Pixel Agents are all on one machine; **set this explicitly** whenever the relay runs on a different host/pod than Paperclip (e.g. this repo's own k8s reference deployment, where the relay lives in the Pixel Agents pod). |\n| `pixelAgentsTokenRef` | *(required by the relay)* | Secret reference resolved to the relay's shared secret. Pixel Agents' own token remains local to the companion. |\n| `pixelAgentsUiUrl` | `http://localhost:8090` | Browser-reachable Pixel Agents URL embedded in the Pixel Office page. |\n| `pixelAgentsProviderId` | `claude` | Path segment in the hook URL. Leave as `claude` — it's the only provider id Pixel Agents' unmodified route currently accepts. |\n| `pixelAgentsRelayEnabled` | `true` | Explicit on/off switch. |\n\nThe relay is **on by default** — no configuration is strictly required to see it work, once both halves are running and reachable from each other.\n\n### Verify it's working\n\n1. Both processes running: Paperclip host with the plugin `status: \"ready\"` (`GET /api/plugins`), and `paperclip-pixel-relay` logging `listening on ... forwarding to ...`.\n2. Trigger any Paperclip agent activity (a run starting is enough).\n3. Check the Pixel Agents server logs for a line like:\n   ```\n   [Pixel Agents] Hook: Agent N - detected hooks-only external session (paperclip-bridge:<companyId>:<agentId>)\n   ```\n   That's the character being created. From there it animates through the normal tool/turn/permission lifecycle as the agent works.\n4. Company-level control (send a message to the company, reply to an agent's feedback) happens through the plugin's own embedded \"Pixel Office\" page inside Paperclip's UI — not inside the Pixel Agents sprite canvas, which has no chat/text-input mechanism of any kind (by design — see the architecture docs for why).\n\n### Known gap\n\nPixel Agents' per-character \"context window\" gauge is fed exclusively from real Claude Code transcript files and has no hook-based path at all — it stays empty for bridge-driven characters. This is a deliberate choice, not a bug: filling it would mean fabricating fake transcript files, and the number wouldn't mean anything honest for a Paperclip agent anyway (Paperclip has no context-window concept to report). The real per-agent workload/concurrency data this would otherwise show is available today in the plugin's own embedded dashboard.\n\n## Documentation\n\n- [`workdocs/tutorials/UserGuide.md`](https://github.com/decaf-ts/paperclip-pixels/blob/master/workdocs/tutorials/UserGuide.md) — operating this once installed: the company/CEO intake flow, replying to agents, reading behavioral signals.\n- [`workdocs/tutorials/DeveloperGuide.md`](https://github.com/decaf-ts/paperclip-pixels/blob/master/workdocs/tutorials/DeveloperGuide.md) — monorepo layout, how the event mapping works, running the test suite, extending the bridge.\n- [`deploy/README.md`](https://github.com/decaf-ts/paperclip-pixels/blob/master/deploy/README.md) — full Kubernetes/Docker reference deployment.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}