Files
pxpipe/package.json
T
teamchong ef9ddac58a feat(library): caller fidelity + recoverable channel, edge-safe; trim comments
- keepSharp: caller predicate pins exact-match-critical blocks (IDs, hashes,
  paths) as text, overriding the chars/token heuristic. Reported via
  info.keptSharpBlocks. Never forces imaging; throwing predicate = false.
- emitRecoverable: optional recovery map (block -> original text + provenance)
  so a stateful caller can re-inject or re-fetch imaged content. The recover
  half of the fidelity contract; documented mitigation for lossy recall.
- edge/Workers-safe: process.env read is typeof-guarded; @napi-rs/canvas moved
  to devDependencies (atlas is build-time only, runtime PNG encoder is pure-JS).
- comments: trimmed ~1,640 lines of essay/derivation/changelog narration across
  src/ (transform.ts -73%), keeping one-line rationale; deep math points to docs/.
- New exports/types in index.ts + library.ts; +12 tests (keep-sharp, recoverable).

Build clean; 354/354 tests pass.
2026-06-19 13:02:30 -04:00

105 lines
2.7 KiB
JSON

{
"name": "pxpipe-proxy",
"version": "0.3.1",
"description": "Token-saving proxy for Claude Code: renders bulky context (system prompt, tool docs, old history) as dense PNGs to cut input tokens. Runs on Node and Cloudflare Workers.",
"type": "module",
"bin": {
"pxpipe": "bin/cli.js"
},
"exports": {
".": {
"types": "./dist/core/index.d.ts",
"import": "./dist/core/index.js"
},
"./transform": {
"types": "./dist/core/library.d.ts",
"import": "./dist/core/library.js"
},
"./measurement": {
"types": "./dist/core/measurement.d.ts",
"import": "./dist/core/measurement.js"
},
"./applicability": {
"types": "./dist/core/applicability.d.ts",
"import": "./dist/core/applicability.js"
},
"./proxy": {
"types": "./dist/core/proxy.d.ts",
"import": "./dist/core/proxy.js"
},
"./node": {
"types": "./dist/node.d.ts",
"import": "./dist/node.js"
},
"./worker": {
"types": "./dist/worker.d.ts",
"import": "./dist/worker.js"
}
},
"files": [
"bin/",
"dist/",
"!dist/**/*.map",
"README.md",
"LICENSE"
],
"scripts": {
"build": "node scripts/build.mjs",
"build:atlas": "tsx scripts/gen-atlas.ts",
"dev:node": "tsx watch src/node.ts",
"dev:worker": "wrangler dev",
"deploy:worker": "wrangler deploy",
"restart": "bash scripts/restart.sh",
"typecheck": "tsc --noEmit",
"test": "vitest run",
"test:watch": "vitest",
"test:restart": "bash tests/restart.test.sh",
"prepublishOnly": "pnpm run typecheck && pnpm test && pnpm run build",
"vendor:ui": "node scripts/vendor-ui.mjs"
},
"keywords": [
"claude",
"claude-code",
"anthropic",
"fable-5",
"proxy",
"token-optimization",
"prompt-cache",
"vision-tokens",
"cloudflare-workers"
],
"engines": {
"node": ">=18"
},
"packageManager": "pnpm@10.21.0",
"license": "MIT",
"devDependencies": {
"@cloudflare/workers-types": "^4.20240512.0",
"@napi-rs/canvas": "^0.1.53",
"@types/node": "^20.12.0",
"esbuild": "^0.28.1",
"tsx": "^4.10.0",
"typescript": "^5.4.0",
"vite": "^8.0.16",
"vitest": "^4.1.6",
"wrangler": "^4.92.0"
},
"pnpm": {
"overrides": {
"ws@>=8.0.0 <8.20.1": "^8.20.1",
"vite@>=8.0.0 <8.0.16": "^8.0.16",
"undici@>=7.0.0 <7.28.0": "^7.28.0",
"esbuild@>=0.27.3 <0.28.1": "^0.28.1"
}
},
"dependencies": {},
"repository": {
"type": "git",
"url": "git+https://github.com/teamchong/pxpipe.git"
},
"homepage": "https://github.com/teamchong/pxpipe#readme",
"bugs": {
"url": "https://github.com/teamchong/pxpipe/issues"
}
}