Files
PaperClipAI/packages/plugins/sdk/package.json
T
Harold KimandPaperclip 98df214917 fix: fail closed on unusable Codex auth during sandbox auth merge
When reusing a Codex sandbox, the workspace-restore step now performs
an auth-merge check before adopting the sandbox's auth.json. The merge
fails closed when:

- host or sandbox Codex auth is unusable (missing token or account)
- the subscription payload shapes differ between host and sandbox
- subscription account identities do not match

Additional hardening: node absence on PATH during the embedded decision
script now exits non-zero instead of silently falling through. Co-change
comments link parseAuth (the embedded script) to hasUsableAuthPayload
(codex-home.ts) so a future auth-format change cannot silently diverge
between the two implementations.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-09 10:08:57 +00:00

128 lines
3.2 KiB
JSON

{
"name": "@paperclipai/plugin-sdk",
"version": "1.0.0",
"description": "Stable public API for Paperclip plugins — worker-side context and UI bridge hooks",
"license": "MIT",
"homepage": "https://github.com/paperclipai/paperclip",
"bugs": {
"url": "https://github.com/paperclipai/paperclip/issues"
},
"repository": {
"type": "git",
"url": "https://github.com/paperclipai/paperclip",
"directory": "packages/plugins/sdk"
},
"type": "module",
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.js"
},
"./protocol": {
"types": "./dist/protocol.d.ts",
"import": "./dist/protocol.js"
},
"./types": {
"types": "./dist/types.d.ts",
"import": "./dist/types.js"
},
"./ui": {
"types": "./dist/ui/index.d.ts",
"import": "./dist/ui/index.js"
},
"./ui/hooks": {
"types": "./dist/ui/hooks.d.ts",
"import": "./dist/ui/hooks.js"
},
"./ui/types": {
"types": "./dist/ui/types.d.ts",
"import": "./dist/ui/types.js"
},
"./testing": {
"types": "./dist/testing.d.ts",
"import": "./dist/testing.js"
},
"./bundlers": {
"types": "./dist/bundlers.d.ts",
"import": "./dist/bundlers.js"
},
"./dev-server": {
"types": "./dist/dev-server.d.ts",
"import": "./dist/dev-server.js"
}
},
"bin": {
"paperclip-plugin-dev-server": "./dist/dev-cli.js"
},
"publishConfig": {
"access": "public",
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.js"
},
"./protocol": {
"types": "./dist/protocol.d.ts",
"import": "./dist/protocol.js"
},
"./types": {
"types": "./dist/types.d.ts",
"import": "./dist/types.js"
},
"./ui": {
"types": "./dist/ui/index.d.ts",
"import": "./dist/ui/index.js"
},
"./ui/hooks": {
"types": "./dist/ui/hooks.d.ts",
"import": "./dist/ui/hooks.js"
},
"./ui/types": {
"types": "./dist/ui/types.d.ts",
"import": "./dist/ui/types.js"
},
"./testing": {
"types": "./dist/testing.d.ts",
"import": "./dist/testing.js"
},
"./bundlers": {
"types": "./dist/bundlers.d.ts",
"import": "./dist/bundlers.js"
},
"./dev-server": {
"types": "./dist/dev-server.d.ts",
"import": "./dist/dev-server.js"
}
},
"main": "./dist/index.js",
"types": "./dist/index.d.ts"
},
"files": [
"dist"
],
"scripts": {
"build": "pnpm --filter @paperclipai/shared build && tsc",
"clean": "rm -rf dist",
"ensure-build-deps": "node ../../../scripts/ensure-plugin-build-deps.mjs",
"typecheck": "pnpm --filter @paperclipai/shared build && tsc --noEmit",
"dev:server": "tsx src/dev-cli.ts"
},
"dependencies": {
"@paperclipai/shared": "workspace:*",
"zod": "^3.24.2"
},
"devDependencies": {
"@types/node": "^22.19.21",
"@types/react": "^19.2.17",
"typescript": "^5.7.3"
},
"peerDependencies": {
"react": ">=18"
},
"peerDependenciesMeta": {
"react": {
"optional": true
}
}
}