{"_id":"@sylphx/pdf-reader-mcp","_rev":"150-404e1e026177755e523640ce133370d4","name":"@sylphx/pdf-reader-mcp","dist-tags":{"latest":"8.5.5"},"versions":{"1.0.0":{"name":"@sylphx/pdf-reader-mcp","version":"1.0.0","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@1.0.0","maintainers":[{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/sylphlab/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/sylphlab/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"c26fd55d739c86a6efcc0a8656d5459af916cbbd","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-1.0.0.tgz","fileCount":7,"integrity":"sha512-NyXrW9Z6phVHSmAXkvzfYZa7Cm8BIznHkwrgNmEeqFALa+WG738UGWjkMqaOCeGPNbiVJHfbUV0MN1G7fgA6ow==","signatures":[{"sig":"MEYCIQD5NTfxljTGu5wVOif48QLyfwa5JsVpTIQtOtW8yvTF1AIhAIUkks/XJrdkjqAbUijdi3EpgJD7zHETbWOgPE4N277a","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34422},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"a0ba28b44cf3cec3cb320c02e9fac837e383d761","scripts":{"lint":"biome lint .","test":"vitest run","build":"tsc","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","prepare":"husky","release":"standard-version","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"vitest run --coverage --reporter=junit --outputFile=test-report.junit.xml","validate":"npm run check && npm run test","benchmark":"vitest bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"vitest watch","check-format":"biome format .","docs:preview":"vitepress preview docs","prepublishOnly":"pnpm run clean && pnpm run build"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/sylphlab/pdf-reader-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"An MCP server providing tools to read PDF files.","directories":{},"lint-staged":{"*.{ts,tsx,js,cjs,json}":["biome check --write --no-errors-on-unmatched --files-ignore-unknown=true"]},"_nodeVersion":"25.0.0","dependencies":{"zod":"^3.24.2","glob":"^11.0.1","pdfjs-dist":"^5.4.296","zod-to-json-schema":"^3.24.5","@modelcontextprotocol/sdk":"1.20.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.13","husky":"^9.1.7","vitest":"^3.1.1","typedoc":"^0.28.2","vitepress":"^1.6.3","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^24.0.7","lint-staged":"^16.2.6","@biomejs/biome":"^2.3.2","@commitlint/cli":"^19.8.0","standard-version":"^9.5.0","@vitest/coverage-v8":"^3.1.1","typedoc-plugin-markdown":"^4.9.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_1.0.0_1761919409156_0.8828856796557931","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@sylphx/pdf-reader-mcp","version":"1.1.0","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@1.1.0","maintainers":[{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/sylphlab/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/sylphlab/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"e46a5b4d6d2ecdfed0a96a4bccc3c8b731e1de9d","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-1.1.0.tgz","fileCount":12,"integrity":"sha512-bqlefoGniWbSNroAIVFa1bBStzPTaL/r8riJmJCuUO1VfR0VjoxEhkli8lx7CakeP6Su03+Snvuvka67FDIMAQ==","signatures":[{"sig":"MEYCIQCvfNbzchYGs5Yt34/RHDJxrXoNRtgEArrDkMjLf8zH0QIhALCBIJ9Dbs4tdCw/S3ssJuwFL2kEJ67L4S9QsUEiWEnQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41599},"type":"module","_from":"file:sylphx-pdf-reader-mcp-1.1.0.tgz","engines":{"node":">=22.0.0"},"scripts":{"lint":"biome lint .","test":"vitest run","build":"tsc","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"standard-version","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"vitest run --coverage --reporter=junit --outputFile=test-report.junit.xml","validate":"npm run check && npm run test","benchmark":"vitest bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"vitest watch","check-format":"biome format .","docs:preview":"vitepress preview docs"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"_resolved":"/tmp/bfe14cfbbd00985ec6f4f41077fa77db/sylphx-pdf-reader-mcp-1.1.0.tgz","_integrity":"sha512-bqlefoGniWbSNroAIVFa1bBStzPTaL/r8riJmJCuUO1VfR0VjoxEhkli8lx7CakeP6Su03+Snvuvka67FDIMAQ==","commitlint":{"extends":["@commitlint/config-conventional"]},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/sylphlab/pdf-reader-mcp.git","type":"git"},"_npmVersion":"11.6.1","description":"An MCP server providing tools to read PDF files.","directories":{},"lint-staged":{"*.{ts,tsx,js,cjs,json}":["biome check --write --no-errors-on-unmatched --files-ignore-unknown=true"]},"_nodeVersion":"24.11.0","dependencies":{"zod":"^3.24.2","glob":"^11.0.1","pdfjs-dist":"^5.4.296","zod-to-json-schema":"^3.24.5","@modelcontextprotocol/sdk":"1.20.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.13","husky":"^9.1.7","vitest":"^3.1.1","typedoc":"^0.28.2","vitepress":"^1.6.3","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^24.0.7","lint-staged":"^16.2.6","@biomejs/biome":"^2.3.2","@commitlint/cli":"^19.8.0","standard-version":"^9.5.0","@vitest/coverage-v8":"^3.1.1","typedoc-plugin-markdown":"^4.9.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_1.1.0_1761926913107_0.1202395681487276","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@sylphx/pdf-reader-mcp","version":"1.2.0","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@1.2.0","maintainers":[{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/sylphlab/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/sylphlab/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"558c4a82868e5674112756a7a1fe46b67fb84e39","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-1.2.0.tgz","fileCount":12,"integrity":"sha512-gixEJWenaZwA2JnbHfnOM1KLw4dHzH06XLn4F4H6n9mZnR9E8rBkKdVyd3nCT/vucvrqDOOGBQfhXn/0wmHfSA==","signatures":[{"sig":"MEQCIHuR+tR/RmIIz7XQzBptjQ4zW4BPuwIiY347htlsQHkBAiARE2zJoelI8/f38K+aKFWXojYX+R9FA1cisUufgR73/w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46758},"type":"module","_from":"file:sylphx-pdf-reader-mcp-1.2.0.tgz","engines":{"node":">=22.0.0"},"scripts":{"lint":"biome lint .","test":"vitest run","build":"tsc","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"standard-version","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"vitest run --coverage --reporter=junit --outputFile=test-report.junit.xml","validate":"npm run check && npm run test","benchmark":"vitest bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"vitest watch","check-format":"biome format .","docs:preview":"vitepress preview docs"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"_resolved":"/private/var/folders/jn/4bb83bbn4vd_q16rlxm2gf7c0000gn/T/8ecd39ad22d3565ca29feffa3f6c0645/sylphx-pdf-reader-mcp-1.2.0.tgz","_integrity":"sha512-gixEJWenaZwA2JnbHfnOM1KLw4dHzH06XLn4F4H6n9mZnR9E8rBkKdVyd3nCT/vucvrqDOOGBQfhXn/0wmHfSA==","commitlint":{"extends":["@commitlint/config-conventional"]},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/sylphlab/pdf-reader-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"An MCP server providing tools to read PDF files.","directories":{},"lint-staged":{"*.{ts,tsx,js,cjs,json}":["biome check --write --no-errors-on-unmatched --files-ignore-unknown=true"]},"_nodeVersion":"25.0.0","dependencies":{"zod":"^3.24.2","glob":"^11.0.1","pdfjs-dist":"^5.4.296","zod-to-json-schema":"^3.24.5","@modelcontextprotocol/sdk":"1.20.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.13","husky":"^9.1.7","vitest":"^3.1.1","typedoc":"^0.28.2","vitepress":"^1.6.3","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^24.0.7","lint-staged":"^16.2.6","@biomejs/biome":"^2.3.2","@commitlint/cli":"^19.8.0","standard-version":"^9.5.0","@vitest/coverage-v8":"^3.1.1","typedoc-plugin-markdown":"^4.9.0","@commitlint/config-conventional":"^19.8.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_1.2.0_1761934247098_0.8282852274506729","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@sylphx/pdf-reader-mcp","version":"1.3.0","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@1.3.0","maintainers":[{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/sylphlab/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/sylphlab/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"7882201cff0ada59c3c99c351c19ecb676a7d235","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-1.3.0.tgz","fileCount":12,"integrity":"sha512-0jNdEdnXIo3ze74MwYTB5GOsMyxgY3A4AskLuVpoQKYT5VudxGdk7o45Unp8p/lxiqHpMejA1KpMFdqBf9kLsw==","signatures":[{"sig":"MEQCIGVx4xREvqCT9eujwyHv7sirU5FJzmqNH9ZL9fiUZjPUAiBngNqIA7PNpzTA8kx4wzlOF0eVz50quIbPcAHSjrrAKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57033},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"828d8a31ef2de97ea9ccae091d5c496e6af9c2f3","scripts":{"lint":"biome lint .","test":"vitest run","build":"tsc","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","prepare":"husky","release":"standard-version","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"vitest run --coverage --reporter=junit --outputFile=test-report.junit.xml","validate":"npm run check && npm run test","benchmark":"vitest bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"vitest watch","check-format":"biome format .","docs:preview":"vitepress preview docs","prepublishOnly":"pnpm run clean && pnpm run build"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/sylphlab/pdf-reader-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"An MCP server providing tools to read PDF files.","directories":{},"lint-staged":{"*.{ts,tsx,js,cjs,json}":["biome check --write --no-errors-on-unmatched --files-ignore-unknown=true"]},"_nodeVersion":"25.0.0","dependencies":{"zod":"^3.25.76","glob":"^11.0.1","pngjs":"^7.0.0","pdfjs-dist":"^5.4.296","zod-to-json-schema":"^3.24.6","@modelcontextprotocol/sdk":"^1.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.13","husky":"^9.1.7","vitest":"^4.0.7","typedoc":"^0.28.2","vitepress":"^1.6.3","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^24.0.7","lint-staged":"^16.2.6","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.3.2","@commitlint/cli":"^20.1.0","standard-version":"^9.5.0","@vitest/coverage-v8":"^4.0.7","typedoc-plugin-markdown":"^4.9.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_1.3.0_1762440500411_0.49871013632667105","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@sylphx/pdf-reader-mcp","version":"1.3.2","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@1.3.2","maintainers":[{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"c0141bc5f86ec2495d81cc65de2419d54152ecfb","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-1.3.2.tgz","fileCount":4,"integrity":"sha512-AyvCxicllhfJgXB8IilzRoQ6Yc9L+nMhLRHjLlzwK+5xTFZtJJho9qRMj+wMtDJxBbScm906lWPnxfRfAHSsDg==","signatures":[{"sig":"MEQCICqF7n2HRWQEPFlaShgcAaryetf4cT/M1z/YJWi0JqMJAiAbJpx51l0aeKPed3tH5doFtMxfdIKJCJuMilMhaE40ng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42131},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"bc3d90fcc456ea283ca7e259e08179dc81047af5","scripts":{"lint":"biome lint .","test":"vitest run","build":"bunup","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","prepare":"husky","release":"standard-version","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"vitest run --coverage","validate":"bun run check && bun run test","benchmark":"vitest bench","changeset":"changeset","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"vitest watch","release:new":"bun run build && changeset publish","check-format":"biome format .","docs:preview":"vitepress preview docs","prepublishOnly":"bun run clean && bun run build","version-packages":"changeset version"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"An MCP server providing tools to read PDF files.","directories":{},"lint-staged":{"*.{ts,tsx,js,cjs,json}":["biome check --write --no-errors-on-unmatched --files-ignore-unknown=true"]},"_nodeVersion":"20.19.5","dependencies":{"zod":"^3.25.76","glob":"^11.0.1","pngjs":"^7.0.0","pdfjs-dist":"^5.4.296","zod-to-json-schema":"^3.24.6","@modelcontextprotocol/sdk":"^1.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.1","devDependencies":{"vue":"^3.5.13","bunup":"^0.16.10","husky":"^9.1.7","vitest":"^4.0.7","typedoc":"^0.28.2","vitepress":"^1.6.3","typescript":"^5.8.3","@types/glob":"^8.1.0","@types/node":"^24.0.7","lint-staged":"^16.2.6","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.3.2","@changesets/cli":"^2.29.7","@commitlint/cli":"^20.1.0","standard-version":"^9.5.0","@vitest/coverage-v8":"^4.0.8","typedoc-plugin-markdown":"^4.9.0","@commitlint/config-conventional":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_1.3.2_1763907066559_0.4012573657918741","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@sylphx/pdf-reader-mcp","version":"1.4.0","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":"Sylphx <contact@sylphx.com> (https://sylphx.com)","license":"MIT","_id":"@sylphx/pdf-reader-mcp@1.4.0","maintainers":[{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"7f5d61885860322572c1235428427d4700c0efff","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-1.4.0.tgz","fileCount":4,"integrity":"sha512-y0n87El9flZXA8YnMA4gmEX/9qtWyvGgajyjJvosMrAsB1uzN+XpOfTYK7xBc3TNaEUEODK2N2U3RSjVBRfGVA==","signatures":[{"sig":"MEYCIQCqglWE3TEpPVeGEVOsndWHaJ7Oi+lbBCD6WSXfDW72mgIhAKxxpu4QrCvD4aF720yaLGV8libk+BIDTGosr98ccFzE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46311},"type":"module","shasum":"7f5d61885860322572c1235428427d4700c0efff","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"biome lint .","test":"bun test","build":"bunup","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","prepare":"node_modules/.bin/lefthook install || true","release":"standard-version","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"leaf dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"leaf build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"leaf preview docs","prepublishOnly":"bunx @sylphx/doctor prepublish && bun run clean && bun run build"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"js-yaml":"^4.1.0"},"_integrity":"sha512-y0n87El9flZXA8YnMA4gmEX/9qtWyvGgajyjJvosMrAsB1uzN+XpOfTYK7xBc3TNaEUEODK2N2U3RSjVBRfGVA==","deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.8.3","description":"An MCP server providing tools to read PDF files.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"4.2.0-canary.20251124T022609","glob":"^11.1.0","pngjs":"^7.0.0","pdfjs-dist":"^5.4.394","zod-to-json-schema":"^3.25.0","@sylphx/mcp-server-sdk":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.1","devDependencies":{"vite":"^7.2.4","bunup":"^0.16.10","typedoc":"^0.28.14","lefthook":"^2.0.4","solid-js":"^1.9.10","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/node":"^24.10.1","@sylphx/bump":"^0.12.1","@sylphx/leaf":"^1.0.0","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.3.8","@sylphx/doctor":"^1.23.3","@solidjs/router":"^0.15.4","@sylphx/tsconfig":"^0.3.0","@sylphx/biome-config":"^0.4.0","typedoc-plugin-markdown":"^4.9.0","@sylphx/leaf-theme-default":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_1.4.0_1764255587511_0.20266258962942363","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@sylphx/pdf-reader-mcp","version":"2.0.0","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":"Sylphx <contact@sylphx.com> (https://sylphx.com)","license":"MIT","_id":"@sylphx/pdf-reader-mcp@2.0.0","maintainers":[{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"1613ba437d6ba363ce0d33a0045c540fffb117cf","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-2.0.0.tgz","fileCount":4,"integrity":"sha512-mY++1usz8S+U0cqhoj6521GTsL6CdpItIqRm798AUYO6kY3WX7doQu3UKENCm/VCIWHX1zuUWDn8PREbpOAltw==","signatures":[{"sig":"MEUCIEKmIkTQ0/V07wk416vsEirWyjCkzuRP7QXvYf4cEDl8AiEAiqMvZRQwvZdQkJRiwnV8BxFJ1TyhV4aeqLGhqxrKU1Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45514},"type":"module","shasum":"1613ba437d6ba363ce0d33a0045c540fffb117cf","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"biome lint .","test":"bun test","build":"bunup","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","prepare":"node_modules/.bin/lefthook install || true","release":"standard-version","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"leaf dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"leaf build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"leaf preview docs","prepublishOnly":"bunx @sylphx/doctor prepublish && bun run clean && bun run build"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"js-yaml":"^4.1.0"},"_integrity":"sha512-mY++1usz8S+U0cqhoj6521GTsL6CdpItIqRm798AUYO6kY3WX7doQu3UKENCm/VCIWHX1zuUWDn8PREbpOAltw==","deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.8.3","description":"An MCP server providing tools to read PDF files.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"4.2.0-canary.20251124T022609","glob":"^11.1.0","pngjs":"^7.0.0","pdfjs-dist":"^5.4.394","zod-to-json-schema":"^3.25.0","@sylphx/mcp-server-sdk":"1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.1","devDependencies":{"vite":"^7.2.4","bunup":"^0.16.10","typedoc":"^0.28.14","lefthook":"^2.0.4","solid-js":"^1.9.10","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/node":"^24.10.1","@sylphx/bump":"^0.12.1","@sylphx/leaf":"^1.0.0","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.3.8","@sylphx/doctor":"^1.23.3","@solidjs/router":"^0.15.4","@sylphx/tsconfig":"^0.3.0","@sylphx/biome-config":"^0.4.0","typedoc-plugin-markdown":"^4.9.0","@sylphx/leaf-theme-default":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_2.0.0_1764260652842_0.005117593011095156","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@sylphx/pdf-reader-mcp","version":"2.0.1","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@2.0.1","maintainers":[{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"8eff8d40f08728e636ffc633344f2113af1bef4d","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-2.0.1.tgz","fileCount":4,"integrity":"sha512-5K9FX2JlNCBeAyZotAFhIlLRz6Jr2amaPcmO782QVgu/iqfn+65UryMgvB9krLfbXCLm9teuv4YiNi34G+uXuA==","signatures":[{"sig":"MEUCIB83+zhwtawDvkBD5NFeG8FlQX8PgZj/IOAoaJKG4OmjAiEAzNbiI53aTZXJAufvWCplqlSDeD2dNe8kGEfY27eC254=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45514},"type":"module","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5e89bf242b46810e7e11d6dcfdbf192a75543e0b","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","prepare":"lefthook install || true","release":"standard-version","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"leaf dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"leaf build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"leaf preview docs","prepublishOnly":"bunx @sylphx/doctor prepublish && bun run clean && bun run build"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"js-yaml":"^4.1.0"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"An MCP server providing tools to read PDF files.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"4.2.0-canary.20251124T022609","glob":"^11.1.0","pngjs":"^7.0.0","pdfjs-dist":"^5.4.394","zod-to-json-schema":"^3.25.0","@sylphx/mcp-server-sdk":"1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.1","devDependencies":{"vite":"^7.2.4","bunup":"^0.16.10","typedoc":"^0.28.14","lefthook":"^2.0.4","solid-js":"^1.9.10","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/node":"^24.10.1","@sylphx/bump":"^0.12.1","@sylphx/leaf":"^1.0.0","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.3.8","@sylphx/doctor":"^1.23.3","@solidjs/router":"^0.15.4","@sylphx/tsconfig":"^0.3.0","@sylphx/biome-config":"^0.4.0","typedoc-plugin-markdown":"^4.9.0","@sylphx/leaf-theme-default":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_2.0.1_1764279536679_0.5934861315870212","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@sylphx/pdf-reader-mcp","version":"2.0.2","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@2.0.2","maintainers":[{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"46ad8cc4cfa0e5b3b58495c7dde9d0ae796baa8f","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-2.0.2.tgz","fileCount":4,"integrity":"sha512-OQCmbFW9G4C/zymAeXKE8ilDspr0mEBWxqRabgHfTNeIwcRztyvR83lHjY/BtYZ/PnSC1NvcyrG/16PJOFJrJw==","signatures":[{"sig":"MEUCIQD521RnJyrB4jajoEwSO0r+V1A3/Z5XzGV23W5KOHNanAIgc+2t3yWHU+UeM7lXIkm0399GqgJR5i9PEUPxb0mG1mQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45514},"type":"module","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e832e8612b06a94aae22ceaa115b51aaae85a14c","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","prepare":"lefthook install || true","release":"standard-version","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"leaf dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"leaf build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"leaf preview docs","prepublishOnly":"bunx @sylphx/doctor prepublish && bun run clean && bun run build"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"js-yaml":"^4.1.0"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"An MCP server providing tools to read PDF files.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"4.2.0-canary.20251124T022609","glob":"^11.1.0","pngjs":"^7.0.0","pdfjs-dist":"^5.4.394","zod-to-json-schema":"^3.25.0","@sylphx/mcp-server-sdk":"1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.1","devDependencies":{"vite":"^7.2.4","bunup":"^0.16.10","typedoc":"^0.28.14","lefthook":"^2.0.4","solid-js":"^1.9.10","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/node":"^24.10.1","@sylphx/bump":"^0.12.1","@sylphx/leaf":"^1.0.0","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.3.8","@sylphx/doctor":"^1.23.3","@solidjs/router":"^0.15.4","@sylphx/tsconfig":"^0.3.0","@sylphx/biome-config":"^0.4.0","typedoc-plugin-markdown":"^4.9.0","@sylphx/leaf-theme-default":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_2.0.2_1764283230004_0.6997373850821926","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@sylphx/pdf-reader-mcp","version":"2.0.3","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@2.0.3","maintainers":[{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"9ba0a3bac00929999fbf27b6827a58204793cd2c","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-2.0.3.tgz","fileCount":4,"integrity":"sha512-WMQf0D9P023TJ/FCO+TZ3Bw9RCvmymBmq07QqSTS0OlqTFp5HT2MI+8TuhmBJ9zDEFP1J22cd6ZHyF+S8wBQ2Q==","signatures":[{"sig":"MEUCIQDPTDZRM4wKkvfnyhi3XfErjms5lkp2LFc01Z6fQ3NqLgIgBK9wzWJ4aa2yiIw7hV9DMF1P+RVkUlIAvzVjLRXDPrk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45514},"type":"module","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"777fc0df52ac94b6351fa850626614c5c2efcd30","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","prepare":"lefthook install || true","release":"standard-version","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"leaf dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"leaf build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"leaf preview docs","prepublishOnly":"bunx @sylphx/doctor prepublish && bun run clean && bun run build"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"js-yaml":"^4.1.0"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"An MCP server providing tools to read PDF files.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"4.2.0-canary.20251124T022609","glob":"^13.0.0","pngjs":"^7.0.0","pdfjs-dist":"^5.4.394","zod-to-json-schema":"^3.25.0","@sylphx/mcp-server-sdk":"1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.1","devDependencies":{"vite":"^7.2.4","bunup":"^0.16.10","typedoc":"^0.28.14","lefthook":"^2.0.4","solid-js":"^1.9.10","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/node":"^24.10.1","@sylphx/bump":"^0.12.1","@sylphx/leaf":"^1.0.0","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.3.8","@sylphx/doctor":"^1.23.3","@solidjs/router":"^0.15.4","@sylphx/tsconfig":"^0.3.0","@sylphx/biome-config":"^0.4.0","typedoc-plugin-markdown":"^4.9.0","@sylphx/leaf-theme-default":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_2.0.3_1764502530105_0.8681533232253948","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"@sylphx/pdf-reader-mcp","version":"2.0.7","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@2.0.7","maintainers":[{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"860dd95a2bab6e7118c0c7b901dfc7cdac5f7703","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-2.0.7.tgz","fileCount":4,"integrity":"sha512-WbUZLg+Bq6+sWrtJ2seLeoexfQ+SU17oFx9sH+Bg8ReiAAWmZoobGbWcNrhmsDSX46V96IqmEqd9XxeIWGa0Jw==","signatures":[{"sig":"MEQCIGU13CbkHyUeN5TXTtO+LTkFZBTkaE0F3+cW0sZpnuOXAiAlfJsSaiPVOXlpWmb6iPd87j9YZpe7kEtWX8o4D5JpYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45288},"type":"module","engines":{"node":">=22.0.0"},"exports":{".":{"import":"./dist/index.js"}},"gitHead":"711d59b744fd1cda6a93fd99ac3135cb25a45238","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","prepare":"lefthook install || true","release":"standard-version","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"bunx @sylphx/leaf dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"bunx @sylphx/leaf build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"bunx @sylphx/leaf preview docs","prepublishOnly":"bunx @sylphx/doctor prepublish && bun run clean && bun run build"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"js-yaml":"^4.1.0"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"An MCP server providing tools to read PDF files.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"zod":"4.2.0-canary.20251124T022609","glob":"^13.0.0","pngjs":"^7.0.0","pdfjs-dist":"^5.4.449","zod-to-json-schema":"^3.25.0","@sylphx/mcp-server-sdk":"1.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.1","devDependencies":{"vite":"^7.2.6","bunup":"^0.16.10","typedoc":"^0.28.15","lefthook":"^2.0.7","solid-js":"^1.9.10","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/node":"^24.10.1","@sylphx/bump":"^0.12.1","@sylphx/leaf":"^1.0.0","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.3.8","@sylphx/doctor":"^1.32.1","@solidjs/router":"^0.15.4","@sylphx/tsconfig":"^0.3.1","@sylphx/biome-config":"^0.4.1","typedoc-plugin-markdown":"^4.9.0","@sylphx/leaf-theme-default":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_2.0.7_1764781012767_0.10750949212269711","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"@sylphx/pdf-reader-mcp","version":"2.0.8","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@2.0.8","maintainers":[{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"d3c499a6f2c8079cc58f2ee1b391994a70a505fa","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-2.0.8.tgz","fileCount":4,"integrity":"sha512-MiLc9HHVk1seiJ1DZmCKmOoe5cF81gspqhUrKAbXRsiow9qunZWfwpag40YsR9lEjteHPoGVkJluiHH/g0huTw==","signatures":[{"sig":"MEUCIQCSQzIz6s5E82zwfEd34iXLbsGHKkMKugQ+2DFWDhnk/AIgUQcVXi+yXk9tYQ8/zhSOsgIW1fxOjXbcAeesgnZPnyk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44576},"type":"module","engines":{"node":">=22.0.0"},"exports":{".":{"import":"./dist/index.js"}},"gitHead":"40181e2585fa8b2fcbdc8cf4745e04bcae6f33b8","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","prepare":"lefthook install || true","release":"standard-version","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"bunx @sylphx/leaf dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"bunx @sylphx/leaf build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"bunx @sylphx/leaf preview docs","prepublishOnly":"bunx @sylphx/doctor prepublish && bun run clean && bun run build"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"js-yaml":"^4.1.0"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"An MCP server providing tools to read PDF files.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"glob":"^13.0.0","pngjs":"^7.0.0","pdfjs-dist":"^5.4.449","@sylphx/vex":"^0.1.11","@sylphx/mcp-server-sdk":"^2.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.1","devDependencies":{"vite":"^7.2.6","bunup":"^0.16.10","typedoc":"^0.28.15","lefthook":"^2.0.7","solid-js":"^1.9.10","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/node":"^24.10.1","@sylphx/bump":"^1.6.1","@sylphx/leaf":"^1.0.0","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.3.8","@sylphx/doctor":"^1.32.1","@solidjs/router":"^0.15.4","@sylphx/tsconfig":"^0.3.1","@sylphx/biome-config":"^0.4.1","typedoc-plugin-markdown":"^4.9.0","@sylphx/leaf-theme-default":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_2.0.8_1764973335755_0.24938385127665885","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@sylphx/pdf-reader-mcp","version":"2.1.0","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@2.1.0","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"7fd38314a3d1a736ef65f775fbd4d0f5906a4a99","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-2.1.0.tgz","fileCount":4,"integrity":"sha512-iKtTmHWOVWO10ioVLGPhkeCmkfLA99CiTqrzRvBI6n80xZig3O5rr5whjn4EkvBjkZwrGmaVSHht+ZbMM+AExQ==","signatures":[{"sig":"MEYCIQCAD0PUtgTr7nLT30nR3303nNtkqg6mXbEolLpKu1/mPAIhAP11D4EimGWUtp2p7M048DWIYnipAtkt5GlVSSEU8T0W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44925},"type":"module","engines":{"node":">=22.0.0"},"exports":{".":{"import":"./dist/index.js"}},"gitHead":"a17192ceae195d252986e72f8fde62e334edc8a6","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","prepare":"lefthook install || true","release":"standard-version","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"bunx @sylphx/leaf dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"bunx @sylphx/leaf build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"bunx @sylphx/leaf preview docs","prepublishOnly":"bunx @sylphx/doctor prepublish && bun run clean && bun run build"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"js-yaml":"^4.1.0"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"An MCP server providing tools to read PDF files.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"glob":"^13.0.0","pngjs":"^7.0.0","pdfjs-dist":"^5.4.449","@sylphx/vex":"^0.1.11","@sylphx/mcp-server-sdk":"^2.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.1","devDependencies":{"vite":"^7.2.6","bunup":"^0.16.10","typedoc":"^0.28.15","lefthook":"^2.0.7","solid-js":"^1.9.10","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/node":"^24.10.1","@sylphx/bump":"^1.6.1","@sylphx/leaf":"^1.0.0","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.3.8","@sylphx/doctor":"^1.32.1","@solidjs/router":"^0.15.4","@sylphx/tsconfig":"^0.3.1","@sylphx/biome-config":"^0.4.1","typedoc-plugin-markdown":"^4.9.0","@sylphx/leaf-theme-default":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_2.1.0_1765992378464_0.42302462205258684","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@sylphx/pdf-reader-mcp","version":"2.2.0","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@2.2.0","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"efa8c7ff382caba93300e2f7065a569c97d9efea","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-2.2.0.tgz","fileCount":4,"integrity":"sha512-n0+yjzBSkFSTTYxkDCiwoRM25YRA+BBfr7Xl9/m12CGOOdDdS3Rqn8eLCHKBTiS3GjZ/TU1Q7ws27/Jqq9WDWQ==","signatures":[{"sig":"MEUCIQCs43tjhh2i154fJ16a3NbtUgSVG6nWSn6BWOs4XU+ZEgIgE+EZOXeneuFqqy+NZ4CeA2tROnctjBscdnLOdi55src=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47427},"type":"module","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"bccf19f52bc094853def1677181f5e8547763cdd","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","prepare":"lefthook install || true","release":"standard-version","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","prepublishOnly":"bunx @sylphx/doctor prepublish && bun run clean && bun run build"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"preact":"^10.28.2","esbuild":"^0.25.0"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"An MCP server providing tools to read PDF files.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"glob":"^13.0.0","pngjs":"^7.0.0","pdfjs-dist":"^5.4.449","@sylphx/vex":"^0.1.11","@sylphx/mcp-server-sdk":"^2.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.1","devDependencies":{"bunup":"0.16.10","typedoc":"^0.28.15","lefthook":"^2.0.7","vitepress":"^1.6.4","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/node":"^25.0.3","@sylphx/bump":"^1.6.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.3.8","@sylphx/doctor":"^1.32.1","@sylphx/tsconfig":"^0.3.1","@sylphx/biome-config":"^0.4.1","typedoc-plugin-markdown":"^4.9.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_2.2.0_1769601001234_0.2938141249025872","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@sylphx/pdf-reader-mcp","version":"2.3.0","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@2.3.0","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"e11f98887abb746487052b4e3fe56f35f10e274b","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-2.3.0.tgz","fileCount":4,"integrity":"sha512-P+10lVw/7I1uq+FkIOfLtz+9WerlsIpJ3FpdjmeuTpSxvXlNjO31UePhc0PBgQCt81joY/NQYHc49uxhCvm2Ow==","signatures":[{"sig":"MEUCIQCAwUFnoXePVzR99muJIPN00IZbb+Lmg8ibYqNEwPAhtQIgU1mlpd7rdnYiBw9ntlWSCW3MHJSLSkFPus+kH1ZXwzs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56975},"type":"module","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"6d735957120a28bb59193c58e0dc351489a2d7da","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","prepare":"lefthook install || true","release":"standard-version","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","prepublishOnly":"bunx @sylphx/doctor prepublish && bun run clean && bun run build"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"preact":"^10.28.2","esbuild":"^0.25.0"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"An MCP server providing tools to read PDF files.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"glob":"^13.0.0","pngjs":"^7.0.0","pdfjs-dist":"^5.4.449","@sylphx/vex":"^0.1.11","@sylphx/mcp-server-sdk":"^2.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.1","devDependencies":{"bunup":"0.16.10","typedoc":"^0.28.15","lefthook":"^2.0.7","vitepress":"^1.6.4","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/node":"^25.0.3","@sylphx/bump":"^1.6.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.3.8","@sylphx/doctor":"^1.32.1","@sylphx/tsconfig":"^0.3.1","@sylphx/biome-config":"^0.4.1","typedoc-plugin-markdown":"^4.9.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_2.3.0_1770245940867_0.042804032215750354","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"@sylphx/pdf-reader-mcp","version":"2.3.1","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@2.3.1","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"991c95ca533768ab40f7f8560bcead58bdb91e2a","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-2.3.1.tgz","fileCount":4,"integrity":"sha512-LzMtKnQLLpCM3lBfLyKFNJfLUjIUrXVgyn0TQp1VmuDlMF0Sum3TlYFfzl1h4gM6mnoEWOV2mt8QgGePne6bNw==","signatures":[{"sig":"MEQCICtir1ZZK8NUGNW8L0DFF8BnYs96o/2UaLvu94Qsn1x8AiAZ/kJnpV2B+9wC+whOSAINQ1blHoY4ctPvSUENiGtung==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57307},"type":"module","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"c12b2f4e2d051ef98287a545029e38c7c7ec587b","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","prepare":"lefthook install || true","release":"standard-version","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","prepublishOnly":"bunx @sylphx/doctor prepublish && bun run clean && bun run build"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.25.0"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"An MCP server providing tools to read PDF files.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"glob":"^13.0.6","pngjs":"^7.0.0","pdfjs-dist":"^5.6.205","@sylphx/vex":"^0.1.11","@sylphx/mcp-server-sdk":"^2.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.1","devDependencies":{"bunup":"0.16.10","typedoc":"^0.28.19","lefthook":"^2.1.6","vitepress":"^1.6.4","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/node":"^25.6.0","@sylphx/bump":"^1.6.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.12","@sylphx/doctor":"^1.34.0","@sylphx/tsconfig":"^0.3.1","@sylphx/biome-config":"^0.4.1","typedoc-plugin-markdown":"^4.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_2.3.1_1776562345363_0.6555311823827275","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@sylphx/pdf-reader-mcp","version":"2.4.0","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@2.4.0","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"2a599651cd315a055abf619eb07b2a01dd5b02bc","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-2.4.0.tgz","fileCount":4,"integrity":"sha512-Hseg7X0TyVCPlrgmuqc/BHxXpA2wTXBhQ+n+7rb4qxEeJXvhtnDO8I3sP1g7yjjrBMK5wN3UTVd/EEaWyq4DiQ==","signatures":[{"sig":"MEYCIQCsyR7lxg8nojkSqrL6nYFP6chapf64ytC44IHHe2eWWQIhALF4hCL4TLobgeOXch6QaeDyOLw4M6RKtp3UxwOUocZA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62561},"type":"module","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"6f5cbd373de470e8903477002762f47a2840f62e","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","prepare":"lefthook install || true","release":"standard-version","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","prepublishOnly":"bunx @sylphx/doctor prepublish && bun run clean && bun run build"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.25.0"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"An MCP server providing tools to read PDF files.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"glob":"^13.0.6","pngjs":"^7.0.0","pdfjs-dist":"^5.6.205","@sylphx/vex":"^0.1.11","@sylphx/mcp-server-sdk":"^2.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.1","devDependencies":{"bunup":"0.16.10","typedoc":"^0.28.19","lefthook":"^2.1.6","vitepress":"^1.6.4","typescript":"^5.9.3","@types/glob":"^8.1.0","@types/node":"^25.6.0","@sylphx/bump":"^1.6.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.12","@sylphx/doctor":"^1.34.0","@sylphx/tsconfig":"^0.3.1","@sylphx/biome-config":"^0.4.1","typedoc-plugin-markdown":"^4.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_2.4.0_1777847350085_0.17831781774693845","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"@sylphx/pdf-reader-mcp","version":"2.4.1","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@2.4.1","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"4613fb93154f15df2d56f8a11292e9d2c709254d","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-2.4.1.tgz","fileCount":4,"integrity":"sha512-2JwMaPwAs1RYAtzKNOj3BUnQN2PJbcnjV+Ijfky/VF71ggI8hk/DWse2MI5xmKldRrVVdzV+miPMHnB+tx/Ehg==","signatures":[{"sig":"MEQCIHR8GLowQohK9i7O9L54oAAXTNGr/nOTogbqzBgexkWaAiBqsDJlHiS/ndFDzvaak7YJZ98X2X4ceYCS+WDufi3VCQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70261},"type":"module","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"b41408312a020cdcc965c463d3eb7c4599e3ae86","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","prepare":"lefthook install || true","release":"standard-version","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","prepublishOnly":"bunx @sylphx/doctor prepublish && bun run clean && bun run build"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.25.0"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"An MCP server providing tools to read PDF files.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"glob":"^13.0.6","pngjs":"^7.0.0","pdfjs-dist":"^5.6.205","@sylphx/vex":"^0.1.11","@sylphx/mcp-server-sdk":"^2.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.1","devDependencies":{"bunup":"0.16.31","typedoc":"^0.28.19","lefthook":"^2.1.6","vitepress":"^1.6.4","typescript":"^6.0.3","@types/glob":"^8.1.0","@types/node":"^25.6.0","@sylphx/bump":"^1.6.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.12","@sylphx/doctor":"^1.34.0","@sylphx/tsconfig":"^0.3.1","@sylphx/biome-config":"^0.4.1","typedoc-plugin-markdown":"^4.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_2.4.1_1779302702635_0.5888586673867735","host":"s3://npm-registry-packages-npm-production"}},"2.4.2":{"name":"@sylphx/pdf-reader-mcp","version":"2.4.2","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@2.4.2","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"83503352bbfca0cb12c75fbb25df64a46f66c36b","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-2.4.2.tgz","fileCount":4,"integrity":"sha512-lYYa8+1C/tkxvyzeyYVzcDHKbdG47owsDQ6C5Ggq0TAw+UpbdK9Oly70tccn0D4OnrVNhpyr6ABJbLKyibkC/Q==","signatures":[{"sig":"MEYCIQDucaer6h+q3n2qk5PGpqKOcLtBO7j4bz3a2AslbZjd8gIhAItindvuYcRyAqZx0NR1dmZ7j2ILfOeUWIGA+PtKfgbe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70121},"type":"module","engines":{"node":">=22.0.0"},"exports":{".":"./dist/index.js"},"gitHead":"8e4bb6d980e4c4516212995875078a6005d5bd39","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","prepare":"lefthook install || true","release":"standard-version","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","prepublishOnly":"bunx @sylphx/doctor prepublish && bun run clean && bun run build"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.25.0"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"An MCP server providing tools to read PDF files.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"glob":"^13.0.6","pngjs":"^7.0.0","pdfjs-dist":"^5.6.205","@sylphx/vex":"^0.1.11","@sylphx/mcp-server-sdk":"^2.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.1","devDependencies":{"bunup":"0.16.31","typedoc":"^0.28.19","lefthook":"^2.1.6","vitepress":"^1.6.4","typescript":"^6.0.3","@types/glob":"^8.1.0","@types/node":"^25.6.0","@sylphx/bump":"^1.6.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.12","@sylphx/doctor":"^1.34.0","@sylphx/tsconfig":"^0.3.1","@sylphx/biome-config":"^0.4.1","typedoc-plugin-markdown":"^4.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_2.4.2_1779422637374_0.02960010565460891","host":"s3://npm-registry-packages-npm-production"}},"2.4.3":{"name":"@sylphx/pdf-reader-mcp","version":"2.4.3","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@2.4.3","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"58d5719e168d545de51c0b9cff08832b6b16a33a","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-2.4.3.tgz","fileCount":4,"integrity":"sha512-Z+xOXsqSQkPVyBLYUh+k/2lpjB/AQDrWj/wtZc/BEhMaNWTvKP+PzkuzJyo5OBVbu3ow4VDP8B6el6NKLPc72A==","signatures":[{"sig":"MEUCID7aRgCL7PRt0x3d/XIhA925jgS3CaLdiZ3daDyeIqByAiEA4cIoN65UvCr3mGP3wpE2+rSS8UxSnfINreB1GwM+fqc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70158},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"dd6eb4f0dd4bee1d5897e7bb1224d8f865ab97a0","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","prepare":"lefthook install || true","release":"standard-version","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","prepublishOnly":"bunx @sylphx/doctor prepublish && bun run clean && bun run build"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.25.0"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server providing tools to read PDF files.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@sylphx/vex":"^0.1.11","@sylphx/mcp-server-sdk":"^2.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.1","devDependencies":{"bunup":"0.16.31","typedoc":"^0.28.19","lefthook":"^2.1.9","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@sylphx/bump":"^1.6.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@sylphx/doctor":"^1.34.0","@sylphx/tsconfig":"^0.3.1","@sylphx/biome-config":"^0.4.1","typedoc-plugin-markdown":"^4.11.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_2.4.3_1780156929367_0.6054399725682629","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@sylphx/pdf-reader-mcp","version":"2.5.0","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@2.5.0","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"9cc58aa15a68b044d5e54fb133124e5657174394","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-2.5.0.tgz","fileCount":4,"integrity":"sha512-THuTTdaOU75W9mcWics31KhNET+uGpEcwe4bUzpmZceyaRjyuHwA88xqk7vU6x1+uJw2tQ+z39AVrHOUTRmujg==","signatures":[{"sig":"MEUCIHMgxz34fkVUV/YRy//rG7GmoFPn6bh8VcIHzBEBNg4nAiEA7Me8j27GVmJ9/WpgHSXOqzfTqUvcc0jxpxR4BZ04aQw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116756},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"b5b6ddf2629bfab8ca69337a3e224a4b10a91601","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","prepare":"lefthook install || true","release":"bun run build && changeset publish","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","prepublishOnly":"bunx @sylphx/doctor prepublish && bun run clean && bun run build"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.25.0"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server providing tools to read PDF files.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@sylphx/vex":"^0.1.11","@sylphx/mcp-server-sdk":"^2.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","typedoc":"^0.28.19","lefthook":"^2.1.9","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@sylphx/doctor":"^1.34.0","@changesets/cli":"^2.31.0","@sylphx/tsconfig":"^0.3.1","@sylphx/biome-config":"^0.4.1","typedoc-plugin-markdown":"^4.11.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_2.5.0_1781480507436_0.6507268957470989","host":"s3://npm-registry-packages-npm-production"}},"2.5.1":{"name":"@sylphx/pdf-reader-mcp","version":"2.5.1","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@2.5.1","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"5ac24f6ef35744df5828960c513d043a993643fb","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-2.5.1.tgz","fileCount":4,"integrity":"sha512-rCuDEVS67Pfx1Kn6GUky2wIuw4Et56Wx1LC5QJRxpm0t3nr20T8sjUcCeK9ck78G+FtWdc86NEaAuBrT+A5IYw==","signatures":[{"sig":"MEYCIQCxf+UBdllEqLFzHixMYXWLFqqlFK0HLWrSUn85RjdkdwIhAJURK1TboI2CoBD/JFZDaIhT0WgnNys59GztApCUevdg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116581},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"c8aa9e9faaf6f07bcf7febf22f051790a0362332","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"bun run build && changeset publish","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","prepublishOnly":"bun run clean && bun run build"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server providing tools to read PDF files.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@sylphx/vex":"^0.1.11","@sylphx/mcp-server-sdk":"^2.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","typedoc":"^0.28.19","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@sylphx/tsconfig":"^0.3.1","@sylphx/biome-config":"^0.4.1","typedoc-plugin-markdown":"^4.11.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_2.5.1_1781481852478_0.3916383275010269","host":"s3://npm-registry-packages-npm-production"}},"2.5.2":{"name":"@sylphx/pdf-reader-mcp","version":"2.5.2","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@2.5.2","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"92d59a92bdfb1d0d1686013f25dde28327eb372c","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-2.5.2.tgz","fileCount":4,"integrity":"sha512-v2BpdpltHngpQqmK2iI5DA9UgrjFo68aBtN06UD4zwY8Q3AjecHLK1+TY1d0lTelsPRejMl6M7xZ7FSfWNqA9A==","signatures":[{"sig":"MEQCIB3pWiYgAdSNBD/+sA10dtnms7/+bRhKnP9Mem7k3ExUAiBue4p3w0LfC7MKDwsqCpqWhlG3URRUzDRBoMRFWiB6Mg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116581},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"1118398c6077b31a53e96feb56915c45648bff05","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"bun run build && changeset publish","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","prepublishOnly":"bun run clean && bun run build"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server providing tools to read PDF files.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@sylphx/vex":"^0.1.11","@sylphx/mcp-server-sdk":"^2.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","typedoc":"^0.28.19","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@sylphx/tsconfig":"^0.3.1","@sylphx/biome-config":"^0.4.1","typedoc-plugin-markdown":"^4.11.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_2.5.2_1781483536878_0.8983226266795326","host":"s3://npm-registry-packages-npm-production"}},"2.5.3":{"name":"@sylphx/pdf-reader-mcp","version":"2.5.3","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@2.5.3","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"156c03786c84480905bd3ce4a51368e88f265662","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-2.5.3.tgz","fileCount":4,"integrity":"sha512-KqqqiE2AcuG4yCiW7VvaAIc7fSaYRipkfX4jT3NAwe1vf/eHyKtd1+7CCzX0+dRNw62qoZm5QImFwVqgGc7p8A==","signatures":[{"sig":"MEUCIQDbjcvXDUMEGyyQV5UHOH3nIbJxrgoEjSEzRYTq79kTFwIgD3SX4YtqvZjknsPRQuLI0QSsMYtMNXGcbCEhXfwDAPQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116581},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"81a94f50d298fc5b9a95c0c9507f46ff4fe1ba94","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"bun run build && changeset publish","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","prepublishOnly":"bun run clean && bun run build"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server providing tools to read PDF files.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@sylphx/vex":"^0.1.11","@sylphx/mcp-server-sdk":"^2.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","typedoc":"^0.28.19","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@sylphx/tsconfig":"^0.3.1","@sylphx/biome-config":"^0.4.1","typedoc-plugin-markdown":"^4.11.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_2.5.3_1781485144485_0.11099393327896911","host":"s3://npm-registry-packages-npm-production"}},"2.5.4":{"name":"@sylphx/pdf-reader-mcp","version":"2.5.4","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","pdf-inspection","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@2.5.4","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"fcb2002336f3c1984ca5580f6e70896728e257f2","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-2.5.4.tgz","fileCount":4,"integrity":"sha512-cTqteS+S2fMwyB5j3iu8ZFVosVrGAc6vPoIr2vyF7YT1XAGwVJL0O/z8mlGLd7jLVDFfarEsW3VWGFMLGMHhUA==","signatures":[{"sig":"MEUCIFatCiTHN0/yS5dECyK/NH99JNp2nDz0Ppyqm6YqaRBiAiEAp3q3efrapIptMw3ByCuZ1bzMB+hHwzM3Zhgj1cMG1Lw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":132058},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"c055788e200a8191cf2f0e0f0a66a41f4850f70f","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"bun run build && changeset publish","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun bench","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","prepublishOnly":"bun run clean && bun run build"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Agent-native MCP server for PDF inspection, extraction, citation chunks, and safety signals.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@sylphx/vex":"^0.1.11","@sylphx/mcp-server-sdk":"^2.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","typedoc":"^0.28.19","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@sylphx/tsconfig":"^0.3.1","@sylphx/biome-config":"^0.4.1","typedoc-plugin-markdown":"^4.11.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_2.5.4_1781488214974_0.798478957404857","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"@sylphx/pdf-reader-mcp","version":"2.6.0","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@2.6.0","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"e54ef70049c925c3ec830a9c8b6e58a63d9c83f3","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-2.6.0.tgz","fileCount":4,"integrity":"sha512-tjkUjjkG8ECUZ0qclOxpR9BFmghvhHw1607VMW/F0G/CMPHU4HkH/niWgUSRrOqKy1ncTVEU3J/hkx39vT8sqg==","signatures":[{"sig":"MEUCIQClp7yKMzt76f6+zNk9OjQ+nSPk8PxER0VpVrKn+Zv1LwIgJsWiLZ0MwWaXoqdEKDX3Or0SIfp7oHIQzg4LEnhGgow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270059},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"3fd9c803e6392a1ea70eee3abc4482202e105d57","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"bun run build && changeset publish","docs:api":"typedoc --entryPoints src/index.ts --tsconfig tsconfig.json --plugin typedoc-plugin-markdown --out docs/api --readme none","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","prepublishOnly":"bun run clean && bun run build"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Agent-native MCP server for PDF inspection, extraction, citation chunks, and safety signals.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@sylphx/vex":"^0.1.11","@sylphx/mcp-server-sdk":"^2.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","typedoc":"^0.28.19","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@sylphx/tsconfig":"^0.3.1","@sylphx/biome-config":"^0.4.1","typedoc-plugin-markdown":"^4.11.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_2.6.0_1781520923527_0.21912366529758387","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"@sylphx/pdf-reader-mcp","version":"2.7.0","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@2.7.0","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"805e8337b81193138b06fe1a5be4a2422412e9f2","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-2.7.0.tgz","fileCount":6,"integrity":"sha512-sVPbv2upzkOR7MBTJhvRWI46xwFsxyjhJpN4v44IRCo7GAk3fpaZBKCph2z5WJUNVgLusGOEGavVbdSTlYPiBg==","signatures":[{"sig":"MEUCIQDDungeJWaA+sAMUCn9bLScPci1ucvVQHAsdcYSQjakjwIgYJVMUQBetZTY1YnfjEjmdiH+Bn7yTx57ERD7fpEVOws=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":452406},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"b442c249a11640a693cae1e749e90b285355cfe3","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"bun run release:preflight && changeset publish","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Agent-native MCP server for PDF inspection, extraction, OCR evidence, citation chunks, and safety signals.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_2.7.0_1782091927755_0.5404118499647064","host":"s3://npm-registry-packages-npm-production"}},"2.7.1":{"name":"@sylphx/pdf-reader-mcp","version":"2.7.1","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@2.7.1","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"6300047f7ace3036b2d3bc24560b2074fd289f81","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-2.7.1.tgz","fileCount":6,"integrity":"sha512-3eqR6oxbhWvEVtTAmgzOLKscviCVemxqBN8nKdGzH9wxoZajOp0UoB+sW/wKRZVtindMk2/muupCbxnvytxybg==","signatures":[{"sig":"MEUCIF4MmDjiHjBRdoBuOJBRS3l8Q9Zsjv5ZdqESfPK86PvaAiEA+lDzL/5/3Zy5V59xgWN7jzCba6Le7ksIAcdNG+LsiX4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":446369},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"a2fd57580b825d23e8a1874d9c8b002ded19f487","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"bun run release:preflight && changeset publish","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Full-fidelity PDF intelligence MCP server with Agent Document Twin, visual evidence, OCR provenance, trust reports, accessibility reports, and benchmark-gated release proof.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_2.7.1_1782094559155_0.13505193806994997","host":"s3://npm-registry-packages-npm-production"}},"2.7.2":{"name":"@sylphx/pdf-reader-mcp","version":"2.7.2","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@2.7.2","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"a10ba74187f9c43d14ebfaccf00cebf3efc82531","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-2.7.2.tgz","fileCount":6,"integrity":"sha512-RVsO1HiYgH9KsJ58hzxym8X2/toQVrFDeO9tM1Y9ytm0GHG3nngjSYpc0Hi+p5jWg7zPEYbrlX6JU7SWCNotNQ==","signatures":[{"sig":"MEYCIQC6VADGVNm16UjR4m7pKuPPH0+aUSnUIpwL1ZzBVkLGVAIhANvFFgXrmsWDVMglc406yHXONqgrXrhZPF+Vu4AOHN8a","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":376200},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"5b80d2aa30506c79094d3687fbb97c221f8a0665","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"bun run release:preflight && changeset publish","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Full-fidelity PDF intelligence MCP server with Agent Document Twin, visual evidence, OCR provenance, trust reports, accessibility reports, and benchmark-gated release proof.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_2.7.2_1782096776664_0.10262074752445427","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@sylphx/pdf-reader-mcp","version":"3.0.0","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.0.0","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"8a112f9aa7905a133b68425f8e01d7dae987c06b","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.0.0.tgz","fileCount":6,"integrity":"sha512-mINvj+h8j8k79jI8rANjXcr1Lc561yspskVYYitaRzyAM3Bkca4dh2kHxNkGrBZIVNNre1M//f4BdRm0T6gSyg==","signatures":[{"sig":"MEQCIBgW0ayjOCC9PkaiTdz05fxmP2MDVmazoDBBdhT1CnE6AiAqWS2zJmsAXrFBg5LDAsiEA/h4tN3zqAR5lwkpcMauyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":387443},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"80c3a6f6237d0cc2e9793639df492daa7c8986c9","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"bun run release:preflight && changeset publish","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"V3 PDF intelligence MCP server with smart Agent Document Twin extraction, focused evidence operations, OCR provenance, trust/accessibility reports, and benchmark-gated release proof.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.0.0_1782120997572_0.9002700184185985","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@sylphx/pdf-reader-mcp","version":"3.0.1","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.0.1","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"582ab08747de605b23174ce1c7e996bcb72611d1","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.0.1.tgz","fileCount":6,"integrity":"sha512-lcezcFPHvnz6u7TAcn7xstZGd/+EIT6J5rynPgC+tbpROhxuImmhOuo0Wl2Wdg+akR8jKZk9v5pCsWWq+csmQg==","signatures":[{"sig":"MEYCIQDMYBeUnmu5PXX2yqizj00T5d7+C7AwBp8k7HQydgQh3AIhAM4BQKyZ7nZdVOGb3nY9IBM7ySYR0tF6sKSn+9GqVXxY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":389065},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"2eec9064a330cc40d302639ad14e8d53e1d85827","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"bun run release:preflight && changeset publish","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"V3 PDF intelligence MCP server with smart Agent Document Twin extraction, focused evidence operations, OCR provenance, trust/accessibility reports, and benchmark-gated release proof.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.0.1_1782388675982_0.5381776853915274","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@sylphx/pdf-reader-mcp","version":"3.0.2","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.0.2","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://github.com/SylphxAI/pdf-reader-mcp#readme","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"2fb46c630a2dea6b4841a9f766b5005560d4e431","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.0.2.tgz","fileCount":6,"integrity":"sha512-PbP+Sa647QqfX9L7ibN0r2jZV1hz7l2SR1bRitlK7qkqInbYkTdI/+DxU1X15S4cLlL4zs2pmiyHxd6bRorRWQ==","signatures":[{"sig":"MEUCIQCSiODDhxn8epHejLHGMACkGL9kufrLKboZXBXBx46NDwIgPeTMK5Q8kGdTeM13vm5f1kZLQXmlDrQfn1GU0Q0XPYs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":389178},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"4ef6ad4f8788df9413a809b4b8ff07c1b801d244","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"bun run release:preflight && changeset publish","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"V3 PDF intelligence MCP server with smart Agent Document Twin extraction, focused evidence operations, OCR provenance, trust/accessibility reports, and benchmark-gated release proof.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.0.2_1782866493470_0.5799794304572676","host":"s3://npm-registry-packages-npm-production"}},"3.0.3":{"name":"@sylphx/pdf-reader-mcp","version":"3.0.3","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.0.3","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"8a4b62eecbaa378a4014ef5d4c91e76656d150c7","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.0.3.tgz","fileCount":6,"integrity":"sha512-L7DoKvopmvZ3lmS2+0zoTj24C31jd9aBHtjZdNV908KyTi/QfQB2CRhkmJfmW9ywnpUa/miPbHNHu+KHdVtadw==","signatures":[{"sig":"MEUCIQD2i0IjGiP5NO++UtXdQ+A9X/8/ChX8DeLC0HD03WZLFwIgXqLZEaBgvo+vWsZmedeoESGo4HHqI/NTp1niR7q/TU8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":389371},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"3fbc42d30dbbd3762cfcf3cc51b0f37a0ae8eb4b","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"bun run release:preflight && changeset publish","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"V3 PDF intelligence MCP server with smart Agent Document Twin extraction, focused evidence operations, OCR provenance, trust/accessibility reports, and benchmark-gated release proof.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.0.3_1782868435267_0.6981004491524692","host":"s3://npm-registry-packages-npm-production"}},"3.0.4":{"name":"@sylphx/pdf-reader-mcp","version":"3.0.4","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.0.4","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"f8b7063c481fd5097e11a1dd18198a1e679537b9","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.0.4.tgz","fileCount":13,"integrity":"sha512-9mb9spmkYMiAVS/pgDf1rq45ruif7yf90c+YzQOMqCd1cDrjBZWRel+02ALlIS1mjnL9YUI8tTbEmf79k0Q6zA==","signatures":[{"sig":"MEUCIF2BC+KPP+fzxqDmAHtEyumEL9yYMxqO3kZV+7wW/H9LAiEAxAR7kTtLIitZ8i6wY/PCdHHoJSNMi2mYJR9NI9fTf7w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":398645},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"4792fa553d59a38b6e2032c7185e999d80b7e178","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"bun run release:preflight && changeset publish","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"V3 PDF intelligence MCP server with smart Agent Document Twin extraction, focused evidence operations, OCR provenance, trust/accessibility reports, and benchmark-gated release proof.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.0.4_1782869776278_0.46694412786219197","host":"s3://npm-registry-packages-npm-production"}},"3.0.5":{"name":"@sylphx/pdf-reader-mcp","version":"3.0.5","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.0.5","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"fbd181fba158b32522acafb29dc00b32cd92fbfe","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.0.5.tgz","fileCount":13,"integrity":"sha512-PCL5zq350ukcIpuR2CjV8kE/f+Iskgv19sxmzG0X6K+lyQuiQNBRFILYozRMZF2GZl4jSFgrLojN1TFUtAc/8g==","signatures":[{"sig":"MEQCIGWgxqFvJWU30MJERnfRmWi4VLbl02NN8MOUWGvP9EszAiBhWZfqXNOsNpsnq9J66r0Tt38o3I5v1jLQy1MHBbxkGQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":398816},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"a3f7eed3e4d278ea5d114819c82bfca6d21e0251","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"bun run release:preflight && changeset publish","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"V3 PDF intelligence MCP server with smart Agent Document Twin extraction, focused evidence operations, OCR provenance, trust/accessibility reports, and benchmark-gated release proof.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.0.5_1782870822989_0.15824155335889412","host":"s3://npm-registry-packages-npm-production"}},"3.0.6":{"name":"@sylphx/pdf-reader-mcp","version":"3.0.6","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.0.6","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"164412ef78ff6dfc55b466064f17a8e38d2e74b5","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.0.6.tgz","fileCount":13,"integrity":"sha512-gq7vpD8meuN2d8MQWXuHAQby2xLhegBehdvoLB48Fl8uxpa8IimX5ogdRl+4HSTxwC5hz5DlEHWxbQRFJkCJpw==","signatures":[{"sig":"MEQCIGH+oRFLJa4xa+R+K0vIZII2mrZbaKYM+JC0fGeKmav+AiBdtNX4GR5nii1iiVbLyQLq8ia/U5MNuO7kVCul6qLeYg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":395850},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"e9286adf28cb0b1699238a6fb94669526914a046","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"bun run release:preflight && changeset publish","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"V3 PDF intelligence MCP server with smart Agent Document Twin extraction, focused evidence operations, OCR provenance, trust/accessibility reports, and benchmark-gated release proof.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.0.6_1782875315502_0.9375943136170528","host":"s3://npm-registry-packages-npm-production"}},"3.0.7":{"name":"@sylphx/pdf-reader-mcp","version":"3.0.7","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.0.7","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"4e9154e91dd71b1e918c244dff78fac1842a0b52","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.0.7.tgz","fileCount":13,"integrity":"sha512-Oa8XP/yAwgjNf3vgqq6IrZ5ZmK5dY0+aAMUs2TNu01JVoCEANBdUkWyJfWTACtojwvFO8uF/zulahhCF8EHilg==","signatures":[{"sig":"MEQCIEmnJGAUCFTv15K0JpAu0nhPTFaSK+CPQThDJCFvNQ1qAiBdQbGcdyLHXJq3hXsnG3Jt1g6PwcBVOs1pwTpSH1vdqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":395921},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"0cfe8d2e5cf57883d4793eceb6c7510cf163fc91","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"bun run release:preflight && changeset publish","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"V3 PDF intelligence MCP server with smart Agent Document Twin extraction, focused evidence operations, OCR provenance, trust/accessibility reports, and benchmark-gated release proof.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.0.7_1782879127497_0.15150704143540428","host":"s3://npm-registry-packages-npm-production"}},"3.0.8":{"name":"@sylphx/pdf-reader-mcp","version":"3.0.8","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.0.8","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"8500096902eeb6e9aa2a534fc27aa28ad766fd1b","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.0.8.tgz","fileCount":13,"integrity":"sha512-vUVPbzDRCDTvY0rSeC0btk72qECuFYLdRXy/x1vjwKs0UD7XjzA0YKh5vZVLCLdSeVHL5ZSaNw9cgtnR+q+tiQ==","signatures":[{"sig":"MEQCIDk41o8NZU11yM8TXkf7Kl1eWYQKothEUXV8Uh0zdmaaAiB6X6WYt2zqcYm7O9asUQSXP70vnx+8WLfFyu4rBxyHsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":395268},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"fe3f5daebe121b4c44f274d2d65d8f936ce5ca84","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"bun run release:preflight && changeset publish","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"V3 PDF intelligence MCP server with smart Agent Document Twin extraction, focused evidence operations, OCR provenance, trust/accessibility reports, and benchmark-gated release proof.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.0.8_1782880477691_0.08166416109134178","host":"s3://npm-registry-packages-npm-production"}},"3.0.9":{"name":"@sylphx/pdf-reader-mcp","version":"3.0.9","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.0.9","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"d68238be850b88eb56f694382884583b00082fa6","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.0.9.tgz","fileCount":13,"integrity":"sha512-Nuyc4i/ztrq9yJWxbrJ3OEDwVDBW86ia5AkoAzt0yBKMsP0OWhYk/srYqn/c3FuNoDCGn7eqL/zFQwE5bxn+yA==","signatures":[{"sig":"MEYCIQDHRkuFvyJyrHKOz0xverKQk4LhvxTIszfjvLMvmC030wIhAKuImswEpD25mvFq0/bzQ2dGedgY/dWtCcoPycSJUHXy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":395268},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"efb98675ae85f4475aeacebb321598aed648f028","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"bun run release:preflight && changeset publish","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"V3 PDF intelligence MCP server with smart Agent Document Twin extraction, focused evidence operations, OCR provenance, trust/accessibility reports, and benchmark-gated release proof.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.0.9_1782881674125_0.20761485120831646","host":"s3://npm-registry-packages-npm-production"}},"3.0.10":{"name":"@sylphx/pdf-reader-mcp","version":"3.0.10","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.0.10","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"7251efa41e1146b2652331d4a5ea2f70faaf061a","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.0.10.tgz","fileCount":13,"integrity":"sha512-izeCAp6K2d09tMcJa8OGfbDz+BBKSyqQ9JesSCTYT5t0/s9kWXVp16plqolnXlITP0yCw4ZT8pEGGJCKP77GJQ==","signatures":[{"sig":"MEUCIQDJok93OMZUq3EJN/IeKy0Aoo1JnJdm8NV5+v7+Zwh5dgIgHrYdZ96HDhCzBU6nZMXxR+34r6xPYT2MplD3qa1B1XI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":394459},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"58d40812e923e5ce3e7b6627906db848fb87c1aa","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"bun run release:preflight && changeset publish","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"V3 PDF intelligence MCP server with smart Agent Document Twin extraction, focused evidence operations, OCR provenance, trust/accessibility reports, and benchmark-gated release proof.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.0.10_1782883110384_0.0786501323263713","host":"s3://npm-registry-packages-npm-production"}},"3.0.11":{"name":"@sylphx/pdf-reader-mcp","version":"3.0.11","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.0.11","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"9b2d7b6d306e8284210942cd6f5a9324fe31438e","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.0.11.tgz","fileCount":13,"integrity":"sha512-KD5OnQIlS/WsLB11Q1ym/DiHhL1O4EbHaLM/XlqM2j4okN2ClJim7FtvmSzHJM3atQ9BgqoD+uQ3A0oLTKDIUA==","signatures":[{"sig":"MEYCIQCLre/TitoVwu115ZG2dYaDAUAhNMS0NE4ceY8muAUcLwIhAOb9N5zmQleB/MAmbSUusLBvedJZcvC71v+TtIg2qZn/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":397580},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"07f8bdb8d2d35eea09010ba02700d636a7c08d7d","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"bun run release:preflight && changeset publish","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"V3 PDF intelligence MCP server with smart Agent Document Twin extraction, focused evidence operations, OCR provenance, trust/accessibility reports, and benchmark-gated release proof.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.0.11_1783532935985_0.05736011705709365","host":"s3://npm-registry-packages-npm-production"}},"3.0.12":{"name":"@sylphx/pdf-reader-mcp","version":"3.0.12","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.0.12","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"2f45506ef087bc433c860da638d23dcf0296ecc4","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.0.12.tgz","fileCount":13,"integrity":"sha512-Yu1TQxCKDlQ/F9fFLIulobav+zc24Bv6undZgsIMFqVMhe+pyu6jPwPKLgqeweGaO+yaB+ik7s81TbOagCBC0Q==","signatures":[{"sig":"MEYCIQC8l47TA+fenuYVqx7mBXc2C00+7dLt/paY4lzKupGcvgIhAKsT+AKPe1AGOWoq0AX2L1MYgX8msKHR2Cjs9Gqs5vTQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":398521},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"670a3e9ba9b879684ec01d5da8c6bbdaa4f3aafa","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"bun run release:preflight && changeset publish","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"V3 PDF intelligence MCP server with smart Agent Document Twin extraction, focused evidence operations, OCR provenance, trust/accessibility reports, and benchmark-gated release proof.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.0.12_1783533965474_0.9941656095468263","host":"s3://npm-registry-packages-npm-production"}},"3.0.13":{"name":"@sylphx/pdf-reader-mcp","version":"3.0.13","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.0.13","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"bbcf00756b99cbee59a4298f678abebeaa3c84ef","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.0.13.tgz","fileCount":13,"integrity":"sha512-bHglzotaIPTNHlSEDZz3v8UOTa0jwEiHS66gYqsv/PI+dkE555vaceJ3m5eYCQ8+6FDhQCTZixQdrS0WAaGOkA==","signatures":[{"sig":"MEQCIEMAIbfLjgtGp1+8IsdoEewjLtQgN6vfEPLNA8cV2DTrAiA1LrN80+1JHd76IEbjlUfz71n2nnFcCFmZr7gp4n+VCQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":399155},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"e8bed55f584b391b5947168ace94d2b71b66c3c0","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"bun run release:preflight && changeset publish","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"V3 PDF intelligence MCP server with smart Agent Document Twin extraction, focused evidence operations, OCR provenance, trust/accessibility reports, and benchmark-gated release proof.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^6.0.3","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.0.13_1783535440239_0.41559904584608964","host":"s3://npm-registry-packages-npm-production"}},"3.0.14":{"name":"@sylphx/pdf-reader-mcp","version":"3.0.14","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.0.14","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"944624000c7d377a0dc1f9c3313e6f4fbdfb845f","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.0.14.tgz","fileCount":13,"integrity":"sha512-jY+Y4WN2K9stRt3HM3CBbAOj0Abx8k4c4LJI+Bp+hmAGYffyyfCjBcMoiJXqFyDJBHAw8QZK4ERU1eQU7UfPzw==","signatures":[{"sig":"MEYCIQDyWnZS2/Z4J75NCH9HZAIt7+Xo262mAeaJfZnXiuplWgIhAJ9HPerdJdjkPsvQSQgdVpNvp6NDFS4JRf9Ke0vX3+jX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":402169},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"92651c79c6ce8d10dfa3c76332176c26f222bd78","mcpName":"io.github.SylphxAI/pdf-reader-mcp","scripts":{"lint":"biome lint .","test":"bun test","build":"bunup --no-dts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"bun run release:preflight && changeset publish","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","typecheck":"tsc --noEmit","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"The most-starred PDF MCP server. Stop agent hallucinations on PDFs — one read_pdf call returns an Agent Document Twin with markdown, tables, trust reports, and source evidence (page + bbox). Local-first. Benchmark-gated.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^7.0.2","@types/node":"^25.9.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.0.14_1783544508371_0.1448539858258049","host":"s3://npm-registry-packages-npm-production"}},"3.0.15":{"name":"@sylphx/pdf-reader-mcp","version":"3.0.15","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.0.15","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"bin/pdf-reader-mcp"},"dist":{"shasum":"61b6008c2e6f2ddd53d94001f5f90ab7ee298688","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.0.15.tgz","fileCount":17,"integrity":"sha512-8ce46wiDBtDWmpKxI2KFqI4yz7hW/d/k+5wHmM7qFhONTQnGCDZVT6KTI52wOFA7LhdVLEZahGtuV2HJt8MbsQ==","signatures":[{"sig":"MEUCIEHy9444tsamMOpx9gtqItu2JiW3rcEaRL4d9fmJlykqAiEAnHbuuUdPgtxqDwVMxxL6njK3QPxIXYjO2stJEg5plus=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12546772},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/doctor-cli.js"},"gitHead":"1e576bd0937daeee570a44c84b787db5635dec91","mcpName":"io.github.SylphxAI/pdf-reader-mcp","scripts":{"lint":"biome lint .","test":"bun test --timeout=30000","build":"bun build src/doctor-cli.ts --outdir dist --target node && bun build src/legacy-engine-runtime.ts --outdir dist --target node","check":"biome check .","clean":"rm -rf dist coverage","start":"./bin/pdf-reader-mcp","watch":"tsc --watch","doctor":"bun run src/doctor-cli.ts","format":"biome format --write .","release":"bun run release:preflight && changeset publish","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage --timeout=30000","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector bin/pdf-reader-mcp","test:rust":"cargo test","typecheck":"tsc --noEmit","build:rust":"cargo build --release -p pdf-reader-core -p pdf-reader-cli -p pdf-reader-mcp-server && bun scripts/stage-rust-mcp.ts","docs:build":"vitepress build docs","test:watch":"bun test --watch --timeout=30000","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run build:rust && bun run package:smoke","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","sync:server-json":"bun scripts/sync-server-json.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run build:rust && bun run package:smoke && bun run test:cov && bun run check:ts-adapter-deleted && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","check:ts-adapter-deleted":"bash scripts/check-ts-adapter-deletion-ready.sh","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"The most-starred PDF MCP server. Stop agent hallucinations on PDFs — one read_pdf call returns an Agent Document Twin with markdown, tables, trust reports, and source evidence (page + bbox). Local-first. Benchmark-gated.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^7.0.2","@types/node":"^26.1.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.0.15_1784321576757_0.6984201142464572","host":"s3://npm-registry-packages-npm-production"}},"3.0.16":{"name":"@sylphx/pdf-reader-mcp","version":"3.0.16","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.0.16","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"ea26f2b3dfa17fd5a3f0b8ac92aeec4013f7c9d2","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.0.16.tgz","fileCount":18,"integrity":"sha512-dSPfl0KcRY1CMU9Dc4AYHhRMMpiCXHzmKCSxhLWr2a7dZ2jexYUPfTHmRWTe9Rb7C2DQbc+1YXnQH/Hyig3IUw==","signatures":[{"sig":"MEQCIBzmpEugX/Tdm1F2T0GwfBEb+fKJgn16Eig8YKB/LXDNAiBm/cZlujVU/DV+5nsLTGVOPTBKPoVSC7WrFbwFB4t2Vg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15032416},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"cd548d65324aa2bd05288acbbbf4125e9e17ecbd","mcpName":"io.github.SylphxAI/pdf-reader-mcp","scripts":{"lint":"biome lint .","test":"bun test --timeout=30000","build":"bun build src/index.ts --outdir dist --target node && bun build src/doctor-cli.ts --outdir dist --target node && bun build src/legacy-engine-runtime.ts --outdir dist --target node","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","doctor":"bun run src/doctor-cli.ts","format":"biome format --write .","release":"bun run release:preflight && changeset publish","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage --timeout=30000","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","test:rust":"cargo test","typecheck":"tsc --noEmit","build:rust":"cargo build --release -p pdf-reader-core -p pdf-reader-cli -p pdf-reader-mcp-server && bun scripts/stage-rust-mcp.ts","docs:build":"vitepress build docs","test:watch":"bun test --watch --timeout=30000","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","sync:server-json":"bun scripts/sync-server-json.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"The most-starred PDF MCP server. Stop agent hallucinations on PDFs — one read_pdf call returns an Agent Document Twin with markdown, tables, trust reports, and source evidence (page + bbox). Local-first. Benchmark-gated.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^7.0.2","@types/node":"^26.1.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.0.16_1784322761897_0.9009108884390729","host":"s3://npm-registry-packages-npm-production"}},"3.0.17":{"name":"@sylphx/pdf-reader-mcp","version":"3.0.17","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.0.17","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"bin/pdf-reader-mcp"},"dist":{"shasum":"5304d9afd7f005b1edea5ebe94fa46368e01db1b","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.0.17.tgz","fileCount":20,"integrity":"sha512-wWFvMTDIHEBeYjzUQ/sBfOT64lqpAgcEPYdc1Pn/McferCnT50p2pzao+lkNsQKaUvOiAoGpWG1myvlxoAJAJw==","signatures":[{"sig":"MEYCIQCkl5k9apKVYuR/kPLs9S2pdO0kQNDpetixP8RqcZKktwIhAJ0roZQVkkbKB/kFV+2TeS8NXEV2/axHz/qzADaiCtW7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18439039},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"f3846685247eaa2b5c9567fef3bbbcc32e829714","mcpName":"io.github.SylphxAI/pdf-reader-mcp","scripts":{"lint":"biome lint .","test":"bun test --timeout=30000","build":"bun build src/index.ts --outdir dist --target node && bun build src/doctor-cli.ts --outdir dist --target node && bun build src/legacy-engine-runtime.ts --outdir dist --target node && bun scripts/stage-pdfjs-worker.ts","check":"biome check .","clean":"rm -rf dist coverage","start":"./bin/pdf-reader-mcp","watch":"tsc --watch","doctor":"bun run src/doctor-cli.ts","format":"biome format --write .","release":"bun run release:preflight && changeset publish","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage --timeout=30000","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","test:rust":"cargo test","typecheck":"tsc --noEmit","build:rust":"cargo build --release -p pdf-reader-core -p pdf-reader-cli -p pdf-reader-mcp-server && bun scripts/stage-rust-mcp.ts","docs:build":"vitepress build docs","test:watch":"bun test --watch --timeout=30000","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run build:rust && bun run package:smoke","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","sync:server-json":"bun scripts/sync-server-json.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run build:rust && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"The most-starred PDF MCP server. Stop agent hallucinations on PDFs — one read_pdf call returns an Agent Document Twin with markdown, tables, trust reports, and source evidence (page + bbox). Local-first. Benchmark-gated.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^7.0.2","@types/node":"^26.1.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.0.17_1784326866622_0.4727458663841977","host":"s3://npm-registry-packages-npm-production"}},"3.0.18":{"name":"@sylphx/pdf-reader-mcp","version":"3.0.18","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.0.18","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"bin/pdf-reader-mcp"},"dist":{"shasum":"ca3108324507656585d76b49396c7dba231f6513","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.0.18.tgz","fileCount":20,"integrity":"sha512-yeojdazSJv1Ytkfu8FMrznqSB3tYS96kz/xLCu2hxserGfG0jr/23rmTL2gn92Oai2Rn1dza56qdIK70YxfNRQ==","signatures":[{"sig":"MEUCIFm8trFktSmWjErRbWxO4DwyLzroXevhE91INpypupwhAiEAht981dwajrjcFqfsk9sY86HtR1/RYx+X19RcCZ7f2IA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18440663},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js"},"gitHead":"571ab7832a04a2a247a690ad78cfc9d29af786f4","mcpName":"io.github.SylphxAI/pdf-reader-mcp","scripts":{"lint":"biome lint .","test":"bun test --timeout=30000","build":"bun build src/index.ts --outdir dist --target node && bun build src/doctor-cli.ts --outdir dist --target node && bun build src/legacy-engine-runtime.ts --outdir dist --target node && bun scripts/stage-pdfjs-worker.ts","check":"biome check .","clean":"rm -rf dist coverage","start":"./bin/pdf-reader-mcp","watch":"tsc --watch","doctor":"bun run src/doctor-cli.ts","format":"biome format --write .","release":"bun run release:preflight && changeset publish","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage --timeout=30000","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","test:rust":"cargo test","typecheck":"tsc --noEmit","build:rust":"cargo build --release -p pdf-reader-core -p pdf-reader-cli -p pdf-reader-mcp-server && bun scripts/stage-rust-mcp.ts","docs:build":"vitepress build docs","test:watch":"bun test --watch --timeout=30000","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run build:rust && bun run package:smoke && bun run check:production-contract","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","sync:server-json":"bun scripts/sync-server-json.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run build:rust && bun run package:smoke && bun run check:production-contract && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","test:production-contract":"bun scripts/check-production-contract.ts","check:production-contract":"bun scripts/check-production-contract.ts","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"The most-starred PDF MCP server. Stop agent hallucinations on PDFs — one read_pdf call returns an Agent Document Twin with markdown, tables, trust reports, and source evidence (page + bbox). Local-first. Benchmark-gated.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^7.0.2","@types/node":"^26.1.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.0.18_1784328306779_0.6368651263410068","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@sylphx/pdf-reader-mcp","version":"3.1.0","keywords":["mcp","model-context-protocol","pdf","reader","parser","rust","native","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.1.0","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"bin/pdf-reader-mcp"},"dist":{"shasum":"95aba911cbd0aa7c99100a9f5183ca0bb1e96f70","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.1.0.tgz","fileCount":15,"integrity":"sha512-XFUb8z5KBCmPSWGZDW83qtiwcGzMGysVj5CFpmnC7aODjEbdp7KcWadEje2Cusf3qLPW6It5rzVLepLGEPiNWg==","signatures":[{"sig":"MEYCIQCelTxK+BQz512x1bMRWGxeA6AxPRzTJFmM8Vr99ODqGAIhAOAIKdY5Ov/BQ05npJxB3/QkzITcTErPoCUlS6wCHhQT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11602089},"type":"module","engines":{"node":">=22.13.0"},"gitHead":"f23f7fb9dcda1a7e5e4fa48b964652daae50193b","mcpName":"io.github.SylphxAI/pdf-reader-mcp","scripts":{"lint":"biome lint .","test":"bun test --timeout=30000","build":"bun build src/index.ts --outdir dist --target node && bun build src/doctor-cli.ts --outdir dist --target node && bun build src/legacy-engine-runtime.ts --outdir dist --target node && bun scripts/stage-pdfjs-worker.ts","check":"biome check .","clean":"rm -rf dist coverage","start":"./bin/pdf-reader-mcp","watch":"tsc --watch","doctor":"bun run src/doctor-cli.ts","format":"biome format --write .","release":"bun run release:preflight && npm publish --access public","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage --timeout=30000","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","test:rust":"cargo test","typecheck":"tsc --noEmit","build:rust":"cargo build --release -p pdf-reader-core -p pdf-reader-cli -p pdf-reader-mcp-server && bun scripts/stage-rust-mcp.ts","docs:build":"vitepress build docs","test:watch":"bun test --watch --timeout=30000","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run build:rust && bun run package:smoke && bun run check:production-contract","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","sync:server-json":"bun scripts/sync-server-json.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run build:rust && cargo test --workspace && bun run package:smoke && bun run check:production-contract && bun test test/architectureContract.test.ts test/check-no-ts-stdio-backend.test.ts test/stdioTransport.matrix.test.ts test/httpTransport.matrix.test.ts test/rustMcp.boundary.test.ts test/tsAdapterDeletion.matrix.test.ts test/shippedPath.matrix.test.ts test/production/productionPath.contract.test.ts --timeout=600000","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","test:production-contract":"bun scripts/check-production-contract.ts","check:production-contract":"bun scripts/check-production-contract.ts","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Pure-Rust PDF MCP server. read_pdf, search_pdf, and pdf_evidence (inspect) with SSRF-safe URL loading. Local-first. Fast native binary.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^7.0.2","@types/node":"^26.1.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.1.0_1784329577520_0.07718603776181365","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"@sylphx/pdf-reader-mcp","version":"3.1.1","keywords":["mcp","model-context-protocol","pdf","reader","parser","rust","native","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.1.1","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"bin/pdf-reader-mcp"},"dist":{"shasum":"db0ed5dc54b1d59d703546ae3a381e167e78d5d9","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.1.1.tgz","fileCount":15,"integrity":"sha512-1siVYVM+b6jIyNxiRWnApCaHrLYUCKEa/JpZcDv0uNl7XsKE2E/9ZJneNL5P7Dj7se2Qec1f+smSGNxiMHvE2A==","signatures":[{"sig":"MEUCIDnHqxNsrEuq2xJKTkkLuGzlEagNENea0sBbdKGmVePmAiEA0fk72UJZlUllhWyEtUkDBD4EOp8OHq4HFyRa31IidMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11762150},"type":"module","engines":{"node":">=22.13.0"},"gitHead":"5245691ac3eaba788f79ae2a245f48a087363771","mcpName":"io.github.SylphxAI/pdf-reader-mcp","scripts":{"lint":"biome lint .","test":"bun test --timeout=30000","build":"bun build src/index.ts --outdir dist --target node && bun build src/doctor-cli.ts --outdir dist --target node && bun build src/legacy-engine-runtime.ts --outdir dist --target node && bun scripts/stage-pdfjs-worker.ts","check":"biome check .","clean":"rm -rf dist coverage","start":"./bin/pdf-reader-mcp","watch":"tsc --watch","doctor":"bun run src/doctor-cli.ts","format":"biome format --write .","release":"bun run release:preflight && npm publish --access public","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage --timeout=30000","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","test:rust":"cargo test","typecheck":"tsc --noEmit","build:rust":"cargo build --release -p pdf-reader-core -p pdf-reader-cli -p pdf-reader-mcp-server && bun scripts/stage-rust-mcp.ts","docs:build":"vitepress build docs","test:watch":"bun test --watch --timeout=30000","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run build:rust && bun run package:smoke && bun run check:production-contract","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","sync:server-json":"bun scripts/sync-server-json.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run build:rust && cargo test --workspace && bun run package:smoke && bun run check:production-contract && bun test test/architectureContract.test.ts test/check-no-ts-stdio-backend.test.ts test/stdioTransport.matrix.test.ts test/httpTransport.matrix.test.ts test/rustMcp.boundary.test.ts test/tsAdapterDeletion.matrix.test.ts test/shippedPath.matrix.test.ts test/production/productionPath.contract.test.ts --timeout=600000","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:pure-rust":"bun scripts/benchmark-pure-rust.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","test:capability-parity":"bun test test/production/capabilityParity.contract.test.ts --timeout=600000","test:production-contract":"bun scripts/check-production-contract.ts","check:production-contract":"bun scripts/check-production-contract.ts","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Pure-Rust PDF MCP server with full Agent Document Twin capabilities. Install via npm or cargo.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^7.0.2","@types/node":"^26.1.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.1.1_1784330541960_0.6669087377864991","host":"s3://npm-registry-packages-npm-production"}},"3.1.2":{"name":"@sylphx/pdf-reader-mcp","version":"3.1.2","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.1.2","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"dcdbeea0b4f2d2c2b42e1013d60a03bb3d64774f","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.1.2.tgz","fileCount":18,"integrity":"sha512-fZtM21wSuulbBIdjYtMl9pTyzO4KfLiuV6faeCJBNL4gJzvOtraDvEzmaBe5AuARw76zJCL+ogP8suH9o3OyFQ==","signatures":[{"sig":"MEYCIQDn1Eayy9flLszHKgcp98TxNIuHu7B2yA0PuqdX97fKnAIhAPqKfuyET/McoD4tX/KsbIYBalleXepehZtVFdiBQ2jP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9287189},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js","./pure-rust":"./dist/pure-rust.js"},"gitHead":"2458ff21228405761403428a964acc51f1bdb9a3","mcpName":"io.github.SylphxAI/pdf-reader-mcp","scripts":{"lint":"biome lint .","test":"bun test","build":"bun build src/index.ts --outdir dist --target node && bun build src/doctor-cli.ts --outdir dist --target node && bun build src/legacy-engine-runtime.ts --outdir dist --target node && bun build src/pure-rust.ts --outdir dist --target node && bun scripts/stage-pdfjs-worker.ts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"echo \"PUBLISH FREEZE: refusing release until capability parity is approved\" && exit 1","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage --timeout=30000","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","test:rust":"cargo test","typecheck":"tsc --noEmit","build:rust":"cargo build --release -p pdf-reader-core -p pdf-reader-cli -p pdf-reader-mcp-server && bun scripts/stage-rust-mcp.ts","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","native:platform":"bun scripts/native/platform-package-map.ts","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","sync:server-json":"bun scripts/sync-server-json.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:pure-rust":"bun scripts/benchmark-pure-rust.ts","native:assert-ready":"bun scripts/native/assert-native-packages-ready.ts","test:agent-task-eval":"bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline","test:ts-vs-rust-text":"bun scripts/differential/ts-vs-rust-text-oracle.ts","native:sync-manifests":"bun scripts/native/sync-native-package-manifests.ts","smoke:native-launcher":"bun scripts/smoke-native-launcher.ts","test:agent-task-smoke":"bun scripts/run-agent-task-smoke.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","check:pure-rust-matrix":"bun scripts/check-pure-rust-matrix.ts","test:capability-parity":"bun test test/production/capabilityParity.contract.test.ts --timeout=600000","test:pure-rust-exports":"bun test test/pure-rust-exports.test.ts","check:agent-task-corpus":"bun scripts/check-agent-task-corpus.ts","check:pure-rust-exports":"bun scripts/check-pure-rust-exports.ts","check:semantic-contracts":"bun scripts/check-semantic-contracts.ts","test:native-platform-map":"bun test test/native-platform-package-map.test.ts","check:production-contract":"bun scripts/check-production-contract.ts","validate:pure-rust-claimed":"bun run check:pure-rust-matrix && bun run check:semantic-contracts && bun run check:agent-task-corpus && bun run test:ts-vs-rust-text && bun run test:v3014-behavior-differential && bun run test:v3014-structure-differential && bun run test:v3014-text-layer-differential && bun run test:v3014-citation-chunk-differential && bun run test:v3014-semantic-hint-differential && bun run test:v3014-document-ast-differential && bun run test:v3014-document-map-differential && bun run test:v3014-trust-report-differential && bun run test:v3014-selectable-table-differential && bun run test:v3014-caption-link-differential && bun run test:v3014-search-semantic-differential && bun run test:v3014-lowercase-index-differential && bun run test:v3014-selectable-text-segmentation-differential && bun run test:v3014-ocr-search-differential && bun run test:v3014-raster-image-differential && bun run test:v3014-visual-candidate-differential && bun run test:v3014-visual-fusion-differential && bun run test:v3014-document-ast-visual-fusion-differential && bun run test:v3014-read-ocr-differential && bun run test:v3014-read-ocr-residual-differential && bun run test:v3014-ocr-tsv-differential && bun run test:v3014-ocr-table-merge-differential && bun run test:v3014-ocr-search-residual-differential && bun run test:v3014-ocr-search-interleave-differential && bun run test:v3014-url-single-fetch-differential && bun run test:v3014-ocr-search-tsv-differential && bun run test:v3014-search-multiword-geometry-differential && bun run test:v3014-form-residual-differential && bun run test:v3014-form-radio-group-differential && bun run test:v3014-attachment-residual-differential && bun run test:v3014-markinfo-residual-differential && bun run test:v3014-form-parent-child-differential && bun run test:v3014-annotation-residual-differential && bun run test:v3014-annotation-dest-residual-differential && bun run test:v3014-annotation-action-dest-residual-differential && bun run test:v3014-annotation-action-precedence-residual-differential && bun run test:v3014-info-flags-residual-differential && bun run test:v3014-page-geometry-residual-differential && bun run test:v3014-page-labels-residual-differential && bun run test:v3014-outline-residual-differential && bun run test:v3014-permissions-residual-differential && bun run test:v3014-metadata-presence-residual-differential && bun run test:v3014-info-extras-residual-differential && bun run test:v3014-encrypt-filter-residual-differential && bun run test:v3014-linearized-residual-differential && bun run test:v3014-form-flags-residual-differential && bun run test:v3014-text-annotation-residual-differential && bun run test:v3014-remote-action-residual-differential && bun run test:v3014-popup-annotation-residual-differential && bun run test:v3014-popup-zero-size-residual-differential && bun run test:v3014-popup-group-irt-residual-differential && bun run test:v3014-text-appearance-residual-differential && bun run test:v3014-text-named-appearance-residual-differential && bun run test:v3014-text-inverted-rect-residual-differential && bun run test:v3014-remote-named-dest-residual-differential && bun run test:v3014-page-labels-kids-residual-differential && bun run test:v3014-form-button-array-residual-differential && bun run test:v3014-form-button-default-off-residual-differential && bun run test:v3014-form-pushbutton-default-null-residual-differential && bun run test:v3014-form-checkbox-as-value-residual-differential && bun run test:v3014-form-checkbox-export-normalize-residual-differential && bun run test:v3014-form-radio-as-no-override-residual-differential && bun run test:v3014-form-checkbox-multi-export-residual-differential && bun run test:v3014-form-checkbox-multi-export-many-residual-differential && bun run test:v3014-form-checkbox-export-empty-single-residual-differential && bun run test:v3014-form-checkbox-malformed-ap-residual-differential && bun run test:v3014-form-radio-malformed-ap-residual-differential && bun run test:v3014-form-radio-parent-kids-ap-residual-differential && bun run test:v3014-form-radio-deeper-kids-ap-residual-differential && bun run test:v3014-form-radio-broken-parent-chain-residual-differential && bun run test:v3014-attachment-odd-names-residual-differential && bun run test:v3014-attachment-dupkids-residual-differential && bun run test:v3014-form-utf16-text-residual-differential && bun run test:v3014-utf16-text-residual-differential && bun run test:v3014-text-invalid-as-residual-differential && bun run test:v3014-line-annotation-residual-differential && bun run test:v3014-polyline-polygon-residual-differential && bun run test:v3014-ink-annotation-residual-differential && bun run test:v3014-border-width-clamp-residual-differential && bun run test:v3014-border-array-width-residual-differential && bun run test:v3014-border-bs-preference-residual-differential && bun run test:v3014-border-bs-nondict-residual-differential && bun run test:v3014-border-array-short-residual-differential && bun run test:v3014-border-bs-wrong-type-residual-differential && bun run test:v3014-border-zero-size-clamp-bypass-residual-differential && bun run test:v3014-annotation-appearance-bbox-residual-differential && bun run test:v3014-annotation-ap-nonstream-residual-differential && bun run test:v3014-annotation-ap-named-state-residual-differential && bun run test:v3014-annotation-ap-named-state-polyline-ink-residual-differential && bun run test:v3014-annotation-ap-named-state-square-circle-residual-differential && bun run test:v3014-annotation-highlight-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-with-ap-residual-differential && bun run test:v3014-annotation-stamp-caret-file-residual-differential && bun run test:v3014-annotation-square-circle-widget-residual-differential && bun run test:v3014-annotation-link-uri-normalize-residual-differential && bun run test:v3014-annotation-freetext-rect-residual-differential && bun run test:v3014-annotation-link-uri-name-residual-differential && bun run test:v3014-annotation-link-aa-action-residual-differential && bun run test:v3014-annotation-link-aa-precedence-residual-differential && cargo test -p pdf-reader-core --lib && cargo test -p pdf-reader-mcp-server --lib && bun run test:v3014-form-text-multiline-residual-differential && bun run test:v3014-annotation-contents-multiline-residual-differential && bun run test:v3014-outline-cycle-residual-differential && bun run test:v3014-outline-named-dest-residual-differential && bun run test:v3014-outline-gotor-residual-differential && bun run test:v3014-outline-launch-residual-differential && bun run test:v3014-outline-relative-remote-residual-differential && bun run test:v3014-info-trapped-custom-residual-differential && bun run test:v3014-page-geometry-inheritance-residual-differential && bun run test:v3014-page-geometry-depth-clamp-residual-differential && bun run test:v3014-page-geometry-userunit-multipage-residual-differential","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","native:stage-from-artifacts":"bun scripts/native/stage-native-artifacts.ts","test:agent-task-public-eval":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline --public","check:registry-install-proof":"bun scripts/check-registry-install-proof.ts","release:publish-with-natives":"bun scripts/release-publish-with-natives.ts","smoke:native-package-resolve":"bun scripts/smoke-native-package-resolve.ts","test:agent-task-public-smoke":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-smoke.ts --public","test:agent-task-eval:baseline":"bun scripts/run-agent-task-eval.ts --runtime=typescript --write-baseline --no-compare","test:agent-task-eval:calibrate":"bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline","test:v3014-ocr-tsv-differential":"bun scripts/differential/check-v3014-ocr-tsv-differential.ts","test:v3014-behavior-differential":"bun scripts/differential/check-v3014-behavior-differential.ts","test:v3014-read-ocr-differential":"bun scripts/differential/check-v3014-read-ocr-differential.ts","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts","test:v3014-structure-differential":"bun scripts/differential/check-v3014-structure-differential.ts","check:verified-candidate-admission":"bun scripts/check-verified-candidate-admission.ts","test:v3014-ocr-search-differential":"bun scripts/differential/check-v3014-ocr-search-differential.ts","test:v3014-text-layer-differential":"bun scripts/differential/check-v3014-text-layer-differential.ts","test:v3014-caption-link-differential":"bun scripts/differential/check-v3014-caption-link-differential.ts","test:v3014-document-ast-differential":"bun scripts/differential/check-v3014-document-ast-differential.ts","test:v3014-document-map-differential":"bun scripts/differential/check-v3014-document-map-differential.ts","test:v3014-raster-image-differential":"bun scripts/differential/check-v3014-raster-image-differential.ts","test:v3014-trust-report-differential":"bun scripts/differential/check-v3014-trust-report-differential.ts","test:agent-task-public-eval:calibrate":"MCP_PDF_AGENT_TASK_PUBLIC=true MCP_PDF_CORPUS_ALLOW_DOWNLOADS=true bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline --public --allow-corpus-downloads","test:v3014-form-residual-differential":"bun scripts/differential/check-v3014-form-residual-differential.ts","test:v3014-semantic-hint-differential":"bun scripts/differential/check-v3014-semantic-hint-differential.ts","test:v3014-visual-fusion-differential":"bun scripts/differential/check-v3014-visual-fusion-differential.ts","test:v3014-citation-chunk-differential":"bun scripts/differential/check-v3014-citation-chunk-differential.ts","test:v3014-ocr-search-tsv-differential":"bun scripts/differential/check-v3014-ocr-search-tsv-differential.ts","test:v3014-lowercase-index-differential":"bun scripts/differential/check-v3014-lowercase-index-differential.ts","test:v3014-ocr-table-merge-differential":"bun scripts/differential/check-v3014-ocr-table-merge-differential.ts","test:v3014-search-semantic-differential":"bun scripts/differential/check-v3014-search-semantic-differential.ts","test:v3014-form-radio-group-differential":"bun scripts/differential/check-v3014-form-radio-group-differential.ts","test:v3014-outline-residual-differential":"bun scripts/differential/check-v3014-outline-residual-differential.ts","test:v3014-selectable-table-differential":"bun scripts/differential/check-v3014-selectable-table-differential.ts","test:v3014-url-single-fetch-differential":"bun scripts/differential/check-v3014-url-single-fetch-differential.ts","test:v3014-visual-candidate-differential":"bun scripts/differential/check-v3014-visual-candidate-differential.ts","test:v3014-form-parent-child-differential":"bun scripts/differential/check-v3014-form-parent-child-differential.ts","test:v3014-markinfo-residual-differential":"bun scripts/differential/check-v3014-markinfo-residual-differential.ts","test:v3014-read-ocr-residual-differential":"bun scripts/differential/check-v3014-read-ocr-residual-differential.ts","test:v3014-annotation-residual-differential":"bun scripts/differential/check-v3014-annotation-residual-differential.ts","test:v3014-attachment-residual-differential":"bun scripts/differential/check-v3014-attachment-residual-differential.ts","test:v3014-form-flags-residual-differential":"bun scripts/differential/check-v3014-form-flags-residual-differential.ts","test:v3014-info-flags-residual-differential":"bun scripts/differential/check-v3014-info-flags-residual-differential.ts","test:v3014-linearized-residual-differential":"bun scripts/differential/check-v3014-linearized-residual-differential.ts","test:v3014-ocr-search-residual-differential":"bun scripts/differential/check-v3014-ocr-search-residual-differential.ts","test:v3014-utf16-text-residual-differential":"bun scripts/differential/check-v3014-utf16-text-residual-differential.ts","test:v3014-info-extras-residual-differential":"bun scripts/differential/check-v3014-info-extras-residual-differential.ts","test:v3014-page-labels-residual-differential":"bun scripts/differential/check-v3014-page-labels-residual-differential.ts","test:v3014-permissions-residual-differential":"bun scripts/differential/check-v3014-permissions-residual-differential.ts","test:v3014-ocr-search-interleave-differential":"bun scripts/differential/check-v3014-ocr-search-interleave-differential.ts","test:v3014-outline-cycle-residual-differential":"bun scripts/differential/check-v3014-outline-cycle-residual-differential.ts","test:v3014-outline-gotor-residual-differential":"bun scripts/differential/check-v3014-outline-gotor-residual-differential.ts","test:v3014-page-geometry-residual-differential":"bun scripts/differential/check-v3014-page-geometry-residual-differential.ts","test:v3014-remote-action-residual-differential":"bun scripts/differential/check-v3014-remote-action-residual-differential.ts","test:v3014-encrypt-filter-residual-differential":"bun scripts/differential/check-v3014-encrypt-filter-residual-differential.ts","test:v3014-ink-annotation-residual-differential":"bun scripts/differential/check-v3014-ink-annotation-residual-differential.ts","test:v3014-outline-launch-residual-differential":"bun scripts/differential/check-v3014-outline-launch-residual-differential.ts","test:v3014-annotation-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-dest-residual-differential.ts","test:v3014-form-utf16-text-residual-differential":"bun scripts/differential/check-v3014-form-utf16-text-residual-differential.ts","test:v3014-line-annotation-residual-differential":"bun scripts/differential/check-v3014-line-annotation-residual-differential.ts","test:v3014-popup-group-irt-residual-differential":"bun scripts/differential/check-v3014-popup-group-irt-residual-differential.ts","test:v3014-popup-zero-size-residual-differential":"bun scripts/differential/check-v3014-popup-zero-size-residual-differential.ts","test:v3014-text-annotation-residual-differential":"bun scripts/differential/check-v3014-text-annotation-residual-differential.ts","test:v3014-text-appearance-residual-differential":"bun scripts/differential/check-v3014-text-appearance-residual-differential.ts","test:v3014-text-invalid-as-residual-differential":"bun scripts/differential/check-v3014-text-invalid-as-residual-differential.ts","test:v3014-page-labels-kids-residual-differential":"bun scripts/differential/check-v3014-page-labels-kids-residual-differential.ts","test:v3014-polyline-polygon-residual-differential":"bun scripts/differential/check-v3014-polyline-polygon-residual-differential.ts","test:v3014-popup-annotation-residual-differential":"bun scripts/differential/check-v3014-popup-annotation-residual-differential.ts","test:v3014-search-multiword-geometry-differential":"bun scripts/differential/check-v3014-search-multiword-geometry-differential.ts","test:v3014-border-bs-nondict-residual-differential":"bun scripts/differential/check-v3014-border-bs-nondict-residual-differential.ts","test:v3014-document-ast-visual-fusion-differential":"bun scripts/differential/check-v3014-document-ast-visual-fusion-differential.ts","test:v3014-form-button-array-residual-differential":"bun scripts/differential/check-v3014-form-button-array-residual-differential.ts","test:v3014-metadata-presence-residual-differential":"bun scripts/differential/check-v3014-metadata-presence-residual-differential.ts","test:v3014-remote-named-dest-residual-differential":"bun scripts/differential/check-v3014-remote-named-dest-residual-differential.ts","test:v3014-attachment-dupkids-residual-differential":"bun scripts/differential/check-v3014-attachment-dupkids-residual-differential.ts","test:v3014-border-array-short-residual-differential":"bun scripts/differential/check-v3014-border-array-short-residual-differential.ts","test:v3014-border-array-width-residual-differential":"bun scripts/differential/check-v3014-border-array-width-residual-differential.ts","test:v3014-border-width-clamp-residual-differential":"bun scripts/differential/check-v3014-border-width-clamp-residual-differential.ts","test:v3014-outline-named-dest-residual-differential":"bun scripts/differential/check-v3014-outline-named-dest-residual-differential.ts","test:v3014-text-inverted-rect-residual-differential":"bun scripts/differential/check-v3014-text-inverted-rect-residual-differential.ts","test:v3014-form-text-multiline-residual-differential":"bun scripts/differential/check-v3014-form-text-multiline-residual-differential.ts","test:v3014-info-trapped-custom-residual-differential":"bun scripts/differential/check-v3014-info-trapped-custom-residual-differential.ts","test:v3014-selectable-text-segmentation-differential":"bun scripts/differential/check-v3014-selectable-text-segmentation-differential.ts","test:v3014-attachment-odd-names-residual-differential":"bun scripts/differential/check-v3014-attachment-odd-names-residual-differential.ts","test:v3014-border-bs-preference-residual-differential":"bun scripts/differential/check-v3014-border-bs-preference-residual-differential.ts","test:v3014-border-bs-wrong-type-residual-differential":"bun scripts/differential/check-v3014-border-bs-wrong-type-residual-differential.ts","test:v3014-text-named-appearance-residual-differential":"bun scripts/differential/check-v3014-text-named-appearance-residual-differential.ts","test:v3014-annotation-action-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-action-dest-residual-differential.ts","test:v3014-form-checkbox-as-value-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-as-value-residual-differential.ts","test:v3014-annotation-ap-nonstream-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-nonstream-residual-differential.ts","test:v3014-form-button-default-off-residual-differential":"bun scripts/differential/check-v3014-form-button-default-off-residual-differential.ts","test:v3014-form-radio-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-malformed-ap-residual-differential.ts","test:v3014-outline-relative-remote-residual-differential":"bun scripts/differential/check-v3014-outline-relative-remote-residual-differential.ts","test:v3014-annotation-freetext-rect-residual-differential":"bun scripts/differential/check-v3014-annotation-freetext-rect-residual-differential.ts","test:v3014-annotation-link-uri-name-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-name-residual-differential.ts","test:v3014-annotation-ap-named-state-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-residual-differential.ts","test:v3014-annotation-link-aa-action-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-action-residual-differential.ts","test:v3014-form-radio-as-no-override-residual-differential":"bun scripts/differential/check-v3014-form-radio-as-no-override-residual-differential.ts","test:v3014-form-radio-deeper-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-deeper-kids-ap-residual-differential.ts","test:v3014-form-radio-parent-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-parent-kids-ap-residual-differential.ts","test:v3014-page-geometry-depth-clamp-residual-differential":"bun scripts/differential/check-v3014-page-geometry-depth-clamp-residual-differential.ts","test:v3014-page-geometry-inheritance-residual-differential":"bun scripts/differential/check-v3014-page-geometry-inheritance-residual-differential.ts","test:v3014-annotation-appearance-bbox-residual-differential":"bun scripts/differential/check-v3014-annotation-appearance-bbox-residual-differential.ts","test:v3014-form-checkbox-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-malformed-ap-residual-differential.ts","test:v3014-form-checkbox-multi-export-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-residual-differential.ts","test:v3014-annotation-stamp-caret-file-residual-differential":"bun scripts/differential/check-v3014-annotation-stamp-caret-file-residual-differential.ts","test:v3014-annotation-action-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-action-precedence-residual-differential.ts","test:v3014-form-pushbutton-default-null-residual-differential":"bun scripts/differential/check-v3014-form-pushbutton-default-null-residual-differential.ts","test:v3014-annotation-contents-multiline-residual-differential":"bun scripts/differential/check-v3014-annotation-contents-multiline-residual-differential.ts","test:v3014-annotation-link-aa-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-precedence-residual-differential.ts","test:v3014-annotation-link-uri-normalize-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-normalize-residual-differential.ts","test:v3014-border-zero-size-clamp-bypass-residual-differential":"bun scripts/differential/check-v3014-border-zero-size-clamp-bypass-residual-differential.ts","test:v3014-annotation-text-markup-with-ap-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-with-ap-residual-differential.ts","test:v3014-form-checkbox-export-normalize-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-normalize-residual-differential.ts","test:v3014-form-radio-broken-parent-chain-residual-differential":"bun scripts/differential/check-v3014-form-radio-broken-parent-chain-residual-differential.ts","test:v3014-annotation-highlight-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-highlight-quadpoints-residual-differential.ts","test:v3014-annotation-square-circle-widget-residual-differential":"bun scripts/differential/check-v3014-annotation-square-circle-widget-residual-differential.ts","test:v3014-form-checkbox-multi-export-many-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-many-residual-differential.ts","test:v3014-page-geometry-userunit-multipage-residual-differential":"bun scripts/differential/check-v3014-page-geometry-userunit-multipage-residual-differential.ts","test:v3014-annotation-text-markup-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-quadpoints-residual-differential.ts","test:v3014-form-checkbox-export-empty-single-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-empty-single-residual-differential.ts","test:v3014-annotation-ap-named-state-polyline-ink-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-polyline-ink-residual-differential.ts","test:v3014-annotation-ap-named-state-square-circle-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-square-circle-residual-differential.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Evidence-first PDF MCP. Published stable is 3.0.14 (TypeScript). Pure-Rust cutover is experimental/unpublished; 3.0.15–3.1.1 are withdrawn.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^7.0.2","@types/node":"^26.1.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"optionalDependencies":{"@sylphx/pdf-reader-mcp-darwin-x64":"3.1.2","@sylphx/pdf-reader-mcp-darwin-arm64":"3.1.2","@sylphx/pdf-reader-mcp-linux-x64-gnu":"3.1.2","@sylphx/pdf-reader-mcp-win32-x64-msvc":"3.1.2","@sylphx/pdf-reader-mcp-linux-arm64-gnu":"3.1.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.1.2_1784790666457_0.9619320624634262","host":"s3://npm-registry-packages-npm-production"}},"3.1.3":{"name":"@sylphx/pdf-reader-mcp","version":"3.1.3","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.1.3","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"f7ed58fd1b30d0ddd4ce90d02b94bc5ea8769b41","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.1.3.tgz","fileCount":18,"integrity":"sha512-rLBttl8h/MrwsxEwVPoeX4m4tMAeBv068+6sxxEKK0ixuEwwQLdxRmUwXRXcLupUB7lWEmlz5xjvTxkvCAUqkA==","signatures":[{"sig":"MEYCIQCn6PwLloOmXaStXVedOTxtSrfG0DeLtBr7BE/gBwLbCwIhAP/IhXeMxxVzMpeYqph+yu4E7g5FXoLXBvwC6oH+fB51","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9287362},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js","./pure-rust":"./dist/pure-rust.js"},"gitHead":"1c9c30a51f1c5910ce0c3cbe80f0a2619c172a70","mcpName":"io.github.SylphxAI/pdf-reader-mcp","scripts":{"lint":"biome lint .","test":"bun test","build":"bun build src/index.ts --outdir dist --target node && bun build src/doctor-cli.ts --outdir dist --target node && bun build src/legacy-engine-runtime.ts --outdir dist --target node && bun build src/pure-rust.ts --outdir dist --target node && bun scripts/stage-pdfjs-worker.ts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"echo \"PUBLISH FREEZE: refusing release until capability parity is approved\" && exit 1","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage --timeout=30000","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","test:rust":"cargo test","typecheck":"tsc --noEmit","build:rust":"cargo build --release -p pdf-reader-core -p pdf-reader-cli -p pdf-reader-mcp-server && bun scripts/stage-rust-mcp.ts","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","native:platform":"bun scripts/native/platform-package-map.ts","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","sync:server-json":"bun scripts/sync-server-json.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:pure-rust":"bun scripts/benchmark-pure-rust.ts","native:assert-ready":"bun scripts/native/assert-native-packages-ready.ts","test:agent-task-eval":"bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline","test:ts-vs-rust-text":"bun scripts/differential/ts-vs-rust-text-oracle.ts","native:sync-manifests":"bun scripts/native/sync-native-package-manifests.ts","smoke:native-launcher":"bun scripts/smoke-native-launcher.ts","test:agent-task-smoke":"bun scripts/run-agent-task-smoke.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","check:pure-rust-matrix":"bun scripts/check-pure-rust-matrix.ts","test:capability-parity":"bun test test/production/capabilityParity.contract.test.ts --timeout=600000","test:pure-rust-exports":"bun test test/pure-rust-exports.test.ts","check:agent-task-corpus":"bun scripts/check-agent-task-corpus.ts","check:pure-rust-exports":"bun scripts/check-pure-rust-exports.ts","check:semantic-contracts":"bun scripts/check-semantic-contracts.ts","test:native-platform-map":"bun test test/native-platform-package-map.test.ts","check:production-contract":"bun scripts/check-production-contract.ts","validate:pure-rust-claimed":"bun run check:pure-rust-matrix && bun run check:semantic-contracts && bun run check:agent-task-corpus && bun run test:ts-vs-rust-text && bun run test:v3014-behavior-differential && bun run test:v3014-structure-differential && bun run test:v3014-text-layer-differential && bun run test:v3014-citation-chunk-differential && bun run test:v3014-semantic-hint-differential && bun run test:v3014-document-ast-differential && bun run test:v3014-document-map-differential && bun run test:v3014-trust-report-differential && bun run test:v3014-selectable-table-differential && bun run test:v3014-caption-link-differential && bun run test:v3014-search-semantic-differential && bun run test:v3014-lowercase-index-differential && bun run test:v3014-selectable-text-segmentation-differential && bun run test:v3014-ocr-search-differential && bun run test:v3014-raster-image-differential && bun run test:v3014-visual-candidate-differential && bun run test:v3014-visual-fusion-differential && bun run test:v3014-document-ast-visual-fusion-differential && bun run test:v3014-read-ocr-differential && bun run test:v3014-read-ocr-residual-differential && bun run test:v3014-ocr-tsv-differential && bun run test:v3014-ocr-table-merge-differential && bun run test:v3014-ocr-search-residual-differential && bun run test:v3014-ocr-search-interleave-differential && bun run test:v3014-url-single-fetch-differential && bun run test:v3014-ocr-search-tsv-differential && bun run test:v3014-search-multiword-geometry-differential && bun run test:v3014-form-residual-differential && bun run test:v3014-form-radio-group-differential && bun run test:v3014-attachment-residual-differential && bun run test:v3014-markinfo-residual-differential && bun run test:v3014-form-parent-child-differential && bun run test:v3014-annotation-residual-differential && bun run test:v3014-annotation-dest-residual-differential && bun run test:v3014-annotation-action-dest-residual-differential && bun run test:v3014-annotation-action-precedence-residual-differential && bun run test:v3014-info-flags-residual-differential && bun run test:v3014-page-geometry-residual-differential && bun run test:v3014-page-labels-residual-differential && bun run test:v3014-outline-residual-differential && bun run test:v3014-permissions-residual-differential && bun run test:v3014-metadata-presence-residual-differential && bun run test:v3014-info-extras-residual-differential && bun run test:v3014-encrypt-filter-residual-differential && bun run test:v3014-linearized-residual-differential && bun run test:v3014-form-flags-residual-differential && bun run test:v3014-text-annotation-residual-differential && bun run test:v3014-remote-action-residual-differential && bun run test:v3014-popup-annotation-residual-differential && bun run test:v3014-popup-zero-size-residual-differential && bun run test:v3014-popup-group-irt-residual-differential && bun run test:v3014-text-appearance-residual-differential && bun run test:v3014-text-named-appearance-residual-differential && bun run test:v3014-text-inverted-rect-residual-differential && bun run test:v3014-remote-named-dest-residual-differential && bun run test:v3014-page-labels-kids-residual-differential && bun run test:v3014-form-button-array-residual-differential && bun run test:v3014-form-button-default-off-residual-differential && bun run test:v3014-form-pushbutton-default-null-residual-differential && bun run test:v3014-form-checkbox-as-value-residual-differential && bun run test:v3014-form-checkbox-export-normalize-residual-differential && bun run test:v3014-form-radio-as-no-override-residual-differential && bun run test:v3014-form-checkbox-multi-export-residual-differential && bun run test:v3014-form-checkbox-multi-export-many-residual-differential && bun run test:v3014-form-checkbox-export-empty-single-residual-differential && bun run test:v3014-form-checkbox-malformed-ap-residual-differential && bun run test:v3014-form-radio-malformed-ap-residual-differential && bun run test:v3014-form-radio-parent-kids-ap-residual-differential && bun run test:v3014-form-radio-deeper-kids-ap-residual-differential && bun run test:v3014-form-radio-broken-parent-chain-residual-differential && bun run test:v3014-attachment-odd-names-residual-differential && bun run test:v3014-attachment-dupkids-residual-differential && bun run test:v3014-form-utf16-text-residual-differential && bun run test:v3014-utf16-text-residual-differential && bun run test:v3014-text-invalid-as-residual-differential && bun run test:v3014-line-annotation-residual-differential && bun run test:v3014-polyline-polygon-residual-differential && bun run test:v3014-ink-annotation-residual-differential && bun run test:v3014-border-width-clamp-residual-differential && bun run test:v3014-border-array-width-residual-differential && bun run test:v3014-border-bs-preference-residual-differential && bun run test:v3014-border-bs-nondict-residual-differential && bun run test:v3014-border-array-short-residual-differential && bun run test:v3014-border-bs-wrong-type-residual-differential && bun run test:v3014-border-zero-size-clamp-bypass-residual-differential && bun run test:v3014-annotation-appearance-bbox-residual-differential && bun run test:v3014-annotation-ap-nonstream-residual-differential && bun run test:v3014-annotation-ap-named-state-residual-differential && bun run test:v3014-annotation-ap-named-state-polyline-ink-residual-differential && bun run test:v3014-annotation-ap-named-state-square-circle-residual-differential && bun run test:v3014-annotation-highlight-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-with-ap-residual-differential && bun run test:v3014-annotation-stamp-caret-file-residual-differential && bun run test:v3014-annotation-square-circle-widget-residual-differential && bun run test:v3014-annotation-link-uri-normalize-residual-differential && bun run test:v3014-annotation-freetext-rect-residual-differential && bun run test:v3014-annotation-link-uri-name-residual-differential && bun run test:v3014-annotation-link-aa-action-residual-differential && bun run test:v3014-annotation-link-aa-precedence-residual-differential && cargo test -p pdf-reader-core --lib && cargo test -p pdf-reader-mcp-server --lib && bun run test:v3014-form-text-multiline-residual-differential && bun run test:v3014-annotation-contents-multiline-residual-differential && bun run test:v3014-outline-cycle-residual-differential && bun run test:v3014-outline-named-dest-residual-differential && bun run test:v3014-outline-gotor-residual-differential && bun run test:v3014-outline-launch-residual-differential && bun run test:v3014-outline-relative-remote-residual-differential && bun run test:v3014-info-trapped-custom-residual-differential && bun run test:v3014-page-geometry-inheritance-residual-differential && bun run test:v3014-page-geometry-depth-clamp-residual-differential && bun run test:v3014-page-geometry-userunit-multipage-residual-differential","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","native:stage-from-artifacts":"bun scripts/native/stage-native-artifacts.ts","test:agent-task-public-eval":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline --public","check:registry-install-proof":"bun scripts/check-registry-install-proof.ts","release:publish-with-natives":"bun scripts/release-publish-with-natives.ts","smoke:native-package-resolve":"bun scripts/smoke-native-package-resolve.ts","test:agent-task-public-smoke":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-smoke.ts --public","test:agent-task-eval:baseline":"bun scripts/run-agent-task-eval.ts --runtime=typescript --write-baseline --no-compare","test:agent-task-eval:calibrate":"bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline","test:v3014-ocr-tsv-differential":"bun scripts/differential/check-v3014-ocr-tsv-differential.ts","test:v3014-behavior-differential":"bun scripts/differential/check-v3014-behavior-differential.ts","test:v3014-read-ocr-differential":"bun scripts/differential/check-v3014-read-ocr-differential.ts","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts","test:v3014-structure-differential":"bun scripts/differential/check-v3014-structure-differential.ts","check:verified-candidate-admission":"bun scripts/check-verified-candidate-admission.ts","test:v3014-ocr-search-differential":"bun scripts/differential/check-v3014-ocr-search-differential.ts","test:v3014-text-layer-differential":"bun scripts/differential/check-v3014-text-layer-differential.ts","test:v3014-caption-link-differential":"bun scripts/differential/check-v3014-caption-link-differential.ts","test:v3014-document-ast-differential":"bun scripts/differential/check-v3014-document-ast-differential.ts","test:v3014-document-map-differential":"bun scripts/differential/check-v3014-document-map-differential.ts","test:v3014-raster-image-differential":"bun scripts/differential/check-v3014-raster-image-differential.ts","test:v3014-trust-report-differential":"bun scripts/differential/check-v3014-trust-report-differential.ts","test:agent-task-public-eval:calibrate":"MCP_PDF_AGENT_TASK_PUBLIC=true MCP_PDF_CORPUS_ALLOW_DOWNLOADS=true bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline --public --allow-corpus-downloads","test:v3014-form-residual-differential":"bun scripts/differential/check-v3014-form-residual-differential.ts","test:v3014-semantic-hint-differential":"bun scripts/differential/check-v3014-semantic-hint-differential.ts","test:v3014-visual-fusion-differential":"bun scripts/differential/check-v3014-visual-fusion-differential.ts","test:v3014-citation-chunk-differential":"bun scripts/differential/check-v3014-citation-chunk-differential.ts","test:v3014-ocr-search-tsv-differential":"bun scripts/differential/check-v3014-ocr-search-tsv-differential.ts","test:v3014-lowercase-index-differential":"bun scripts/differential/check-v3014-lowercase-index-differential.ts","test:v3014-ocr-table-merge-differential":"bun scripts/differential/check-v3014-ocr-table-merge-differential.ts","test:v3014-search-semantic-differential":"bun scripts/differential/check-v3014-search-semantic-differential.ts","test:v3014-form-radio-group-differential":"bun scripts/differential/check-v3014-form-radio-group-differential.ts","test:v3014-outline-residual-differential":"bun scripts/differential/check-v3014-outline-residual-differential.ts","test:v3014-selectable-table-differential":"bun scripts/differential/check-v3014-selectable-table-differential.ts","test:v3014-url-single-fetch-differential":"bun scripts/differential/check-v3014-url-single-fetch-differential.ts","test:v3014-visual-candidate-differential":"bun scripts/differential/check-v3014-visual-candidate-differential.ts","test:v3014-form-parent-child-differential":"bun scripts/differential/check-v3014-form-parent-child-differential.ts","test:v3014-markinfo-residual-differential":"bun scripts/differential/check-v3014-markinfo-residual-differential.ts","test:v3014-read-ocr-residual-differential":"bun scripts/differential/check-v3014-read-ocr-residual-differential.ts","test:v3014-annotation-residual-differential":"bun scripts/differential/check-v3014-annotation-residual-differential.ts","test:v3014-attachment-residual-differential":"bun scripts/differential/check-v3014-attachment-residual-differential.ts","test:v3014-form-flags-residual-differential":"bun scripts/differential/check-v3014-form-flags-residual-differential.ts","test:v3014-info-flags-residual-differential":"bun scripts/differential/check-v3014-info-flags-residual-differential.ts","test:v3014-linearized-residual-differential":"bun scripts/differential/check-v3014-linearized-residual-differential.ts","test:v3014-ocr-search-residual-differential":"bun scripts/differential/check-v3014-ocr-search-residual-differential.ts","test:v3014-utf16-text-residual-differential":"bun scripts/differential/check-v3014-utf16-text-residual-differential.ts","test:v3014-info-extras-residual-differential":"bun scripts/differential/check-v3014-info-extras-residual-differential.ts","test:v3014-page-labels-residual-differential":"bun scripts/differential/check-v3014-page-labels-residual-differential.ts","test:v3014-permissions-residual-differential":"bun scripts/differential/check-v3014-permissions-residual-differential.ts","test:v3014-ocr-search-interleave-differential":"bun scripts/differential/check-v3014-ocr-search-interleave-differential.ts","test:v3014-outline-cycle-residual-differential":"bun scripts/differential/check-v3014-outline-cycle-residual-differential.ts","test:v3014-outline-gotor-residual-differential":"bun scripts/differential/check-v3014-outline-gotor-residual-differential.ts","test:v3014-page-geometry-residual-differential":"bun scripts/differential/check-v3014-page-geometry-residual-differential.ts","test:v3014-remote-action-residual-differential":"bun scripts/differential/check-v3014-remote-action-residual-differential.ts","test:v3014-encrypt-filter-residual-differential":"bun scripts/differential/check-v3014-encrypt-filter-residual-differential.ts","test:v3014-ink-annotation-residual-differential":"bun scripts/differential/check-v3014-ink-annotation-residual-differential.ts","test:v3014-outline-launch-residual-differential":"bun scripts/differential/check-v3014-outline-launch-residual-differential.ts","test:v3014-annotation-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-dest-residual-differential.ts","test:v3014-form-utf16-text-residual-differential":"bun scripts/differential/check-v3014-form-utf16-text-residual-differential.ts","test:v3014-line-annotation-residual-differential":"bun scripts/differential/check-v3014-line-annotation-residual-differential.ts","test:v3014-popup-group-irt-residual-differential":"bun scripts/differential/check-v3014-popup-group-irt-residual-differential.ts","test:v3014-popup-zero-size-residual-differential":"bun scripts/differential/check-v3014-popup-zero-size-residual-differential.ts","test:v3014-text-annotation-residual-differential":"bun scripts/differential/check-v3014-text-annotation-residual-differential.ts","test:v3014-text-appearance-residual-differential":"bun scripts/differential/check-v3014-text-appearance-residual-differential.ts","test:v3014-text-invalid-as-residual-differential":"bun scripts/differential/check-v3014-text-invalid-as-residual-differential.ts","test:v3014-page-labels-kids-residual-differential":"bun scripts/differential/check-v3014-page-labels-kids-residual-differential.ts","test:v3014-polyline-polygon-residual-differential":"bun scripts/differential/check-v3014-polyline-polygon-residual-differential.ts","test:v3014-popup-annotation-residual-differential":"bun scripts/differential/check-v3014-popup-annotation-residual-differential.ts","test:v3014-search-multiword-geometry-differential":"bun scripts/differential/check-v3014-search-multiword-geometry-differential.ts","test:v3014-border-bs-nondict-residual-differential":"bun scripts/differential/check-v3014-border-bs-nondict-residual-differential.ts","test:v3014-document-ast-visual-fusion-differential":"bun scripts/differential/check-v3014-document-ast-visual-fusion-differential.ts","test:v3014-form-button-array-residual-differential":"bun scripts/differential/check-v3014-form-button-array-residual-differential.ts","test:v3014-metadata-presence-residual-differential":"bun scripts/differential/check-v3014-metadata-presence-residual-differential.ts","test:v3014-remote-named-dest-residual-differential":"bun scripts/differential/check-v3014-remote-named-dest-residual-differential.ts","test:v3014-attachment-dupkids-residual-differential":"bun scripts/differential/check-v3014-attachment-dupkids-residual-differential.ts","test:v3014-border-array-short-residual-differential":"bun scripts/differential/check-v3014-border-array-short-residual-differential.ts","test:v3014-border-array-width-residual-differential":"bun scripts/differential/check-v3014-border-array-width-residual-differential.ts","test:v3014-border-width-clamp-residual-differential":"bun scripts/differential/check-v3014-border-width-clamp-residual-differential.ts","test:v3014-outline-named-dest-residual-differential":"bun scripts/differential/check-v3014-outline-named-dest-residual-differential.ts","test:v3014-text-inverted-rect-residual-differential":"bun scripts/differential/check-v3014-text-inverted-rect-residual-differential.ts","test:v3014-form-text-multiline-residual-differential":"bun scripts/differential/check-v3014-form-text-multiline-residual-differential.ts","test:v3014-info-trapped-custom-residual-differential":"bun scripts/differential/check-v3014-info-trapped-custom-residual-differential.ts","test:v3014-selectable-text-segmentation-differential":"bun scripts/differential/check-v3014-selectable-text-segmentation-differential.ts","test:v3014-attachment-odd-names-residual-differential":"bun scripts/differential/check-v3014-attachment-odd-names-residual-differential.ts","test:v3014-border-bs-preference-residual-differential":"bun scripts/differential/check-v3014-border-bs-preference-residual-differential.ts","test:v3014-border-bs-wrong-type-residual-differential":"bun scripts/differential/check-v3014-border-bs-wrong-type-residual-differential.ts","test:v3014-text-named-appearance-residual-differential":"bun scripts/differential/check-v3014-text-named-appearance-residual-differential.ts","test:v3014-annotation-action-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-action-dest-residual-differential.ts","test:v3014-form-checkbox-as-value-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-as-value-residual-differential.ts","test:v3014-annotation-ap-nonstream-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-nonstream-residual-differential.ts","test:v3014-form-button-default-off-residual-differential":"bun scripts/differential/check-v3014-form-button-default-off-residual-differential.ts","test:v3014-form-radio-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-malformed-ap-residual-differential.ts","test:v3014-outline-relative-remote-residual-differential":"bun scripts/differential/check-v3014-outline-relative-remote-residual-differential.ts","test:v3014-annotation-freetext-rect-residual-differential":"bun scripts/differential/check-v3014-annotation-freetext-rect-residual-differential.ts","test:v3014-annotation-link-uri-name-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-name-residual-differential.ts","test:v3014-annotation-ap-named-state-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-residual-differential.ts","test:v3014-annotation-link-aa-action-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-action-residual-differential.ts","test:v3014-form-radio-as-no-override-residual-differential":"bun scripts/differential/check-v3014-form-radio-as-no-override-residual-differential.ts","test:v3014-form-radio-deeper-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-deeper-kids-ap-residual-differential.ts","test:v3014-form-radio-parent-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-parent-kids-ap-residual-differential.ts","test:v3014-page-geometry-depth-clamp-residual-differential":"bun scripts/differential/check-v3014-page-geometry-depth-clamp-residual-differential.ts","test:v3014-page-geometry-inheritance-residual-differential":"bun scripts/differential/check-v3014-page-geometry-inheritance-residual-differential.ts","test:v3014-annotation-appearance-bbox-residual-differential":"bun scripts/differential/check-v3014-annotation-appearance-bbox-residual-differential.ts","test:v3014-form-checkbox-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-malformed-ap-residual-differential.ts","test:v3014-form-checkbox-multi-export-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-residual-differential.ts","test:v3014-annotation-stamp-caret-file-residual-differential":"bun scripts/differential/check-v3014-annotation-stamp-caret-file-residual-differential.ts","test:v3014-annotation-action-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-action-precedence-residual-differential.ts","test:v3014-form-pushbutton-default-null-residual-differential":"bun scripts/differential/check-v3014-form-pushbutton-default-null-residual-differential.ts","test:v3014-annotation-contents-multiline-residual-differential":"bun scripts/differential/check-v3014-annotation-contents-multiline-residual-differential.ts","test:v3014-annotation-link-aa-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-precedence-residual-differential.ts","test:v3014-annotation-link-uri-normalize-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-normalize-residual-differential.ts","test:v3014-border-zero-size-clamp-bypass-residual-differential":"bun scripts/differential/check-v3014-border-zero-size-clamp-bypass-residual-differential.ts","test:v3014-annotation-text-markup-with-ap-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-with-ap-residual-differential.ts","test:v3014-form-checkbox-export-normalize-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-normalize-residual-differential.ts","test:v3014-form-radio-broken-parent-chain-residual-differential":"bun scripts/differential/check-v3014-form-radio-broken-parent-chain-residual-differential.ts","test:v3014-annotation-highlight-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-highlight-quadpoints-residual-differential.ts","test:v3014-annotation-square-circle-widget-residual-differential":"bun scripts/differential/check-v3014-annotation-square-circle-widget-residual-differential.ts","test:v3014-form-checkbox-multi-export-many-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-many-residual-differential.ts","test:v3014-page-geometry-userunit-multipage-residual-differential":"bun scripts/differential/check-v3014-page-geometry-userunit-multipage-residual-differential.ts","test:v3014-annotation-text-markup-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-quadpoints-residual-differential.ts","test:v3014-form-checkbox-export-empty-single-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-empty-single-residual-differential.ts","test:v3014-annotation-ap-named-state-polyline-ink-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-polyline-ink-residual-differential.ts","test:v3014-annotation-ap-named-state-square-circle-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-square-circle-residual-differential.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Evidence-first PDF MCP. Default entry is TypeScript. Pure-Rust is opt-in via PDF_READER_ENGINE_MODE=pure-rust / ./pure-rust export and optional native platform packages. Linux natives are built on Ubuntu 22.04 for broader glibc compatibility. dropInFor301","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^7.0.2","@types/node":"^26.1.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"optionalDependencies":{"@sylphx/pdf-reader-mcp-darwin-x64":"3.1.3","@sylphx/pdf-reader-mcp-darwin-arm64":"3.1.3","@sylphx/pdf-reader-mcp-linux-x64-gnu":"3.1.3","@sylphx/pdf-reader-mcp-win32-x64-msvc":"3.1.3","@sylphx/pdf-reader-mcp-linux-arm64-gnu":"3.1.3"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.1.3_1784796869050_0.3627296067422947","host":"s3://npm-registry-packages-npm-production"}},"3.1.4":{"name":"@sylphx/pdf-reader-mcp","version":"3.1.4","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.1.4","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/index.js"},"dist":{"shasum":"d2dd15714ebd5c3cc6a44961a94ad97b89dc399b","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.1.4.tgz","fileCount":18,"integrity":"sha512-1kEJvtHKcyfhYDXqyHlB5R/75qSj5v6NGBdE73GKOXKVcY47rUI/0kYPOXVmf8N4IRIQKFQb+epGf5p/lLA1XA==","signatures":[{"sig":"MEUCIQCRPWjvKGFNLK5B57DF/m4EffA6KTOeaFxLGzwL4Kk4GAIgATPrNJ7MX/j4qcPQgbOBbD0lJkjlR4scx1+SSWdoC8M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9287362},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/index.js","./pure-rust":"./dist/pure-rust.js"},"gitHead":"b79649de57d145930e358cb1eb26282f71ecba28","mcpName":"io.github.SylphxAI/pdf-reader-mcp","scripts":{"lint":"biome lint .","test":"bun test","build":"bun build src/index.ts --outdir dist --target node && bun build src/doctor-cli.ts --outdir dist --target node && bun build src/legacy-engine-runtime.ts --outdir dist --target node && bun build src/pure-rust.ts --outdir dist --target node && bun scripts/stage-pdfjs-worker.ts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"echo \"PUBLISH FREEZE: refusing release until capability parity is approved\" && exit 1","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage --timeout=30000","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","test:rust":"cargo test","typecheck":"tsc --noEmit","build:rust":"cargo build --release -p pdf-reader-core -p pdf-reader-cli -p pdf-reader-mcp-server && bun scripts/stage-rust-mcp.ts","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","native:platform":"bun scripts/native/platform-package-map.ts","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","sync:server-json":"bun scripts/sync-server-json.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:pure-rust":"bun scripts/benchmark-pure-rust.ts","native:assert-ready":"bun scripts/native/assert-native-packages-ready.ts","test:agent-task-eval":"bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline","test:ts-vs-rust-text":"bun scripts/differential/ts-vs-rust-text-oracle.ts","native:sync-manifests":"bun scripts/native/sync-native-package-manifests.ts","smoke:native-launcher":"bun scripts/smoke-native-launcher.ts","test:agent-task-smoke":"bun scripts/run-agent-task-smoke.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","check:pure-rust-matrix":"bun scripts/check-pure-rust-matrix.ts","test:capability-parity":"bun test test/production/capabilityParity.contract.test.ts --timeout=600000","test:pure-rust-exports":"bun test test/pure-rust-exports.test.ts","check:agent-task-corpus":"bun scripts/check-agent-task-corpus.ts","check:pure-rust-exports":"bun scripts/check-pure-rust-exports.ts","check:semantic-contracts":"bun scripts/check-semantic-contracts.ts","test:native-platform-map":"bun test test/native-platform-package-map.test.ts","check:production-contract":"bun scripts/check-production-contract.ts","validate:pure-rust-claimed":"bun run check:pure-rust-matrix && bun run check:semantic-contracts && bun run check:agent-task-corpus && bun run test:ts-vs-rust-text && bun run test:v3014-behavior-differential && bun run test:v3014-structure-differential && bun run test:v3014-text-layer-differential && bun run test:v3014-citation-chunk-differential && bun run test:v3014-semantic-hint-differential && bun run test:v3014-document-ast-differential && bun run test:v3014-document-map-differential && bun run test:v3014-trust-report-differential && bun run test:v3014-selectable-table-differential && bun run test:v3014-caption-link-differential && bun run test:v3014-search-semantic-differential && bun run test:v3014-lowercase-index-differential && bun run test:v3014-selectable-text-segmentation-differential && bun run test:v3014-ocr-search-differential && bun run test:v3014-raster-image-differential && bun run test:v3014-visual-candidate-differential && bun run test:v3014-visual-fusion-differential && bun run test:v3014-document-ast-visual-fusion-differential && bun run test:v3014-read-ocr-differential && bun run test:v3014-read-ocr-residual-differential && bun run test:v3014-ocr-tsv-differential && bun run test:v3014-ocr-table-merge-differential && bun run test:v3014-ocr-search-residual-differential && bun run test:v3014-ocr-search-interleave-differential && bun run test:v3014-url-single-fetch-differential && bun run test:v3014-ocr-search-tsv-differential && bun run test:v3014-search-multiword-geometry-differential && bun run test:v3014-form-residual-differential && bun run test:v3014-form-radio-group-differential && bun run test:v3014-attachment-residual-differential && bun run test:v3014-markinfo-residual-differential && bun run test:v3014-form-parent-child-differential && bun run test:v3014-annotation-residual-differential && bun run test:v3014-annotation-dest-residual-differential && bun run test:v3014-annotation-action-dest-residual-differential && bun run test:v3014-annotation-action-precedence-residual-differential && bun run test:v3014-info-flags-residual-differential && bun run test:v3014-page-geometry-residual-differential && bun run test:v3014-page-labels-residual-differential && bun run test:v3014-outline-residual-differential && bun run test:v3014-permissions-residual-differential && bun run test:v3014-metadata-presence-residual-differential && bun run test:v3014-info-extras-residual-differential && bun run test:v3014-encrypt-filter-residual-differential && bun run test:v3014-linearized-residual-differential && bun run test:v3014-form-flags-residual-differential && bun run test:v3014-text-annotation-residual-differential && bun run test:v3014-remote-action-residual-differential && bun run test:v3014-popup-annotation-residual-differential && bun run test:v3014-popup-zero-size-residual-differential && bun run test:v3014-popup-group-irt-residual-differential && bun run test:v3014-text-appearance-residual-differential && bun run test:v3014-text-named-appearance-residual-differential && bun run test:v3014-text-inverted-rect-residual-differential && bun run test:v3014-remote-named-dest-residual-differential && bun run test:v3014-page-labels-kids-residual-differential && bun run test:v3014-form-button-array-residual-differential && bun run test:v3014-form-button-default-off-residual-differential && bun run test:v3014-form-pushbutton-default-null-residual-differential && bun run test:v3014-form-checkbox-as-value-residual-differential && bun run test:v3014-form-checkbox-export-normalize-residual-differential && bun run test:v3014-form-radio-as-no-override-residual-differential && bun run test:v3014-form-checkbox-multi-export-residual-differential && bun run test:v3014-form-checkbox-multi-export-many-residual-differential && bun run test:v3014-form-checkbox-export-empty-single-residual-differential && bun run test:v3014-form-checkbox-malformed-ap-residual-differential && bun run test:v3014-form-radio-malformed-ap-residual-differential && bun run test:v3014-form-radio-parent-kids-ap-residual-differential && bun run test:v3014-form-radio-deeper-kids-ap-residual-differential && bun run test:v3014-form-radio-broken-parent-chain-residual-differential && bun run test:v3014-attachment-odd-names-residual-differential && bun run test:v3014-attachment-dupkids-residual-differential && bun run test:v3014-form-utf16-text-residual-differential && bun run test:v3014-utf16-text-residual-differential && bun run test:v3014-text-invalid-as-residual-differential && bun run test:v3014-line-annotation-residual-differential && bun run test:v3014-polyline-polygon-residual-differential && bun run test:v3014-ink-annotation-residual-differential && bun run test:v3014-border-width-clamp-residual-differential && bun run test:v3014-border-array-width-residual-differential && bun run test:v3014-border-bs-preference-residual-differential && bun run test:v3014-border-bs-nondict-residual-differential && bun run test:v3014-border-array-short-residual-differential && bun run test:v3014-border-bs-wrong-type-residual-differential && bun run test:v3014-border-zero-size-clamp-bypass-residual-differential && bun run test:v3014-annotation-appearance-bbox-residual-differential && bun run test:v3014-annotation-ap-nonstream-residual-differential && bun run test:v3014-annotation-ap-named-state-residual-differential && bun run test:v3014-annotation-ap-named-state-polyline-ink-residual-differential && bun run test:v3014-annotation-ap-named-state-square-circle-residual-differential && bun run test:v3014-annotation-highlight-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-with-ap-residual-differential && bun run test:v3014-annotation-stamp-caret-file-residual-differential && bun run test:v3014-annotation-square-circle-widget-residual-differential && bun run test:v3014-annotation-link-uri-normalize-residual-differential && bun run test:v3014-annotation-freetext-rect-residual-differential && bun run test:v3014-annotation-link-uri-name-residual-differential && bun run test:v3014-annotation-link-aa-action-residual-differential && bun run test:v3014-annotation-link-aa-precedence-residual-differential && cargo test -p pdf-reader-core --lib && cargo test -p pdf-reader-mcp-server --lib && bun run test:v3014-form-text-multiline-residual-differential && bun run test:v3014-annotation-contents-multiline-residual-differential && bun run test:v3014-outline-cycle-residual-differential && bun run test:v3014-outline-named-dest-residual-differential && bun run test:v3014-outline-gotor-residual-differential && bun run test:v3014-outline-launch-residual-differential && bun run test:v3014-outline-relative-remote-residual-differential && bun run test:v3014-info-trapped-custom-residual-differential && bun run test:v3014-page-geometry-inheritance-residual-differential && bun run test:v3014-page-geometry-depth-clamp-residual-differential && bun run test:v3014-page-geometry-userunit-multipage-residual-differential","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","native:stage-from-artifacts":"bun scripts/native/stage-native-artifacts.ts","test:agent-task-public-eval":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline --public","check:registry-install-proof":"bun scripts/check-registry-install-proof.ts","release:publish-with-natives":"bun scripts/release-publish-with-natives.ts","smoke:native-package-resolve":"bun scripts/smoke-native-package-resolve.ts","test:agent-task-public-smoke":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-smoke.ts --public","test:agent-task-eval:baseline":"bun scripts/run-agent-task-eval.ts --runtime=typescript --write-baseline --no-compare","test:agent-task-eval:calibrate":"bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline","test:v3014-ocr-tsv-differential":"bun scripts/differential/check-v3014-ocr-tsv-differential.ts","test:v3014-behavior-differential":"bun scripts/differential/check-v3014-behavior-differential.ts","test:v3014-read-ocr-differential":"bun scripts/differential/check-v3014-read-ocr-differential.ts","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts","test:v3014-structure-differential":"bun scripts/differential/check-v3014-structure-differential.ts","check:verified-candidate-admission":"bun scripts/check-verified-candidate-admission.ts","test:v3014-ocr-search-differential":"bun scripts/differential/check-v3014-ocr-search-differential.ts","test:v3014-text-layer-differential":"bun scripts/differential/check-v3014-text-layer-differential.ts","test:v3014-caption-link-differential":"bun scripts/differential/check-v3014-caption-link-differential.ts","test:v3014-document-ast-differential":"bun scripts/differential/check-v3014-document-ast-differential.ts","test:v3014-document-map-differential":"bun scripts/differential/check-v3014-document-map-differential.ts","test:v3014-raster-image-differential":"bun scripts/differential/check-v3014-raster-image-differential.ts","test:v3014-trust-report-differential":"bun scripts/differential/check-v3014-trust-report-differential.ts","test:agent-task-public-eval:calibrate":"MCP_PDF_AGENT_TASK_PUBLIC=true MCP_PDF_CORPUS_ALLOW_DOWNLOADS=true bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline --public --allow-corpus-downloads","test:v3014-form-residual-differential":"bun scripts/differential/check-v3014-form-residual-differential.ts","test:v3014-semantic-hint-differential":"bun scripts/differential/check-v3014-semantic-hint-differential.ts","test:v3014-visual-fusion-differential":"bun scripts/differential/check-v3014-visual-fusion-differential.ts","test:v3014-citation-chunk-differential":"bun scripts/differential/check-v3014-citation-chunk-differential.ts","test:v3014-ocr-search-tsv-differential":"bun scripts/differential/check-v3014-ocr-search-tsv-differential.ts","test:v3014-lowercase-index-differential":"bun scripts/differential/check-v3014-lowercase-index-differential.ts","test:v3014-ocr-table-merge-differential":"bun scripts/differential/check-v3014-ocr-table-merge-differential.ts","test:v3014-search-semantic-differential":"bun scripts/differential/check-v3014-search-semantic-differential.ts","test:v3014-form-radio-group-differential":"bun scripts/differential/check-v3014-form-radio-group-differential.ts","test:v3014-outline-residual-differential":"bun scripts/differential/check-v3014-outline-residual-differential.ts","test:v3014-selectable-table-differential":"bun scripts/differential/check-v3014-selectable-table-differential.ts","test:v3014-url-single-fetch-differential":"bun scripts/differential/check-v3014-url-single-fetch-differential.ts","test:v3014-visual-candidate-differential":"bun scripts/differential/check-v3014-visual-candidate-differential.ts","test:v3014-form-parent-child-differential":"bun scripts/differential/check-v3014-form-parent-child-differential.ts","test:v3014-markinfo-residual-differential":"bun scripts/differential/check-v3014-markinfo-residual-differential.ts","test:v3014-read-ocr-residual-differential":"bun scripts/differential/check-v3014-read-ocr-residual-differential.ts","test:v3014-annotation-residual-differential":"bun scripts/differential/check-v3014-annotation-residual-differential.ts","test:v3014-attachment-residual-differential":"bun scripts/differential/check-v3014-attachment-residual-differential.ts","test:v3014-form-flags-residual-differential":"bun scripts/differential/check-v3014-form-flags-residual-differential.ts","test:v3014-info-flags-residual-differential":"bun scripts/differential/check-v3014-info-flags-residual-differential.ts","test:v3014-linearized-residual-differential":"bun scripts/differential/check-v3014-linearized-residual-differential.ts","test:v3014-ocr-search-residual-differential":"bun scripts/differential/check-v3014-ocr-search-residual-differential.ts","test:v3014-utf16-text-residual-differential":"bun scripts/differential/check-v3014-utf16-text-residual-differential.ts","test:v3014-info-extras-residual-differential":"bun scripts/differential/check-v3014-info-extras-residual-differential.ts","test:v3014-page-labels-residual-differential":"bun scripts/differential/check-v3014-page-labels-residual-differential.ts","test:v3014-permissions-residual-differential":"bun scripts/differential/check-v3014-permissions-residual-differential.ts","test:v3014-ocr-search-interleave-differential":"bun scripts/differential/check-v3014-ocr-search-interleave-differential.ts","test:v3014-outline-cycle-residual-differential":"bun scripts/differential/check-v3014-outline-cycle-residual-differential.ts","test:v3014-outline-gotor-residual-differential":"bun scripts/differential/check-v3014-outline-gotor-residual-differential.ts","test:v3014-page-geometry-residual-differential":"bun scripts/differential/check-v3014-page-geometry-residual-differential.ts","test:v3014-remote-action-residual-differential":"bun scripts/differential/check-v3014-remote-action-residual-differential.ts","test:v3014-encrypt-filter-residual-differential":"bun scripts/differential/check-v3014-encrypt-filter-residual-differential.ts","test:v3014-ink-annotation-residual-differential":"bun scripts/differential/check-v3014-ink-annotation-residual-differential.ts","test:v3014-outline-launch-residual-differential":"bun scripts/differential/check-v3014-outline-launch-residual-differential.ts","test:v3014-annotation-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-dest-residual-differential.ts","test:v3014-form-utf16-text-residual-differential":"bun scripts/differential/check-v3014-form-utf16-text-residual-differential.ts","test:v3014-line-annotation-residual-differential":"bun scripts/differential/check-v3014-line-annotation-residual-differential.ts","test:v3014-popup-group-irt-residual-differential":"bun scripts/differential/check-v3014-popup-group-irt-residual-differential.ts","test:v3014-popup-zero-size-residual-differential":"bun scripts/differential/check-v3014-popup-zero-size-residual-differential.ts","test:v3014-text-annotation-residual-differential":"bun scripts/differential/check-v3014-text-annotation-residual-differential.ts","test:v3014-text-appearance-residual-differential":"bun scripts/differential/check-v3014-text-appearance-residual-differential.ts","test:v3014-text-invalid-as-residual-differential":"bun scripts/differential/check-v3014-text-invalid-as-residual-differential.ts","test:v3014-page-labels-kids-residual-differential":"bun scripts/differential/check-v3014-page-labels-kids-residual-differential.ts","test:v3014-polyline-polygon-residual-differential":"bun scripts/differential/check-v3014-polyline-polygon-residual-differential.ts","test:v3014-popup-annotation-residual-differential":"bun scripts/differential/check-v3014-popup-annotation-residual-differential.ts","test:v3014-search-multiword-geometry-differential":"bun scripts/differential/check-v3014-search-multiword-geometry-differential.ts","test:v3014-border-bs-nondict-residual-differential":"bun scripts/differential/check-v3014-border-bs-nondict-residual-differential.ts","test:v3014-document-ast-visual-fusion-differential":"bun scripts/differential/check-v3014-document-ast-visual-fusion-differential.ts","test:v3014-form-button-array-residual-differential":"bun scripts/differential/check-v3014-form-button-array-residual-differential.ts","test:v3014-metadata-presence-residual-differential":"bun scripts/differential/check-v3014-metadata-presence-residual-differential.ts","test:v3014-remote-named-dest-residual-differential":"bun scripts/differential/check-v3014-remote-named-dest-residual-differential.ts","test:v3014-attachment-dupkids-residual-differential":"bun scripts/differential/check-v3014-attachment-dupkids-residual-differential.ts","test:v3014-border-array-short-residual-differential":"bun scripts/differential/check-v3014-border-array-short-residual-differential.ts","test:v3014-border-array-width-residual-differential":"bun scripts/differential/check-v3014-border-array-width-residual-differential.ts","test:v3014-border-width-clamp-residual-differential":"bun scripts/differential/check-v3014-border-width-clamp-residual-differential.ts","test:v3014-outline-named-dest-residual-differential":"bun scripts/differential/check-v3014-outline-named-dest-residual-differential.ts","test:v3014-text-inverted-rect-residual-differential":"bun scripts/differential/check-v3014-text-inverted-rect-residual-differential.ts","test:v3014-form-text-multiline-residual-differential":"bun scripts/differential/check-v3014-form-text-multiline-residual-differential.ts","test:v3014-info-trapped-custom-residual-differential":"bun scripts/differential/check-v3014-info-trapped-custom-residual-differential.ts","test:v3014-selectable-text-segmentation-differential":"bun scripts/differential/check-v3014-selectable-text-segmentation-differential.ts","test:v3014-attachment-odd-names-residual-differential":"bun scripts/differential/check-v3014-attachment-odd-names-residual-differential.ts","test:v3014-border-bs-preference-residual-differential":"bun scripts/differential/check-v3014-border-bs-preference-residual-differential.ts","test:v3014-border-bs-wrong-type-residual-differential":"bun scripts/differential/check-v3014-border-bs-wrong-type-residual-differential.ts","test:v3014-text-named-appearance-residual-differential":"bun scripts/differential/check-v3014-text-named-appearance-residual-differential.ts","test:v3014-annotation-action-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-action-dest-residual-differential.ts","test:v3014-form-checkbox-as-value-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-as-value-residual-differential.ts","test:v3014-annotation-ap-nonstream-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-nonstream-residual-differential.ts","test:v3014-form-button-default-off-residual-differential":"bun scripts/differential/check-v3014-form-button-default-off-residual-differential.ts","test:v3014-form-radio-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-malformed-ap-residual-differential.ts","test:v3014-outline-relative-remote-residual-differential":"bun scripts/differential/check-v3014-outline-relative-remote-residual-differential.ts","test:v3014-annotation-freetext-rect-residual-differential":"bun scripts/differential/check-v3014-annotation-freetext-rect-residual-differential.ts","test:v3014-annotation-link-uri-name-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-name-residual-differential.ts","test:v3014-annotation-ap-named-state-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-residual-differential.ts","test:v3014-annotation-link-aa-action-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-action-residual-differential.ts","test:v3014-form-radio-as-no-override-residual-differential":"bun scripts/differential/check-v3014-form-radio-as-no-override-residual-differential.ts","test:v3014-form-radio-deeper-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-deeper-kids-ap-residual-differential.ts","test:v3014-form-radio-parent-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-parent-kids-ap-residual-differential.ts","test:v3014-page-geometry-depth-clamp-residual-differential":"bun scripts/differential/check-v3014-page-geometry-depth-clamp-residual-differential.ts","test:v3014-page-geometry-inheritance-residual-differential":"bun scripts/differential/check-v3014-page-geometry-inheritance-residual-differential.ts","test:v3014-annotation-appearance-bbox-residual-differential":"bun scripts/differential/check-v3014-annotation-appearance-bbox-residual-differential.ts","test:v3014-form-checkbox-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-malformed-ap-residual-differential.ts","test:v3014-form-checkbox-multi-export-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-residual-differential.ts","test:v3014-annotation-stamp-caret-file-residual-differential":"bun scripts/differential/check-v3014-annotation-stamp-caret-file-residual-differential.ts","test:v3014-annotation-action-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-action-precedence-residual-differential.ts","test:v3014-form-pushbutton-default-null-residual-differential":"bun scripts/differential/check-v3014-form-pushbutton-default-null-residual-differential.ts","test:v3014-annotation-contents-multiline-residual-differential":"bun scripts/differential/check-v3014-annotation-contents-multiline-residual-differential.ts","test:v3014-annotation-link-aa-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-precedence-residual-differential.ts","test:v3014-annotation-link-uri-normalize-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-normalize-residual-differential.ts","test:v3014-border-zero-size-clamp-bypass-residual-differential":"bun scripts/differential/check-v3014-border-zero-size-clamp-bypass-residual-differential.ts","test:v3014-annotation-text-markup-with-ap-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-with-ap-residual-differential.ts","test:v3014-form-checkbox-export-normalize-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-normalize-residual-differential.ts","test:v3014-form-radio-broken-parent-chain-residual-differential":"bun scripts/differential/check-v3014-form-radio-broken-parent-chain-residual-differential.ts","test:v3014-annotation-highlight-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-highlight-quadpoints-residual-differential.ts","test:v3014-annotation-square-circle-widget-residual-differential":"bun scripts/differential/check-v3014-annotation-square-circle-widget-residual-differential.ts","test:v3014-form-checkbox-multi-export-many-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-many-residual-differential.ts","test:v3014-page-geometry-userunit-multipage-residual-differential":"bun scripts/differential/check-v3014-page-geometry-userunit-multipage-residual-differential.ts","test:v3014-annotation-text-markup-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-quadpoints-residual-differential.ts","test:v3014-form-checkbox-export-empty-single-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-empty-single-residual-differential.ts","test:v3014-annotation-ap-named-state-polyline-ink-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-polyline-ink-residual-differential.ts","test:v3014-annotation-ap-named-state-square-circle-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-square-circle-residual-differential.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Evidence-first PDF MCP. Default entry is TypeScript. Pure-Rust is opt-in via PDF_READER_ENGINE_MODE=pure-rust / ./pure-rust export and optional native platform packages. Linux natives are built on Ubuntu 22.04 for broader glibc compatibility. dropInFor301","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^7.0.2","@types/node":"^26.1.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"optionalDependencies":{"@sylphx/pdf-reader-mcp-darwin-x64":"3.1.4","@sylphx/pdf-reader-mcp-darwin-arm64":"3.1.4","@sylphx/pdf-reader-mcp-linux-x64-gnu":"3.1.4","@sylphx/pdf-reader-mcp-win32-x64-msvc":"3.1.4","@sylphx/pdf-reader-mcp-linux-arm64-gnu":"3.1.4"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.1.4_1784799320113_0.7877476650263324","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@sylphx/pdf-reader-mcp","version":"3.2.0","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.2.0","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/runtime-entry.js"},"dist":{"shasum":"05f0165e591b0684a43237165e9c2b88b6d8a612","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.2.0.tgz","fileCount":19,"integrity":"sha512-gjgLCJ1nyBkLUhXNBjT7X3EKOQf2nTzOqL/AfX2R32GdrT8GeDtivwbsF4WB2c71+pr6Tg+YRTNTT2WmhZs2lw==","signatures":[{"sig":"MEQCIFyr+TETU/cH4no7IZWGhfZDIpRPWPEqi3qKxknlC436AiBRUqKFms8+H6vMX03ACfA5PGQpqVFtn1hXTVG9OsKYfg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9291231},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/runtime-entry.js","./pure-rust":"./dist/pure-rust.js","./typescript":"./dist/index.js"},"gitHead":"af19feea690dec8fc83d46dea4aca8b6a0d74032","mcpName":"io.github.SylphxAI/pdf-reader-mcp","scripts":{"lint":"biome lint .","test":"bun test","build":"bun build src/index.ts --outdir dist --target node && bun build src/doctor-cli.ts --outdir dist --target node && bun build src/legacy-engine-runtime.ts --outdir dist --target node && bun build src/pure-rust.ts --outdir dist --target node && bun build src/runtime-entry.ts --outdir dist --target node && bun scripts/stage-pdfjs-worker.ts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"echo \"PUBLISH FREEZE: refusing release until capability parity is approved\" && exit 1","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage --timeout=30000","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","test:rust":"cargo test","typecheck":"tsc --noEmit","build:rust":"cargo build --release -p pdf-reader-core -p pdf-reader-cli -p pdf-reader-mcp-server && bun scripts/stage-rust-mcp.ts","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","native:platform":"bun scripts/native/platform-package-map.ts","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","sync:server-json":"bun scripts/sync-server-json.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:pure-rust":"bun scripts/benchmark-pure-rust.ts","native:assert-ready":"bun scripts/native/assert-native-packages-ready.ts","test:agent-task-eval":"bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline","test:ts-vs-rust-text":"bun scripts/differential/ts-vs-rust-text-oracle.ts","native:sync-manifests":"bun scripts/native/sync-native-package-manifests.ts","smoke:native-launcher":"bun scripts/smoke-native-launcher.ts","test:agent-task-smoke":"bun scripts/run-agent-task-smoke.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","check:pure-rust-matrix":"bun scripts/check-pure-rust-matrix.ts","test:capability-parity":"bun test test/production/capabilityParity.contract.test.ts --timeout=600000","test:pure-rust-exports":"bun test test/pure-rust-exports.test.ts","check:agent-task-corpus":"bun scripts/check-agent-task-corpus.ts","check:pure-rust-exports":"bun scripts/check-pure-rust-exports.ts","check:semantic-contracts":"bun scripts/check-semantic-contracts.ts","test:native-platform-map":"bun test test/native-platform-package-map.test.ts","check:production-contract":"bun scripts/check-production-contract.ts","validate:pure-rust-claimed":"bun run check:pure-rust-matrix && bun run check:semantic-contracts && bun run check:agent-task-corpus && bun run test:ts-vs-rust-text && bun run test:v3014-behavior-differential && bun run test:v3014-structure-differential && bun run test:v3014-text-layer-differential && bun run test:v3014-citation-chunk-differential && bun run test:v3014-semantic-hint-differential && bun run test:v3014-document-ast-differential && bun run test:v3014-document-map-differential && bun run test:v3014-trust-report-differential && bun run test:v3014-selectable-table-differential && bun run test:v3014-caption-link-differential && bun run test:v3014-search-semantic-differential && bun run test:v3014-lowercase-index-differential && bun run test:v3014-selectable-text-segmentation-differential && bun run test:v3014-ocr-search-differential && bun run test:v3014-raster-image-differential && bun run test:v3014-visual-candidate-differential && bun run test:v3014-visual-fusion-differential && bun run test:v3014-document-ast-visual-fusion-differential && bun run test:v3014-read-ocr-differential && bun run test:v3014-read-ocr-residual-differential && bun run test:v3014-ocr-tsv-differential && bun run test:v3014-ocr-table-merge-differential && bun run test:v3014-ocr-search-residual-differential && bun run test:v3014-ocr-search-interleave-differential && bun run test:v3014-url-single-fetch-differential && bun run test:v3014-ocr-search-tsv-differential && bun run test:v3014-search-multiword-geometry-differential && bun run test:v3014-form-residual-differential && bun run test:v3014-form-radio-group-differential && bun run test:v3014-attachment-residual-differential && bun run test:v3014-markinfo-residual-differential && bun run test:v3014-form-parent-child-differential && bun run test:v3014-annotation-residual-differential && bun run test:v3014-annotation-dest-residual-differential && bun run test:v3014-annotation-action-dest-residual-differential && bun run test:v3014-annotation-action-precedence-residual-differential && bun run test:v3014-info-flags-residual-differential && bun run test:v3014-page-geometry-residual-differential && bun run test:v3014-page-labels-residual-differential && bun run test:v3014-outline-residual-differential && bun run test:v3014-permissions-residual-differential && bun run test:v3014-metadata-presence-residual-differential && bun run test:v3014-info-extras-residual-differential && bun run test:v3014-encrypt-filter-residual-differential && bun run test:v3014-linearized-residual-differential && bun run test:v3014-form-flags-residual-differential && bun run test:v3014-text-annotation-residual-differential && bun run test:v3014-remote-action-residual-differential && bun run test:v3014-popup-annotation-residual-differential && bun run test:v3014-popup-zero-size-residual-differential && bun run test:v3014-popup-group-irt-residual-differential && bun run test:v3014-text-appearance-residual-differential && bun run test:v3014-text-named-appearance-residual-differential && bun run test:v3014-text-inverted-rect-residual-differential && bun run test:v3014-remote-named-dest-residual-differential && bun run test:v3014-page-labels-kids-residual-differential && bun run test:v3014-form-button-array-residual-differential && bun run test:v3014-form-button-default-off-residual-differential && bun run test:v3014-form-pushbutton-default-null-residual-differential && bun run test:v3014-form-checkbox-as-value-residual-differential && bun run test:v3014-form-checkbox-export-normalize-residual-differential && bun run test:v3014-form-radio-as-no-override-residual-differential && bun run test:v3014-form-checkbox-multi-export-residual-differential && bun run test:v3014-form-checkbox-multi-export-many-residual-differential && bun run test:v3014-form-checkbox-export-empty-single-residual-differential && bun run test:v3014-form-checkbox-malformed-ap-residual-differential && bun run test:v3014-form-radio-malformed-ap-residual-differential && bun run test:v3014-form-radio-parent-kids-ap-residual-differential && bun run test:v3014-form-radio-deeper-kids-ap-residual-differential && bun run test:v3014-form-radio-broken-parent-chain-residual-differential && bun run test:v3014-attachment-odd-names-residual-differential && bun run test:v3014-attachment-dupkids-residual-differential && bun run test:v3014-form-utf16-text-residual-differential && bun run test:v3014-utf16-text-residual-differential && bun run test:v3014-text-invalid-as-residual-differential && bun run test:v3014-line-annotation-residual-differential && bun run test:v3014-polyline-polygon-residual-differential && bun run test:v3014-ink-annotation-residual-differential && bun run test:v3014-border-width-clamp-residual-differential && bun run test:v3014-border-array-width-residual-differential && bun run test:v3014-border-bs-preference-residual-differential && bun run test:v3014-border-bs-nondict-residual-differential && bun run test:v3014-border-array-short-residual-differential && bun run test:v3014-border-bs-wrong-type-residual-differential && bun run test:v3014-border-zero-size-clamp-bypass-residual-differential && bun run test:v3014-annotation-appearance-bbox-residual-differential && bun run test:v3014-annotation-ap-nonstream-residual-differential && bun run test:v3014-annotation-ap-named-state-residual-differential && bun run test:v3014-annotation-ap-named-state-polyline-ink-residual-differential && bun run test:v3014-annotation-ap-named-state-square-circle-residual-differential && bun run test:v3014-annotation-highlight-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-with-ap-residual-differential && bun run test:v3014-annotation-stamp-caret-file-residual-differential && bun run test:v3014-annotation-square-circle-widget-residual-differential && bun run test:v3014-annotation-link-uri-normalize-residual-differential && bun run test:v3014-annotation-freetext-rect-residual-differential && bun run test:v3014-annotation-link-uri-name-residual-differential && bun run test:v3014-annotation-link-aa-action-residual-differential && bun run test:v3014-annotation-link-aa-precedence-residual-differential && cargo test -p pdf-reader-core --lib && cargo test -p pdf-reader-mcp-server --lib && bun run test:v3014-form-text-multiline-residual-differential && bun run test:v3014-annotation-contents-multiline-residual-differential && bun run test:v3014-outline-cycle-residual-differential && bun run test:v3014-outline-named-dest-residual-differential && bun run test:v3014-outline-gotor-residual-differential && bun run test:v3014-outline-launch-residual-differential && bun run test:v3014-outline-relative-remote-residual-differential && bun run test:v3014-info-trapped-custom-residual-differential && bun run test:v3014-page-geometry-inheritance-residual-differential && bun run test:v3014-page-geometry-depth-clamp-residual-differential && bun run test:v3014-page-geometry-userunit-multipage-residual-differential","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","native:stage-from-artifacts":"bun scripts/native/stage-native-artifacts.ts","test:agent-task-public-eval":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline --public","check:registry-install-proof":"bun scripts/check-registry-install-proof.ts","release:publish-with-natives":"bun scripts/release-publish-with-natives.ts","smoke:native-package-resolve":"bun scripts/smoke-native-package-resolve.ts","test:agent-task-public-smoke":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-smoke.ts --public","test:agent-task-eval:baseline":"bun scripts/run-agent-task-eval.ts --runtime=typescript --write-baseline --no-compare","test:agent-task-eval:calibrate":"bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline","test:v3014-ocr-tsv-differential":"bun scripts/differential/check-v3014-ocr-tsv-differential.ts","test:v3014-behavior-differential":"bun scripts/differential/check-v3014-behavior-differential.ts","test:v3014-read-ocr-differential":"bun scripts/differential/check-v3014-read-ocr-differential.ts","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts","test:v3014-structure-differential":"bun scripts/differential/check-v3014-structure-differential.ts","check:verified-candidate-admission":"bun scripts/check-verified-candidate-admission.ts","test:v3014-ocr-search-differential":"bun scripts/differential/check-v3014-ocr-search-differential.ts","test:v3014-text-layer-differential":"bun scripts/differential/check-v3014-text-layer-differential.ts","test:v3014-caption-link-differential":"bun scripts/differential/check-v3014-caption-link-differential.ts","test:v3014-document-ast-differential":"bun scripts/differential/check-v3014-document-ast-differential.ts","test:v3014-document-map-differential":"bun scripts/differential/check-v3014-document-map-differential.ts","test:v3014-raster-image-differential":"bun scripts/differential/check-v3014-raster-image-differential.ts","test:v3014-trust-report-differential":"bun scripts/differential/check-v3014-trust-report-differential.ts","test:agent-task-public-eval:calibrate":"MCP_PDF_AGENT_TASK_PUBLIC=true MCP_PDF_CORPUS_ALLOW_DOWNLOADS=true bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline --public --allow-corpus-downloads","test:v3014-form-residual-differential":"bun scripts/differential/check-v3014-form-residual-differential.ts","test:v3014-semantic-hint-differential":"bun scripts/differential/check-v3014-semantic-hint-differential.ts","test:v3014-visual-fusion-differential":"bun scripts/differential/check-v3014-visual-fusion-differential.ts","test:v3014-citation-chunk-differential":"bun scripts/differential/check-v3014-citation-chunk-differential.ts","test:v3014-ocr-search-tsv-differential":"bun scripts/differential/check-v3014-ocr-search-tsv-differential.ts","test:v3014-lowercase-index-differential":"bun scripts/differential/check-v3014-lowercase-index-differential.ts","test:v3014-ocr-table-merge-differential":"bun scripts/differential/check-v3014-ocr-table-merge-differential.ts","test:v3014-search-semantic-differential":"bun scripts/differential/check-v3014-search-semantic-differential.ts","test:v3014-form-radio-group-differential":"bun scripts/differential/check-v3014-form-radio-group-differential.ts","test:v3014-outline-residual-differential":"bun scripts/differential/check-v3014-outline-residual-differential.ts","test:v3014-selectable-table-differential":"bun scripts/differential/check-v3014-selectable-table-differential.ts","test:v3014-url-single-fetch-differential":"bun scripts/differential/check-v3014-url-single-fetch-differential.ts","test:v3014-visual-candidate-differential":"bun scripts/differential/check-v3014-visual-candidate-differential.ts","test:v3014-form-parent-child-differential":"bun scripts/differential/check-v3014-form-parent-child-differential.ts","test:v3014-markinfo-residual-differential":"bun scripts/differential/check-v3014-markinfo-residual-differential.ts","test:v3014-read-ocr-residual-differential":"bun scripts/differential/check-v3014-read-ocr-residual-differential.ts","test:v3014-annotation-residual-differential":"bun scripts/differential/check-v3014-annotation-residual-differential.ts","test:v3014-attachment-residual-differential":"bun scripts/differential/check-v3014-attachment-residual-differential.ts","test:v3014-form-flags-residual-differential":"bun scripts/differential/check-v3014-form-flags-residual-differential.ts","test:v3014-info-flags-residual-differential":"bun scripts/differential/check-v3014-info-flags-residual-differential.ts","test:v3014-linearized-residual-differential":"bun scripts/differential/check-v3014-linearized-residual-differential.ts","test:v3014-ocr-search-residual-differential":"bun scripts/differential/check-v3014-ocr-search-residual-differential.ts","test:v3014-utf16-text-residual-differential":"bun scripts/differential/check-v3014-utf16-text-residual-differential.ts","test:v3014-info-extras-residual-differential":"bun scripts/differential/check-v3014-info-extras-residual-differential.ts","test:v3014-page-labels-residual-differential":"bun scripts/differential/check-v3014-page-labels-residual-differential.ts","test:v3014-permissions-residual-differential":"bun scripts/differential/check-v3014-permissions-residual-differential.ts","test:v3014-ocr-search-interleave-differential":"bun scripts/differential/check-v3014-ocr-search-interleave-differential.ts","test:v3014-outline-cycle-residual-differential":"bun scripts/differential/check-v3014-outline-cycle-residual-differential.ts","test:v3014-outline-gotor-residual-differential":"bun scripts/differential/check-v3014-outline-gotor-residual-differential.ts","test:v3014-page-geometry-residual-differential":"bun scripts/differential/check-v3014-page-geometry-residual-differential.ts","test:v3014-remote-action-residual-differential":"bun scripts/differential/check-v3014-remote-action-residual-differential.ts","test:v3014-encrypt-filter-residual-differential":"bun scripts/differential/check-v3014-encrypt-filter-residual-differential.ts","test:v3014-ink-annotation-residual-differential":"bun scripts/differential/check-v3014-ink-annotation-residual-differential.ts","test:v3014-outline-launch-residual-differential":"bun scripts/differential/check-v3014-outline-launch-residual-differential.ts","test:v3014-annotation-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-dest-residual-differential.ts","test:v3014-form-utf16-text-residual-differential":"bun scripts/differential/check-v3014-form-utf16-text-residual-differential.ts","test:v3014-line-annotation-residual-differential":"bun scripts/differential/check-v3014-line-annotation-residual-differential.ts","test:v3014-popup-group-irt-residual-differential":"bun scripts/differential/check-v3014-popup-group-irt-residual-differential.ts","test:v3014-popup-zero-size-residual-differential":"bun scripts/differential/check-v3014-popup-zero-size-residual-differential.ts","test:v3014-text-annotation-residual-differential":"bun scripts/differential/check-v3014-text-annotation-residual-differential.ts","test:v3014-text-appearance-residual-differential":"bun scripts/differential/check-v3014-text-appearance-residual-differential.ts","test:v3014-text-invalid-as-residual-differential":"bun scripts/differential/check-v3014-text-invalid-as-residual-differential.ts","test:v3014-page-labels-kids-residual-differential":"bun scripts/differential/check-v3014-page-labels-kids-residual-differential.ts","test:v3014-polyline-polygon-residual-differential":"bun scripts/differential/check-v3014-polyline-polygon-residual-differential.ts","test:v3014-popup-annotation-residual-differential":"bun scripts/differential/check-v3014-popup-annotation-residual-differential.ts","test:v3014-search-multiword-geometry-differential":"bun scripts/differential/check-v3014-search-multiword-geometry-differential.ts","test:v3014-border-bs-nondict-residual-differential":"bun scripts/differential/check-v3014-border-bs-nondict-residual-differential.ts","test:v3014-document-ast-visual-fusion-differential":"bun scripts/differential/check-v3014-document-ast-visual-fusion-differential.ts","test:v3014-form-button-array-residual-differential":"bun scripts/differential/check-v3014-form-button-array-residual-differential.ts","test:v3014-metadata-presence-residual-differential":"bun scripts/differential/check-v3014-metadata-presence-residual-differential.ts","test:v3014-remote-named-dest-residual-differential":"bun scripts/differential/check-v3014-remote-named-dest-residual-differential.ts","test:v3014-attachment-dupkids-residual-differential":"bun scripts/differential/check-v3014-attachment-dupkids-residual-differential.ts","test:v3014-border-array-short-residual-differential":"bun scripts/differential/check-v3014-border-array-short-residual-differential.ts","test:v3014-border-array-width-residual-differential":"bun scripts/differential/check-v3014-border-array-width-residual-differential.ts","test:v3014-border-width-clamp-residual-differential":"bun scripts/differential/check-v3014-border-width-clamp-residual-differential.ts","test:v3014-outline-named-dest-residual-differential":"bun scripts/differential/check-v3014-outline-named-dest-residual-differential.ts","test:v3014-text-inverted-rect-residual-differential":"bun scripts/differential/check-v3014-text-inverted-rect-residual-differential.ts","test:v3014-form-text-multiline-residual-differential":"bun scripts/differential/check-v3014-form-text-multiline-residual-differential.ts","test:v3014-info-trapped-custom-residual-differential":"bun scripts/differential/check-v3014-info-trapped-custom-residual-differential.ts","test:v3014-selectable-text-segmentation-differential":"bun scripts/differential/check-v3014-selectable-text-segmentation-differential.ts","test:v3014-attachment-odd-names-residual-differential":"bun scripts/differential/check-v3014-attachment-odd-names-residual-differential.ts","test:v3014-border-bs-preference-residual-differential":"bun scripts/differential/check-v3014-border-bs-preference-residual-differential.ts","test:v3014-border-bs-wrong-type-residual-differential":"bun scripts/differential/check-v3014-border-bs-wrong-type-residual-differential.ts","test:v3014-text-named-appearance-residual-differential":"bun scripts/differential/check-v3014-text-named-appearance-residual-differential.ts","test:v3014-annotation-action-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-action-dest-residual-differential.ts","test:v3014-form-checkbox-as-value-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-as-value-residual-differential.ts","test:v3014-annotation-ap-nonstream-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-nonstream-residual-differential.ts","test:v3014-form-button-default-off-residual-differential":"bun scripts/differential/check-v3014-form-button-default-off-residual-differential.ts","test:v3014-form-radio-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-malformed-ap-residual-differential.ts","test:v3014-outline-relative-remote-residual-differential":"bun scripts/differential/check-v3014-outline-relative-remote-residual-differential.ts","test:v3014-annotation-freetext-rect-residual-differential":"bun scripts/differential/check-v3014-annotation-freetext-rect-residual-differential.ts","test:v3014-annotation-link-uri-name-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-name-residual-differential.ts","test:v3014-annotation-ap-named-state-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-residual-differential.ts","test:v3014-annotation-link-aa-action-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-action-residual-differential.ts","test:v3014-form-radio-as-no-override-residual-differential":"bun scripts/differential/check-v3014-form-radio-as-no-override-residual-differential.ts","test:v3014-form-radio-deeper-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-deeper-kids-ap-residual-differential.ts","test:v3014-form-radio-parent-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-parent-kids-ap-residual-differential.ts","test:v3014-page-geometry-depth-clamp-residual-differential":"bun scripts/differential/check-v3014-page-geometry-depth-clamp-residual-differential.ts","test:v3014-page-geometry-inheritance-residual-differential":"bun scripts/differential/check-v3014-page-geometry-inheritance-residual-differential.ts","test:v3014-annotation-appearance-bbox-residual-differential":"bun scripts/differential/check-v3014-annotation-appearance-bbox-residual-differential.ts","test:v3014-form-checkbox-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-malformed-ap-residual-differential.ts","test:v3014-form-checkbox-multi-export-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-residual-differential.ts","test:v3014-annotation-stamp-caret-file-residual-differential":"bun scripts/differential/check-v3014-annotation-stamp-caret-file-residual-differential.ts","test:v3014-annotation-action-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-action-precedence-residual-differential.ts","test:v3014-form-pushbutton-default-null-residual-differential":"bun scripts/differential/check-v3014-form-pushbutton-default-null-residual-differential.ts","test:v3014-annotation-contents-multiline-residual-differential":"bun scripts/differential/check-v3014-annotation-contents-multiline-residual-differential.ts","test:v3014-annotation-link-aa-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-precedence-residual-differential.ts","test:v3014-annotation-link-uri-normalize-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-normalize-residual-differential.ts","test:v3014-border-zero-size-clamp-bypass-residual-differential":"bun scripts/differential/check-v3014-border-zero-size-clamp-bypass-residual-differential.ts","test:v3014-annotation-text-markup-with-ap-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-with-ap-residual-differential.ts","test:v3014-form-checkbox-export-normalize-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-normalize-residual-differential.ts","test:v3014-form-radio-broken-parent-chain-residual-differential":"bun scripts/differential/check-v3014-form-radio-broken-parent-chain-residual-differential.ts","test:v3014-annotation-highlight-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-highlight-quadpoints-residual-differential.ts","test:v3014-annotation-square-circle-widget-residual-differential":"bun scripts/differential/check-v3014-annotation-square-circle-widget-residual-differential.ts","test:v3014-form-checkbox-multi-export-many-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-many-residual-differential.ts","test:v3014-page-geometry-userunit-multipage-residual-differential":"bun scripts/differential/check-v3014-page-geometry-userunit-multipage-residual-differential.ts","test:v3014-annotation-text-markup-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-quadpoints-residual-differential.ts","test:v3014-form-checkbox-export-empty-single-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-empty-single-residual-differential.ts","test:v3014-annotation-ap-named-state-polyline-ink-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-polyline-ink-residual-differential.ts","test:v3014-annotation-ap-named-state-square-circle-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-square-circle-residual-differential.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Evidence-first PDF MCP. Default entry prefers pure-Rust optional native binary when installed, with TypeScript fallback. Capability-first admission (ADR-0005). Withdrawn 3.0.15–3.1.1 must not be used.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^7.0.2","@types/node":"^26.1.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"optionalDependencies":{"@sylphx/pdf-reader-mcp-darwin-x64":"3.2.0","@sylphx/pdf-reader-mcp-darwin-arm64":"3.2.0","@sylphx/pdf-reader-mcp-linux-x64-gnu":"3.2.0","@sylphx/pdf-reader-mcp-win32-x64-msvc":"3.2.0","@sylphx/pdf-reader-mcp-linux-arm64-gnu":"3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.2.0_1784809205262_0.5444430297662204","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"@sylphx/pdf-reader-mcp","version":"3.2.1","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.2.1","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/runtime-entry.js"},"dist":{"shasum":"68a2ca2f971785064b6082f68939e6d2318502d1","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.2.1.tgz","fileCount":19,"integrity":"sha512-RTINIdsprlh1b8YV/nW0XTTLCqTxUqHtPhvP1lQ7Fc2EvqxlJ4RoWLfnNNHSIXkMMYlkJAJTi5B48EYJfp7S2w==","signatures":[{"sig":"MEUCICAncn7K6EgXFVcuY+3/AhUnUEJnxWpr+TYrTkUYL2R5AiEA14JF36xOF8j12bbkT9mkNJzotbI/B9x85CCeBG5Scao=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9292411},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/runtime-entry.js","./pure-rust":"./dist/pure-rust.js","./typescript":"./dist/index.js"},"gitHead":"17a61355d4e72e55d2710ba8a5a1f070e73aaa07","mcpName":"io.github.SylphxAI/pdf-reader-mcp","scripts":{"lint":"biome lint .","test":"bun test","build":"bun build src/index.ts --outdir dist --target node && bun build src/doctor-cli.ts --outdir dist --target node && bun build src/legacy-engine-runtime.ts --outdir dist --target node && bun build src/pure-rust.ts --outdir dist --target node && bun build src/runtime-entry.ts --outdir dist --target node && bun scripts/stage-pdfjs-worker.ts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"echo \"PUBLISH FREEZE: refusing release until capability parity is approved\" && exit 1","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage --timeout=30000","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","test:rust":"cargo test","typecheck":"tsc --noEmit","build:rust":"cargo build --release -p pdf-reader-core -p pdf-reader-cli -p pdf-reader-mcp-server && bun scripts/stage-rust-mcp.ts","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","native:platform":"bun scripts/native/platform-package-map.ts","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","sync:server-json":"bun scripts/sync-server-json.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:pure-rust":"bun scripts/benchmark-pure-rust.ts","native:assert-ready":"bun scripts/native/assert-native-packages-ready.ts","test:agent-task-eval":"bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline","test:ts-vs-rust-text":"bun scripts/differential/ts-vs-rust-text-oracle.ts","native:sync-manifests":"bun scripts/native/sync-native-package-manifests.ts","smoke:native-launcher":"bun scripts/smoke-native-launcher.ts","test:agent-task-smoke":"bun scripts/run-agent-task-smoke.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","check:pure-rust-matrix":"bun scripts/check-pure-rust-matrix.ts","test:capability-parity":"bun test test/production/capabilityParity.contract.test.ts --timeout=600000","test:pure-rust-exports":"bun test test/pure-rust-exports.test.ts","check:agent-task-corpus":"bun scripts/check-agent-task-corpus.ts","check:pure-rust-exports":"bun scripts/check-pure-rust-exports.ts","check:semantic-contracts":"bun scripts/check-semantic-contracts.ts","test:native-platform-map":"bun test test/native-platform-package-map.test.ts","check:production-contract":"bun scripts/check-production-contract.ts","validate:pure-rust-claimed":"bun run check:pure-rust-matrix && bun run check:semantic-contracts && bun run check:agent-task-corpus && bun run test:ts-vs-rust-text && bun run test:v3014-behavior-differential && bun run test:v3014-structure-differential && bun run test:v3014-text-layer-differential && bun run test:v3014-citation-chunk-differential && bun run test:v3014-semantic-hint-differential && bun run test:v3014-document-ast-differential && bun run test:v3014-document-map-differential && bun run test:v3014-trust-report-differential && bun run test:v3014-selectable-table-differential && bun run test:v3014-caption-link-differential && bun run test:v3014-search-semantic-differential && bun run test:v3014-lowercase-index-differential && bun run test:v3014-selectable-text-segmentation-differential && bun run test:v3014-ocr-search-differential && bun run test:v3014-raster-image-differential && bun run test:v3014-visual-candidate-differential && bun run test:v3014-visual-fusion-differential && bun run test:v3014-document-ast-visual-fusion-differential && bun run test:v3014-read-ocr-differential && bun run test:v3014-read-ocr-residual-differential && bun run test:v3014-ocr-tsv-differential && bun run test:v3014-ocr-table-merge-differential && bun run test:v3014-ocr-search-residual-differential && bun run test:v3014-ocr-search-interleave-differential && bun run test:v3014-url-single-fetch-differential && bun run test:v3014-ocr-search-tsv-differential && bun run test:v3014-search-multiword-geometry-differential && bun run test:v3014-form-residual-differential && bun run test:v3014-form-radio-group-differential && bun run test:v3014-attachment-residual-differential && bun run test:v3014-markinfo-residual-differential && bun run test:v3014-form-parent-child-differential && bun run test:v3014-annotation-residual-differential && bun run test:v3014-annotation-dest-residual-differential && bun run test:v3014-annotation-action-dest-residual-differential && bun run test:v3014-annotation-action-precedence-residual-differential && bun run test:v3014-info-flags-residual-differential && bun run test:v3014-page-geometry-residual-differential && bun run test:v3014-page-labels-residual-differential && bun run test:v3014-outline-residual-differential && bun run test:v3014-permissions-residual-differential && bun run test:v3014-metadata-presence-residual-differential && bun run test:v3014-info-extras-residual-differential && bun run test:v3014-encrypt-filter-residual-differential && bun run test:v3014-linearized-residual-differential && bun run test:v3014-form-flags-residual-differential && bun run test:v3014-text-annotation-residual-differential && bun run test:v3014-remote-action-residual-differential && bun run test:v3014-popup-annotation-residual-differential && bun run test:v3014-popup-zero-size-residual-differential && bun run test:v3014-popup-group-irt-residual-differential && bun run test:v3014-text-appearance-residual-differential && bun run test:v3014-text-named-appearance-residual-differential && bun run test:v3014-text-inverted-rect-residual-differential && bun run test:v3014-remote-named-dest-residual-differential && bun run test:v3014-page-labels-kids-residual-differential && bun run test:v3014-form-button-array-residual-differential && bun run test:v3014-form-button-default-off-residual-differential && bun run test:v3014-form-pushbutton-default-null-residual-differential && bun run test:v3014-form-checkbox-as-value-residual-differential && bun run test:v3014-form-checkbox-export-normalize-residual-differential && bun run test:v3014-form-radio-as-no-override-residual-differential && bun run test:v3014-form-checkbox-multi-export-residual-differential && bun run test:v3014-form-checkbox-multi-export-many-residual-differential && bun run test:v3014-form-checkbox-export-empty-single-residual-differential && bun run test:v3014-form-checkbox-malformed-ap-residual-differential && bun run test:v3014-form-radio-malformed-ap-residual-differential && bun run test:v3014-form-radio-parent-kids-ap-residual-differential && bun run test:v3014-form-radio-deeper-kids-ap-residual-differential && bun run test:v3014-form-radio-broken-parent-chain-residual-differential && bun run test:v3014-attachment-odd-names-residual-differential && bun run test:v3014-attachment-dupkids-residual-differential && bun run test:v3014-form-utf16-text-residual-differential && bun run test:v3014-utf16-text-residual-differential && bun run test:v3014-text-invalid-as-residual-differential && bun run test:v3014-line-annotation-residual-differential && bun run test:v3014-polyline-polygon-residual-differential && bun run test:v3014-ink-annotation-residual-differential && bun run test:v3014-border-width-clamp-residual-differential && bun run test:v3014-border-array-width-residual-differential && bun run test:v3014-border-bs-preference-residual-differential && bun run test:v3014-border-bs-nondict-residual-differential && bun run test:v3014-border-array-short-residual-differential && bun run test:v3014-border-bs-wrong-type-residual-differential && bun run test:v3014-border-zero-size-clamp-bypass-residual-differential && bun run test:v3014-annotation-appearance-bbox-residual-differential && bun run test:v3014-annotation-ap-nonstream-residual-differential && bun run test:v3014-annotation-ap-named-state-residual-differential && bun run test:v3014-annotation-ap-named-state-polyline-ink-residual-differential && bun run test:v3014-annotation-ap-named-state-square-circle-residual-differential && bun run test:v3014-annotation-highlight-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-with-ap-residual-differential && bun run test:v3014-annotation-stamp-caret-file-residual-differential && bun run test:v3014-annotation-square-circle-widget-residual-differential && bun run test:v3014-annotation-link-uri-normalize-residual-differential && bun run test:v3014-annotation-freetext-rect-residual-differential && bun run test:v3014-annotation-link-uri-name-residual-differential && bun run test:v3014-annotation-link-aa-action-residual-differential && bun run test:v3014-annotation-link-aa-precedence-residual-differential && cargo test -p pdf-reader-core --lib && cargo test -p pdf-reader-mcp-server --lib && bun run test:v3014-form-text-multiline-residual-differential && bun run test:v3014-annotation-contents-multiline-residual-differential && bun run test:v3014-outline-cycle-residual-differential && bun run test:v3014-outline-named-dest-residual-differential && bun run test:v3014-outline-gotor-residual-differential && bun run test:v3014-outline-launch-residual-differential && bun run test:v3014-outline-relative-remote-residual-differential && bun run test:v3014-info-trapped-custom-residual-differential && bun run test:v3014-page-geometry-inheritance-residual-differential && bun run test:v3014-page-geometry-depth-clamp-residual-differential && bun run test:v3014-page-geometry-userunit-multipage-residual-differential","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","native:stage-from-artifacts":"bun scripts/native/stage-native-artifacts.ts","test:agent-task-public-eval":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline --public","check:registry-install-proof":"bun scripts/check-registry-install-proof.ts","release:publish-with-natives":"bun scripts/release-publish-with-natives.ts","smoke:native-package-resolve":"bun scripts/smoke-native-package-resolve.ts","test:agent-task-public-smoke":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-smoke.ts --public","test:agent-task-eval:baseline":"bun scripts/run-agent-task-eval.ts --runtime=typescript --write-baseline --no-compare","test:agent-task-eval:calibrate":"bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline","test:v3014-ocr-tsv-differential":"bun scripts/differential/check-v3014-ocr-tsv-differential.ts","test:v3014-behavior-differential":"bun scripts/differential/check-v3014-behavior-differential.ts","test:v3014-read-ocr-differential":"bun scripts/differential/check-v3014-read-ocr-differential.ts","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts","test:v3014-structure-differential":"bun scripts/differential/check-v3014-structure-differential.ts","check:verified-candidate-admission":"bun scripts/check-verified-candidate-admission.ts","test:v3014-ocr-search-differential":"bun scripts/differential/check-v3014-ocr-search-differential.ts","test:v3014-text-layer-differential":"bun scripts/differential/check-v3014-text-layer-differential.ts","test:v3014-caption-link-differential":"bun scripts/differential/check-v3014-caption-link-differential.ts","test:v3014-document-ast-differential":"bun scripts/differential/check-v3014-document-ast-differential.ts","test:v3014-document-map-differential":"bun scripts/differential/check-v3014-document-map-differential.ts","test:v3014-raster-image-differential":"bun scripts/differential/check-v3014-raster-image-differential.ts","test:v3014-trust-report-differential":"bun scripts/differential/check-v3014-trust-report-differential.ts","test:agent-task-public-eval:calibrate":"MCP_PDF_AGENT_TASK_PUBLIC=true MCP_PDF_CORPUS_ALLOW_DOWNLOADS=true bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline --public --allow-corpus-downloads","test:v3014-form-residual-differential":"bun scripts/differential/check-v3014-form-residual-differential.ts","test:v3014-semantic-hint-differential":"bun scripts/differential/check-v3014-semantic-hint-differential.ts","test:v3014-visual-fusion-differential":"bun scripts/differential/check-v3014-visual-fusion-differential.ts","test:v3014-citation-chunk-differential":"bun scripts/differential/check-v3014-citation-chunk-differential.ts","test:v3014-ocr-search-tsv-differential":"bun scripts/differential/check-v3014-ocr-search-tsv-differential.ts","test:v3014-lowercase-index-differential":"bun scripts/differential/check-v3014-lowercase-index-differential.ts","test:v3014-ocr-table-merge-differential":"bun scripts/differential/check-v3014-ocr-table-merge-differential.ts","test:v3014-search-semantic-differential":"bun scripts/differential/check-v3014-search-semantic-differential.ts","test:v3014-form-radio-group-differential":"bun scripts/differential/check-v3014-form-radio-group-differential.ts","test:v3014-outline-residual-differential":"bun scripts/differential/check-v3014-outline-residual-differential.ts","test:v3014-selectable-table-differential":"bun scripts/differential/check-v3014-selectable-table-differential.ts","test:v3014-url-single-fetch-differential":"bun scripts/differential/check-v3014-url-single-fetch-differential.ts","test:v3014-visual-candidate-differential":"bun scripts/differential/check-v3014-visual-candidate-differential.ts","test:v3014-form-parent-child-differential":"bun scripts/differential/check-v3014-form-parent-child-differential.ts","test:v3014-markinfo-residual-differential":"bun scripts/differential/check-v3014-markinfo-residual-differential.ts","test:v3014-read-ocr-residual-differential":"bun scripts/differential/check-v3014-read-ocr-residual-differential.ts","test:v3014-annotation-residual-differential":"bun scripts/differential/check-v3014-annotation-residual-differential.ts","test:v3014-attachment-residual-differential":"bun scripts/differential/check-v3014-attachment-residual-differential.ts","test:v3014-form-flags-residual-differential":"bun scripts/differential/check-v3014-form-flags-residual-differential.ts","test:v3014-info-flags-residual-differential":"bun scripts/differential/check-v3014-info-flags-residual-differential.ts","test:v3014-linearized-residual-differential":"bun scripts/differential/check-v3014-linearized-residual-differential.ts","test:v3014-ocr-search-residual-differential":"bun scripts/differential/check-v3014-ocr-search-residual-differential.ts","test:v3014-utf16-text-residual-differential":"bun scripts/differential/check-v3014-utf16-text-residual-differential.ts","test:v3014-info-extras-residual-differential":"bun scripts/differential/check-v3014-info-extras-residual-differential.ts","test:v3014-page-labels-residual-differential":"bun scripts/differential/check-v3014-page-labels-residual-differential.ts","test:v3014-permissions-residual-differential":"bun scripts/differential/check-v3014-permissions-residual-differential.ts","test:v3014-ocr-search-interleave-differential":"bun scripts/differential/check-v3014-ocr-search-interleave-differential.ts","test:v3014-outline-cycle-residual-differential":"bun scripts/differential/check-v3014-outline-cycle-residual-differential.ts","test:v3014-outline-gotor-residual-differential":"bun scripts/differential/check-v3014-outline-gotor-residual-differential.ts","test:v3014-page-geometry-residual-differential":"bun scripts/differential/check-v3014-page-geometry-residual-differential.ts","test:v3014-remote-action-residual-differential":"bun scripts/differential/check-v3014-remote-action-residual-differential.ts","test:v3014-encrypt-filter-residual-differential":"bun scripts/differential/check-v3014-encrypt-filter-residual-differential.ts","test:v3014-ink-annotation-residual-differential":"bun scripts/differential/check-v3014-ink-annotation-residual-differential.ts","test:v3014-outline-launch-residual-differential":"bun scripts/differential/check-v3014-outline-launch-residual-differential.ts","test:v3014-annotation-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-dest-residual-differential.ts","test:v3014-form-utf16-text-residual-differential":"bun scripts/differential/check-v3014-form-utf16-text-residual-differential.ts","test:v3014-line-annotation-residual-differential":"bun scripts/differential/check-v3014-line-annotation-residual-differential.ts","test:v3014-popup-group-irt-residual-differential":"bun scripts/differential/check-v3014-popup-group-irt-residual-differential.ts","test:v3014-popup-zero-size-residual-differential":"bun scripts/differential/check-v3014-popup-zero-size-residual-differential.ts","test:v3014-text-annotation-residual-differential":"bun scripts/differential/check-v3014-text-annotation-residual-differential.ts","test:v3014-text-appearance-residual-differential":"bun scripts/differential/check-v3014-text-appearance-residual-differential.ts","test:v3014-text-invalid-as-residual-differential":"bun scripts/differential/check-v3014-text-invalid-as-residual-differential.ts","test:v3014-page-labels-kids-residual-differential":"bun scripts/differential/check-v3014-page-labels-kids-residual-differential.ts","test:v3014-polyline-polygon-residual-differential":"bun scripts/differential/check-v3014-polyline-polygon-residual-differential.ts","test:v3014-popup-annotation-residual-differential":"bun scripts/differential/check-v3014-popup-annotation-residual-differential.ts","test:v3014-search-multiword-geometry-differential":"bun scripts/differential/check-v3014-search-multiword-geometry-differential.ts","test:v3014-border-bs-nondict-residual-differential":"bun scripts/differential/check-v3014-border-bs-nondict-residual-differential.ts","test:v3014-document-ast-visual-fusion-differential":"bun scripts/differential/check-v3014-document-ast-visual-fusion-differential.ts","test:v3014-form-button-array-residual-differential":"bun scripts/differential/check-v3014-form-button-array-residual-differential.ts","test:v3014-metadata-presence-residual-differential":"bun scripts/differential/check-v3014-metadata-presence-residual-differential.ts","test:v3014-remote-named-dest-residual-differential":"bun scripts/differential/check-v3014-remote-named-dest-residual-differential.ts","test:v3014-attachment-dupkids-residual-differential":"bun scripts/differential/check-v3014-attachment-dupkids-residual-differential.ts","test:v3014-border-array-short-residual-differential":"bun scripts/differential/check-v3014-border-array-short-residual-differential.ts","test:v3014-border-array-width-residual-differential":"bun scripts/differential/check-v3014-border-array-width-residual-differential.ts","test:v3014-border-width-clamp-residual-differential":"bun scripts/differential/check-v3014-border-width-clamp-residual-differential.ts","test:v3014-outline-named-dest-residual-differential":"bun scripts/differential/check-v3014-outline-named-dest-residual-differential.ts","test:v3014-text-inverted-rect-residual-differential":"bun scripts/differential/check-v3014-text-inverted-rect-residual-differential.ts","test:v3014-form-text-multiline-residual-differential":"bun scripts/differential/check-v3014-form-text-multiline-residual-differential.ts","test:v3014-info-trapped-custom-residual-differential":"bun scripts/differential/check-v3014-info-trapped-custom-residual-differential.ts","test:v3014-selectable-text-segmentation-differential":"bun scripts/differential/check-v3014-selectable-text-segmentation-differential.ts","test:v3014-attachment-odd-names-residual-differential":"bun scripts/differential/check-v3014-attachment-odd-names-residual-differential.ts","test:v3014-border-bs-preference-residual-differential":"bun scripts/differential/check-v3014-border-bs-preference-residual-differential.ts","test:v3014-border-bs-wrong-type-residual-differential":"bun scripts/differential/check-v3014-border-bs-wrong-type-residual-differential.ts","test:v3014-text-named-appearance-residual-differential":"bun scripts/differential/check-v3014-text-named-appearance-residual-differential.ts","test:v3014-annotation-action-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-action-dest-residual-differential.ts","test:v3014-form-checkbox-as-value-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-as-value-residual-differential.ts","test:v3014-annotation-ap-nonstream-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-nonstream-residual-differential.ts","test:v3014-form-button-default-off-residual-differential":"bun scripts/differential/check-v3014-form-button-default-off-residual-differential.ts","test:v3014-form-radio-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-malformed-ap-residual-differential.ts","test:v3014-outline-relative-remote-residual-differential":"bun scripts/differential/check-v3014-outline-relative-remote-residual-differential.ts","test:v3014-annotation-freetext-rect-residual-differential":"bun scripts/differential/check-v3014-annotation-freetext-rect-residual-differential.ts","test:v3014-annotation-link-uri-name-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-name-residual-differential.ts","test:v3014-annotation-ap-named-state-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-residual-differential.ts","test:v3014-annotation-link-aa-action-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-action-residual-differential.ts","test:v3014-form-radio-as-no-override-residual-differential":"bun scripts/differential/check-v3014-form-radio-as-no-override-residual-differential.ts","test:v3014-form-radio-deeper-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-deeper-kids-ap-residual-differential.ts","test:v3014-form-radio-parent-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-parent-kids-ap-residual-differential.ts","test:v3014-page-geometry-depth-clamp-residual-differential":"bun scripts/differential/check-v3014-page-geometry-depth-clamp-residual-differential.ts","test:v3014-page-geometry-inheritance-residual-differential":"bun scripts/differential/check-v3014-page-geometry-inheritance-residual-differential.ts","test:v3014-annotation-appearance-bbox-residual-differential":"bun scripts/differential/check-v3014-annotation-appearance-bbox-residual-differential.ts","test:v3014-form-checkbox-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-malformed-ap-residual-differential.ts","test:v3014-form-checkbox-multi-export-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-residual-differential.ts","test:v3014-annotation-stamp-caret-file-residual-differential":"bun scripts/differential/check-v3014-annotation-stamp-caret-file-residual-differential.ts","test:v3014-annotation-action-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-action-precedence-residual-differential.ts","test:v3014-form-pushbutton-default-null-residual-differential":"bun scripts/differential/check-v3014-form-pushbutton-default-null-residual-differential.ts","test:v3014-annotation-contents-multiline-residual-differential":"bun scripts/differential/check-v3014-annotation-contents-multiline-residual-differential.ts","test:v3014-annotation-link-aa-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-precedence-residual-differential.ts","test:v3014-annotation-link-uri-normalize-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-normalize-residual-differential.ts","test:v3014-border-zero-size-clamp-bypass-residual-differential":"bun scripts/differential/check-v3014-border-zero-size-clamp-bypass-residual-differential.ts","test:v3014-annotation-text-markup-with-ap-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-with-ap-residual-differential.ts","test:v3014-form-checkbox-export-normalize-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-normalize-residual-differential.ts","test:v3014-form-radio-broken-parent-chain-residual-differential":"bun scripts/differential/check-v3014-form-radio-broken-parent-chain-residual-differential.ts","test:v3014-annotation-highlight-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-highlight-quadpoints-residual-differential.ts","test:v3014-annotation-square-circle-widget-residual-differential":"bun scripts/differential/check-v3014-annotation-square-circle-widget-residual-differential.ts","test:v3014-form-checkbox-multi-export-many-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-many-residual-differential.ts","test:v3014-page-geometry-userunit-multipage-residual-differential":"bun scripts/differential/check-v3014-page-geometry-userunit-multipage-residual-differential.ts","test:v3014-annotation-text-markup-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-quadpoints-residual-differential.ts","test:v3014-form-checkbox-export-empty-single-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-empty-single-residual-differential.ts","test:v3014-annotation-ap-named-state-polyline-ink-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-polyline-ink-residual-differential.ts","test:v3014-annotation-ap-named-state-square-circle-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-square-circle-residual-differential.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Evidence-first PDF MCP. Default entry is pure-Rust native (fail-closed if missing); TypeScript is explicit rollback only. Capability-first admission (ADR-0005). Withdrawn 3.0.15–3.1.1 must not be used.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^7.0.2","@types/node":"^26.1.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"optionalDependencies":{"@sylphx/pdf-reader-mcp-darwin-x64":"3.2.1","@sylphx/pdf-reader-mcp-darwin-arm64":"3.2.1","@sylphx/pdf-reader-mcp-linux-x64-gnu":"3.2.1","@sylphx/pdf-reader-mcp-win32-x64-msvc":"3.2.1","@sylphx/pdf-reader-mcp-linux-arm64-gnu":"3.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.2.1_1784826102901_0.12029612855959382","host":"s3://npm-registry-packages-npm-production"}},"3.2.2":{"name":"@sylphx/pdf-reader-mcp","version":"3.2.2","keywords":["mcp","model-context-protocol","pdf","reader","parser","typescript","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@3.2.2","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/runtime-entry.js"},"dist":{"shasum":"8837ee9751f9cc3a1201007e2a596119db000d78","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-3.2.2.tgz","fileCount":19,"integrity":"sha512-xcxeg4O/7lGQvI4s3vdT8iUOAGRYVqUIxV6LoDYfQ2GtLTVY4UjHULVvCCEzxEh4T6u2sHhJq3MHc1PFxqxJHg==","signatures":[{"sig":"MEUCIQDP6bnHnlOWSgNaUIufWh7rcWpGBZNySDcJbnkW+Adr+QIgefB7NPYJ9J1TRmvY7aE4ovEU50NhOLnr3mkJdlqAggA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9292436},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/runtime-entry.js","./pure-rust":"./dist/pure-rust.js","./typescript":"./dist/index.js"},"gitHead":"9ec2130dfc76979716755060723a493689366137","mcpName":"io.github.SylphxAI/pdf-reader-mcp","scripts":{"lint":"biome lint .","test":"bun test","build":"bun build src/index.ts --outdir dist --target node && bun build src/doctor-cli.ts --outdir dist --target node && bun build src/legacy-engine-runtime.ts --outdir dist --target node && bun build src/pure-rust.ts --outdir dist --target node && bun build src/runtime-entry.ts --outdir dist --target node && bun scripts/stage-pdfjs-worker.ts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/index.js","watch":"tsc --watch","format":"biome format --write .","release":"echo \"PUBLISH FREEZE: refusing release until capability parity is approved\" && exit 1","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage --timeout=30000","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/index.js","test:rust":"cargo test","typecheck":"tsc --noEmit","build:rust":"cargo build --release -p pdf-reader-core -p pdf-reader-cli -p pdf-reader-mcp-server && bun scripts/stage-rust-mcp.ts","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build && bun run package:smoke","native:platform":"bun scripts/native/platform-package-map.ts","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","sync:server-json":"bun scripts/sync-server-json.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:pure-rust":"bun scripts/benchmark-pure-rust.ts","native:assert-ready":"bun scripts/native/assert-native-packages-ready.ts","test:agent-task-eval":"bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline","test:ts-vs-rust-text":"bun scripts/differential/ts-vs-rust-text-oracle.ts","native:sync-manifests":"bun scripts/native/sync-native-package-manifests.ts","smoke:native-launcher":"bun scripts/smoke-native-launcher.ts","test:agent-task-smoke":"bun scripts/run-agent-task-smoke.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","check:pure-rust-matrix":"bun scripts/check-pure-rust-matrix.ts","test:capability-parity":"bun test test/production/capabilityParity.contract.test.ts --timeout=600000","test:pure-rust-exports":"bun test test/pure-rust-exports.test.ts","check:agent-task-corpus":"bun scripts/check-agent-task-corpus.ts","check:pure-rust-exports":"bun scripts/check-pure-rust-exports.ts","check:semantic-contracts":"bun scripts/check-semantic-contracts.ts","test:native-platform-map":"bun test test/native-platform-package-map.test.ts","check:production-contract":"bun scripts/check-production-contract.ts","validate:pure-rust-claimed":"bun run check:pure-rust-matrix && bun run check:semantic-contracts && bun run check:agent-task-corpus && bun run test:ts-vs-rust-text && bun run test:v3014-behavior-differential && bun run test:v3014-structure-differential && bun run test:v3014-text-layer-differential && bun run test:v3014-citation-chunk-differential && bun run test:v3014-semantic-hint-differential && bun run test:v3014-document-ast-differential && bun run test:v3014-document-map-differential && bun run test:v3014-trust-report-differential && bun run test:v3014-selectable-table-differential && bun run test:v3014-caption-link-differential && bun run test:v3014-search-semantic-differential && bun run test:v3014-lowercase-index-differential && bun run test:v3014-selectable-text-segmentation-differential && bun run test:v3014-ocr-search-differential && bun run test:v3014-raster-image-differential && bun run test:v3014-visual-candidate-differential && bun run test:v3014-visual-fusion-differential && bun run test:v3014-document-ast-visual-fusion-differential && bun run test:v3014-read-ocr-differential && bun run test:v3014-read-ocr-residual-differential && bun run test:v3014-ocr-tsv-differential && bun run test:v3014-ocr-table-merge-differential && bun run test:v3014-ocr-search-residual-differential && bun run test:v3014-ocr-search-interleave-differential && bun run test:v3014-url-single-fetch-differential && bun run test:v3014-ocr-search-tsv-differential && bun run test:v3014-search-multiword-geometry-differential && bun run test:v3014-form-residual-differential && bun run test:v3014-form-radio-group-differential && bun run test:v3014-attachment-residual-differential && bun run test:v3014-markinfo-residual-differential && bun run test:v3014-form-parent-child-differential && bun run test:v3014-annotation-residual-differential && bun run test:v3014-annotation-dest-residual-differential && bun run test:v3014-annotation-action-dest-residual-differential && bun run test:v3014-annotation-action-precedence-residual-differential && bun run test:v3014-info-flags-residual-differential && bun run test:v3014-page-geometry-residual-differential && bun run test:v3014-page-labels-residual-differential && bun run test:v3014-outline-residual-differential && bun run test:v3014-permissions-residual-differential && bun run test:v3014-metadata-presence-residual-differential && bun run test:v3014-info-extras-residual-differential && bun run test:v3014-encrypt-filter-residual-differential && bun run test:v3014-linearized-residual-differential && bun run test:v3014-form-flags-residual-differential && bun run test:v3014-text-annotation-residual-differential && bun run test:v3014-remote-action-residual-differential && bun run test:v3014-popup-annotation-residual-differential && bun run test:v3014-popup-zero-size-residual-differential && bun run test:v3014-popup-group-irt-residual-differential && bun run test:v3014-text-appearance-residual-differential && bun run test:v3014-text-named-appearance-residual-differential && bun run test:v3014-text-inverted-rect-residual-differential && bun run test:v3014-remote-named-dest-residual-differential && bun run test:v3014-page-labels-kids-residual-differential && bun run test:v3014-form-button-array-residual-differential && bun run test:v3014-form-button-default-off-residual-differential && bun run test:v3014-form-pushbutton-default-null-residual-differential && bun run test:v3014-form-checkbox-as-value-residual-differential && bun run test:v3014-form-checkbox-export-normalize-residual-differential && bun run test:v3014-form-radio-as-no-override-residual-differential && bun run test:v3014-form-checkbox-multi-export-residual-differential && bun run test:v3014-form-checkbox-multi-export-many-residual-differential && bun run test:v3014-form-checkbox-export-empty-single-residual-differential && bun run test:v3014-form-checkbox-malformed-ap-residual-differential && bun run test:v3014-form-radio-malformed-ap-residual-differential && bun run test:v3014-form-radio-parent-kids-ap-residual-differential && bun run test:v3014-form-radio-deeper-kids-ap-residual-differential && bun run test:v3014-form-radio-broken-parent-chain-residual-differential && bun run test:v3014-attachment-odd-names-residual-differential && bun run test:v3014-attachment-dupkids-residual-differential && bun run test:v3014-form-utf16-text-residual-differential && bun run test:v3014-utf16-text-residual-differential && bun run test:v3014-text-invalid-as-residual-differential && bun run test:v3014-line-annotation-residual-differential && bun run test:v3014-polyline-polygon-residual-differential && bun run test:v3014-ink-annotation-residual-differential && bun run test:v3014-border-width-clamp-residual-differential && bun run test:v3014-border-array-width-residual-differential && bun run test:v3014-border-bs-preference-residual-differential && bun run test:v3014-border-bs-nondict-residual-differential && bun run test:v3014-border-array-short-residual-differential && bun run test:v3014-border-bs-wrong-type-residual-differential && bun run test:v3014-border-zero-size-clamp-bypass-residual-differential && bun run test:v3014-annotation-appearance-bbox-residual-differential && bun run test:v3014-annotation-ap-nonstream-residual-differential && bun run test:v3014-annotation-ap-named-state-residual-differential && bun run test:v3014-annotation-ap-named-state-polyline-ink-residual-differential && bun run test:v3014-annotation-ap-named-state-square-circle-residual-differential && bun run test:v3014-annotation-highlight-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-with-ap-residual-differential && bun run test:v3014-annotation-stamp-caret-file-residual-differential && bun run test:v3014-annotation-square-circle-widget-residual-differential && bun run test:v3014-annotation-link-uri-normalize-residual-differential && bun run test:v3014-annotation-freetext-rect-residual-differential && bun run test:v3014-annotation-link-uri-name-residual-differential && bun run test:v3014-annotation-link-aa-action-residual-differential && bun run test:v3014-annotation-link-aa-precedence-residual-differential && cargo test -p pdf-reader-core --lib && cargo test -p pdf-reader-mcp-server --lib && bun run test:v3014-form-text-multiline-residual-differential && bun run test:v3014-annotation-contents-multiline-residual-differential && bun run test:v3014-outline-cycle-residual-differential && bun run test:v3014-outline-named-dest-residual-differential && bun run test:v3014-outline-gotor-residual-differential && bun run test:v3014-outline-launch-residual-differential && bun run test:v3014-outline-relative-remote-residual-differential && bun run test:v3014-info-trapped-custom-residual-differential && bun run test:v3014-page-geometry-inheritance-residual-differential && bun run test:v3014-page-geometry-depth-clamp-residual-differential && bun run test:v3014-page-geometry-userunit-multipage-residual-differential","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","native:stage-from-artifacts":"bun scripts/native/stage-native-artifacts.ts","test:agent-task-public-eval":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline --public","check:registry-install-proof":"bun scripts/check-registry-install-proof.ts","release:publish-with-natives":"bun scripts/release-publish-with-natives.ts","smoke:native-package-resolve":"bun scripts/smoke-native-package-resolve.ts","test:agent-task-public-smoke":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-smoke.ts --public","test:agent-task-eval:baseline":"bun scripts/run-agent-task-eval.ts --runtime=typescript --write-baseline --no-compare","test:agent-task-eval:calibrate":"bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline","test:v3014-ocr-tsv-differential":"bun scripts/differential/check-v3014-ocr-tsv-differential.ts","test:v3014-behavior-differential":"bun scripts/differential/check-v3014-behavior-differential.ts","test:v3014-read-ocr-differential":"bun scripts/differential/check-v3014-read-ocr-differential.ts","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts","test:v3014-structure-differential":"bun scripts/differential/check-v3014-structure-differential.ts","check:verified-candidate-admission":"bun scripts/check-verified-candidate-admission.ts","test:v3014-ocr-search-differential":"bun scripts/differential/check-v3014-ocr-search-differential.ts","test:v3014-text-layer-differential":"bun scripts/differential/check-v3014-text-layer-differential.ts","test:v3014-caption-link-differential":"bun scripts/differential/check-v3014-caption-link-differential.ts","test:v3014-document-ast-differential":"bun scripts/differential/check-v3014-document-ast-differential.ts","test:v3014-document-map-differential":"bun scripts/differential/check-v3014-document-map-differential.ts","test:v3014-raster-image-differential":"bun scripts/differential/check-v3014-raster-image-differential.ts","test:v3014-trust-report-differential":"bun scripts/differential/check-v3014-trust-report-differential.ts","test:agent-task-public-eval:calibrate":"MCP_PDF_AGENT_TASK_PUBLIC=true MCP_PDF_CORPUS_ALLOW_DOWNLOADS=true bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline --public --allow-corpus-downloads","test:v3014-form-residual-differential":"bun scripts/differential/check-v3014-form-residual-differential.ts","test:v3014-semantic-hint-differential":"bun scripts/differential/check-v3014-semantic-hint-differential.ts","test:v3014-visual-fusion-differential":"bun scripts/differential/check-v3014-visual-fusion-differential.ts","test:v3014-citation-chunk-differential":"bun scripts/differential/check-v3014-citation-chunk-differential.ts","test:v3014-ocr-search-tsv-differential":"bun scripts/differential/check-v3014-ocr-search-tsv-differential.ts","test:v3014-lowercase-index-differential":"bun scripts/differential/check-v3014-lowercase-index-differential.ts","test:v3014-ocr-table-merge-differential":"bun scripts/differential/check-v3014-ocr-table-merge-differential.ts","test:v3014-search-semantic-differential":"bun scripts/differential/check-v3014-search-semantic-differential.ts","test:v3014-form-radio-group-differential":"bun scripts/differential/check-v3014-form-radio-group-differential.ts","test:v3014-outline-residual-differential":"bun scripts/differential/check-v3014-outline-residual-differential.ts","test:v3014-selectable-table-differential":"bun scripts/differential/check-v3014-selectable-table-differential.ts","test:v3014-url-single-fetch-differential":"bun scripts/differential/check-v3014-url-single-fetch-differential.ts","test:v3014-visual-candidate-differential":"bun scripts/differential/check-v3014-visual-candidate-differential.ts","test:v3014-form-parent-child-differential":"bun scripts/differential/check-v3014-form-parent-child-differential.ts","test:v3014-markinfo-residual-differential":"bun scripts/differential/check-v3014-markinfo-residual-differential.ts","test:v3014-read-ocr-residual-differential":"bun scripts/differential/check-v3014-read-ocr-residual-differential.ts","test:v3014-annotation-residual-differential":"bun scripts/differential/check-v3014-annotation-residual-differential.ts","test:v3014-attachment-residual-differential":"bun scripts/differential/check-v3014-attachment-residual-differential.ts","test:v3014-form-flags-residual-differential":"bun scripts/differential/check-v3014-form-flags-residual-differential.ts","test:v3014-info-flags-residual-differential":"bun scripts/differential/check-v3014-info-flags-residual-differential.ts","test:v3014-linearized-residual-differential":"bun scripts/differential/check-v3014-linearized-residual-differential.ts","test:v3014-ocr-search-residual-differential":"bun scripts/differential/check-v3014-ocr-search-residual-differential.ts","test:v3014-utf16-text-residual-differential":"bun scripts/differential/check-v3014-utf16-text-residual-differential.ts","test:v3014-info-extras-residual-differential":"bun scripts/differential/check-v3014-info-extras-residual-differential.ts","test:v3014-page-labels-residual-differential":"bun scripts/differential/check-v3014-page-labels-residual-differential.ts","test:v3014-permissions-residual-differential":"bun scripts/differential/check-v3014-permissions-residual-differential.ts","test:v3014-ocr-search-interleave-differential":"bun scripts/differential/check-v3014-ocr-search-interleave-differential.ts","test:v3014-outline-cycle-residual-differential":"bun scripts/differential/check-v3014-outline-cycle-residual-differential.ts","test:v3014-outline-gotor-residual-differential":"bun scripts/differential/check-v3014-outline-gotor-residual-differential.ts","test:v3014-page-geometry-residual-differential":"bun scripts/differential/check-v3014-page-geometry-residual-differential.ts","test:v3014-remote-action-residual-differential":"bun scripts/differential/check-v3014-remote-action-residual-differential.ts","test:v3014-encrypt-filter-residual-differential":"bun scripts/differential/check-v3014-encrypt-filter-residual-differential.ts","test:v3014-ink-annotation-residual-differential":"bun scripts/differential/check-v3014-ink-annotation-residual-differential.ts","test:v3014-outline-launch-residual-differential":"bun scripts/differential/check-v3014-outline-launch-residual-differential.ts","test:v3014-annotation-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-dest-residual-differential.ts","test:v3014-form-utf16-text-residual-differential":"bun scripts/differential/check-v3014-form-utf16-text-residual-differential.ts","test:v3014-line-annotation-residual-differential":"bun scripts/differential/check-v3014-line-annotation-residual-differential.ts","test:v3014-popup-group-irt-residual-differential":"bun scripts/differential/check-v3014-popup-group-irt-residual-differential.ts","test:v3014-popup-zero-size-residual-differential":"bun scripts/differential/check-v3014-popup-zero-size-residual-differential.ts","test:v3014-text-annotation-residual-differential":"bun scripts/differential/check-v3014-text-annotation-residual-differential.ts","test:v3014-text-appearance-residual-differential":"bun scripts/differential/check-v3014-text-appearance-residual-differential.ts","test:v3014-text-invalid-as-residual-differential":"bun scripts/differential/check-v3014-text-invalid-as-residual-differential.ts","test:v3014-page-labels-kids-residual-differential":"bun scripts/differential/check-v3014-page-labels-kids-residual-differential.ts","test:v3014-polyline-polygon-residual-differential":"bun scripts/differential/check-v3014-polyline-polygon-residual-differential.ts","test:v3014-popup-annotation-residual-differential":"bun scripts/differential/check-v3014-popup-annotation-residual-differential.ts","test:v3014-search-multiword-geometry-differential":"bun scripts/differential/check-v3014-search-multiword-geometry-differential.ts","test:v3014-border-bs-nondict-residual-differential":"bun scripts/differential/check-v3014-border-bs-nondict-residual-differential.ts","test:v3014-document-ast-visual-fusion-differential":"bun scripts/differential/check-v3014-document-ast-visual-fusion-differential.ts","test:v3014-form-button-array-residual-differential":"bun scripts/differential/check-v3014-form-button-array-residual-differential.ts","test:v3014-metadata-presence-residual-differential":"bun scripts/differential/check-v3014-metadata-presence-residual-differential.ts","test:v3014-remote-named-dest-residual-differential":"bun scripts/differential/check-v3014-remote-named-dest-residual-differential.ts","test:v3014-attachment-dupkids-residual-differential":"bun scripts/differential/check-v3014-attachment-dupkids-residual-differential.ts","test:v3014-border-array-short-residual-differential":"bun scripts/differential/check-v3014-border-array-short-residual-differential.ts","test:v3014-border-array-width-residual-differential":"bun scripts/differential/check-v3014-border-array-width-residual-differential.ts","test:v3014-border-width-clamp-residual-differential":"bun scripts/differential/check-v3014-border-width-clamp-residual-differential.ts","test:v3014-outline-named-dest-residual-differential":"bun scripts/differential/check-v3014-outline-named-dest-residual-differential.ts","test:v3014-text-inverted-rect-residual-differential":"bun scripts/differential/check-v3014-text-inverted-rect-residual-differential.ts","test:v3014-form-text-multiline-residual-differential":"bun scripts/differential/check-v3014-form-text-multiline-residual-differential.ts","test:v3014-info-trapped-custom-residual-differential":"bun scripts/differential/check-v3014-info-trapped-custom-residual-differential.ts","test:v3014-selectable-text-segmentation-differential":"bun scripts/differential/check-v3014-selectable-text-segmentation-differential.ts","test:v3014-attachment-odd-names-residual-differential":"bun scripts/differential/check-v3014-attachment-odd-names-residual-differential.ts","test:v3014-border-bs-preference-residual-differential":"bun scripts/differential/check-v3014-border-bs-preference-residual-differential.ts","test:v3014-border-bs-wrong-type-residual-differential":"bun scripts/differential/check-v3014-border-bs-wrong-type-residual-differential.ts","test:v3014-text-named-appearance-residual-differential":"bun scripts/differential/check-v3014-text-named-appearance-residual-differential.ts","test:v3014-annotation-action-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-action-dest-residual-differential.ts","test:v3014-form-checkbox-as-value-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-as-value-residual-differential.ts","test:v3014-annotation-ap-nonstream-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-nonstream-residual-differential.ts","test:v3014-form-button-default-off-residual-differential":"bun scripts/differential/check-v3014-form-button-default-off-residual-differential.ts","test:v3014-form-radio-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-malformed-ap-residual-differential.ts","test:v3014-outline-relative-remote-residual-differential":"bun scripts/differential/check-v3014-outline-relative-remote-residual-differential.ts","test:v3014-annotation-freetext-rect-residual-differential":"bun scripts/differential/check-v3014-annotation-freetext-rect-residual-differential.ts","test:v3014-annotation-link-uri-name-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-name-residual-differential.ts","test:v3014-annotation-ap-named-state-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-residual-differential.ts","test:v3014-annotation-link-aa-action-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-action-residual-differential.ts","test:v3014-form-radio-as-no-override-residual-differential":"bun scripts/differential/check-v3014-form-radio-as-no-override-residual-differential.ts","test:v3014-form-radio-deeper-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-deeper-kids-ap-residual-differential.ts","test:v3014-form-radio-parent-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-parent-kids-ap-residual-differential.ts","test:v3014-page-geometry-depth-clamp-residual-differential":"bun scripts/differential/check-v3014-page-geometry-depth-clamp-residual-differential.ts","test:v3014-page-geometry-inheritance-residual-differential":"bun scripts/differential/check-v3014-page-geometry-inheritance-residual-differential.ts","test:v3014-annotation-appearance-bbox-residual-differential":"bun scripts/differential/check-v3014-annotation-appearance-bbox-residual-differential.ts","test:v3014-form-checkbox-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-malformed-ap-residual-differential.ts","test:v3014-form-checkbox-multi-export-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-residual-differential.ts","test:v3014-annotation-stamp-caret-file-residual-differential":"bun scripts/differential/check-v3014-annotation-stamp-caret-file-residual-differential.ts","test:v3014-annotation-action-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-action-precedence-residual-differential.ts","test:v3014-form-pushbutton-default-null-residual-differential":"bun scripts/differential/check-v3014-form-pushbutton-default-null-residual-differential.ts","test:v3014-annotation-contents-multiline-residual-differential":"bun scripts/differential/check-v3014-annotation-contents-multiline-residual-differential.ts","test:v3014-annotation-link-aa-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-precedence-residual-differential.ts","test:v3014-annotation-link-uri-normalize-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-normalize-residual-differential.ts","test:v3014-border-zero-size-clamp-bypass-residual-differential":"bun scripts/differential/check-v3014-border-zero-size-clamp-bypass-residual-differential.ts","test:v3014-annotation-text-markup-with-ap-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-with-ap-residual-differential.ts","test:v3014-form-checkbox-export-normalize-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-normalize-residual-differential.ts","test:v3014-form-radio-broken-parent-chain-residual-differential":"bun scripts/differential/check-v3014-form-radio-broken-parent-chain-residual-differential.ts","test:v3014-annotation-highlight-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-highlight-quadpoints-residual-differential.ts","test:v3014-annotation-square-circle-widget-residual-differential":"bun scripts/differential/check-v3014-annotation-square-circle-widget-residual-differential.ts","test:v3014-form-checkbox-multi-export-many-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-many-residual-differential.ts","test:v3014-page-geometry-userunit-multipage-residual-differential":"bun scripts/differential/check-v3014-page-geometry-userunit-multipage-residual-differential.ts","test:v3014-annotation-text-markup-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-quadpoints-residual-differential.ts","test:v3014-form-checkbox-export-empty-single-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-empty-single-residual-differential.ts","test:v3014-annotation-ap-named-state-polyline-ink-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-polyline-ink-residual-differential.ts","test:v3014-annotation-ap-named-state-square-circle-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-square-circle-residual-differential.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Evidence-first PDF MCP. Default entry is pure-Rust native (fail-closed if missing); TypeScript is explicit rollback only. Capability-first admission (ADR-0005). Withdrawn 3.0.15–3.1.1 must not be used.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.12","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^7.0.2","@types/node":"^26.1.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"optionalDependencies":{"@sylphx/pdf-reader-mcp-darwin-x64":"3.2.2","@sylphx/pdf-reader-mcp-darwin-arm64":"3.2.2","@sylphx/pdf-reader-mcp-linux-x64-gnu":"3.2.2","@sylphx/pdf-reader-mcp-win32-x64-msvc":"3.2.2","@sylphx/pdf-reader-mcp-linux-arm64-gnu":"3.2.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_3.2.2_1784827004235_0.547270729723589","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@sylphx/pdf-reader-mcp","version":"4.0.0","keywords":["mcp","model-context-protocol","pdf","reader","parser","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@4.0.0","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/runtime-entry.js"},"dist":{"shasum":"1437a5c9e245f5b1b97712b8f34c666a3287dddd","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-4.0.0.tgz","fileCount":14,"integrity":"sha512-NdAP8urPJz3/uRhGW55TUTPGmUB2RhaO3eQY+Ki/cu0QHPxxQ8OlhtrjAaGThIP9wFmJdVB7PTiVf5LX18hfsA==","signatures":[{"sig":"MEUCIECC3t5JK4Y6yYrEAGsMNZBAZ2zHFO04FsN96LgQ6k0jAiEA99StVYh8VuoC/bTf2nbdiHcZGg9aNMz0AHbsF9vERy8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86963},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/runtime-entry.js","./pure-rust":"./dist/pure-rust.js"},"gitHead":"8063e4b78c3d77116fa6430f1804f0967984daf8","mcpName":"io.github.SylphxAI/pdf-reader-mcp","scripts":{"lint":"biome lint .","test":"bun test","build":"bun run build:package && bun run build:oracle-ts","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/runtime-entry.js","watch":"tsc --watch","format":"biome format --write .","release":"echo \"PUBLISH FREEZE: refusing release until capability parity is approved\" && exit 1","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage --timeout=30000","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/runtime-entry.js","test:rust":"cargo test","typecheck":"tsc --noEmit","build:rust":"cargo build --release -p pdf-reader-core -p pdf-reader-cli -p pdf-reader-mcp-server && bun scripts/stage-rust-mcp.ts","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","build:package":"bun build src/runtime-entry.ts --outdir dist --target node && bun build src/pure-rust.ts --outdir dist --target node","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build:package && bun run package:smoke && bun run check:ts-production-absence","build:oracle-ts":"bun build src/index.ts --outdir dist --target node && bun build src/doctor-cli.ts --outdir dist --target node && bun build src/legacy-engine-runtime.ts --outdir dist --target node && bun build src/pure-rust.ts --outdir dist --target node && bun build src/runtime-entry.ts --outdir dist --target node && bun scripts/stage-pdfjs-worker.ts","native:platform":"bun scripts/native/platform-package-map.ts","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","sync:server-json":"bun scripts/sync-server-json.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","perf:same-host-ab":"bun scripts/perf/same-host-ts-rust-ab.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:pure-rust":"bun scripts/benchmark-pure-rust.ts","native:assert-ready":"bun scripts/native/assert-native-packages-ready.ts","check:sole-rust-core":"bun scripts/check-sole-rust-core-admission.ts","test:agent-task-eval":"bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline","test:ts-vs-rust-text":"bun scripts/differential/ts-vs-rust-text-oracle.ts","native:sync-manifests":"bun scripts/native/sync-native-package-manifests.ts","smoke:native-launcher":"bun scripts/smoke-native-launcher.ts","test:agent-task-smoke":"bun scripts/run-agent-task-smoke.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","check:pure-rust-matrix":"bun scripts/check-pure-rust-matrix.ts","test:capability-parity":"bun test test/production/capabilityParity.contract.test.ts --timeout=600000","test:pure-rust-exports":"bun test test/pure-rust-exports.test.ts","check:agent-task-corpus":"bun scripts/check-agent-task-corpus.ts","check:pure-rust-exports":"bun scripts/check-pure-rust-exports.ts","perf:same-host-ab-suite":"bun scripts/perf/run-same-host-ab-suite.ts","check:semantic-contracts":"bun scripts/check-semantic-contracts.ts","test:native-platform-map":"bun test test/native-platform-package-map.test.ts","check:production-contract":"bun scripts/check-production-contract.ts","validate:pure-rust-claimed":"bun run check:pure-rust-matrix && bun run check:semantic-contracts && bun run check:agent-task-corpus && bun run test:ts-vs-rust-text && bun run test:v3014-behavior-differential && bun run test:v3014-structure-differential && bun run test:v3014-text-layer-differential && bun run test:v3014-citation-chunk-differential && bun run test:v3014-semantic-hint-differential && bun run test:v3014-document-ast-differential && bun run test:v3014-document-map-differential && bun run test:v3014-trust-report-differential && bun run test:v3014-selectable-table-differential && bun run test:v3014-caption-link-differential && bun run test:v3014-search-semantic-differential && bun run test:v3014-lowercase-index-differential && bun run test:v3014-selectable-text-segmentation-differential && bun run test:v3014-ocr-search-differential && bun run test:v3014-raster-image-differential && bun run test:v3014-visual-candidate-differential && bun run test:v3014-visual-fusion-differential && bun run test:v3014-document-ast-visual-fusion-differential && bun run test:v3014-read-ocr-differential && bun run test:v3014-read-ocr-residual-differential && bun run test:v3014-ocr-tsv-differential && bun run test:v3014-ocr-table-merge-differential && bun run test:v3014-ocr-search-residual-differential && bun run test:v3014-ocr-search-interleave-differential && bun run test:v3014-url-single-fetch-differential && bun run test:v3014-ocr-search-tsv-differential && bun run test:v3014-search-multiword-geometry-differential && bun run test:v3014-form-residual-differential && bun run test:v3014-form-radio-group-differential && bun run test:v3014-attachment-residual-differential && bun run test:v3014-markinfo-residual-differential && bun run test:v3014-form-parent-child-differential && bun run test:v3014-annotation-residual-differential && bun run test:v3014-annotation-dest-residual-differential && bun run test:v3014-annotation-action-dest-residual-differential && bun run test:v3014-annotation-action-precedence-residual-differential && bun run test:v3014-info-flags-residual-differential && bun run test:v3014-page-geometry-residual-differential && bun run test:v3014-page-labels-residual-differential && bun run test:v3014-outline-residual-differential && bun run test:v3014-permissions-residual-differential && bun run test:v3014-metadata-presence-residual-differential && bun run test:v3014-info-extras-residual-differential && bun run test:v3014-encrypt-filter-residual-differential && bun run test:v3014-linearized-residual-differential && bun run test:v3014-form-flags-residual-differential && bun run test:v3014-text-annotation-residual-differential && bun run test:v3014-remote-action-residual-differential && bun run test:v3014-popup-annotation-residual-differential && bun run test:v3014-popup-zero-size-residual-differential && bun run test:v3014-popup-group-irt-residual-differential && bun run test:v3014-text-appearance-residual-differential && bun run test:v3014-text-named-appearance-residual-differential && bun run test:v3014-text-inverted-rect-residual-differential && bun run test:v3014-remote-named-dest-residual-differential && bun run test:v3014-page-labels-kids-residual-differential && bun run test:v3014-form-button-array-residual-differential && bun run test:v3014-form-button-default-off-residual-differential && bun run test:v3014-form-pushbutton-default-null-residual-differential && bun run test:v3014-form-checkbox-as-value-residual-differential && bun run test:v3014-form-checkbox-export-normalize-residual-differential && bun run test:v3014-form-radio-as-no-override-residual-differential && bun run test:v3014-form-checkbox-multi-export-residual-differential && bun run test:v3014-form-checkbox-multi-export-many-residual-differential && bun run test:v3014-form-checkbox-export-empty-single-residual-differential && bun run test:v3014-form-checkbox-malformed-ap-residual-differential && bun run test:v3014-form-radio-malformed-ap-residual-differential && bun run test:v3014-form-radio-parent-kids-ap-residual-differential && bun run test:v3014-form-radio-deeper-kids-ap-residual-differential && bun run test:v3014-form-radio-broken-parent-chain-residual-differential && bun run test:v3014-attachment-odd-names-residual-differential && bun run test:v3014-attachment-dupkids-residual-differential && bun run test:v3014-form-utf16-text-residual-differential && bun run test:v3014-utf16-text-residual-differential && bun run test:v3014-text-invalid-as-residual-differential && bun run test:v3014-line-annotation-residual-differential && bun run test:v3014-polyline-polygon-residual-differential && bun run test:v3014-ink-annotation-residual-differential && bun run test:v3014-border-width-clamp-residual-differential && bun run test:v3014-border-array-width-residual-differential && bun run test:v3014-border-bs-preference-residual-differential && bun run test:v3014-border-bs-nondict-residual-differential && bun run test:v3014-border-array-short-residual-differential && bun run test:v3014-border-bs-wrong-type-residual-differential && bun run test:v3014-border-zero-size-clamp-bypass-residual-differential && bun run test:v3014-annotation-appearance-bbox-residual-differential && bun run test:v3014-annotation-ap-nonstream-residual-differential && bun run test:v3014-annotation-ap-named-state-residual-differential && bun run test:v3014-annotation-ap-named-state-polyline-ink-residual-differential && bun run test:v3014-annotation-ap-named-state-square-circle-residual-differential && bun run test:v3014-annotation-highlight-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-with-ap-residual-differential && bun run test:v3014-annotation-stamp-caret-file-residual-differential && bun run test:v3014-annotation-square-circle-widget-residual-differential && bun run test:v3014-annotation-link-uri-normalize-residual-differential && bun run test:v3014-annotation-freetext-rect-residual-differential && bun run test:v3014-annotation-link-uri-name-residual-differential && bun run test:v3014-annotation-link-aa-action-residual-differential && bun run test:v3014-annotation-link-aa-precedence-residual-differential && cargo test -p pdf-reader-core --lib && cargo test -p pdf-reader-mcp-server --lib && bun run test:v3014-form-text-multiline-residual-differential && bun run test:v3014-annotation-contents-multiline-residual-differential && bun run test:v3014-outline-cycle-residual-differential && bun run test:v3014-outline-named-dest-residual-differential && bun run test:v3014-outline-gotor-residual-differential && bun run test:v3014-outline-launch-residual-differential && bun run test:v3014-outline-relative-remote-residual-differential && bun run test:v3014-info-trapped-custom-residual-differential && bun run test:v3014-page-geometry-inheritance-residual-differential && bun run test:v3014-page-geometry-depth-clamp-residual-differential && bun run test:v3014-page-geometry-userunit-multipage-residual-differential","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","check:ts-production-absence":"bun scripts/check-ts-production-absence.ts","native:stage-from-artifacts":"bun scripts/native/stage-native-artifacts.ts","test:agent-task-public-eval":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline --public","check:registry-install-proof":"bun scripts/check-registry-install-proof.ts","release:publish-with-natives":"bun scripts/release-publish-with-natives.ts","smoke:native-package-resolve":"bun scripts/smoke-native-package-resolve.ts","test:agent-task-public-smoke":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-smoke.ts --public","test:agent-task-eval:baseline":"bun scripts/run-agent-task-eval.ts --runtime=typescript --write-baseline --no-compare","test:agent-task-eval:calibrate":"bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline","test:v3014-ocr-tsv-differential":"bun scripts/differential/check-v3014-ocr-tsv-differential.ts","test:v3014-behavior-differential":"bun scripts/differential/check-v3014-behavior-differential.ts","test:v3014-read-ocr-differential":"bun scripts/differential/check-v3014-read-ocr-differential.ts","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts","test:v3014-structure-differential":"bun scripts/differential/check-v3014-structure-differential.ts","check:verified-candidate-admission":"bun scripts/check-verified-candidate-admission.ts","test:v3014-ocr-search-differential":"bun scripts/differential/check-v3014-ocr-search-differential.ts","test:v3014-text-layer-differential":"bun scripts/differential/check-v3014-text-layer-differential.ts","test:v3014-caption-link-differential":"bun scripts/differential/check-v3014-caption-link-differential.ts","test:v3014-document-ast-differential":"bun scripts/differential/check-v3014-document-ast-differential.ts","test:v3014-document-map-differential":"bun scripts/differential/check-v3014-document-map-differential.ts","test:v3014-raster-image-differential":"bun scripts/differential/check-v3014-raster-image-differential.ts","test:v3014-trust-report-differential":"bun scripts/differential/check-v3014-trust-report-differential.ts","test:agent-task-public-eval:calibrate":"MCP_PDF_AGENT_TASK_PUBLIC=true MCP_PDF_CORPUS_ALLOW_DOWNLOADS=true bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline --public --allow-corpus-downloads","test:v3014-form-residual-differential":"bun scripts/differential/check-v3014-form-residual-differential.ts","test:v3014-semantic-hint-differential":"bun scripts/differential/check-v3014-semantic-hint-differential.ts","test:v3014-visual-fusion-differential":"bun scripts/differential/check-v3014-visual-fusion-differential.ts","test:v3014-citation-chunk-differential":"bun scripts/differential/check-v3014-citation-chunk-differential.ts","test:v3014-ocr-search-tsv-differential":"bun scripts/differential/check-v3014-ocr-search-tsv-differential.ts","test:v3014-lowercase-index-differential":"bun scripts/differential/check-v3014-lowercase-index-differential.ts","test:v3014-ocr-table-merge-differential":"bun scripts/differential/check-v3014-ocr-table-merge-differential.ts","test:v3014-search-semantic-differential":"bun scripts/differential/check-v3014-search-semantic-differential.ts","test:v3014-form-radio-group-differential":"bun scripts/differential/check-v3014-form-radio-group-differential.ts","test:v3014-outline-residual-differential":"bun scripts/differential/check-v3014-outline-residual-differential.ts","test:v3014-selectable-table-differential":"bun scripts/differential/check-v3014-selectable-table-differential.ts","test:v3014-url-single-fetch-differential":"bun scripts/differential/check-v3014-url-single-fetch-differential.ts","test:v3014-visual-candidate-differential":"bun scripts/differential/check-v3014-visual-candidate-differential.ts","test:v3014-form-parent-child-differential":"bun scripts/differential/check-v3014-form-parent-child-differential.ts","test:v3014-markinfo-residual-differential":"bun scripts/differential/check-v3014-markinfo-residual-differential.ts","test:v3014-read-ocr-residual-differential":"bun scripts/differential/check-v3014-read-ocr-residual-differential.ts","test:v3014-annotation-residual-differential":"bun scripts/differential/check-v3014-annotation-residual-differential.ts","test:v3014-attachment-residual-differential":"bun scripts/differential/check-v3014-attachment-residual-differential.ts","test:v3014-form-flags-residual-differential":"bun scripts/differential/check-v3014-form-flags-residual-differential.ts","test:v3014-info-flags-residual-differential":"bun scripts/differential/check-v3014-info-flags-residual-differential.ts","test:v3014-linearized-residual-differential":"bun scripts/differential/check-v3014-linearized-residual-differential.ts","test:v3014-ocr-search-residual-differential":"bun scripts/differential/check-v3014-ocr-search-residual-differential.ts","test:v3014-utf16-text-residual-differential":"bun scripts/differential/check-v3014-utf16-text-residual-differential.ts","test:v3014-info-extras-residual-differential":"bun scripts/differential/check-v3014-info-extras-residual-differential.ts","test:v3014-page-labels-residual-differential":"bun scripts/differential/check-v3014-page-labels-residual-differential.ts","test:v3014-permissions-residual-differential":"bun scripts/differential/check-v3014-permissions-residual-differential.ts","test:v3014-ocr-search-interleave-differential":"bun scripts/differential/check-v3014-ocr-search-interleave-differential.ts","test:v3014-outline-cycle-residual-differential":"bun scripts/differential/check-v3014-outline-cycle-residual-differential.ts","test:v3014-outline-gotor-residual-differential":"bun scripts/differential/check-v3014-outline-gotor-residual-differential.ts","test:v3014-page-geometry-residual-differential":"bun scripts/differential/check-v3014-page-geometry-residual-differential.ts","test:v3014-remote-action-residual-differential":"bun scripts/differential/check-v3014-remote-action-residual-differential.ts","test:v3014-encrypt-filter-residual-differential":"bun scripts/differential/check-v3014-encrypt-filter-residual-differential.ts","test:v3014-ink-annotation-residual-differential":"bun scripts/differential/check-v3014-ink-annotation-residual-differential.ts","test:v3014-outline-launch-residual-differential":"bun scripts/differential/check-v3014-outline-launch-residual-differential.ts","test:v3014-annotation-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-dest-residual-differential.ts","test:v3014-form-utf16-text-residual-differential":"bun scripts/differential/check-v3014-form-utf16-text-residual-differential.ts","test:v3014-line-annotation-residual-differential":"bun scripts/differential/check-v3014-line-annotation-residual-differential.ts","test:v3014-popup-group-irt-residual-differential":"bun scripts/differential/check-v3014-popup-group-irt-residual-differential.ts","test:v3014-popup-zero-size-residual-differential":"bun scripts/differential/check-v3014-popup-zero-size-residual-differential.ts","test:v3014-text-annotation-residual-differential":"bun scripts/differential/check-v3014-text-annotation-residual-differential.ts","test:v3014-text-appearance-residual-differential":"bun scripts/differential/check-v3014-text-appearance-residual-differential.ts","test:v3014-text-invalid-as-residual-differential":"bun scripts/differential/check-v3014-text-invalid-as-residual-differential.ts","test:v3014-page-labels-kids-residual-differential":"bun scripts/differential/check-v3014-page-labels-kids-residual-differential.ts","test:v3014-polyline-polygon-residual-differential":"bun scripts/differential/check-v3014-polyline-polygon-residual-differential.ts","test:v3014-popup-annotation-residual-differential":"bun scripts/differential/check-v3014-popup-annotation-residual-differential.ts","test:v3014-search-multiword-geometry-differential":"bun scripts/differential/check-v3014-search-multiword-geometry-differential.ts","test:v3014-border-bs-nondict-residual-differential":"bun scripts/differential/check-v3014-border-bs-nondict-residual-differential.ts","test:v3014-document-ast-visual-fusion-differential":"bun scripts/differential/check-v3014-document-ast-visual-fusion-differential.ts","test:v3014-form-button-array-residual-differential":"bun scripts/differential/check-v3014-form-button-array-residual-differential.ts","test:v3014-metadata-presence-residual-differential":"bun scripts/differential/check-v3014-metadata-presence-residual-differential.ts","test:v3014-remote-named-dest-residual-differential":"bun scripts/differential/check-v3014-remote-named-dest-residual-differential.ts","test:v3014-attachment-dupkids-residual-differential":"bun scripts/differential/check-v3014-attachment-dupkids-residual-differential.ts","test:v3014-border-array-short-residual-differential":"bun scripts/differential/check-v3014-border-array-short-residual-differential.ts","test:v3014-border-array-width-residual-differential":"bun scripts/differential/check-v3014-border-array-width-residual-differential.ts","test:v3014-border-width-clamp-residual-differential":"bun scripts/differential/check-v3014-border-width-clamp-residual-differential.ts","test:v3014-outline-named-dest-residual-differential":"bun scripts/differential/check-v3014-outline-named-dest-residual-differential.ts","test:v3014-text-inverted-rect-residual-differential":"bun scripts/differential/check-v3014-text-inverted-rect-residual-differential.ts","test:v3014-form-text-multiline-residual-differential":"bun scripts/differential/check-v3014-form-text-multiline-residual-differential.ts","test:v3014-info-trapped-custom-residual-differential":"bun scripts/differential/check-v3014-info-trapped-custom-residual-differential.ts","test:v3014-selectable-text-segmentation-differential":"bun scripts/differential/check-v3014-selectable-text-segmentation-differential.ts","test:v3014-attachment-odd-names-residual-differential":"bun scripts/differential/check-v3014-attachment-odd-names-residual-differential.ts","test:v3014-border-bs-preference-residual-differential":"bun scripts/differential/check-v3014-border-bs-preference-residual-differential.ts","test:v3014-border-bs-wrong-type-residual-differential":"bun scripts/differential/check-v3014-border-bs-wrong-type-residual-differential.ts","test:v3014-text-named-appearance-residual-differential":"bun scripts/differential/check-v3014-text-named-appearance-residual-differential.ts","test:v3014-annotation-action-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-action-dest-residual-differential.ts","test:v3014-form-checkbox-as-value-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-as-value-residual-differential.ts","test:v3014-annotation-ap-nonstream-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-nonstream-residual-differential.ts","test:v3014-form-button-default-off-residual-differential":"bun scripts/differential/check-v3014-form-button-default-off-residual-differential.ts","test:v3014-form-radio-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-malformed-ap-residual-differential.ts","test:v3014-outline-relative-remote-residual-differential":"bun scripts/differential/check-v3014-outline-relative-remote-residual-differential.ts","test:v3014-annotation-freetext-rect-residual-differential":"bun scripts/differential/check-v3014-annotation-freetext-rect-residual-differential.ts","test:v3014-annotation-link-uri-name-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-name-residual-differential.ts","test:v3014-annotation-ap-named-state-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-residual-differential.ts","test:v3014-annotation-link-aa-action-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-action-residual-differential.ts","test:v3014-form-radio-as-no-override-residual-differential":"bun scripts/differential/check-v3014-form-radio-as-no-override-residual-differential.ts","test:v3014-form-radio-deeper-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-deeper-kids-ap-residual-differential.ts","test:v3014-form-radio-parent-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-parent-kids-ap-residual-differential.ts","test:v3014-page-geometry-depth-clamp-residual-differential":"bun scripts/differential/check-v3014-page-geometry-depth-clamp-residual-differential.ts","test:v3014-page-geometry-inheritance-residual-differential":"bun scripts/differential/check-v3014-page-geometry-inheritance-residual-differential.ts","test:v3014-annotation-appearance-bbox-residual-differential":"bun scripts/differential/check-v3014-annotation-appearance-bbox-residual-differential.ts","test:v3014-form-checkbox-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-malformed-ap-residual-differential.ts","test:v3014-form-checkbox-multi-export-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-residual-differential.ts","test:v3014-annotation-stamp-caret-file-residual-differential":"bun scripts/differential/check-v3014-annotation-stamp-caret-file-residual-differential.ts","test:v3014-annotation-action-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-action-precedence-residual-differential.ts","test:v3014-form-pushbutton-default-null-residual-differential":"bun scripts/differential/check-v3014-form-pushbutton-default-null-residual-differential.ts","test:v3014-annotation-contents-multiline-residual-differential":"bun scripts/differential/check-v3014-annotation-contents-multiline-residual-differential.ts","test:v3014-annotation-link-aa-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-precedence-residual-differential.ts","test:v3014-annotation-link-uri-normalize-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-normalize-residual-differential.ts","test:v3014-border-zero-size-clamp-bypass-residual-differential":"bun scripts/differential/check-v3014-border-zero-size-clamp-bypass-residual-differential.ts","test:v3014-annotation-text-markup-with-ap-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-with-ap-residual-differential.ts","test:v3014-form-checkbox-export-normalize-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-normalize-residual-differential.ts","test:v3014-form-radio-broken-parent-chain-residual-differential":"bun scripts/differential/check-v3014-form-radio-broken-parent-chain-residual-differential.ts","test:v3014-annotation-highlight-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-highlight-quadpoints-residual-differential.ts","test:v3014-annotation-square-circle-widget-residual-differential":"bun scripts/differential/check-v3014-annotation-square-circle-widget-residual-differential.ts","test:v3014-form-checkbox-multi-export-many-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-many-residual-differential.ts","test:v3014-page-geometry-userunit-multipage-residual-differential":"bun scripts/differential/check-v3014-page-geometry-userunit-multipage-residual-differential.ts","test:v3014-annotation-text-markup-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-quadpoints-residual-differential.ts","test:v3014-form-checkbox-export-empty-single-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-empty-single-residual-differential.ts","test:v3014-annotation-ap-named-state-polyline-ink-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-polyline-ink-residual-differential.ts","test:v3014-annotation-ap-named-state-square-circle-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-square-circle-residual-differential.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Evidence-first PDF MCP. Sole-Rust production via platform native binary (thin JS launcher only). TypeScript PDF runtime is not shipped. Capability-first admission (ADR-0005/0006).","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","pngjs":"^7.0.0","pdfjs-dist":"^6.0.227","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"bunup":"0.16.31","vitepress":"^1.6.4","typescript":"^7.0.2","@types/node":"^26.1.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@changesets/changelog-github":"^0.7.0"},"optionalDependencies":{"@sylphx/pdf-reader-mcp-darwin-x64":"4.0.0","@sylphx/pdf-reader-mcp-darwin-arm64":"4.0.0","@sylphx/pdf-reader-mcp-linux-x64-gnu":"4.0.0","@sylphx/pdf-reader-mcp-win32-x64-msvc":"4.0.0","@sylphx/pdf-reader-mcp-linux-arm64-gnu":"4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_4.0.0_1784871836295_0.7657021057634481","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"@sylphx/pdf-reader-mcp","version":"4.0.1","keywords":["mcp","model-context-protocol","pdf","reader","parser","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@4.0.1","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/runtime-entry.js"},"dist":{"shasum":"6c9f90429e9f796ec81047bd97a5e85ec38cc820","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-4.0.1.tgz","fileCount":14,"integrity":"sha512-xNChHUph8gDxnYZ5uXDB07LQiI/wZ4Si+xYvdDS5lG+610d2Ux/LbB68x+ekDRiYywgszytWP9ahpIo2nCXcwg==","signatures":[{"sig":"MEQCIBXCTbSn+8svQT9d4tKlGNAwiIqcGuYVm8daWZk3zgBKAiBSJSlBzVy5UdsYirg8MRRA/o2EaMi7brf8Q2S3pXl6jA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72415},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/runtime-entry.js","./pure-rust":"./dist/pure-rust.js"},"gitHead":"c5a502c462ddd7ce88f460d35b5675d40b1865eb","mcpName":"io.github.SylphxAI/pdf-reader-mcp","scripts":{"lint":"biome lint .","test":"bun test","build":"bun run build:package","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/runtime-entry.js","watch":"tsc --watch","format":"biome format --write .","release":"echo \"PUBLISH FREEZE: refusing release until capability parity is approved\" && exit 1","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage --timeout=30000","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/runtime-entry.js","test:rust":"cargo test","typecheck":"tsc --noEmit","build:rust":"cargo build --release -p pdf-reader-core -p pdf-reader-cli -p pdf-reader-mcp-server && bun scripts/stage-rust-mcp.ts","build:test":"bun run build:package && bun run build:oracle-ts","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","build:package":"bun build src/runtime-entry.ts --outdir dist --target node && bun build src/pure-rust.ts --outdir dist --target node","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build:package && bun run package:smoke && bun run check:ts-production-absence && bun run check:prod-dependency-closure","build:oracle-ts":"bun build src/index.ts --outdir dist --target node && bun build src/doctor-cli.ts --outdir dist --target node && bun build src/legacy-engine-runtime.ts --outdir dist --target node && bun build src/pure-rust.ts --outdir dist --target node && bun build src/runtime-entry.ts --outdir dist --target node && bun scripts/stage-pdfjs-worker.ts","native:platform":"bun scripts/native/platform-package-map.ts","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","sync:server-json":"bun scripts/sync-server-json.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","perf:same-host-ab":"bun scripts/perf/same-host-ts-rust-ab.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:pure-rust":"bun scripts/benchmark-pure-rust.ts","native:assert-ready":"bun scripts/native/assert-native-packages-ready.ts","check:sole-rust-core":"bun scripts/check-sole-rust-core-admission.ts","test:agent-task-eval":"bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline","test:ts-vs-rust-text":"bun scripts/differential/ts-vs-rust-text-oracle.ts","native:sync-manifests":"bun scripts/native/sync-native-package-manifests.ts","smoke:native-launcher":"bun scripts/smoke-native-launcher.ts","test:agent-task-smoke":"bun scripts/run-agent-task-smoke.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","check:pure-rust-matrix":"bun scripts/check-pure-rust-matrix.ts","test:capability-parity":"bun test test/production/capabilityParity.contract.test.ts --timeout=600000","test:pure-rust-exports":"bun test test/pure-rust-exports.test.ts","check:agent-task-corpus":"bun scripts/check-agent-task-corpus.ts","check:pure-rust-exports":"bun scripts/check-pure-rust-exports.ts","perf:same-host-ab-suite":"bun scripts/perf/run-same-host-ab-suite.ts","check:semantic-contracts":"bun scripts/check-semantic-contracts.ts","test:native-platform-map":"bun test test/native-platform-package-map.test.ts","check:production-contract":"bun scripts/check-production-contract.ts","validate:pure-rust-claimed":"bun run check:pure-rust-matrix && bun run check:semantic-contracts && bun run check:agent-task-corpus && bun run test:ts-vs-rust-text && bun run test:v3014-behavior-differential && bun run test:v3014-structure-differential && bun run test:v3014-text-layer-differential && bun run test:v3014-citation-chunk-differential && bun run test:v3014-semantic-hint-differential && bun run test:v3014-document-ast-differential && bun run test:v3014-document-map-differential && bun run test:v3014-trust-report-differential && bun run test:v3014-selectable-table-differential && bun run test:v3014-caption-link-differential && bun run test:v3014-search-semantic-differential && bun run test:v3014-lowercase-index-differential && bun run test:v3014-selectable-text-segmentation-differential && bun run test:v3014-ocr-search-differential && bun run test:v3014-raster-image-differential && bun run test:v3014-visual-candidate-differential && bun run test:v3014-visual-fusion-differential && bun run test:v3014-document-ast-visual-fusion-differential && bun run test:v3014-read-ocr-differential && bun run test:v3014-read-ocr-residual-differential && bun run test:v3014-ocr-tsv-differential && bun run test:v3014-ocr-table-merge-differential && bun run test:v3014-ocr-search-residual-differential && bun run test:v3014-ocr-search-interleave-differential && bun run test:v3014-url-single-fetch-differential && bun run test:v3014-ocr-search-tsv-differential && bun run test:v3014-search-multiword-geometry-differential && bun run test:v3014-form-residual-differential && bun run test:v3014-form-radio-group-differential && bun run test:v3014-attachment-residual-differential && bun run test:v3014-markinfo-residual-differential && bun run test:v3014-form-parent-child-differential && bun run test:v3014-annotation-residual-differential && bun run test:v3014-annotation-dest-residual-differential && bun run test:v3014-annotation-action-dest-residual-differential && bun run test:v3014-annotation-action-precedence-residual-differential && bun run test:v3014-info-flags-residual-differential && bun run test:v3014-page-geometry-residual-differential && bun run test:v3014-page-labels-residual-differential && bun run test:v3014-outline-residual-differential && bun run test:v3014-permissions-residual-differential && bun run test:v3014-metadata-presence-residual-differential && bun run test:v3014-info-extras-residual-differential && bun run test:v3014-encrypt-filter-residual-differential && bun run test:v3014-linearized-residual-differential && bun run test:v3014-form-flags-residual-differential && bun run test:v3014-text-annotation-residual-differential && bun run test:v3014-remote-action-residual-differential && bun run test:v3014-popup-annotation-residual-differential && bun run test:v3014-popup-zero-size-residual-differential && bun run test:v3014-popup-group-irt-residual-differential && bun run test:v3014-text-appearance-residual-differential && bun run test:v3014-text-named-appearance-residual-differential && bun run test:v3014-text-inverted-rect-residual-differential && bun run test:v3014-remote-named-dest-residual-differential && bun run test:v3014-page-labels-kids-residual-differential && bun run test:v3014-form-button-array-residual-differential && bun run test:v3014-form-button-default-off-residual-differential && bun run test:v3014-form-pushbutton-default-null-residual-differential && bun run test:v3014-form-checkbox-as-value-residual-differential && bun run test:v3014-form-checkbox-export-normalize-residual-differential && bun run test:v3014-form-radio-as-no-override-residual-differential && bun run test:v3014-form-checkbox-multi-export-residual-differential && bun run test:v3014-form-checkbox-multi-export-many-residual-differential && bun run test:v3014-form-checkbox-export-empty-single-residual-differential && bun run test:v3014-form-checkbox-malformed-ap-residual-differential && bun run test:v3014-form-radio-malformed-ap-residual-differential && bun run test:v3014-form-radio-parent-kids-ap-residual-differential && bun run test:v3014-form-radio-deeper-kids-ap-residual-differential && bun run test:v3014-form-radio-broken-parent-chain-residual-differential && bun run test:v3014-attachment-odd-names-residual-differential && bun run test:v3014-attachment-dupkids-residual-differential && bun run test:v3014-form-utf16-text-residual-differential && bun run test:v3014-utf16-text-residual-differential && bun run test:v3014-text-invalid-as-residual-differential && bun run test:v3014-line-annotation-residual-differential && bun run test:v3014-polyline-polygon-residual-differential && bun run test:v3014-ink-annotation-residual-differential && bun run test:v3014-border-width-clamp-residual-differential && bun run test:v3014-border-array-width-residual-differential && bun run test:v3014-border-bs-preference-residual-differential && bun run test:v3014-border-bs-nondict-residual-differential && bun run test:v3014-border-array-short-residual-differential && bun run test:v3014-border-bs-wrong-type-residual-differential && bun run test:v3014-border-zero-size-clamp-bypass-residual-differential && bun run test:v3014-annotation-appearance-bbox-residual-differential && bun run test:v3014-annotation-ap-nonstream-residual-differential && bun run test:v3014-annotation-ap-named-state-residual-differential && bun run test:v3014-annotation-ap-named-state-polyline-ink-residual-differential && bun run test:v3014-annotation-ap-named-state-square-circle-residual-differential && bun run test:v3014-annotation-highlight-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-with-ap-residual-differential && bun run test:v3014-annotation-stamp-caret-file-residual-differential && bun run test:v3014-annotation-square-circle-widget-residual-differential && bun run test:v3014-annotation-link-uri-normalize-residual-differential && bun run test:v3014-annotation-freetext-rect-residual-differential && bun run test:v3014-annotation-link-uri-name-residual-differential && bun run test:v3014-annotation-link-aa-action-residual-differential && bun run test:v3014-annotation-link-aa-precedence-residual-differential && cargo test -p pdf-reader-core --lib && cargo test -p pdf-reader-mcp-server --lib && bun run test:v3014-form-text-multiline-residual-differential && bun run test:v3014-annotation-contents-multiline-residual-differential && bun run test:v3014-outline-cycle-residual-differential && bun run test:v3014-outline-named-dest-residual-differential && bun run test:v3014-outline-gotor-residual-differential && bun run test:v3014-outline-launch-residual-differential && bun run test:v3014-outline-relative-remote-residual-differential && bun run test:v3014-info-trapped-custom-residual-differential && bun run test:v3014-page-geometry-inheritance-residual-differential && bun run test:v3014-page-geometry-depth-clamp-residual-differential && bun run test:v3014-page-geometry-userunit-multipage-residual-differential","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","check:ts-production-absence":"bun scripts/check-ts-production-absence.ts","native:stage-from-artifacts":"bun scripts/native/stage-native-artifacts.ts","test:agent-task-public-eval":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline --public","check:registry-install-proof":"bun scripts/check-registry-install-proof.ts","release:publish-with-natives":"bun scripts/release-publish-with-natives.ts","smoke:native-package-resolve":"bun scripts/smoke-native-package-resolve.ts","test:agent-task-public-smoke":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-smoke.ts --public","check:prod-dependency-closure":"bun scripts/check-prod-dependency-closure.ts","test:agent-task-eval:baseline":"bun scripts/run-agent-task-eval.ts --runtime=typescript --write-baseline --no-compare","test:agent-task-eval:calibrate":"bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline","test:v3014-ocr-tsv-differential":"bun scripts/differential/check-v3014-ocr-tsv-differential.ts","test:v3014-behavior-differential":"bun scripts/differential/check-v3014-behavior-differential.ts","test:v3014-read-ocr-differential":"bun scripts/differential/check-v3014-read-ocr-differential.ts","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts","test:v3014-structure-differential":"bun scripts/differential/check-v3014-structure-differential.ts","check:verified-candidate-admission":"bun scripts/check-verified-candidate-admission.ts","test:v3014-ocr-search-differential":"bun scripts/differential/check-v3014-ocr-search-differential.ts","test:v3014-text-layer-differential":"bun scripts/differential/check-v3014-text-layer-differential.ts","test:v3014-caption-link-differential":"bun scripts/differential/check-v3014-caption-link-differential.ts","test:v3014-document-ast-differential":"bun scripts/differential/check-v3014-document-ast-differential.ts","test:v3014-document-map-differential":"bun scripts/differential/check-v3014-document-map-differential.ts","test:v3014-raster-image-differential":"bun scripts/differential/check-v3014-raster-image-differential.ts","test:v3014-trust-report-differential":"bun scripts/differential/check-v3014-trust-report-differential.ts","test:agent-task-public-eval:calibrate":"MCP_PDF_AGENT_TASK_PUBLIC=true MCP_PDF_CORPUS_ALLOW_DOWNLOADS=true bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline --public --allow-corpus-downloads","test:v3014-form-residual-differential":"bun scripts/differential/check-v3014-form-residual-differential.ts","test:v3014-semantic-hint-differential":"bun scripts/differential/check-v3014-semantic-hint-differential.ts","test:v3014-visual-fusion-differential":"bun scripts/differential/check-v3014-visual-fusion-differential.ts","test:v3014-citation-chunk-differential":"bun scripts/differential/check-v3014-citation-chunk-differential.ts","test:v3014-ocr-search-tsv-differential":"bun scripts/differential/check-v3014-ocr-search-tsv-differential.ts","test:v3014-lowercase-index-differential":"bun scripts/differential/check-v3014-lowercase-index-differential.ts","test:v3014-ocr-table-merge-differential":"bun scripts/differential/check-v3014-ocr-table-merge-differential.ts","test:v3014-search-semantic-differential":"bun scripts/differential/check-v3014-search-semantic-differential.ts","test:v3014-form-radio-group-differential":"bun scripts/differential/check-v3014-form-radio-group-differential.ts","test:v3014-outline-residual-differential":"bun scripts/differential/check-v3014-outline-residual-differential.ts","test:v3014-selectable-table-differential":"bun scripts/differential/check-v3014-selectable-table-differential.ts","test:v3014-url-single-fetch-differential":"bun scripts/differential/check-v3014-url-single-fetch-differential.ts","test:v3014-visual-candidate-differential":"bun scripts/differential/check-v3014-visual-candidate-differential.ts","test:v3014-form-parent-child-differential":"bun scripts/differential/check-v3014-form-parent-child-differential.ts","test:v3014-markinfo-residual-differential":"bun scripts/differential/check-v3014-markinfo-residual-differential.ts","test:v3014-read-ocr-residual-differential":"bun scripts/differential/check-v3014-read-ocr-residual-differential.ts","test:v3014-annotation-residual-differential":"bun scripts/differential/check-v3014-annotation-residual-differential.ts","test:v3014-attachment-residual-differential":"bun scripts/differential/check-v3014-attachment-residual-differential.ts","test:v3014-form-flags-residual-differential":"bun scripts/differential/check-v3014-form-flags-residual-differential.ts","test:v3014-info-flags-residual-differential":"bun scripts/differential/check-v3014-info-flags-residual-differential.ts","test:v3014-linearized-residual-differential":"bun scripts/differential/check-v3014-linearized-residual-differential.ts","test:v3014-ocr-search-residual-differential":"bun scripts/differential/check-v3014-ocr-search-residual-differential.ts","test:v3014-utf16-text-residual-differential":"bun scripts/differential/check-v3014-utf16-text-residual-differential.ts","test:v3014-info-extras-residual-differential":"bun scripts/differential/check-v3014-info-extras-residual-differential.ts","test:v3014-page-labels-residual-differential":"bun scripts/differential/check-v3014-page-labels-residual-differential.ts","test:v3014-permissions-residual-differential":"bun scripts/differential/check-v3014-permissions-residual-differential.ts","test:v3014-ocr-search-interleave-differential":"bun scripts/differential/check-v3014-ocr-search-interleave-differential.ts","test:v3014-outline-cycle-residual-differential":"bun scripts/differential/check-v3014-outline-cycle-residual-differential.ts","test:v3014-outline-gotor-residual-differential":"bun scripts/differential/check-v3014-outline-gotor-residual-differential.ts","test:v3014-page-geometry-residual-differential":"bun scripts/differential/check-v3014-page-geometry-residual-differential.ts","test:v3014-remote-action-residual-differential":"bun scripts/differential/check-v3014-remote-action-residual-differential.ts","test:v3014-encrypt-filter-residual-differential":"bun scripts/differential/check-v3014-encrypt-filter-residual-differential.ts","test:v3014-ink-annotation-residual-differential":"bun scripts/differential/check-v3014-ink-annotation-residual-differential.ts","test:v3014-outline-launch-residual-differential":"bun scripts/differential/check-v3014-outline-launch-residual-differential.ts","test:v3014-annotation-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-dest-residual-differential.ts","test:v3014-form-utf16-text-residual-differential":"bun scripts/differential/check-v3014-form-utf16-text-residual-differential.ts","test:v3014-line-annotation-residual-differential":"bun scripts/differential/check-v3014-line-annotation-residual-differential.ts","test:v3014-popup-group-irt-residual-differential":"bun scripts/differential/check-v3014-popup-group-irt-residual-differential.ts","test:v3014-popup-zero-size-residual-differential":"bun scripts/differential/check-v3014-popup-zero-size-residual-differential.ts","test:v3014-text-annotation-residual-differential":"bun scripts/differential/check-v3014-text-annotation-residual-differential.ts","test:v3014-text-appearance-residual-differential":"bun scripts/differential/check-v3014-text-appearance-residual-differential.ts","test:v3014-text-invalid-as-residual-differential":"bun scripts/differential/check-v3014-text-invalid-as-residual-differential.ts","test:v3014-page-labels-kids-residual-differential":"bun scripts/differential/check-v3014-page-labels-kids-residual-differential.ts","test:v3014-polyline-polygon-residual-differential":"bun scripts/differential/check-v3014-polyline-polygon-residual-differential.ts","test:v3014-popup-annotation-residual-differential":"bun scripts/differential/check-v3014-popup-annotation-residual-differential.ts","test:v3014-search-multiword-geometry-differential":"bun scripts/differential/check-v3014-search-multiword-geometry-differential.ts","test:v3014-border-bs-nondict-residual-differential":"bun scripts/differential/check-v3014-border-bs-nondict-residual-differential.ts","test:v3014-document-ast-visual-fusion-differential":"bun scripts/differential/check-v3014-document-ast-visual-fusion-differential.ts","test:v3014-form-button-array-residual-differential":"bun scripts/differential/check-v3014-form-button-array-residual-differential.ts","test:v3014-metadata-presence-residual-differential":"bun scripts/differential/check-v3014-metadata-presence-residual-differential.ts","test:v3014-remote-named-dest-residual-differential":"bun scripts/differential/check-v3014-remote-named-dest-residual-differential.ts","test:v3014-attachment-dupkids-residual-differential":"bun scripts/differential/check-v3014-attachment-dupkids-residual-differential.ts","test:v3014-border-array-short-residual-differential":"bun scripts/differential/check-v3014-border-array-short-residual-differential.ts","test:v3014-border-array-width-residual-differential":"bun scripts/differential/check-v3014-border-array-width-residual-differential.ts","test:v3014-border-width-clamp-residual-differential":"bun scripts/differential/check-v3014-border-width-clamp-residual-differential.ts","test:v3014-outline-named-dest-residual-differential":"bun scripts/differential/check-v3014-outline-named-dest-residual-differential.ts","test:v3014-text-inverted-rect-residual-differential":"bun scripts/differential/check-v3014-text-inverted-rect-residual-differential.ts","test:v3014-form-text-multiline-residual-differential":"bun scripts/differential/check-v3014-form-text-multiline-residual-differential.ts","test:v3014-info-trapped-custom-residual-differential":"bun scripts/differential/check-v3014-info-trapped-custom-residual-differential.ts","test:v3014-selectable-text-segmentation-differential":"bun scripts/differential/check-v3014-selectable-text-segmentation-differential.ts","test:v3014-attachment-odd-names-residual-differential":"bun scripts/differential/check-v3014-attachment-odd-names-residual-differential.ts","test:v3014-border-bs-preference-residual-differential":"bun scripts/differential/check-v3014-border-bs-preference-residual-differential.ts","test:v3014-border-bs-wrong-type-residual-differential":"bun scripts/differential/check-v3014-border-bs-wrong-type-residual-differential.ts","test:v3014-text-named-appearance-residual-differential":"bun scripts/differential/check-v3014-text-named-appearance-residual-differential.ts","test:v3014-annotation-action-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-action-dest-residual-differential.ts","test:v3014-form-checkbox-as-value-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-as-value-residual-differential.ts","test:v3014-annotation-ap-nonstream-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-nonstream-residual-differential.ts","test:v3014-form-button-default-off-residual-differential":"bun scripts/differential/check-v3014-form-button-default-off-residual-differential.ts","test:v3014-form-radio-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-malformed-ap-residual-differential.ts","test:v3014-outline-relative-remote-residual-differential":"bun scripts/differential/check-v3014-outline-relative-remote-residual-differential.ts","test:v3014-annotation-freetext-rect-residual-differential":"bun scripts/differential/check-v3014-annotation-freetext-rect-residual-differential.ts","test:v3014-annotation-link-uri-name-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-name-residual-differential.ts","test:v3014-annotation-ap-named-state-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-residual-differential.ts","test:v3014-annotation-link-aa-action-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-action-residual-differential.ts","test:v3014-form-radio-as-no-override-residual-differential":"bun scripts/differential/check-v3014-form-radio-as-no-override-residual-differential.ts","test:v3014-form-radio-deeper-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-deeper-kids-ap-residual-differential.ts","test:v3014-form-radio-parent-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-parent-kids-ap-residual-differential.ts","test:v3014-page-geometry-depth-clamp-residual-differential":"bun scripts/differential/check-v3014-page-geometry-depth-clamp-residual-differential.ts","test:v3014-page-geometry-inheritance-residual-differential":"bun scripts/differential/check-v3014-page-geometry-inheritance-residual-differential.ts","test:v3014-annotation-appearance-bbox-residual-differential":"bun scripts/differential/check-v3014-annotation-appearance-bbox-residual-differential.ts","test:v3014-form-checkbox-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-malformed-ap-residual-differential.ts","test:v3014-form-checkbox-multi-export-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-residual-differential.ts","test:v3014-annotation-stamp-caret-file-residual-differential":"bun scripts/differential/check-v3014-annotation-stamp-caret-file-residual-differential.ts","test:v3014-annotation-action-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-action-precedence-residual-differential.ts","test:v3014-form-pushbutton-default-null-residual-differential":"bun scripts/differential/check-v3014-form-pushbutton-default-null-residual-differential.ts","test:v3014-annotation-contents-multiline-residual-differential":"bun scripts/differential/check-v3014-annotation-contents-multiline-residual-differential.ts","test:v3014-annotation-link-aa-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-precedence-residual-differential.ts","test:v3014-annotation-link-uri-normalize-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-normalize-residual-differential.ts","test:v3014-border-zero-size-clamp-bypass-residual-differential":"bun scripts/differential/check-v3014-border-zero-size-clamp-bypass-residual-differential.ts","test:v3014-annotation-text-markup-with-ap-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-with-ap-residual-differential.ts","test:v3014-form-checkbox-export-normalize-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-normalize-residual-differential.ts","test:v3014-form-radio-broken-parent-chain-residual-differential":"bun scripts/differential/check-v3014-form-radio-broken-parent-chain-residual-differential.ts","test:v3014-annotation-highlight-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-highlight-quadpoints-residual-differential.ts","test:v3014-annotation-square-circle-widget-residual-differential":"bun scripts/differential/check-v3014-annotation-square-circle-widget-residual-differential.ts","test:v3014-form-checkbox-multi-export-many-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-many-residual-differential.ts","test:v3014-page-geometry-userunit-multipage-residual-differential":"bun scripts/differential/check-v3014-page-geometry-userunit-multipage-residual-differential.ts","test:v3014-annotation-text-markup-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-quadpoints-residual-differential.ts","test:v3014-form-checkbox-export-empty-single-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-empty-single-residual-differential.ts","test:v3014-annotation-ap-named-state-polyline-ink-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-polyline-ink-residual-differential.ts","test:v3014-annotation-ap-named-state-square-circle-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-square-circle-residual-differential.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Evidence-first PDF MCP. Sole-Rust production via platform native binary (thin JS launcher only). TypeScript PDF runtime is not shipped. Capability-first admission (ADR-0005/0006).","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"zod":"^4.4.3","bunup":"0.16.31","pngjs":"^7.0.0","vitepress":"^1.6.4","pdfjs-dist":"^6.0.227","typescript":"^7.0.2","@types/node":"^26.1.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@modelcontextprotocol/sdk":"^1.29.0","@changesets/changelog-github":"^0.7.0"},"optionalDependencies":{"@sylphx/pdf-reader-mcp-darwin-x64":"4.0.1","@sylphx/pdf-reader-mcp-darwin-arm64":"4.0.1","@sylphx/pdf-reader-mcp-linux-x64-gnu":"4.0.1","@sylphx/pdf-reader-mcp-win32-x64-msvc":"4.0.1","@sylphx/pdf-reader-mcp-linux-arm64-gnu":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_4.0.1_1784883763504_0.3301073646130195","host":"s3://npm-registry-packages-npm-production"}},"4.0.2":{"name":"@sylphx/pdf-reader-mcp","version":"4.0.2","keywords":["mcp","model-context-protocol","pdf","reader","parser","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@4.0.2","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/runtime-entry.js"},"dist":{"shasum":"aa997c5d9f9f9e19375176158feeb382e4be38ed","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-4.0.2.tgz","fileCount":14,"integrity":"sha512-1nx1IVWpAg+5DvOf9vR3NB/7G45fkMvyFPRaVcM8vpS86N3f/Pr+Gr7pKF/nbACirTC512U7ymbe6zbC0sIjZQ==","signatures":[{"sig":"MEQCIBTGEnserGCxGXGMJZ0m02kzkLhusXRn+EVGEPotceEhAiBBu1pJibv4ZbA1DHV8zXGAs6Q13CvVr7lZpQ43yEBmvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72415},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/runtime-entry.js","./pure-rust":"./dist/pure-rust.js"},"gitHead":"6fd429558955d31b1310932640b2f316bf0dc299","mcpName":"io.github.SylphxAI/pdf-reader-mcp","scripts":{"lint":"biome lint .","test":"bun test","build":"bun run build:package","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/runtime-entry.js","watch":"tsc --watch","format":"biome format --write .","release":"echo \"PUBLISH FREEZE: refusing release until capability parity is approved\" && exit 1","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage --timeout=30000","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/runtime-entry.js","test:rust":"cargo test","typecheck":"tsc --noEmit","build:rust":"cargo build --release -p pdf-reader-core -p pdf-reader-cli -p pdf-reader-mcp-server && bun scripts/stage-rust-mcp.ts","build:test":"bun run build:package && bun run build:oracle-ts","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","build:package":"bun build src/runtime-entry.ts --outdir dist --target node && bun build src/pure-rust.ts --outdir dist --target node","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build:package && bun run package:smoke && bun run check:ts-production-absence && bun run check:prod-dependency-closure","build:oracle-ts":"bun build src/index.ts --outdir dist --target node && bun build src/doctor-cli.ts --outdir dist --target node && bun build src/legacy-engine-runtime.ts --outdir dist --target node && bun build src/pure-rust.ts --outdir dist --target node && bun build src/runtime-entry.ts --outdir dist --target node && bun scripts/stage-pdfjs-worker.ts","native:platform":"bun scripts/native/platform-package-map.ts","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","sync:server-json":"bun scripts/sync-server-json.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","perf:same-host-ab":"bun scripts/perf/same-host-ts-rust-ab.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:pure-rust":"bun scripts/benchmark-pure-rust.ts","native:assert-ready":"bun scripts/native/assert-native-packages-ready.ts","check:sole-rust-core":"bun scripts/check-sole-rust-core-admission.ts","test:agent-task-eval":"bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline","test:ts-vs-rust-text":"bun scripts/differential/ts-vs-rust-text-oracle.ts","native:sync-manifests":"bun scripts/native/sync-native-package-manifests.ts","smoke:native-launcher":"bun scripts/smoke-native-launcher.ts","test:agent-task-smoke":"bun scripts/run-agent-task-smoke.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","check:pure-rust-matrix":"bun scripts/check-pure-rust-matrix.ts","test:capability-parity":"bun test test/production/capabilityParity.contract.test.ts --timeout=600000","test:pure-rust-exports":"bun test test/pure-rust-exports.test.ts","check:agent-task-corpus":"bun scripts/check-agent-task-corpus.ts","check:pure-rust-exports":"bun scripts/check-pure-rust-exports.ts","perf:same-host-ab-suite":"bun scripts/perf/run-same-host-ab-suite.ts","check:semantic-contracts":"bun scripts/check-semantic-contracts.ts","test:native-platform-map":"bun test test/native-platform-package-map.test.ts","check:production-contract":"bun scripts/check-production-contract.ts","validate:pure-rust-claimed":"bun run check:pure-rust-matrix && bun run check:semantic-contracts && bun run check:agent-task-corpus && bun run test:ts-vs-rust-text && bun run test:v3014-behavior-differential && bun run test:v3014-structure-differential && bun run test:v3014-text-layer-differential && bun run test:v3014-citation-chunk-differential && bun run test:v3014-semantic-hint-differential && bun run test:v3014-document-ast-differential && bun run test:v3014-document-map-differential && bun run test:v3014-trust-report-differential && bun run test:v3014-selectable-table-differential && bun run test:v3014-caption-link-differential && bun run test:v3014-search-semantic-differential && bun run test:v3014-lowercase-index-differential && bun run test:v3014-selectable-text-segmentation-differential && bun run test:v3014-ocr-search-differential && bun run test:v3014-raster-image-differential && bun run test:v3014-visual-candidate-differential && bun run test:v3014-visual-fusion-differential && bun run test:v3014-document-ast-visual-fusion-differential && bun run test:v3014-read-ocr-differential && bun run test:v3014-read-ocr-residual-differential && bun run test:v3014-ocr-tsv-differential && bun run test:v3014-ocr-table-merge-differential && bun run test:v3014-ocr-search-residual-differential && bun run test:v3014-ocr-search-interleave-differential && bun run test:v3014-url-single-fetch-differential && bun run test:v3014-ocr-search-tsv-differential && bun run test:v3014-search-multiword-geometry-differential && bun run test:v3014-form-residual-differential && bun run test:v3014-form-radio-group-differential && bun run test:v3014-attachment-residual-differential && bun run test:v3014-markinfo-residual-differential && bun run test:v3014-form-parent-child-differential && bun run test:v3014-annotation-residual-differential && bun run test:v3014-annotation-dest-residual-differential && bun run test:v3014-annotation-action-dest-residual-differential && bun run test:v3014-annotation-action-precedence-residual-differential && bun run test:v3014-info-flags-residual-differential && bun run test:v3014-page-geometry-residual-differential && bun run test:v3014-page-labels-residual-differential && bun run test:v3014-outline-residual-differential && bun run test:v3014-permissions-residual-differential && bun run test:v3014-metadata-presence-residual-differential && bun run test:v3014-info-extras-residual-differential && bun run test:v3014-encrypt-filter-residual-differential && bun run test:v3014-linearized-residual-differential && bun run test:v3014-form-flags-residual-differential && bun run test:v3014-text-annotation-residual-differential && bun run test:v3014-remote-action-residual-differential && bun run test:v3014-popup-annotation-residual-differential && bun run test:v3014-popup-zero-size-residual-differential && bun run test:v3014-popup-group-irt-residual-differential && bun run test:v3014-text-appearance-residual-differential && bun run test:v3014-text-named-appearance-residual-differential && bun run test:v3014-text-inverted-rect-residual-differential && bun run test:v3014-remote-named-dest-residual-differential && bun run test:v3014-page-labels-kids-residual-differential && bun run test:v3014-form-button-array-residual-differential && bun run test:v3014-form-button-default-off-residual-differential && bun run test:v3014-form-pushbutton-default-null-residual-differential && bun run test:v3014-form-checkbox-as-value-residual-differential && bun run test:v3014-form-checkbox-export-normalize-residual-differential && bun run test:v3014-form-radio-as-no-override-residual-differential && bun run test:v3014-form-checkbox-multi-export-residual-differential && bun run test:v3014-form-checkbox-multi-export-many-residual-differential && bun run test:v3014-form-checkbox-export-empty-single-residual-differential && bun run test:v3014-form-checkbox-malformed-ap-residual-differential && bun run test:v3014-form-radio-malformed-ap-residual-differential && bun run test:v3014-form-radio-parent-kids-ap-residual-differential && bun run test:v3014-form-radio-deeper-kids-ap-residual-differential && bun run test:v3014-form-radio-broken-parent-chain-residual-differential && bun run test:v3014-attachment-odd-names-residual-differential && bun run test:v3014-attachment-dupkids-residual-differential && bun run test:v3014-form-utf16-text-residual-differential && bun run test:v3014-utf16-text-residual-differential && bun run test:v3014-text-invalid-as-residual-differential && bun run test:v3014-line-annotation-residual-differential && bun run test:v3014-polyline-polygon-residual-differential && bun run test:v3014-ink-annotation-residual-differential && bun run test:v3014-border-width-clamp-residual-differential && bun run test:v3014-border-array-width-residual-differential && bun run test:v3014-border-bs-preference-residual-differential && bun run test:v3014-border-bs-nondict-residual-differential && bun run test:v3014-border-array-short-residual-differential && bun run test:v3014-border-bs-wrong-type-residual-differential && bun run test:v3014-border-zero-size-clamp-bypass-residual-differential && bun run test:v3014-annotation-appearance-bbox-residual-differential && bun run test:v3014-annotation-ap-nonstream-residual-differential && bun run test:v3014-annotation-ap-named-state-residual-differential && bun run test:v3014-annotation-ap-named-state-polyline-ink-residual-differential && bun run test:v3014-annotation-ap-named-state-square-circle-residual-differential && bun run test:v3014-annotation-highlight-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-with-ap-residual-differential && bun run test:v3014-annotation-stamp-caret-file-residual-differential && bun run test:v3014-annotation-square-circle-widget-residual-differential && bun run test:v3014-annotation-link-uri-normalize-residual-differential && bun run test:v3014-annotation-freetext-rect-residual-differential && bun run test:v3014-annotation-link-uri-name-residual-differential && bun run test:v3014-annotation-link-aa-action-residual-differential && bun run test:v3014-annotation-link-aa-precedence-residual-differential && cargo test -p pdf-reader-core --lib && cargo test -p pdf-reader-mcp-server --lib && bun run test:v3014-form-text-multiline-residual-differential && bun run test:v3014-annotation-contents-multiline-residual-differential && bun run test:v3014-outline-cycle-residual-differential && bun run test:v3014-outline-named-dest-residual-differential && bun run test:v3014-outline-gotor-residual-differential && bun run test:v3014-outline-launch-residual-differential && bun run test:v3014-outline-relative-remote-residual-differential && bun run test:v3014-info-trapped-custom-residual-differential && bun run test:v3014-page-geometry-inheritance-residual-differential && bun run test:v3014-page-geometry-depth-clamp-residual-differential && bun run test:v3014-page-geometry-userunit-multipage-residual-differential","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","check:ts-production-absence":"bun scripts/check-ts-production-absence.ts","native:stage-from-artifacts":"bun scripts/native/stage-native-artifacts.ts","test:agent-task-public-eval":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline --public","check:registry-install-proof":"bun scripts/check-registry-install-proof.ts","release:publish-with-natives":"bun scripts/release-publish-with-natives.ts","smoke:native-package-resolve":"bun scripts/smoke-native-package-resolve.ts","test:agent-task-public-smoke":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-smoke.ts --public","check:prod-dependency-closure":"bun scripts/check-prod-dependency-closure.ts","test:agent-task-eval:baseline":"bun scripts/run-agent-task-eval.ts --runtime=typescript --write-baseline --no-compare","test:agent-task-eval:calibrate":"bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline","test:v3014-ocr-tsv-differential":"bun scripts/differential/check-v3014-ocr-tsv-differential.ts","test:v3014-behavior-differential":"bun scripts/differential/check-v3014-behavior-differential.ts","test:v3014-read-ocr-differential":"bun scripts/differential/check-v3014-read-ocr-differential.ts","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts","test:v3014-structure-differential":"bun scripts/differential/check-v3014-structure-differential.ts","check:verified-candidate-admission":"bun scripts/check-verified-candidate-admission.ts","test:v3014-ocr-search-differential":"bun scripts/differential/check-v3014-ocr-search-differential.ts","test:v3014-text-layer-differential":"bun scripts/differential/check-v3014-text-layer-differential.ts","test:v3014-caption-link-differential":"bun scripts/differential/check-v3014-caption-link-differential.ts","test:v3014-document-ast-differential":"bun scripts/differential/check-v3014-document-ast-differential.ts","test:v3014-document-map-differential":"bun scripts/differential/check-v3014-document-map-differential.ts","test:v3014-raster-image-differential":"bun scripts/differential/check-v3014-raster-image-differential.ts","test:v3014-trust-report-differential":"bun scripts/differential/check-v3014-trust-report-differential.ts","test:agent-task-public-eval:calibrate":"MCP_PDF_AGENT_TASK_PUBLIC=true MCP_PDF_CORPUS_ALLOW_DOWNLOADS=true bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline --public --allow-corpus-downloads","test:v3014-form-residual-differential":"bun scripts/differential/check-v3014-form-residual-differential.ts","test:v3014-semantic-hint-differential":"bun scripts/differential/check-v3014-semantic-hint-differential.ts","test:v3014-visual-fusion-differential":"bun scripts/differential/check-v3014-visual-fusion-differential.ts","test:v3014-citation-chunk-differential":"bun scripts/differential/check-v3014-citation-chunk-differential.ts","test:v3014-ocr-search-tsv-differential":"bun scripts/differential/check-v3014-ocr-search-tsv-differential.ts","test:v3014-lowercase-index-differential":"bun scripts/differential/check-v3014-lowercase-index-differential.ts","test:v3014-ocr-table-merge-differential":"bun scripts/differential/check-v3014-ocr-table-merge-differential.ts","test:v3014-search-semantic-differential":"bun scripts/differential/check-v3014-search-semantic-differential.ts","test:v3014-form-radio-group-differential":"bun scripts/differential/check-v3014-form-radio-group-differential.ts","test:v3014-outline-residual-differential":"bun scripts/differential/check-v3014-outline-residual-differential.ts","test:v3014-selectable-table-differential":"bun scripts/differential/check-v3014-selectable-table-differential.ts","test:v3014-url-single-fetch-differential":"bun scripts/differential/check-v3014-url-single-fetch-differential.ts","test:v3014-visual-candidate-differential":"bun scripts/differential/check-v3014-visual-candidate-differential.ts","test:v3014-form-parent-child-differential":"bun scripts/differential/check-v3014-form-parent-child-differential.ts","test:v3014-markinfo-residual-differential":"bun scripts/differential/check-v3014-markinfo-residual-differential.ts","test:v3014-read-ocr-residual-differential":"bun scripts/differential/check-v3014-read-ocr-residual-differential.ts","test:v3014-annotation-residual-differential":"bun scripts/differential/check-v3014-annotation-residual-differential.ts","test:v3014-attachment-residual-differential":"bun scripts/differential/check-v3014-attachment-residual-differential.ts","test:v3014-form-flags-residual-differential":"bun scripts/differential/check-v3014-form-flags-residual-differential.ts","test:v3014-info-flags-residual-differential":"bun scripts/differential/check-v3014-info-flags-residual-differential.ts","test:v3014-linearized-residual-differential":"bun scripts/differential/check-v3014-linearized-residual-differential.ts","test:v3014-ocr-search-residual-differential":"bun scripts/differential/check-v3014-ocr-search-residual-differential.ts","test:v3014-utf16-text-residual-differential":"bun scripts/differential/check-v3014-utf16-text-residual-differential.ts","test:v3014-info-extras-residual-differential":"bun scripts/differential/check-v3014-info-extras-residual-differential.ts","test:v3014-page-labels-residual-differential":"bun scripts/differential/check-v3014-page-labels-residual-differential.ts","test:v3014-permissions-residual-differential":"bun scripts/differential/check-v3014-permissions-residual-differential.ts","test:v3014-ocr-search-interleave-differential":"bun scripts/differential/check-v3014-ocr-search-interleave-differential.ts","test:v3014-outline-cycle-residual-differential":"bun scripts/differential/check-v3014-outline-cycle-residual-differential.ts","test:v3014-outline-gotor-residual-differential":"bun scripts/differential/check-v3014-outline-gotor-residual-differential.ts","test:v3014-page-geometry-residual-differential":"bun scripts/differential/check-v3014-page-geometry-residual-differential.ts","test:v3014-remote-action-residual-differential":"bun scripts/differential/check-v3014-remote-action-residual-differential.ts","test:v3014-encrypt-filter-residual-differential":"bun scripts/differential/check-v3014-encrypt-filter-residual-differential.ts","test:v3014-ink-annotation-residual-differential":"bun scripts/differential/check-v3014-ink-annotation-residual-differential.ts","test:v3014-outline-launch-residual-differential":"bun scripts/differential/check-v3014-outline-launch-residual-differential.ts","test:v3014-annotation-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-dest-residual-differential.ts","test:v3014-form-utf16-text-residual-differential":"bun scripts/differential/check-v3014-form-utf16-text-residual-differential.ts","test:v3014-line-annotation-residual-differential":"bun scripts/differential/check-v3014-line-annotation-residual-differential.ts","test:v3014-popup-group-irt-residual-differential":"bun scripts/differential/check-v3014-popup-group-irt-residual-differential.ts","test:v3014-popup-zero-size-residual-differential":"bun scripts/differential/check-v3014-popup-zero-size-residual-differential.ts","test:v3014-text-annotation-residual-differential":"bun scripts/differential/check-v3014-text-annotation-residual-differential.ts","test:v3014-text-appearance-residual-differential":"bun scripts/differential/check-v3014-text-appearance-residual-differential.ts","test:v3014-text-invalid-as-residual-differential":"bun scripts/differential/check-v3014-text-invalid-as-residual-differential.ts","test:v3014-page-labels-kids-residual-differential":"bun scripts/differential/check-v3014-page-labels-kids-residual-differential.ts","test:v3014-polyline-polygon-residual-differential":"bun scripts/differential/check-v3014-polyline-polygon-residual-differential.ts","test:v3014-popup-annotation-residual-differential":"bun scripts/differential/check-v3014-popup-annotation-residual-differential.ts","test:v3014-search-multiword-geometry-differential":"bun scripts/differential/check-v3014-search-multiword-geometry-differential.ts","test:v3014-border-bs-nondict-residual-differential":"bun scripts/differential/check-v3014-border-bs-nondict-residual-differential.ts","test:v3014-document-ast-visual-fusion-differential":"bun scripts/differential/check-v3014-document-ast-visual-fusion-differential.ts","test:v3014-form-button-array-residual-differential":"bun scripts/differential/check-v3014-form-button-array-residual-differential.ts","test:v3014-metadata-presence-residual-differential":"bun scripts/differential/check-v3014-metadata-presence-residual-differential.ts","test:v3014-remote-named-dest-residual-differential":"bun scripts/differential/check-v3014-remote-named-dest-residual-differential.ts","test:v3014-attachment-dupkids-residual-differential":"bun scripts/differential/check-v3014-attachment-dupkids-residual-differential.ts","test:v3014-border-array-short-residual-differential":"bun scripts/differential/check-v3014-border-array-short-residual-differential.ts","test:v3014-border-array-width-residual-differential":"bun scripts/differential/check-v3014-border-array-width-residual-differential.ts","test:v3014-border-width-clamp-residual-differential":"bun scripts/differential/check-v3014-border-width-clamp-residual-differential.ts","test:v3014-outline-named-dest-residual-differential":"bun scripts/differential/check-v3014-outline-named-dest-residual-differential.ts","test:v3014-text-inverted-rect-residual-differential":"bun scripts/differential/check-v3014-text-inverted-rect-residual-differential.ts","test:v3014-form-text-multiline-residual-differential":"bun scripts/differential/check-v3014-form-text-multiline-residual-differential.ts","test:v3014-info-trapped-custom-residual-differential":"bun scripts/differential/check-v3014-info-trapped-custom-residual-differential.ts","test:v3014-selectable-text-segmentation-differential":"bun scripts/differential/check-v3014-selectable-text-segmentation-differential.ts","test:v3014-attachment-odd-names-residual-differential":"bun scripts/differential/check-v3014-attachment-odd-names-residual-differential.ts","test:v3014-border-bs-preference-residual-differential":"bun scripts/differential/check-v3014-border-bs-preference-residual-differential.ts","test:v3014-border-bs-wrong-type-residual-differential":"bun scripts/differential/check-v3014-border-bs-wrong-type-residual-differential.ts","test:v3014-text-named-appearance-residual-differential":"bun scripts/differential/check-v3014-text-named-appearance-residual-differential.ts","test:v3014-annotation-action-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-action-dest-residual-differential.ts","test:v3014-form-checkbox-as-value-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-as-value-residual-differential.ts","test:v3014-annotation-ap-nonstream-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-nonstream-residual-differential.ts","test:v3014-form-button-default-off-residual-differential":"bun scripts/differential/check-v3014-form-button-default-off-residual-differential.ts","test:v3014-form-radio-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-malformed-ap-residual-differential.ts","test:v3014-outline-relative-remote-residual-differential":"bun scripts/differential/check-v3014-outline-relative-remote-residual-differential.ts","test:v3014-annotation-freetext-rect-residual-differential":"bun scripts/differential/check-v3014-annotation-freetext-rect-residual-differential.ts","test:v3014-annotation-link-uri-name-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-name-residual-differential.ts","test:v3014-annotation-ap-named-state-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-residual-differential.ts","test:v3014-annotation-link-aa-action-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-action-residual-differential.ts","test:v3014-form-radio-as-no-override-residual-differential":"bun scripts/differential/check-v3014-form-radio-as-no-override-residual-differential.ts","test:v3014-form-radio-deeper-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-deeper-kids-ap-residual-differential.ts","test:v3014-form-radio-parent-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-parent-kids-ap-residual-differential.ts","test:v3014-page-geometry-depth-clamp-residual-differential":"bun scripts/differential/check-v3014-page-geometry-depth-clamp-residual-differential.ts","test:v3014-page-geometry-inheritance-residual-differential":"bun scripts/differential/check-v3014-page-geometry-inheritance-residual-differential.ts","test:v3014-annotation-appearance-bbox-residual-differential":"bun scripts/differential/check-v3014-annotation-appearance-bbox-residual-differential.ts","test:v3014-form-checkbox-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-malformed-ap-residual-differential.ts","test:v3014-form-checkbox-multi-export-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-residual-differential.ts","test:v3014-annotation-stamp-caret-file-residual-differential":"bun scripts/differential/check-v3014-annotation-stamp-caret-file-residual-differential.ts","test:v3014-annotation-action-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-action-precedence-residual-differential.ts","test:v3014-form-pushbutton-default-null-residual-differential":"bun scripts/differential/check-v3014-form-pushbutton-default-null-residual-differential.ts","test:v3014-annotation-contents-multiline-residual-differential":"bun scripts/differential/check-v3014-annotation-contents-multiline-residual-differential.ts","test:v3014-annotation-link-aa-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-precedence-residual-differential.ts","test:v3014-annotation-link-uri-normalize-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-normalize-residual-differential.ts","test:v3014-border-zero-size-clamp-bypass-residual-differential":"bun scripts/differential/check-v3014-border-zero-size-clamp-bypass-residual-differential.ts","test:v3014-annotation-text-markup-with-ap-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-with-ap-residual-differential.ts","test:v3014-form-checkbox-export-normalize-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-normalize-residual-differential.ts","test:v3014-form-radio-broken-parent-chain-residual-differential":"bun scripts/differential/check-v3014-form-radio-broken-parent-chain-residual-differential.ts","test:v3014-annotation-highlight-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-highlight-quadpoints-residual-differential.ts","test:v3014-annotation-square-circle-widget-residual-differential":"bun scripts/differential/check-v3014-annotation-square-circle-widget-residual-differential.ts","test:v3014-form-checkbox-multi-export-many-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-many-residual-differential.ts","test:v3014-page-geometry-userunit-multipage-residual-differential":"bun scripts/differential/check-v3014-page-geometry-userunit-multipage-residual-differential.ts","test:v3014-annotation-text-markup-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-quadpoints-residual-differential.ts","test:v3014-form-checkbox-export-empty-single-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-empty-single-residual-differential.ts","test:v3014-annotation-ap-named-state-polyline-ink-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-polyline-ink-residual-differential.ts","test:v3014-annotation-ap-named-state-square-circle-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-square-circle-residual-differential.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Evidence-first PDF MCP. Sole-Rust production via platform native binary (thin JS launcher only). TypeScript PDF runtime is not shipped. Capability-first admission (ADR-0005/0006).","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"zod":"^4.4.3","bunup":"0.16.31","pngjs":"^7.0.0","vitepress":"^1.6.4","pdfjs-dist":"^6.0.227","typescript":"^7.0.2","@types/node":"^26.1.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@modelcontextprotocol/sdk":"^1.29.0","@changesets/changelog-github":"^0.7.0"},"optionalDependencies":{"@sylphx/pdf-reader-mcp-darwin-x64":"4.0.2","@sylphx/pdf-reader-mcp-darwin-arm64":"4.0.2","@sylphx/pdf-reader-mcp-linux-x64-gnu":"4.0.2","@sylphx/pdf-reader-mcp-win32-x64-msvc":"4.0.2","@sylphx/pdf-reader-mcp-linux-arm64-gnu":"4.0.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_4.0.2_1784894623236_0.7483331629734038","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"@sylphx/pdf-reader-mcp","version":"4.1.0","keywords":["mcp","model-context-protocol","pdf","reader","parser","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing","rust","local-first","pdf-mcp","document-intelligence"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@4.1.0","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/runtime-entry.js"},"dist":{"shasum":"e4e4222bc9179be131133a6576b763b69cce0266","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-4.1.0.tgz","fileCount":15,"integrity":"sha512-cuQcUnaARChc8aZuD+Go2CSyHGJw9b8F9DejRP5p2XqWOrIlnfgAGheA9KTcdsN+A6Z/C+xPwPJzBWXQjdTruA==","signatures":[{"sig":"MEYCIQCVqo1eFCKJWYAcEXYNO7NZVhy90MCgrXf2zQ/+bmvRXQIhAMeU5ArZ/fwBXRiQ19vdMF1YEuQ8mnRy1TL+eLTVivyK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75020},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/runtime-entry.js","./pure-rust":"./dist/pure-rust.js"},"gitHead":"741c9ba7c46cbdce0932e4044218abf63ce38c54","mcpName":"io.github.SylphxAI/pdf-reader-mcp","scripts":{"lint":"biome lint .","test":"bun test","build":"bun run build:package","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/runtime-entry.js","watch":"tsc --watch","format":"biome format --write .","release":"echo \"PUBLISH FREEZE: refusing release until capability parity is approved\" && exit 1","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage --timeout=30000","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/runtime-entry.js","test:rust":"cargo test","typecheck":"tsc --noEmit","build:rust":"cargo build --release -p pdf-reader-core -p pdf-reader-cli -p pdf-reader-mcp-server && bun scripts/stage-rust-mcp.ts","build:test":"bun run build:package && bun run build:oracle-ts","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","build:package":"bun build src/runtime-entry.ts --outdir dist --target node && bun build src/pure-rust.ts --outdir dist --target node","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build:package && bun run package:smoke && bun run check:ts-production-absence && bun run check:prod-dependency-closure","build:oracle-ts":"bun build src/index.ts --outdir dist --target node && bun build src/doctor-cli.ts --outdir dist --target node && bun build src/legacy-engine-runtime.ts --outdir dist --target node && bun build src/pure-rust.ts --outdir dist --target node && bun build src/runtime-entry.ts --outdir dist --target node && bun scripts/stage-pdfjs-worker.ts","native:platform":"bun scripts/native/platform-package-map.ts","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","sync:server-json":"bun scripts/sync-server-json.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","perf:same-host-ab":"bun scripts/perf/same-host-ts-rust-ab.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:pure-rust":"bun scripts/benchmark-pure-rust.ts","native:assert-ready":"bun scripts/native/assert-native-packages-ready.ts","check:sole-rust-core":"bun scripts/check-sole-rust-core-admission.ts","test:agent-task-eval":"bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline","test:ts-vs-rust-text":"bun scripts/differential/ts-vs-rust-text-oracle.ts","native:sync-manifests":"bun scripts/native/sync-native-package-manifests.ts","smoke:native-launcher":"bun scripts/smoke-native-launcher.ts","test:agent-task-smoke":"bun scripts/run-agent-task-smoke.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","check:pure-rust-matrix":"bun scripts/check-pure-rust-matrix.ts","test:capability-parity":"bun test test/production/capabilityParity.contract.test.ts --timeout=600000","test:pure-rust-exports":"bun test test/pure-rust-exports.test.ts","check:agent-task-corpus":"bun scripts/check-agent-task-corpus.ts","check:pure-rust-exports":"bun scripts/check-pure-rust-exports.ts","perf:same-host-ab-suite":"bun scripts/perf/run-same-host-ab-suite.ts","check:semantic-contracts":"bun scripts/check-semantic-contracts.ts","perf:installed-footprint":"bun scripts/perf/measure-installed-footprint.ts","test:native-platform-map":"bun test test/native-platform-package-map.test.ts","check:production-contract":"bun scripts/check-production-contract.ts","validate:pure-rust-claimed":"bun run check:pure-rust-matrix && bun run check:semantic-contracts && bun run check:agent-task-corpus && bun run test:ts-vs-rust-text && bun run test:v3014-behavior-differential && bun run test:v3014-structure-differential && bun run test:v3014-text-layer-differential && bun run test:v3014-citation-chunk-differential && bun run test:v3014-semantic-hint-differential && bun run test:v3014-document-ast-differential && bun run test:v3014-document-map-differential && bun run test:v3014-trust-report-differential && bun run test:v3014-selectable-table-differential && bun run test:v3014-caption-link-differential && bun run test:v3014-search-semantic-differential && bun run test:v3014-lowercase-index-differential && bun run test:v3014-selectable-text-segmentation-differential && bun run test:v3014-ocr-search-differential && bun run test:v3014-raster-image-differential && bun run test:v3014-visual-candidate-differential && bun run test:v3014-visual-fusion-differential && bun run test:v3014-document-ast-visual-fusion-differential && bun run test:v3014-read-ocr-differential && bun run test:v3014-read-ocr-residual-differential && bun run test:v3014-ocr-tsv-differential && bun run test:v3014-ocr-table-merge-differential && bun run test:v3014-ocr-search-residual-differential && bun run test:v3014-ocr-search-interleave-differential && bun run test:v3014-url-single-fetch-differential && bun run test:v3014-ocr-search-tsv-differential && bun run test:v3014-search-multiword-geometry-differential && bun run test:v3014-form-residual-differential && bun run test:v3014-form-radio-group-differential && bun run test:v3014-attachment-residual-differential && bun run test:v3014-markinfo-residual-differential && bun run test:v3014-form-parent-child-differential && bun run test:v3014-annotation-residual-differential && bun run test:v3014-annotation-dest-residual-differential && bun run test:v3014-annotation-action-dest-residual-differential && bun run test:v3014-annotation-action-precedence-residual-differential && bun run test:v3014-info-flags-residual-differential && bun run test:v3014-page-geometry-residual-differential && bun run test:v3014-page-labels-residual-differential && bun run test:v3014-outline-residual-differential && bun run test:v3014-permissions-residual-differential && bun run test:v3014-metadata-presence-residual-differential && bun run test:v3014-info-extras-residual-differential && bun run test:v3014-encrypt-filter-residual-differential && bun run test:v3014-linearized-residual-differential && bun run test:v3014-form-flags-residual-differential && bun run test:v3014-text-annotation-residual-differential && bun run test:v3014-remote-action-residual-differential && bun run test:v3014-popup-annotation-residual-differential && bun run test:v3014-popup-zero-size-residual-differential && bun run test:v3014-popup-group-irt-residual-differential && bun run test:v3014-text-appearance-residual-differential && bun run test:v3014-text-named-appearance-residual-differential && bun run test:v3014-text-inverted-rect-residual-differential && bun run test:v3014-remote-named-dest-residual-differential && bun run test:v3014-page-labels-kids-residual-differential && bun run test:v3014-form-button-array-residual-differential && bun run test:v3014-form-button-default-off-residual-differential && bun run test:v3014-form-pushbutton-default-null-residual-differential && bun run test:v3014-form-checkbox-as-value-residual-differential && bun run test:v3014-form-checkbox-export-normalize-residual-differential && bun run test:v3014-form-radio-as-no-override-residual-differential && bun run test:v3014-form-checkbox-multi-export-residual-differential && bun run test:v3014-form-checkbox-multi-export-many-residual-differential && bun run test:v3014-form-checkbox-export-empty-single-residual-differential && bun run test:v3014-form-checkbox-malformed-ap-residual-differential && bun run test:v3014-form-radio-malformed-ap-residual-differential && bun run test:v3014-form-radio-parent-kids-ap-residual-differential && bun run test:v3014-form-radio-deeper-kids-ap-residual-differential && bun run test:v3014-form-radio-broken-parent-chain-residual-differential && bun run test:v3014-attachment-odd-names-residual-differential && bun run test:v3014-attachment-dupkids-residual-differential && bun run test:v3014-form-utf16-text-residual-differential && bun run test:v3014-utf16-text-residual-differential && bun run test:v3014-text-invalid-as-residual-differential && bun run test:v3014-line-annotation-residual-differential && bun run test:v3014-polyline-polygon-residual-differential && bun run test:v3014-ink-annotation-residual-differential && bun run test:v3014-border-width-clamp-residual-differential && bun run test:v3014-border-array-width-residual-differential && bun run test:v3014-border-bs-preference-residual-differential && bun run test:v3014-border-bs-nondict-residual-differential && bun run test:v3014-border-array-short-residual-differential && bun run test:v3014-border-bs-wrong-type-residual-differential && bun run test:v3014-border-zero-size-clamp-bypass-residual-differential && bun run test:v3014-annotation-appearance-bbox-residual-differential && bun run test:v3014-annotation-ap-nonstream-residual-differential && bun run test:v3014-annotation-ap-named-state-residual-differential && bun run test:v3014-annotation-ap-named-state-polyline-ink-residual-differential && bun run test:v3014-annotation-ap-named-state-square-circle-residual-differential && bun run test:v3014-annotation-highlight-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-with-ap-residual-differential && bun run test:v3014-annotation-stamp-caret-file-residual-differential && bun run test:v3014-annotation-square-circle-widget-residual-differential && bun run test:v3014-annotation-link-uri-normalize-residual-differential && bun run test:v3014-annotation-freetext-rect-residual-differential && bun run test:v3014-annotation-link-uri-name-residual-differential && bun run test:v3014-annotation-link-aa-action-residual-differential && bun run test:v3014-annotation-link-aa-precedence-residual-differential && cargo test -p pdf-reader-core --lib && cargo test -p pdf-reader-mcp-server --lib && bun run test:v3014-form-text-multiline-residual-differential && bun run test:v3014-annotation-contents-multiline-residual-differential && bun run test:v3014-outline-cycle-residual-differential && bun run test:v3014-outline-named-dest-residual-differential && bun run test:v3014-outline-gotor-residual-differential && bun run test:v3014-outline-launch-residual-differential && bun run test:v3014-outline-relative-remote-residual-differential && bun run test:v3014-info-trapped-custom-residual-differential && bun run test:v3014-page-geometry-inheritance-residual-differential && bun run test:v3014-page-geometry-depth-clamp-residual-differential && bun run test:v3014-page-geometry-userunit-multipage-residual-differential","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","check:ts-production-absence":"bun scripts/check-ts-production-absence.ts","native:stage-from-artifacts":"bun scripts/native/stage-native-artifacts.ts","test:agent-task-public-eval":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline --public","check:no-github-hosted-macos":"bun scripts/check-no-github-hosted-macos.ts","check:registry-install-proof":"bun scripts/check-registry-install-proof.ts","release:publish-with-natives":"bun scripts/release-publish-with-natives.ts","smoke:native-package-resolve":"bun scripts/smoke-native-package-resolve.ts","test:agent-task-public-smoke":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-smoke.ts --public","check:prod-dependency-closure":"bun scripts/check-prod-dependency-closure.ts","test:agent-task-eval:baseline":"bun scripts/run-agent-task-eval.ts --runtime=typescript --write-baseline --no-compare","test:agent-task-eval:calibrate":"bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline","test:v3014-ocr-tsv-differential":"bun scripts/differential/check-v3014-ocr-tsv-differential.ts","test:v3014-behavior-differential":"bun scripts/differential/check-v3014-behavior-differential.ts","test:v3014-read-ocr-differential":"bun scripts/differential/check-v3014-read-ocr-differential.ts","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts","test:v3014-structure-differential":"bun scripts/differential/check-v3014-structure-differential.ts","check:verified-candidate-admission":"bun scripts/check-verified-candidate-admission.ts","test:v3014-ocr-search-differential":"bun scripts/differential/check-v3014-ocr-search-differential.ts","test:v3014-text-layer-differential":"bun scripts/differential/check-v3014-text-layer-differential.ts","test:v3014-caption-link-differential":"bun scripts/differential/check-v3014-caption-link-differential.ts","test:v3014-document-ast-differential":"bun scripts/differential/check-v3014-document-ast-differential.ts","test:v3014-document-map-differential":"bun scripts/differential/check-v3014-document-map-differential.ts","test:v3014-raster-image-differential":"bun scripts/differential/check-v3014-raster-image-differential.ts","test:v3014-trust-report-differential":"bun scripts/differential/check-v3014-trust-report-differential.ts","test:agent-task-public-eval:calibrate":"MCP_PDF_AGENT_TASK_PUBLIC=true MCP_PDF_CORPUS_ALLOW_DOWNLOADS=true bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline --public --allow-corpus-downloads","test:v3014-form-residual-differential":"bun scripts/differential/check-v3014-form-residual-differential.ts","test:v3014-semantic-hint-differential":"bun scripts/differential/check-v3014-semantic-hint-differential.ts","test:v3014-visual-fusion-differential":"bun scripts/differential/check-v3014-visual-fusion-differential.ts","test:v3014-citation-chunk-differential":"bun scripts/differential/check-v3014-citation-chunk-differential.ts","test:v3014-ocr-search-tsv-differential":"bun scripts/differential/check-v3014-ocr-search-tsv-differential.ts","test:v3014-lowercase-index-differential":"bun scripts/differential/check-v3014-lowercase-index-differential.ts","test:v3014-ocr-table-merge-differential":"bun scripts/differential/check-v3014-ocr-table-merge-differential.ts","test:v3014-search-semantic-differential":"bun scripts/differential/check-v3014-search-semantic-differential.ts","test:v3014-form-radio-group-differential":"bun scripts/differential/check-v3014-form-radio-group-differential.ts","test:v3014-outline-residual-differential":"bun scripts/differential/check-v3014-outline-residual-differential.ts","test:v3014-selectable-table-differential":"bun scripts/differential/check-v3014-selectable-table-differential.ts","test:v3014-url-single-fetch-differential":"bun scripts/differential/check-v3014-url-single-fetch-differential.ts","test:v3014-visual-candidate-differential":"bun scripts/differential/check-v3014-visual-candidate-differential.ts","test:v3014-form-parent-child-differential":"bun scripts/differential/check-v3014-form-parent-child-differential.ts","test:v3014-markinfo-residual-differential":"bun scripts/differential/check-v3014-markinfo-residual-differential.ts","test:v3014-read-ocr-residual-differential":"bun scripts/differential/check-v3014-read-ocr-residual-differential.ts","test:v3014-annotation-residual-differential":"bun scripts/differential/check-v3014-annotation-residual-differential.ts","test:v3014-attachment-residual-differential":"bun scripts/differential/check-v3014-attachment-residual-differential.ts","test:v3014-form-flags-residual-differential":"bun scripts/differential/check-v3014-form-flags-residual-differential.ts","test:v3014-info-flags-residual-differential":"bun scripts/differential/check-v3014-info-flags-residual-differential.ts","test:v3014-linearized-residual-differential":"bun scripts/differential/check-v3014-linearized-residual-differential.ts","test:v3014-ocr-search-residual-differential":"bun scripts/differential/check-v3014-ocr-search-residual-differential.ts","test:v3014-utf16-text-residual-differential":"bun scripts/differential/check-v3014-utf16-text-residual-differential.ts","test:v3014-info-extras-residual-differential":"bun scripts/differential/check-v3014-info-extras-residual-differential.ts","test:v3014-page-labels-residual-differential":"bun scripts/differential/check-v3014-page-labels-residual-differential.ts","test:v3014-permissions-residual-differential":"bun scripts/differential/check-v3014-permissions-residual-differential.ts","test:v3014-ocr-search-interleave-differential":"bun scripts/differential/check-v3014-ocr-search-interleave-differential.ts","test:v3014-outline-cycle-residual-differential":"bun scripts/differential/check-v3014-outline-cycle-residual-differential.ts","test:v3014-outline-gotor-residual-differential":"bun scripts/differential/check-v3014-outline-gotor-residual-differential.ts","test:v3014-page-geometry-residual-differential":"bun scripts/differential/check-v3014-page-geometry-residual-differential.ts","test:v3014-remote-action-residual-differential":"bun scripts/differential/check-v3014-remote-action-residual-differential.ts","test:v3014-encrypt-filter-residual-differential":"bun scripts/differential/check-v3014-encrypt-filter-residual-differential.ts","test:v3014-ink-annotation-residual-differential":"bun scripts/differential/check-v3014-ink-annotation-residual-differential.ts","test:v3014-outline-launch-residual-differential":"bun scripts/differential/check-v3014-outline-launch-residual-differential.ts","test:v3014-annotation-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-dest-residual-differential.ts","test:v3014-form-utf16-text-residual-differential":"bun scripts/differential/check-v3014-form-utf16-text-residual-differential.ts","test:v3014-line-annotation-residual-differential":"bun scripts/differential/check-v3014-line-annotation-residual-differential.ts","test:v3014-popup-group-irt-residual-differential":"bun scripts/differential/check-v3014-popup-group-irt-residual-differential.ts","test:v3014-popup-zero-size-residual-differential":"bun scripts/differential/check-v3014-popup-zero-size-residual-differential.ts","test:v3014-text-annotation-residual-differential":"bun scripts/differential/check-v3014-text-annotation-residual-differential.ts","test:v3014-text-appearance-residual-differential":"bun scripts/differential/check-v3014-text-appearance-residual-differential.ts","test:v3014-text-invalid-as-residual-differential":"bun scripts/differential/check-v3014-text-invalid-as-residual-differential.ts","test:v3014-page-labels-kids-residual-differential":"bun scripts/differential/check-v3014-page-labels-kids-residual-differential.ts","test:v3014-polyline-polygon-residual-differential":"bun scripts/differential/check-v3014-polyline-polygon-residual-differential.ts","test:v3014-popup-annotation-residual-differential":"bun scripts/differential/check-v3014-popup-annotation-residual-differential.ts","test:v3014-search-multiword-geometry-differential":"bun scripts/differential/check-v3014-search-multiword-geometry-differential.ts","test:v3014-border-bs-nondict-residual-differential":"bun scripts/differential/check-v3014-border-bs-nondict-residual-differential.ts","test:v3014-document-ast-visual-fusion-differential":"bun scripts/differential/check-v3014-document-ast-visual-fusion-differential.ts","test:v3014-form-button-array-residual-differential":"bun scripts/differential/check-v3014-form-button-array-residual-differential.ts","test:v3014-metadata-presence-residual-differential":"bun scripts/differential/check-v3014-metadata-presence-residual-differential.ts","test:v3014-remote-named-dest-residual-differential":"bun scripts/differential/check-v3014-remote-named-dest-residual-differential.ts","test:v3014-attachment-dupkids-residual-differential":"bun scripts/differential/check-v3014-attachment-dupkids-residual-differential.ts","test:v3014-border-array-short-residual-differential":"bun scripts/differential/check-v3014-border-array-short-residual-differential.ts","test:v3014-border-array-width-residual-differential":"bun scripts/differential/check-v3014-border-array-width-residual-differential.ts","test:v3014-border-width-clamp-residual-differential":"bun scripts/differential/check-v3014-border-width-clamp-residual-differential.ts","test:v3014-outline-named-dest-residual-differential":"bun scripts/differential/check-v3014-outline-named-dest-residual-differential.ts","test:v3014-text-inverted-rect-residual-differential":"bun scripts/differential/check-v3014-text-inverted-rect-residual-differential.ts","test:v3014-form-text-multiline-residual-differential":"bun scripts/differential/check-v3014-form-text-multiline-residual-differential.ts","test:v3014-info-trapped-custom-residual-differential":"bun scripts/differential/check-v3014-info-trapped-custom-residual-differential.ts","test:v3014-selectable-text-segmentation-differential":"bun scripts/differential/check-v3014-selectable-text-segmentation-differential.ts","test:v3014-attachment-odd-names-residual-differential":"bun scripts/differential/check-v3014-attachment-odd-names-residual-differential.ts","test:v3014-border-bs-preference-residual-differential":"bun scripts/differential/check-v3014-border-bs-preference-residual-differential.ts","test:v3014-border-bs-wrong-type-residual-differential":"bun scripts/differential/check-v3014-border-bs-wrong-type-residual-differential.ts","test:v3014-text-named-appearance-residual-differential":"bun scripts/differential/check-v3014-text-named-appearance-residual-differential.ts","test:v3014-annotation-action-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-action-dest-residual-differential.ts","test:v3014-form-checkbox-as-value-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-as-value-residual-differential.ts","test:v3014-annotation-ap-nonstream-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-nonstream-residual-differential.ts","test:v3014-form-button-default-off-residual-differential":"bun scripts/differential/check-v3014-form-button-default-off-residual-differential.ts","test:v3014-form-radio-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-malformed-ap-residual-differential.ts","test:v3014-outline-relative-remote-residual-differential":"bun scripts/differential/check-v3014-outline-relative-remote-residual-differential.ts","test:v3014-annotation-freetext-rect-residual-differential":"bun scripts/differential/check-v3014-annotation-freetext-rect-residual-differential.ts","test:v3014-annotation-link-uri-name-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-name-residual-differential.ts","test:v3014-annotation-ap-named-state-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-residual-differential.ts","test:v3014-annotation-link-aa-action-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-action-residual-differential.ts","test:v3014-form-radio-as-no-override-residual-differential":"bun scripts/differential/check-v3014-form-radio-as-no-override-residual-differential.ts","test:v3014-form-radio-deeper-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-deeper-kids-ap-residual-differential.ts","test:v3014-form-radio-parent-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-parent-kids-ap-residual-differential.ts","test:v3014-page-geometry-depth-clamp-residual-differential":"bun scripts/differential/check-v3014-page-geometry-depth-clamp-residual-differential.ts","test:v3014-page-geometry-inheritance-residual-differential":"bun scripts/differential/check-v3014-page-geometry-inheritance-residual-differential.ts","test:v3014-annotation-appearance-bbox-residual-differential":"bun scripts/differential/check-v3014-annotation-appearance-bbox-residual-differential.ts","test:v3014-form-checkbox-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-malformed-ap-residual-differential.ts","test:v3014-form-checkbox-multi-export-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-residual-differential.ts","test:v3014-annotation-stamp-caret-file-residual-differential":"bun scripts/differential/check-v3014-annotation-stamp-caret-file-residual-differential.ts","test:v3014-annotation-action-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-action-precedence-residual-differential.ts","test:v3014-form-pushbutton-default-null-residual-differential":"bun scripts/differential/check-v3014-form-pushbutton-default-null-residual-differential.ts","test:v3014-annotation-contents-multiline-residual-differential":"bun scripts/differential/check-v3014-annotation-contents-multiline-residual-differential.ts","test:v3014-annotation-link-aa-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-precedence-residual-differential.ts","test:v3014-annotation-link-uri-normalize-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-normalize-residual-differential.ts","test:v3014-border-zero-size-clamp-bypass-residual-differential":"bun scripts/differential/check-v3014-border-zero-size-clamp-bypass-residual-differential.ts","test:v3014-annotation-text-markup-with-ap-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-with-ap-residual-differential.ts","test:v3014-form-checkbox-export-normalize-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-normalize-residual-differential.ts","test:v3014-form-radio-broken-parent-chain-residual-differential":"bun scripts/differential/check-v3014-form-radio-broken-parent-chain-residual-differential.ts","test:v3014-annotation-highlight-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-highlight-quadpoints-residual-differential.ts","test:v3014-annotation-square-circle-widget-residual-differential":"bun scripts/differential/check-v3014-annotation-square-circle-widget-residual-differential.ts","test:v3014-form-checkbox-multi-export-many-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-many-residual-differential.ts","test:v3014-page-geometry-userunit-multipage-residual-differential":"bun scripts/differential/check-v3014-page-geometry-userunit-multipage-residual-differential.ts","test:v3014-annotation-text-markup-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-quadpoints-residual-differential.ts","test:v3014-form-checkbox-export-empty-single-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-empty-single-residual-differential.ts","test:v3014-annotation-ap-named-state-polyline-ink-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-polyline-ink-residual-differential.ts","test:v3014-annotation-ap-named-state-square-circle-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-square-circle-residual-differential.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Give AI agents eyes for PDFs — structured text, tables, OCR, visual evidence, and page-level citations via MCP. Native Rust engine, local-first, five platforms.","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"zod":"^4.4.3","bunup":"0.16.31","pngjs":"^7.0.0","vitepress":"^1.6.4","pdfjs-dist":"^6.0.227","typescript":"^7.0.2","@types/node":"^26.1.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@modelcontextprotocol/sdk":"^1.29.0","@changesets/changelog-github":"^0.7.0"},"optionalDependencies":{"@sylphx/pdf-reader-mcp-darwin-x64":"4.1.0","@sylphx/pdf-reader-mcp-darwin-arm64":"4.1.0","@sylphx/pdf-reader-mcp-linux-x64-gnu":"4.1.0","@sylphx/pdf-reader-mcp-win32-x64-msvc":"4.1.0","@sylphx/pdf-reader-mcp-linux-arm64-gnu":"4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_4.1.0_1784921908224_0.12290388400850683","host":"s3://npm-registry-packages-npm-production"}},"4.1.1":{"name":"@sylphx/pdf-reader-mcp","version":"4.1.1","keywords":["mcp","model-context-protocol","pdf","reader","parser","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing","rust","local-first","pdf-mcp","document-intelligence"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@4.1.1","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/runtime-entry.js"},"dist":{"shasum":"13b1630cf89054d823032251b3341cd8d2adf224","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-4.1.1.tgz","fileCount":15,"integrity":"sha512-axXOqEQofvZrOBJZ3WElFvF45bNccvLHcG4jjQf7vRQ4w4MtiogmGF8Y14p7RkR/YJdsqcs3/G2Y6aQIwpI0EQ==","signatures":[{"sig":"MEQCIGaX9d7U7EWjYX5B7NxJ5AGmy7LBxnUgBYVe+Wm/PoZtAiBsEzn74NPVgfX6g5acSfiesa6o5iU9yeBsWWt0r2qFFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75580},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/runtime-entry.js","./pure-rust":"./dist/pure-rust.js"},"gitHead":"1452ac6f2a06d4eae39afb31bad5c2e5ef50d2d7","mcpName":"io.github.SylphxAI/pdf-reader-mcp","scripts":{"lint":"biome lint .","test":"bun test","build":"bun run build:package","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/runtime-entry.js","watch":"tsc --watch","format":"biome format --write .","release":"echo \"PUBLISH FREEZE: refusing release until capability parity is approved\" && exit 1","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage --timeout=30000","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/runtime-entry.js","test:rust":"cargo test","typecheck":"tsc --noEmit","build:rust":"cargo build --release -p pdf-reader-core -p pdf-reader-cli -p pdf-reader-mcp-server && bun scripts/stage-rust-mcp.ts","build:test":"bun run build:package && bun run build:oracle-ts","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","build:package":"bun build src/runtime-entry.ts --outdir dist --target node && bun build src/pure-rust.ts --outdir dist --target node","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build:package && bun run package:smoke && bun run check:ts-production-absence && bun run check:prod-dependency-closure","build:oracle-ts":"bun build src/index.ts --outdir dist --target node && bun build src/doctor-cli.ts --outdir dist --target node && bun build src/legacy-engine-runtime.ts --outdir dist --target node && bun build src/pure-rust.ts --outdir dist --target node && bun build src/runtime-entry.ts --outdir dist --target node && bun scripts/stage-pdfjs-worker.ts","native:platform":"bun scripts/native/platform-package-map.ts","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","sync:server-json":"bun scripts/sync-server-json.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","perf:same-host-ab":"bun scripts/perf/same-host-ts-rust-ab.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:pure-rust":"bun scripts/benchmark-pure-rust.ts","native:assert-ready":"bun scripts/native/assert-native-packages-ready.ts","check:sole-rust-core":"bun scripts/check-sole-rust-core-admission.ts","test:agent-task-eval":"bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline","test:ts-vs-rust-text":"bun scripts/differential/ts-vs-rust-text-oracle.ts","native:sync-manifests":"bun scripts/native/sync-native-package-manifests.ts","smoke:native-launcher":"bun scripts/smoke-native-launcher.ts","test:agent-task-smoke":"bun scripts/run-agent-task-smoke.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","check:pure-rust-matrix":"bun scripts/check-pure-rust-matrix.ts","test:capability-parity":"bun test test/production/capabilityParity.contract.test.ts --timeout=600000","test:pure-rust-exports":"bun test test/pure-rust-exports.test.ts","check:agent-task-corpus":"bun scripts/check-agent-task-corpus.ts","check:pure-rust-exports":"bun scripts/check-pure-rust-exports.ts","perf:same-host-ab-suite":"bun scripts/perf/run-same-host-ab-suite.ts","check:semantic-contracts":"bun scripts/check-semantic-contracts.ts","perf:installed-footprint":"bun scripts/perf/measure-installed-footprint.ts","test:native-platform-map":"bun test test/native-platform-package-map.test.ts","check:production-contract":"bun scripts/check-production-contract.ts","validate:pure-rust-claimed":"bun run check:pure-rust-matrix && bun run check:semantic-contracts && bun run check:agent-task-corpus && bun run test:ts-vs-rust-text && bun run test:v3014-behavior-differential && bun run test:v3014-structure-differential && bun run test:v3014-text-layer-differential && bun run test:v3014-citation-chunk-differential && bun run test:v3014-semantic-hint-differential && bun run test:v3014-document-ast-differential && bun run test:v3014-document-map-differential && bun run test:v3014-trust-report-differential && bun run test:v3014-selectable-table-differential && bun run test:v3014-caption-link-differential && bun run test:v3014-search-semantic-differential && bun run test:v3014-lowercase-index-differential && bun run test:v3014-selectable-text-segmentation-differential && bun run test:v3014-ocr-search-differential && bun run test:v3014-raster-image-differential && bun run test:v3014-visual-candidate-differential && bun run test:v3014-visual-fusion-differential && bun run test:v3014-document-ast-visual-fusion-differential && bun run test:v3014-read-ocr-differential && bun run test:v3014-read-ocr-residual-differential && bun run test:v3014-ocr-tsv-differential && bun run test:v3014-ocr-table-merge-differential && bun run test:v3014-ocr-search-residual-differential && bun run test:v3014-ocr-search-interleave-differential && bun run test:v3014-url-single-fetch-differential && bun run test:v3014-ocr-search-tsv-differential && bun run test:v3014-search-multiword-geometry-differential && bun run test:v3014-form-residual-differential && bun run test:v3014-form-radio-group-differential && bun run test:v3014-attachment-residual-differential && bun run test:v3014-markinfo-residual-differential && bun run test:v3014-form-parent-child-differential && bun run test:v3014-annotation-residual-differential && bun run test:v3014-annotation-dest-residual-differential && bun run test:v3014-annotation-action-dest-residual-differential && bun run test:v3014-annotation-action-precedence-residual-differential && bun run test:v3014-info-flags-residual-differential && bun run test:v3014-page-geometry-residual-differential && bun run test:v3014-page-labels-residual-differential && bun run test:v3014-outline-residual-differential && bun run test:v3014-permissions-residual-differential && bun run test:v3014-metadata-presence-residual-differential && bun run test:v3014-info-extras-residual-differential && bun run test:v3014-encrypt-filter-residual-differential && bun run test:v3014-linearized-residual-differential && bun run test:v3014-form-flags-residual-differential && bun run test:v3014-text-annotation-residual-differential && bun run test:v3014-remote-action-residual-differential && bun run test:v3014-popup-annotation-residual-differential && bun run test:v3014-popup-zero-size-residual-differential && bun run test:v3014-popup-group-irt-residual-differential && bun run test:v3014-text-appearance-residual-differential && bun run test:v3014-text-named-appearance-residual-differential && bun run test:v3014-text-inverted-rect-residual-differential && bun run test:v3014-remote-named-dest-residual-differential && bun run test:v3014-page-labels-kids-residual-differential && bun run test:v3014-form-button-array-residual-differential && bun run test:v3014-form-button-default-off-residual-differential && bun run test:v3014-form-pushbutton-default-null-residual-differential && bun run test:v3014-form-checkbox-as-value-residual-differential && bun run test:v3014-form-checkbox-export-normalize-residual-differential && bun run test:v3014-form-radio-as-no-override-residual-differential && bun run test:v3014-form-checkbox-multi-export-residual-differential && bun run test:v3014-form-checkbox-multi-export-many-residual-differential && bun run test:v3014-form-checkbox-export-empty-single-residual-differential && bun run test:v3014-form-checkbox-malformed-ap-residual-differential && bun run test:v3014-form-radio-malformed-ap-residual-differential && bun run test:v3014-form-radio-parent-kids-ap-residual-differential && bun run test:v3014-form-radio-deeper-kids-ap-residual-differential && bun run test:v3014-form-radio-broken-parent-chain-residual-differential && bun run test:v3014-attachment-odd-names-residual-differential && bun run test:v3014-attachment-dupkids-residual-differential && bun run test:v3014-form-utf16-text-residual-differential && bun run test:v3014-utf16-text-residual-differential && bun run test:v3014-text-invalid-as-residual-differential && bun run test:v3014-line-annotation-residual-differential && bun run test:v3014-polyline-polygon-residual-differential && bun run test:v3014-ink-annotation-residual-differential && bun run test:v3014-border-width-clamp-residual-differential && bun run test:v3014-border-array-width-residual-differential && bun run test:v3014-border-bs-preference-residual-differential && bun run test:v3014-border-bs-nondict-residual-differential && bun run test:v3014-border-array-short-residual-differential && bun run test:v3014-border-bs-wrong-type-residual-differential && bun run test:v3014-border-zero-size-clamp-bypass-residual-differential && bun run test:v3014-annotation-appearance-bbox-residual-differential && bun run test:v3014-annotation-ap-nonstream-residual-differential && bun run test:v3014-annotation-ap-named-state-residual-differential && bun run test:v3014-annotation-ap-named-state-polyline-ink-residual-differential && bun run test:v3014-annotation-ap-named-state-square-circle-residual-differential && bun run test:v3014-annotation-highlight-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-with-ap-residual-differential && bun run test:v3014-annotation-stamp-caret-file-residual-differential && bun run test:v3014-annotation-square-circle-widget-residual-differential && bun run test:v3014-annotation-link-uri-normalize-residual-differential && bun run test:v3014-annotation-freetext-rect-residual-differential && bun run test:v3014-annotation-link-uri-name-residual-differential && bun run test:v3014-annotation-link-aa-action-residual-differential && bun run test:v3014-annotation-link-aa-precedence-residual-differential && cargo test -p pdf-reader-core --lib && cargo test -p pdf-reader-mcp-server --lib && bun run test:v3014-form-text-multiline-residual-differential && bun run test:v3014-annotation-contents-multiline-residual-differential && bun run test:v3014-outline-cycle-residual-differential && bun run test:v3014-outline-named-dest-residual-differential && bun run test:v3014-outline-gotor-residual-differential && bun run test:v3014-outline-launch-residual-differential && bun run test:v3014-outline-relative-remote-residual-differential && bun run test:v3014-info-trapped-custom-residual-differential && bun run test:v3014-page-geometry-inheritance-residual-differential && bun run test:v3014-page-geometry-depth-clamp-residual-differential && bun run test:v3014-page-geometry-userunit-multipage-residual-differential","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","check:ts-production-absence":"bun scripts/check-ts-production-absence.ts","native:stage-from-artifacts":"bun scripts/native/stage-native-artifacts.ts","test:agent-task-public-eval":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline --public","check:no-github-hosted-macos":"bun scripts/check-no-github-hosted-macos.ts","check:registry-install-proof":"bun scripts/check-registry-install-proof.ts","release:publish-with-natives":"bun scripts/release-publish-with-natives.ts","smoke:native-package-resolve":"bun scripts/smoke-native-package-resolve.ts","test:agent-task-public-smoke":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-smoke.ts --public","check:prod-dependency-closure":"bun scripts/check-prod-dependency-closure.ts","test:agent-task-eval:baseline":"bun scripts/run-agent-task-eval.ts --runtime=typescript --write-baseline --no-compare","test:agent-task-eval:calibrate":"bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline","test:v3014-ocr-tsv-differential":"bun scripts/differential/check-v3014-ocr-tsv-differential.ts","test:v3014-behavior-differential":"bun scripts/differential/check-v3014-behavior-differential.ts","test:v3014-read-ocr-differential":"bun scripts/differential/check-v3014-read-ocr-differential.ts","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts","test:v3014-structure-differential":"bun scripts/differential/check-v3014-structure-differential.ts","check:verified-candidate-admission":"bun scripts/check-verified-candidate-admission.ts","test:v3014-ocr-search-differential":"bun scripts/differential/check-v3014-ocr-search-differential.ts","test:v3014-text-layer-differential":"bun scripts/differential/check-v3014-text-layer-differential.ts","test:v3014-caption-link-differential":"bun scripts/differential/check-v3014-caption-link-differential.ts","test:v3014-document-ast-differential":"bun scripts/differential/check-v3014-document-ast-differential.ts","test:v3014-document-map-differential":"bun scripts/differential/check-v3014-document-map-differential.ts","test:v3014-raster-image-differential":"bun scripts/differential/check-v3014-raster-image-differential.ts","test:v3014-trust-report-differential":"bun scripts/differential/check-v3014-trust-report-differential.ts","test:agent-task-public-eval:calibrate":"MCP_PDF_AGENT_TASK_PUBLIC=true MCP_PDF_CORPUS_ALLOW_DOWNLOADS=true bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline --public --allow-corpus-downloads","test:v3014-form-residual-differential":"bun scripts/differential/check-v3014-form-residual-differential.ts","test:v3014-semantic-hint-differential":"bun scripts/differential/check-v3014-semantic-hint-differential.ts","test:v3014-visual-fusion-differential":"bun scripts/differential/check-v3014-visual-fusion-differential.ts","test:v3014-citation-chunk-differential":"bun scripts/differential/check-v3014-citation-chunk-differential.ts","test:v3014-ocr-search-tsv-differential":"bun scripts/differential/check-v3014-ocr-search-tsv-differential.ts","test:v3014-lowercase-index-differential":"bun scripts/differential/check-v3014-lowercase-index-differential.ts","test:v3014-ocr-table-merge-differential":"bun scripts/differential/check-v3014-ocr-table-merge-differential.ts","test:v3014-search-semantic-differential":"bun scripts/differential/check-v3014-search-semantic-differential.ts","test:v3014-form-radio-group-differential":"bun scripts/differential/check-v3014-form-radio-group-differential.ts","test:v3014-outline-residual-differential":"bun scripts/differential/check-v3014-outline-residual-differential.ts","test:v3014-selectable-table-differential":"bun scripts/differential/check-v3014-selectable-table-differential.ts","test:v3014-url-single-fetch-differential":"bun scripts/differential/check-v3014-url-single-fetch-differential.ts","test:v3014-visual-candidate-differential":"bun scripts/differential/check-v3014-visual-candidate-differential.ts","test:v3014-form-parent-child-differential":"bun scripts/differential/check-v3014-form-parent-child-differential.ts","test:v3014-markinfo-residual-differential":"bun scripts/differential/check-v3014-markinfo-residual-differential.ts","test:v3014-read-ocr-residual-differential":"bun scripts/differential/check-v3014-read-ocr-residual-differential.ts","test:v3014-annotation-residual-differential":"bun scripts/differential/check-v3014-annotation-residual-differential.ts","test:v3014-attachment-residual-differential":"bun scripts/differential/check-v3014-attachment-residual-differential.ts","test:v3014-form-flags-residual-differential":"bun scripts/differential/check-v3014-form-flags-residual-differential.ts","test:v3014-info-flags-residual-differential":"bun scripts/differential/check-v3014-info-flags-residual-differential.ts","test:v3014-linearized-residual-differential":"bun scripts/differential/check-v3014-linearized-residual-differential.ts","test:v3014-ocr-search-residual-differential":"bun scripts/differential/check-v3014-ocr-search-residual-differential.ts","test:v3014-utf16-text-residual-differential":"bun scripts/differential/check-v3014-utf16-text-residual-differential.ts","test:v3014-info-extras-residual-differential":"bun scripts/differential/check-v3014-info-extras-residual-differential.ts","test:v3014-page-labels-residual-differential":"bun scripts/differential/check-v3014-page-labels-residual-differential.ts","test:v3014-permissions-residual-differential":"bun scripts/differential/check-v3014-permissions-residual-differential.ts","test:v3014-ocr-search-interleave-differential":"bun scripts/differential/check-v3014-ocr-search-interleave-differential.ts","test:v3014-outline-cycle-residual-differential":"bun scripts/differential/check-v3014-outline-cycle-residual-differential.ts","test:v3014-outline-gotor-residual-differential":"bun scripts/differential/check-v3014-outline-gotor-residual-differential.ts","test:v3014-page-geometry-residual-differential":"bun scripts/differential/check-v3014-page-geometry-residual-differential.ts","test:v3014-remote-action-residual-differential":"bun scripts/differential/check-v3014-remote-action-residual-differential.ts","test:v3014-encrypt-filter-residual-differential":"bun scripts/differential/check-v3014-encrypt-filter-residual-differential.ts","test:v3014-ink-annotation-residual-differential":"bun scripts/differential/check-v3014-ink-annotation-residual-differential.ts","test:v3014-outline-launch-residual-differential":"bun scripts/differential/check-v3014-outline-launch-residual-differential.ts","test:v3014-annotation-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-dest-residual-differential.ts","test:v3014-form-utf16-text-residual-differential":"bun scripts/differential/check-v3014-form-utf16-text-residual-differential.ts","test:v3014-line-annotation-residual-differential":"bun scripts/differential/check-v3014-line-annotation-residual-differential.ts","test:v3014-popup-group-irt-residual-differential":"bun scripts/differential/check-v3014-popup-group-irt-residual-differential.ts","test:v3014-popup-zero-size-residual-differential":"bun scripts/differential/check-v3014-popup-zero-size-residual-differential.ts","test:v3014-text-annotation-residual-differential":"bun scripts/differential/check-v3014-text-annotation-residual-differential.ts","test:v3014-text-appearance-residual-differential":"bun scripts/differential/check-v3014-text-appearance-residual-differential.ts","test:v3014-text-invalid-as-residual-differential":"bun scripts/differential/check-v3014-text-invalid-as-residual-differential.ts","test:v3014-page-labels-kids-residual-differential":"bun scripts/differential/check-v3014-page-labels-kids-residual-differential.ts","test:v3014-polyline-polygon-residual-differential":"bun scripts/differential/check-v3014-polyline-polygon-residual-differential.ts","test:v3014-popup-annotation-residual-differential":"bun scripts/differential/check-v3014-popup-annotation-residual-differential.ts","test:v3014-search-multiword-geometry-differential":"bun scripts/differential/check-v3014-search-multiword-geometry-differential.ts","test:v3014-border-bs-nondict-residual-differential":"bun scripts/differential/check-v3014-border-bs-nondict-residual-differential.ts","test:v3014-document-ast-visual-fusion-differential":"bun scripts/differential/check-v3014-document-ast-visual-fusion-differential.ts","test:v3014-form-button-array-residual-differential":"bun scripts/differential/check-v3014-form-button-array-residual-differential.ts","test:v3014-metadata-presence-residual-differential":"bun scripts/differential/check-v3014-metadata-presence-residual-differential.ts","test:v3014-remote-named-dest-residual-differential":"bun scripts/differential/check-v3014-remote-named-dest-residual-differential.ts","test:v3014-attachment-dupkids-residual-differential":"bun scripts/differential/check-v3014-attachment-dupkids-residual-differential.ts","test:v3014-border-array-short-residual-differential":"bun scripts/differential/check-v3014-border-array-short-residual-differential.ts","test:v3014-border-array-width-residual-differential":"bun scripts/differential/check-v3014-border-array-width-residual-differential.ts","test:v3014-border-width-clamp-residual-differential":"bun scripts/differential/check-v3014-border-width-clamp-residual-differential.ts","test:v3014-outline-named-dest-residual-differential":"bun scripts/differential/check-v3014-outline-named-dest-residual-differential.ts","test:v3014-text-inverted-rect-residual-differential":"bun scripts/differential/check-v3014-text-inverted-rect-residual-differential.ts","test:v3014-form-text-multiline-residual-differential":"bun scripts/differential/check-v3014-form-text-multiline-residual-differential.ts","test:v3014-info-trapped-custom-residual-differential":"bun scripts/differential/check-v3014-info-trapped-custom-residual-differential.ts","test:v3014-selectable-text-segmentation-differential":"bun scripts/differential/check-v3014-selectable-text-segmentation-differential.ts","test:v3014-attachment-odd-names-residual-differential":"bun scripts/differential/check-v3014-attachment-odd-names-residual-differential.ts","test:v3014-border-bs-preference-residual-differential":"bun scripts/differential/check-v3014-border-bs-preference-residual-differential.ts","test:v3014-border-bs-wrong-type-residual-differential":"bun scripts/differential/check-v3014-border-bs-wrong-type-residual-differential.ts","test:v3014-text-named-appearance-residual-differential":"bun scripts/differential/check-v3014-text-named-appearance-residual-differential.ts","test:v3014-annotation-action-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-action-dest-residual-differential.ts","test:v3014-form-checkbox-as-value-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-as-value-residual-differential.ts","test:v3014-annotation-ap-nonstream-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-nonstream-residual-differential.ts","test:v3014-form-button-default-off-residual-differential":"bun scripts/differential/check-v3014-form-button-default-off-residual-differential.ts","test:v3014-form-radio-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-malformed-ap-residual-differential.ts","test:v3014-outline-relative-remote-residual-differential":"bun scripts/differential/check-v3014-outline-relative-remote-residual-differential.ts","test:v3014-annotation-freetext-rect-residual-differential":"bun scripts/differential/check-v3014-annotation-freetext-rect-residual-differential.ts","test:v3014-annotation-link-uri-name-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-name-residual-differential.ts","test:v3014-annotation-ap-named-state-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-residual-differential.ts","test:v3014-annotation-link-aa-action-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-action-residual-differential.ts","test:v3014-form-radio-as-no-override-residual-differential":"bun scripts/differential/check-v3014-form-radio-as-no-override-residual-differential.ts","test:v3014-form-radio-deeper-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-deeper-kids-ap-residual-differential.ts","test:v3014-form-radio-parent-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-parent-kids-ap-residual-differential.ts","test:v3014-page-geometry-depth-clamp-residual-differential":"bun scripts/differential/check-v3014-page-geometry-depth-clamp-residual-differential.ts","test:v3014-page-geometry-inheritance-residual-differential":"bun scripts/differential/check-v3014-page-geometry-inheritance-residual-differential.ts","test:v3014-annotation-appearance-bbox-residual-differential":"bun scripts/differential/check-v3014-annotation-appearance-bbox-residual-differential.ts","test:v3014-form-checkbox-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-malformed-ap-residual-differential.ts","test:v3014-form-checkbox-multi-export-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-residual-differential.ts","test:v3014-annotation-stamp-caret-file-residual-differential":"bun scripts/differential/check-v3014-annotation-stamp-caret-file-residual-differential.ts","test:v3014-annotation-action-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-action-precedence-residual-differential.ts","test:v3014-form-pushbutton-default-null-residual-differential":"bun scripts/differential/check-v3014-form-pushbutton-default-null-residual-differential.ts","test:v3014-annotation-contents-multiline-residual-differential":"bun scripts/differential/check-v3014-annotation-contents-multiline-residual-differential.ts","test:v3014-annotation-link-aa-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-precedence-residual-differential.ts","test:v3014-annotation-link-uri-normalize-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-normalize-residual-differential.ts","test:v3014-border-zero-size-clamp-bypass-residual-differential":"bun scripts/differential/check-v3014-border-zero-size-clamp-bypass-residual-differential.ts","test:v3014-annotation-text-markup-with-ap-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-with-ap-residual-differential.ts","test:v3014-form-checkbox-export-normalize-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-normalize-residual-differential.ts","test:v3014-form-radio-broken-parent-chain-residual-differential":"bun scripts/differential/check-v3014-form-radio-broken-parent-chain-residual-differential.ts","test:v3014-annotation-highlight-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-highlight-quadpoints-residual-differential.ts","test:v3014-annotation-square-circle-widget-residual-differential":"bun scripts/differential/check-v3014-annotation-square-circle-widget-residual-differential.ts","test:v3014-form-checkbox-multi-export-many-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-many-residual-differential.ts","test:v3014-page-geometry-userunit-multipage-residual-differential":"bun scripts/differential/check-v3014-page-geometry-userunit-multipage-residual-differential.ts","test:v3014-annotation-text-markup-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-quadpoints-residual-differential.ts","test:v3014-form-checkbox-export-empty-single-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-empty-single-residual-differential.ts","test:v3014-annotation-ap-named-state-polyline-ink-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-polyline-ink-residual-differential.ts","test:v3014-annotation-ap-named-state-square-circle-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-square-circle-residual-differential.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Give AI agents eyes for PDFs — structured text, tables, OCR, visual evidence, and page-level citations via MCP. Native Rust engine, local-first, five platforms.","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"zod":"^4.4.3","bunup":"0.16.31","pngjs":"^7.0.0","vitepress":"^1.6.4","pdfjs-dist":"^6.0.227","typescript":"^7.0.2","@types/node":"^26.1.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@modelcontextprotocol/sdk":"^1.29.0","@changesets/changelog-github":"^0.7.0"},"optionalDependencies":{"@sylphx/pdf-reader-mcp-darwin-x64":"4.1.1","@sylphx/pdf-reader-mcp-darwin-arm64":"4.1.1","@sylphx/pdf-reader-mcp-linux-x64-gnu":"4.1.1","@sylphx/pdf-reader-mcp-win32-x64-msvc":"4.1.1","@sylphx/pdf-reader-mcp-linux-arm64-gnu":"4.1.1"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_4.1.1_1784923276934_0.8384135084300874","host":"s3://npm-registry-packages-npm-production"}},"4.1.2":{"name":"@sylphx/pdf-reader-mcp","version":"4.1.2","keywords":["mcp","model-context-protocol","pdf","reader","parser","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing","rust","local-first","pdf-mcp","document-intelligence"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@4.1.2","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"pdf-reader-mcp":"dist/runtime-entry.js"},"dist":{"shasum":"9233ba783689f8defc4696092380434c7035572e","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-4.1.2.tgz","fileCount":15,"integrity":"sha512-S6QEC1Ka0/p8D5yowzWeHfUTc4WK7uyT8Ek7vsyQ1JJ6cpWyNKxNKTgHInCDI1DnJDDc+qJn/CeK9oPBhB6Mcw==","signatures":[{"sig":"MEQCIBER9he34ZDq/xBIcPiBe/OozUCi81keGxImqyIT3zYMAiBxGxbLh1XBG4COA+PetFSPp44WKqHPFqH6+j5O9da1rw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75783},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/runtime-entry.js","./pure-rust":"./dist/pure-rust.js"},"gitHead":"94b9c04179b34b86f37beaeb9a819d2f9340dd28","mcpName":"io.github.SylphxAI/pdf-reader-mcp","scripts":{"lint":"biome lint .","test":"bun test","build":"bun run build:package","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/runtime-entry.js","watch":"tsc --watch","format":"biome format --write .","release":"echo \"PUBLISH FREEZE: refusing release until capability parity is approved\" && exit 1","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage --timeout=30000","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/runtime-entry.js","test:rust":"cargo test","typecheck":"tsc --noEmit","build:rust":"cargo build --release -p pdf-reader-core -p pdf-reader-cli -p pdf-reader-mcp-server && bun scripts/stage-rust-mcp.ts","build:test":"bun run build:package && bun run build:oracle-ts","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","build:package":"bun build src/runtime-entry.ts --outdir dist --target node && bun build src/pure-rust.ts --outdir dist --target node","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build:package && bun run package:smoke && bun run check:ts-production-absence && bun run check:prod-dependency-closure","build:oracle-ts":"bun build src/index.ts --outdir dist --target node && bun build src/doctor-cli.ts --outdir dist --target node && bun build src/legacy-engine-runtime.ts --outdir dist --target node && bun build src/pure-rust.ts --outdir dist --target node && bun build src/runtime-entry.ts --outdir dist --target node && bun scripts/stage-pdfjs-worker.ts","native:platform":"bun scripts/native/platform-package-map.ts","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","sync:server-json":"bun scripts/sync-server-json.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","perf:same-host-ab":"bun scripts/perf/same-host-ts-rust-ab.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:pure-rust":"bun scripts/benchmark-pure-rust.ts","native:assert-ready":"bun scripts/native/assert-native-packages-ready.ts","check:sole-rust-core":"bun scripts/check-sole-rust-core-admission.ts","test:agent-task-eval":"bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline","test:ts-vs-rust-text":"bun scripts/differential/ts-vs-rust-text-oracle.ts","native:sync-manifests":"bun scripts/native/sync-native-package-manifests.ts","smoke:native-launcher":"bun scripts/smoke-native-launcher.ts","test:agent-task-smoke":"bun scripts/run-agent-task-smoke.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","check:pure-rust-matrix":"bun scripts/check-pure-rust-matrix.ts","test:capability-parity":"bun test test/production/capabilityParity.contract.test.ts --timeout=600000","test:pure-rust-exports":"bun test test/pure-rust-exports.test.ts","check:agent-task-corpus":"bun scripts/check-agent-task-corpus.ts","check:pure-rust-exports":"bun scripts/check-pure-rust-exports.ts","perf:same-host-ab-suite":"bun scripts/perf/run-same-host-ab-suite.ts","check:semantic-contracts":"bun scripts/check-semantic-contracts.ts","perf:installed-footprint":"bun scripts/perf/measure-installed-footprint.ts","test:native-platform-map":"bun test test/native-platform-package-map.test.ts","check:production-contract":"bun scripts/check-production-contract.ts","validate:pure-rust-claimed":"bun run check:pure-rust-matrix && bun run check:semantic-contracts && bun run check:agent-task-corpus && bun run test:ts-vs-rust-text && bun run test:v3014-behavior-differential && bun run test:v3014-structure-differential && bun run test:v3014-text-layer-differential && bun run test:v3014-citation-chunk-differential && bun run test:v3014-semantic-hint-differential && bun run test:v3014-document-ast-differential && bun run test:v3014-document-map-differential && bun run test:v3014-trust-report-differential && bun run test:v3014-selectable-table-differential && bun run test:v3014-caption-link-differential && bun run test:v3014-search-semantic-differential && bun run test:v3014-lowercase-index-differential && bun run test:v3014-selectable-text-segmentation-differential && bun run test:v3014-ocr-search-differential && bun run test:v3014-raster-image-differential && bun run test:v3014-visual-candidate-differential && bun run test:v3014-visual-fusion-differential && bun run test:v3014-document-ast-visual-fusion-differential && bun run test:v3014-read-ocr-differential && bun run test:v3014-read-ocr-residual-differential && bun run test:v3014-ocr-tsv-differential && bun run test:v3014-ocr-table-merge-differential && bun run test:v3014-ocr-search-residual-differential && bun run test:v3014-ocr-search-interleave-differential && bun run test:v3014-url-single-fetch-differential && bun run test:v3014-ocr-search-tsv-differential && bun run test:v3014-search-multiword-geometry-differential && bun run test:v3014-form-residual-differential && bun run test:v3014-form-radio-group-differential && bun run test:v3014-attachment-residual-differential && bun run test:v3014-markinfo-residual-differential && bun run test:v3014-form-parent-child-differential && bun run test:v3014-annotation-residual-differential && bun run test:v3014-annotation-dest-residual-differential && bun run test:v3014-annotation-action-dest-residual-differential && bun run test:v3014-annotation-action-precedence-residual-differential && bun run test:v3014-info-flags-residual-differential && bun run test:v3014-page-geometry-residual-differential && bun run test:v3014-page-labels-residual-differential && bun run test:v3014-outline-residual-differential && bun run test:v3014-permissions-residual-differential && bun run test:v3014-metadata-presence-residual-differential && bun run test:v3014-info-extras-residual-differential && bun run test:v3014-encrypt-filter-residual-differential && bun run test:v3014-linearized-residual-differential && bun run test:v3014-form-flags-residual-differential && bun run test:v3014-text-annotation-residual-differential && bun run test:v3014-remote-action-residual-differential && bun run test:v3014-popup-annotation-residual-differential && bun run test:v3014-popup-zero-size-residual-differential && bun run test:v3014-popup-group-irt-residual-differential && bun run test:v3014-text-appearance-residual-differential && bun run test:v3014-text-named-appearance-residual-differential && bun run test:v3014-text-inverted-rect-residual-differential && bun run test:v3014-remote-named-dest-residual-differential && bun run test:v3014-page-labels-kids-residual-differential && bun run test:v3014-form-button-array-residual-differential && bun run test:v3014-form-button-default-off-residual-differential && bun run test:v3014-form-pushbutton-default-null-residual-differential && bun run test:v3014-form-checkbox-as-value-residual-differential && bun run test:v3014-form-checkbox-export-normalize-residual-differential && bun run test:v3014-form-radio-as-no-override-residual-differential && bun run test:v3014-form-checkbox-multi-export-residual-differential && bun run test:v3014-form-checkbox-multi-export-many-residual-differential && bun run test:v3014-form-checkbox-export-empty-single-residual-differential && bun run test:v3014-form-checkbox-malformed-ap-residual-differential && bun run test:v3014-form-radio-malformed-ap-residual-differential && bun run test:v3014-form-radio-parent-kids-ap-residual-differential && bun run test:v3014-form-radio-deeper-kids-ap-residual-differential && bun run test:v3014-form-radio-broken-parent-chain-residual-differential && bun run test:v3014-attachment-odd-names-residual-differential && bun run test:v3014-attachment-dupkids-residual-differential && bun run test:v3014-form-utf16-text-residual-differential && bun run test:v3014-utf16-text-residual-differential && bun run test:v3014-text-invalid-as-residual-differential && bun run test:v3014-line-annotation-residual-differential && bun run test:v3014-polyline-polygon-residual-differential && bun run test:v3014-ink-annotation-residual-differential && bun run test:v3014-border-width-clamp-residual-differential && bun run test:v3014-border-array-width-residual-differential && bun run test:v3014-border-bs-preference-residual-differential && bun run test:v3014-border-bs-nondict-residual-differential && bun run test:v3014-border-array-short-residual-differential && bun run test:v3014-border-bs-wrong-type-residual-differential && bun run test:v3014-border-zero-size-clamp-bypass-residual-differential && bun run test:v3014-annotation-appearance-bbox-residual-differential && bun run test:v3014-annotation-ap-nonstream-residual-differential && bun run test:v3014-annotation-ap-named-state-residual-differential && bun run test:v3014-annotation-ap-named-state-polyline-ink-residual-differential && bun run test:v3014-annotation-ap-named-state-square-circle-residual-differential && bun run test:v3014-annotation-highlight-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-with-ap-residual-differential && bun run test:v3014-annotation-stamp-caret-file-residual-differential && bun run test:v3014-annotation-square-circle-widget-residual-differential && bun run test:v3014-annotation-link-uri-normalize-residual-differential && bun run test:v3014-annotation-freetext-rect-residual-differential && bun run test:v3014-annotation-link-uri-name-residual-differential && bun run test:v3014-annotation-link-aa-action-residual-differential && bun run test:v3014-annotation-link-aa-precedence-residual-differential && cargo test -p pdf-reader-core --lib && cargo test -p pdf-reader-mcp-server --lib && bun run test:v3014-form-text-multiline-residual-differential && bun run test:v3014-annotation-contents-multiline-residual-differential && bun run test:v3014-outline-cycle-residual-differential && bun run test:v3014-outline-named-dest-residual-differential && bun run test:v3014-outline-gotor-residual-differential && bun run test:v3014-outline-launch-residual-differential && bun run test:v3014-outline-relative-remote-residual-differential && bun run test:v3014-info-trapped-custom-residual-differential && bun run test:v3014-page-geometry-inheritance-residual-differential && bun run test:v3014-page-geometry-depth-clamp-residual-differential && bun run test:v3014-page-geometry-userunit-multipage-residual-differential","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","check:ts-production-absence":"bun scripts/check-ts-production-absence.ts","native:stage-from-artifacts":"bun scripts/native/stage-native-artifacts.ts","test:agent-task-public-eval":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline --public","check:no-github-hosted-macos":"bun scripts/check-no-github-hosted-macos.ts","check:registry-install-proof":"bun scripts/check-registry-install-proof.ts","release:publish-with-natives":"bun scripts/release-publish-with-natives.ts","smoke:native-package-resolve":"bun scripts/smoke-native-package-resolve.ts","test:agent-task-public-smoke":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-smoke.ts --public","check:prod-dependency-closure":"bun scripts/check-prod-dependency-closure.ts","test:agent-task-eval:baseline":"bun scripts/run-agent-task-eval.ts --runtime=typescript --write-baseline --no-compare","test:agent-task-eval:calibrate":"bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline","test:v3014-ocr-tsv-differential":"bun scripts/differential/check-v3014-ocr-tsv-differential.ts","test:v3014-behavior-differential":"bun scripts/differential/check-v3014-behavior-differential.ts","test:v3014-read-ocr-differential":"bun scripts/differential/check-v3014-read-ocr-differential.ts","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts","test:v3014-structure-differential":"bun scripts/differential/check-v3014-structure-differential.ts","check:verified-candidate-admission":"bun scripts/check-verified-candidate-admission.ts","test:v3014-ocr-search-differential":"bun scripts/differential/check-v3014-ocr-search-differential.ts","test:v3014-text-layer-differential":"bun scripts/differential/check-v3014-text-layer-differential.ts","test:v3014-caption-link-differential":"bun scripts/differential/check-v3014-caption-link-differential.ts","test:v3014-document-ast-differential":"bun scripts/differential/check-v3014-document-ast-differential.ts","test:v3014-document-map-differential":"bun scripts/differential/check-v3014-document-map-differential.ts","test:v3014-raster-image-differential":"bun scripts/differential/check-v3014-raster-image-differential.ts","test:v3014-trust-report-differential":"bun scripts/differential/check-v3014-trust-report-differential.ts","test:agent-task-public-eval:calibrate":"MCP_PDF_AGENT_TASK_PUBLIC=true MCP_PDF_CORPUS_ALLOW_DOWNLOADS=true bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline --public --allow-corpus-downloads","test:v3014-form-residual-differential":"bun scripts/differential/check-v3014-form-residual-differential.ts","test:v3014-semantic-hint-differential":"bun scripts/differential/check-v3014-semantic-hint-differential.ts","test:v3014-visual-fusion-differential":"bun scripts/differential/check-v3014-visual-fusion-differential.ts","test:v3014-citation-chunk-differential":"bun scripts/differential/check-v3014-citation-chunk-differential.ts","test:v3014-ocr-search-tsv-differential":"bun scripts/differential/check-v3014-ocr-search-tsv-differential.ts","test:v3014-lowercase-index-differential":"bun scripts/differential/check-v3014-lowercase-index-differential.ts","test:v3014-ocr-table-merge-differential":"bun scripts/differential/check-v3014-ocr-table-merge-differential.ts","test:v3014-search-semantic-differential":"bun scripts/differential/check-v3014-search-semantic-differential.ts","test:v3014-form-radio-group-differential":"bun scripts/differential/check-v3014-form-radio-group-differential.ts","test:v3014-outline-residual-differential":"bun scripts/differential/check-v3014-outline-residual-differential.ts","test:v3014-selectable-table-differential":"bun scripts/differential/check-v3014-selectable-table-differential.ts","test:v3014-url-single-fetch-differential":"bun scripts/differential/check-v3014-url-single-fetch-differential.ts","test:v3014-visual-candidate-differential":"bun scripts/differential/check-v3014-visual-candidate-differential.ts","test:v3014-form-parent-child-differential":"bun scripts/differential/check-v3014-form-parent-child-differential.ts","test:v3014-markinfo-residual-differential":"bun scripts/differential/check-v3014-markinfo-residual-differential.ts","test:v3014-read-ocr-residual-differential":"bun scripts/differential/check-v3014-read-ocr-residual-differential.ts","test:v3014-annotation-residual-differential":"bun scripts/differential/check-v3014-annotation-residual-differential.ts","test:v3014-attachment-residual-differential":"bun scripts/differential/check-v3014-attachment-residual-differential.ts","test:v3014-form-flags-residual-differential":"bun scripts/differential/check-v3014-form-flags-residual-differential.ts","test:v3014-info-flags-residual-differential":"bun scripts/differential/check-v3014-info-flags-residual-differential.ts","test:v3014-linearized-residual-differential":"bun scripts/differential/check-v3014-linearized-residual-differential.ts","test:v3014-ocr-search-residual-differential":"bun scripts/differential/check-v3014-ocr-search-residual-differential.ts","test:v3014-utf16-text-residual-differential":"bun scripts/differential/check-v3014-utf16-text-residual-differential.ts","test:v3014-info-extras-residual-differential":"bun scripts/differential/check-v3014-info-extras-residual-differential.ts","test:v3014-page-labels-residual-differential":"bun scripts/differential/check-v3014-page-labels-residual-differential.ts","test:v3014-permissions-residual-differential":"bun scripts/differential/check-v3014-permissions-residual-differential.ts","test:v3014-ocr-search-interleave-differential":"bun scripts/differential/check-v3014-ocr-search-interleave-differential.ts","test:v3014-outline-cycle-residual-differential":"bun scripts/differential/check-v3014-outline-cycle-residual-differential.ts","test:v3014-outline-gotor-residual-differential":"bun scripts/differential/check-v3014-outline-gotor-residual-differential.ts","test:v3014-page-geometry-residual-differential":"bun scripts/differential/check-v3014-page-geometry-residual-differential.ts","test:v3014-remote-action-residual-differential":"bun scripts/differential/check-v3014-remote-action-residual-differential.ts","test:v3014-encrypt-filter-residual-differential":"bun scripts/differential/check-v3014-encrypt-filter-residual-differential.ts","test:v3014-ink-annotation-residual-differential":"bun scripts/differential/check-v3014-ink-annotation-residual-differential.ts","test:v3014-outline-launch-residual-differential":"bun scripts/differential/check-v3014-outline-launch-residual-differential.ts","test:v3014-annotation-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-dest-residual-differential.ts","test:v3014-form-utf16-text-residual-differential":"bun scripts/differential/check-v3014-form-utf16-text-residual-differential.ts","test:v3014-line-annotation-residual-differential":"bun scripts/differential/check-v3014-line-annotation-residual-differential.ts","test:v3014-popup-group-irt-residual-differential":"bun scripts/differential/check-v3014-popup-group-irt-residual-differential.ts","test:v3014-popup-zero-size-residual-differential":"bun scripts/differential/check-v3014-popup-zero-size-residual-differential.ts","test:v3014-text-annotation-residual-differential":"bun scripts/differential/check-v3014-text-annotation-residual-differential.ts","test:v3014-text-appearance-residual-differential":"bun scripts/differential/check-v3014-text-appearance-residual-differential.ts","test:v3014-text-invalid-as-residual-differential":"bun scripts/differential/check-v3014-text-invalid-as-residual-differential.ts","test:v3014-page-labels-kids-residual-differential":"bun scripts/differential/check-v3014-page-labels-kids-residual-differential.ts","test:v3014-polyline-polygon-residual-differential":"bun scripts/differential/check-v3014-polyline-polygon-residual-differential.ts","test:v3014-popup-annotation-residual-differential":"bun scripts/differential/check-v3014-popup-annotation-residual-differential.ts","test:v3014-search-multiword-geometry-differential":"bun scripts/differential/check-v3014-search-multiword-geometry-differential.ts","test:v3014-border-bs-nondict-residual-differential":"bun scripts/differential/check-v3014-border-bs-nondict-residual-differential.ts","test:v3014-document-ast-visual-fusion-differential":"bun scripts/differential/check-v3014-document-ast-visual-fusion-differential.ts","test:v3014-form-button-array-residual-differential":"bun scripts/differential/check-v3014-form-button-array-residual-differential.ts","test:v3014-metadata-presence-residual-differential":"bun scripts/differential/check-v3014-metadata-presence-residual-differential.ts","test:v3014-remote-named-dest-residual-differential":"bun scripts/differential/check-v3014-remote-named-dest-residual-differential.ts","test:v3014-attachment-dupkids-residual-differential":"bun scripts/differential/check-v3014-attachment-dupkids-residual-differential.ts","test:v3014-border-array-short-residual-differential":"bun scripts/differential/check-v3014-border-array-short-residual-differential.ts","test:v3014-border-array-width-residual-differential":"bun scripts/differential/check-v3014-border-array-width-residual-differential.ts","test:v3014-border-width-clamp-residual-differential":"bun scripts/differential/check-v3014-border-width-clamp-residual-differential.ts","test:v3014-outline-named-dest-residual-differential":"bun scripts/differential/check-v3014-outline-named-dest-residual-differential.ts","test:v3014-text-inverted-rect-residual-differential":"bun scripts/differential/check-v3014-text-inverted-rect-residual-differential.ts","test:v3014-form-text-multiline-residual-differential":"bun scripts/differential/check-v3014-form-text-multiline-residual-differential.ts","test:v3014-info-trapped-custom-residual-differential":"bun scripts/differential/check-v3014-info-trapped-custom-residual-differential.ts","test:v3014-selectable-text-segmentation-differential":"bun scripts/differential/check-v3014-selectable-text-segmentation-differential.ts","test:v3014-attachment-odd-names-residual-differential":"bun scripts/differential/check-v3014-attachment-odd-names-residual-differential.ts","test:v3014-border-bs-preference-residual-differential":"bun scripts/differential/check-v3014-border-bs-preference-residual-differential.ts","test:v3014-border-bs-wrong-type-residual-differential":"bun scripts/differential/check-v3014-border-bs-wrong-type-residual-differential.ts","test:v3014-text-named-appearance-residual-differential":"bun scripts/differential/check-v3014-text-named-appearance-residual-differential.ts","test:v3014-annotation-action-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-action-dest-residual-differential.ts","test:v3014-form-checkbox-as-value-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-as-value-residual-differential.ts","test:v3014-annotation-ap-nonstream-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-nonstream-residual-differential.ts","test:v3014-form-button-default-off-residual-differential":"bun scripts/differential/check-v3014-form-button-default-off-residual-differential.ts","test:v3014-form-radio-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-malformed-ap-residual-differential.ts","test:v3014-outline-relative-remote-residual-differential":"bun scripts/differential/check-v3014-outline-relative-remote-residual-differential.ts","test:v3014-annotation-freetext-rect-residual-differential":"bun scripts/differential/check-v3014-annotation-freetext-rect-residual-differential.ts","test:v3014-annotation-link-uri-name-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-name-residual-differential.ts","test:v3014-annotation-ap-named-state-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-residual-differential.ts","test:v3014-annotation-link-aa-action-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-action-residual-differential.ts","test:v3014-form-radio-as-no-override-residual-differential":"bun scripts/differential/check-v3014-form-radio-as-no-override-residual-differential.ts","test:v3014-form-radio-deeper-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-deeper-kids-ap-residual-differential.ts","test:v3014-form-radio-parent-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-parent-kids-ap-residual-differential.ts","test:v3014-page-geometry-depth-clamp-residual-differential":"bun scripts/differential/check-v3014-page-geometry-depth-clamp-residual-differential.ts","test:v3014-page-geometry-inheritance-residual-differential":"bun scripts/differential/check-v3014-page-geometry-inheritance-residual-differential.ts","test:v3014-annotation-appearance-bbox-residual-differential":"bun scripts/differential/check-v3014-annotation-appearance-bbox-residual-differential.ts","test:v3014-form-checkbox-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-malformed-ap-residual-differential.ts","test:v3014-form-checkbox-multi-export-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-residual-differential.ts","test:v3014-annotation-stamp-caret-file-residual-differential":"bun scripts/differential/check-v3014-annotation-stamp-caret-file-residual-differential.ts","test:v3014-annotation-action-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-action-precedence-residual-differential.ts","test:v3014-form-pushbutton-default-null-residual-differential":"bun scripts/differential/check-v3014-form-pushbutton-default-null-residual-differential.ts","test:v3014-annotation-contents-multiline-residual-differential":"bun scripts/differential/check-v3014-annotation-contents-multiline-residual-differential.ts","test:v3014-annotation-link-aa-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-precedence-residual-differential.ts","test:v3014-annotation-link-uri-normalize-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-normalize-residual-differential.ts","test:v3014-border-zero-size-clamp-bypass-residual-differential":"bun scripts/differential/check-v3014-border-zero-size-clamp-bypass-residual-differential.ts","test:v3014-annotation-text-markup-with-ap-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-with-ap-residual-differential.ts","test:v3014-form-checkbox-export-normalize-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-normalize-residual-differential.ts","test:v3014-form-radio-broken-parent-chain-residual-differential":"bun scripts/differential/check-v3014-form-radio-broken-parent-chain-residual-differential.ts","test:v3014-annotation-highlight-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-highlight-quadpoints-residual-differential.ts","test:v3014-annotation-square-circle-widget-residual-differential":"bun scripts/differential/check-v3014-annotation-square-circle-widget-residual-differential.ts","test:v3014-form-checkbox-multi-export-many-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-many-residual-differential.ts","test:v3014-page-geometry-userunit-multipage-residual-differential":"bun scripts/differential/check-v3014-page-geometry-userunit-multipage-residual-differential.ts","test:v3014-annotation-text-markup-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-quadpoints-residual-differential.ts","test:v3014-form-checkbox-export-empty-single-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-empty-single-residual-differential.ts","test:v3014-annotation-ap-named-state-polyline-ink-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-polyline-ink-residual-differential.ts","test:v3014-annotation-ap-named-state-square-circle-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-square-circle-residual-differential.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Give AI agents eyes for PDFs — structured text, tables, OCR, visual evidence, and page-level citations via MCP. Native Rust engine, local-first, five platforms.","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"zod":"^4.4.3","bunup":"0.16.31","pngjs":"^7.0.0","vitepress":"^1.6.4","pdfjs-dist":"^6.0.227","typescript":"^7.0.2","@types/node":"^26.1.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@modelcontextprotocol/sdk":"^1.29.0","@changesets/changelog-github":"^0.7.0"},"optionalDependencies":{"@sylphx/pdf-reader-mcp-darwin-x64":"4.1.2","@sylphx/pdf-reader-mcp-darwin-arm64":"4.1.2","@sylphx/pdf-reader-mcp-linux-x64-gnu":"4.1.2","@sylphx/pdf-reader-mcp-win32-x64-msvc":"4.1.2","@sylphx/pdf-reader-mcp-linux-arm64-gnu":"4.1.2"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_4.1.2_1785208281619_0.12249368471221111","host":"s3://npm-registry-packages-npm-production"}},"4.1.3":{"name":"@sylphx/pdf-reader-mcp","version":"4.1.3","keywords":["mcp","model-context-protocol","pdf","reader","parser","node","ai","agent","tool","rag","citations","smart-pdf-reader","agent-document-twin","pdf-intelligence","ocr","visual-evidence","trust-report","accessibility-report","pdf-inspection","layout-analysis","reading-order","pdf-to-markdown","document-processing","rust","local-first","pdf-mcp","document-intelligence"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@4.1.3","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/pdf-reader-mcp/","bugs":{"url":"https://github.com/SylphxAI/pdf-reader-mcp/issues"},"bin":{"citra":"dist/runtime-entry.js","pdf-reader-mcp":"dist/runtime-entry.js"},"dist":{"shasum":"ddd104ce90b349715d247e67d6c9cbdf058a4402","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-4.1.3.tgz","fileCount":16,"integrity":"sha512-3Q9b3MY3H90PutK7g/nN9ib2xy86emscTVZwNisc1CfqMeo9lJldBBqLUCgD9Wzj5+XByhlZEgxtFMH/LM23ig==","signatures":[{"sig":"MEYCIQCBOpF4xAT0udpbZM6BGFcumPtmyOZLZfj+bkMUygoqMAIhAI9fH5Ry7IW/ON95xs7F2lo96/obcAssMvbZPMWxUMr8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87134},"type":"module","engines":{"node":">=22.13.0"},"exports":{".":"./dist/runtime-entry.js","./sdk":"./dist/sdk.js","./citra":"./dist/sdk.js","./pure-rust":"./dist/pure-rust.js"},"gitHead":"2678681b3a8129a5cd09178c9a14f62ff82c064f","mcpName":"io.github.SylphxAI/pdf-reader-mcp","scripts":{"lint":"biome lint .","test":"bun test","build":"bun run build:package","check":"biome check .","clean":"rm -rf dist coverage","start":"node dist/runtime-entry.js","watch":"tsc --watch","format":"biome format --write .","release":"echo \"PUBLISH FREEZE: refusing release until capability parity is approved\" && exit 1","docs:dev":"vitepress dev docs","lint:fix":"biome lint --write .","test:cov":"bun test --coverage --timeout=30000","validate":"bun run check && bun run test","benchmark":"bun scripts/benchmark-pdf-intelligence.ts","check:fix":"biome check --write .","inspector":"npx @modelcontextprotocol/inspector dist/runtime-entry.js","test:rust":"cargo test","typecheck":"tsc --noEmit","build:rust":"cargo build --release -p pdf-reader-core -p pdf-reader-cli -p pdf-reader-mcp-server && bun scripts/stage-rust-mcp.ts","build:test":"bun run build:package && bun run build:oracle-ts","docs:build":"vitepress build docs","test:watch":"bun test --watch","check-format":"biome format .","docs:preview":"vitepress preview docs","benchmark:all":"bun run benchmark && bun run benchmark:quality && bun run benchmark:corpus && bun run benchmark:providers","build:package":"bun build src/runtime-entry.ts --outdir dist --target node && bun build src/pure-rust.ts --outdir dist --target node && bun build src/sdk.ts --outdir dist --target node","package:smoke":"bun scripts/package-smoke.ts","prepublishOnly":"bun run clean && bun run build:package && bun run package:smoke && bun run check:ts-production-absence && bun run check:prod-dependency-closure","brand:pack-plan":"bun scripts/brand-pack-plan.ts","build:oracle-ts":"bun build src/index.ts --outdir dist --target node && bun build src/doctor-cli.ts --outdir dist --target node && bun build src/legacy-engine-runtime.ts --outdir dist --target node && bun build src/pure-rust.ts --outdir dist --target node && bun build src/runtime-entry.ts --outdir dist --target node && bun scripts/stage-pdfjs-worker.ts","native:platform":"bun scripts/native/platform-package-map.ts","benchmark:corpus":"bun scripts/benchmark-pdf-corpus.ts","sync:server-json":"bun scripts/sync-server-json.ts","benchmark:quality":"bun scripts/benchmark-pdf-quality.ts","perf:same-host-ab":"bun scripts/perf/same-host-ts-rust-ab.ts","release:preflight":"bun run typecheck && bun run check && bun run build && bun run package:smoke && bun run test:cov && bun run docs:build && bun run benchmark:release-artifacts && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} bun run benchmark:release-gate","benchmark:providers":"bun scripts/benchmark-pdf-providers.ts","benchmark:pure-rust":"bun scripts/benchmark-pure-rust.ts","native:assert-ready":"bun scripts/native/assert-native-packages-ready.ts","check:sole-rust-core":"bun scripts/check-sole-rust-core-admission.ts","test:agent-task-eval":"bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline","test:ts-vs-rust-text":"bun scripts/differential/ts-vs-rust-text-oracle.ts","native:sync-manifests":"bun scripts/native/sync-native-package-manifests.ts","smoke:native-launcher":"bun scripts/smoke-native-launcher.ts","test:agent-task-smoke":"bun scripts/run-agent-task-smoke.ts","benchmark:public-proof":"bun scripts/public-proof.ts","benchmark:release-gate":"bun scripts/sota-release-gate.ts","check:pure-rust-matrix":"bun scripts/check-pure-rust-matrix.ts","test:capability-parity":"bun test test/production/capabilityParity.contract.test.ts --timeout=600000","test:pure-rust-exports":"bun test test/pure-rust-exports.test.ts","check:agent-task-corpus":"bun scripts/check-agent-task-corpus.ts","check:pure-rust-exports":"bun scripts/check-pure-rust-exports.ts","perf:same-host-ab-suite":"bun scripts/perf/run-same-host-ab-suite.ts","check:semantic-contracts":"bun scripts/check-semantic-contracts.ts","perf:installed-footprint":"bun scripts/perf/measure-installed-footprint.ts","test:native-platform-map":"bun test test/native-platform-package-map.test.ts","check:production-contract":"bun scripts/check-production-contract.ts","validate:pure-rust-claimed":"bun run check:pure-rust-matrix && bun run check:semantic-contracts && bun run check:agent-task-corpus && bun run test:ts-vs-rust-text && bun run test:v3014-behavior-differential && bun run test:v3014-structure-differential && bun run test:v3014-text-layer-differential && bun run test:v3014-citation-chunk-differential && bun run test:v3014-semantic-hint-differential && bun run test:v3014-document-ast-differential && bun run test:v3014-document-map-differential && bun run test:v3014-trust-report-differential && bun run test:v3014-selectable-table-differential && bun run test:v3014-caption-link-differential && bun run test:v3014-search-semantic-differential && bun run test:v3014-lowercase-index-differential && bun run test:v3014-selectable-text-segmentation-differential && bun run test:v3014-ocr-search-differential && bun run test:v3014-raster-image-differential && bun run test:v3014-visual-candidate-differential && bun run test:v3014-visual-fusion-differential && bun run test:v3014-document-ast-visual-fusion-differential && bun run test:v3014-read-ocr-differential && bun run test:v3014-read-ocr-residual-differential && bun run test:v3014-ocr-tsv-differential && bun run test:v3014-ocr-table-merge-differential && bun run test:v3014-ocr-search-residual-differential && bun run test:v3014-ocr-search-interleave-differential && bun run test:v3014-url-single-fetch-differential && bun run test:v3014-ocr-search-tsv-differential && bun run test:v3014-search-multiword-geometry-differential && bun run test:v3014-form-residual-differential && bun run test:v3014-form-radio-group-differential && bun run test:v3014-attachment-residual-differential && bun run test:v3014-markinfo-residual-differential && bun run test:v3014-form-parent-child-differential && bun run test:v3014-annotation-residual-differential && bun run test:v3014-annotation-dest-residual-differential && bun run test:v3014-annotation-action-dest-residual-differential && bun run test:v3014-annotation-action-precedence-residual-differential && bun run test:v3014-info-flags-residual-differential && bun run test:v3014-page-geometry-residual-differential && bun run test:v3014-page-labels-residual-differential && bun run test:v3014-outline-residual-differential && bun run test:v3014-permissions-residual-differential && bun run test:v3014-metadata-presence-residual-differential && bun run test:v3014-info-extras-residual-differential && bun run test:v3014-encrypt-filter-residual-differential && bun run test:v3014-linearized-residual-differential && bun run test:v3014-form-flags-residual-differential && bun run test:v3014-text-annotation-residual-differential && bun run test:v3014-remote-action-residual-differential && bun run test:v3014-popup-annotation-residual-differential && bun run test:v3014-popup-zero-size-residual-differential && bun run test:v3014-popup-group-irt-residual-differential && bun run test:v3014-text-appearance-residual-differential && bun run test:v3014-text-named-appearance-residual-differential && bun run test:v3014-text-inverted-rect-residual-differential && bun run test:v3014-remote-named-dest-residual-differential && bun run test:v3014-page-labels-kids-residual-differential && bun run test:v3014-form-button-array-residual-differential && bun run test:v3014-form-button-default-off-residual-differential && bun run test:v3014-form-pushbutton-default-null-residual-differential && bun run test:v3014-form-checkbox-as-value-residual-differential && bun run test:v3014-form-checkbox-export-normalize-residual-differential && bun run test:v3014-form-radio-as-no-override-residual-differential && bun run test:v3014-form-checkbox-multi-export-residual-differential && bun run test:v3014-form-checkbox-multi-export-many-residual-differential && bun run test:v3014-form-checkbox-export-empty-single-residual-differential && bun run test:v3014-form-checkbox-malformed-ap-residual-differential && bun run test:v3014-form-radio-malformed-ap-residual-differential && bun run test:v3014-form-radio-parent-kids-ap-residual-differential && bun run test:v3014-form-radio-deeper-kids-ap-residual-differential && bun run test:v3014-form-radio-broken-parent-chain-residual-differential && bun run test:v3014-attachment-odd-names-residual-differential && bun run test:v3014-attachment-dupkids-residual-differential && bun run test:v3014-form-utf16-text-residual-differential && bun run test:v3014-utf16-text-residual-differential && bun run test:v3014-text-invalid-as-residual-differential && bun run test:v3014-line-annotation-residual-differential && bun run test:v3014-polyline-polygon-residual-differential && bun run test:v3014-ink-annotation-residual-differential && bun run test:v3014-border-width-clamp-residual-differential && bun run test:v3014-border-array-width-residual-differential && bun run test:v3014-border-bs-preference-residual-differential && bun run test:v3014-border-bs-nondict-residual-differential && bun run test:v3014-border-array-short-residual-differential && bun run test:v3014-border-bs-wrong-type-residual-differential && bun run test:v3014-border-zero-size-clamp-bypass-residual-differential && bun run test:v3014-annotation-appearance-bbox-residual-differential && bun run test:v3014-annotation-ap-nonstream-residual-differential && bun run test:v3014-annotation-ap-named-state-residual-differential && bun run test:v3014-annotation-ap-named-state-polyline-ink-residual-differential && bun run test:v3014-annotation-ap-named-state-square-circle-residual-differential && bun run test:v3014-annotation-highlight-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-quadpoints-residual-differential && bun run test:v3014-annotation-text-markup-with-ap-residual-differential && bun run test:v3014-annotation-stamp-caret-file-residual-differential && bun run test:v3014-annotation-square-circle-widget-residual-differential && bun run test:v3014-annotation-link-uri-normalize-residual-differential && bun run test:v3014-annotation-freetext-rect-residual-differential && bun run test:v3014-annotation-link-uri-name-residual-differential && bun run test:v3014-annotation-link-aa-action-residual-differential && bun run test:v3014-annotation-link-aa-precedence-residual-differential && cargo test -p pdf-reader-core --lib && cargo test -p pdf-reader-mcp-server --lib && bun run test:v3014-form-text-multiline-residual-differential && bun run test:v3014-annotation-contents-multiline-residual-differential && bun run test:v3014-outline-cycle-residual-differential && bun run test:v3014-outline-named-dest-residual-differential && bun run test:v3014-outline-gotor-residual-differential && bun run test:v3014-outline-launch-residual-differential && bun run test:v3014-outline-relative-remote-residual-differential && bun run test:v3014-info-trapped-custom-residual-differential && bun run test:v3014-page-geometry-inheritance-residual-differential && bun run test:v3014-page-geometry-depth-clamp-residual-differential && bun run test:v3014-page-geometry-userunit-multipage-residual-differential","benchmark:provider-manifest":"bun scripts/benchmark-pdf-provider-manifest.ts","benchmark:release-artifacts":"MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_BENCHMARK_REQUIRED=true bun run benchmark:all && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-crop-manifest.json} MCP_PDF_PROVIDER_MANIFEST_CROP_REQUIRED=true bun run benchmark:provider-manifest-crops && MCP_PDF_BENCHMARK_OUTPUT_DIR=${MCP_PDF_BENCHMARK_OUTPUT_DIR:-benchmark-artifacts} MCP_PDF_PROVIDER_MANIFEST=${MCP_PDF_PROVIDER_MANIFEST:-test/fixtures/provider-analysis-manifest.json} MCP_PDF_PROVIDER_MANIFEST_REQUIRED=true bun run benchmark:provider-manifest","check:ts-production-absence":"bun scripts/check-ts-production-absence.ts","native:stage-from-artifacts":"bun scripts/native/stage-native-artifacts.ts","test:agent-task-public-eval":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-eval.ts --runtime=pure-rust --compare-baseline --public","check:no-github-hosted-macos":"bun scripts/check-no-github-hosted-macos.ts","check:registry-install-proof":"bun scripts/check-registry-install-proof.ts","release:publish-with-natives":"bun scripts/release-publish-with-natives.ts","smoke:native-package-resolve":"bun scripts/smoke-native-package-resolve.ts","test:agent-task-public-smoke":"MCP_PDF_AGENT_TASK_PUBLIC=true bun scripts/run-agent-task-smoke.ts --public","check:prod-dependency-closure":"bun scripts/check-prod-dependency-closure.ts","test:agent-task-eval:baseline":"bun scripts/run-agent-task-eval.ts --runtime=typescript --write-baseline --no-compare","test:agent-task-eval:calibrate":"bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline","test:v3014-ocr-tsv-differential":"bun scripts/differential/check-v3014-ocr-tsv-differential.ts","test:v3014-behavior-differential":"bun scripts/differential/check-v3014-behavior-differential.ts","test:v3014-read-ocr-differential":"bun scripts/differential/check-v3014-read-ocr-differential.ts","benchmark:provider-manifest-crops":"bun scripts/benchmark-pdf-provider-manifest-crops.ts","test:v3014-structure-differential":"bun scripts/differential/check-v3014-structure-differential.ts","check:verified-candidate-admission":"bun scripts/check-verified-candidate-admission.ts","test:v3014-ocr-search-differential":"bun scripts/differential/check-v3014-ocr-search-differential.ts","test:v3014-text-layer-differential":"bun scripts/differential/check-v3014-text-layer-differential.ts","test:v3014-caption-link-differential":"bun scripts/differential/check-v3014-caption-link-differential.ts","test:v3014-document-ast-differential":"bun scripts/differential/check-v3014-document-ast-differential.ts","test:v3014-document-map-differential":"bun scripts/differential/check-v3014-document-map-differential.ts","test:v3014-raster-image-differential":"bun scripts/differential/check-v3014-raster-image-differential.ts","test:v3014-trust-report-differential":"bun scripts/differential/check-v3014-trust-report-differential.ts","test:agent-task-public-eval:calibrate":"MCP_PDF_AGENT_TASK_PUBLIC=true MCP_PDF_CORPUS_ALLOW_DOWNLOADS=true bun scripts/run-agent-task-eval.ts --runtime=both --write-baseline --compare-baseline --public --allow-corpus-downloads","test:v3014-form-residual-differential":"bun scripts/differential/check-v3014-form-residual-differential.ts","test:v3014-semantic-hint-differential":"bun scripts/differential/check-v3014-semantic-hint-differential.ts","test:v3014-visual-fusion-differential":"bun scripts/differential/check-v3014-visual-fusion-differential.ts","test:v3014-citation-chunk-differential":"bun scripts/differential/check-v3014-citation-chunk-differential.ts","test:v3014-ocr-search-tsv-differential":"bun scripts/differential/check-v3014-ocr-search-tsv-differential.ts","test:v3014-lowercase-index-differential":"bun scripts/differential/check-v3014-lowercase-index-differential.ts","test:v3014-ocr-table-merge-differential":"bun scripts/differential/check-v3014-ocr-table-merge-differential.ts","test:v3014-search-semantic-differential":"bun scripts/differential/check-v3014-search-semantic-differential.ts","test:v3014-form-radio-group-differential":"bun scripts/differential/check-v3014-form-radio-group-differential.ts","test:v3014-outline-residual-differential":"bun scripts/differential/check-v3014-outline-residual-differential.ts","test:v3014-selectable-table-differential":"bun scripts/differential/check-v3014-selectable-table-differential.ts","test:v3014-url-single-fetch-differential":"bun scripts/differential/check-v3014-url-single-fetch-differential.ts","test:v3014-visual-candidate-differential":"bun scripts/differential/check-v3014-visual-candidate-differential.ts","test:v3014-form-parent-child-differential":"bun scripts/differential/check-v3014-form-parent-child-differential.ts","test:v3014-markinfo-residual-differential":"bun scripts/differential/check-v3014-markinfo-residual-differential.ts","test:v3014-read-ocr-residual-differential":"bun scripts/differential/check-v3014-read-ocr-residual-differential.ts","test:v3014-annotation-residual-differential":"bun scripts/differential/check-v3014-annotation-residual-differential.ts","test:v3014-attachment-residual-differential":"bun scripts/differential/check-v3014-attachment-residual-differential.ts","test:v3014-form-flags-residual-differential":"bun scripts/differential/check-v3014-form-flags-residual-differential.ts","test:v3014-info-flags-residual-differential":"bun scripts/differential/check-v3014-info-flags-residual-differential.ts","test:v3014-linearized-residual-differential":"bun scripts/differential/check-v3014-linearized-residual-differential.ts","test:v3014-ocr-search-residual-differential":"bun scripts/differential/check-v3014-ocr-search-residual-differential.ts","test:v3014-utf16-text-residual-differential":"bun scripts/differential/check-v3014-utf16-text-residual-differential.ts","test:v3014-info-extras-residual-differential":"bun scripts/differential/check-v3014-info-extras-residual-differential.ts","test:v3014-page-labels-residual-differential":"bun scripts/differential/check-v3014-page-labels-residual-differential.ts","test:v3014-permissions-residual-differential":"bun scripts/differential/check-v3014-permissions-residual-differential.ts","test:v3014-ocr-search-interleave-differential":"bun scripts/differential/check-v3014-ocr-search-interleave-differential.ts","test:v3014-outline-cycle-residual-differential":"bun scripts/differential/check-v3014-outline-cycle-residual-differential.ts","test:v3014-outline-gotor-residual-differential":"bun scripts/differential/check-v3014-outline-gotor-residual-differential.ts","test:v3014-page-geometry-residual-differential":"bun scripts/differential/check-v3014-page-geometry-residual-differential.ts","test:v3014-remote-action-residual-differential":"bun scripts/differential/check-v3014-remote-action-residual-differential.ts","test:v3014-encrypt-filter-residual-differential":"bun scripts/differential/check-v3014-encrypt-filter-residual-differential.ts","test:v3014-ink-annotation-residual-differential":"bun scripts/differential/check-v3014-ink-annotation-residual-differential.ts","test:v3014-outline-launch-residual-differential":"bun scripts/differential/check-v3014-outline-launch-residual-differential.ts","test:v3014-annotation-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-dest-residual-differential.ts","test:v3014-form-utf16-text-residual-differential":"bun scripts/differential/check-v3014-form-utf16-text-residual-differential.ts","test:v3014-line-annotation-residual-differential":"bun scripts/differential/check-v3014-line-annotation-residual-differential.ts","test:v3014-popup-group-irt-residual-differential":"bun scripts/differential/check-v3014-popup-group-irt-residual-differential.ts","test:v3014-popup-zero-size-residual-differential":"bun scripts/differential/check-v3014-popup-zero-size-residual-differential.ts","test:v3014-text-annotation-residual-differential":"bun scripts/differential/check-v3014-text-annotation-residual-differential.ts","test:v3014-text-appearance-residual-differential":"bun scripts/differential/check-v3014-text-appearance-residual-differential.ts","test:v3014-text-invalid-as-residual-differential":"bun scripts/differential/check-v3014-text-invalid-as-residual-differential.ts","test:v3014-page-labels-kids-residual-differential":"bun scripts/differential/check-v3014-page-labels-kids-residual-differential.ts","test:v3014-polyline-polygon-residual-differential":"bun scripts/differential/check-v3014-polyline-polygon-residual-differential.ts","test:v3014-popup-annotation-residual-differential":"bun scripts/differential/check-v3014-popup-annotation-residual-differential.ts","test:v3014-search-multiword-geometry-differential":"bun scripts/differential/check-v3014-search-multiword-geometry-differential.ts","test:v3014-border-bs-nondict-residual-differential":"bun scripts/differential/check-v3014-border-bs-nondict-residual-differential.ts","test:v3014-document-ast-visual-fusion-differential":"bun scripts/differential/check-v3014-document-ast-visual-fusion-differential.ts","test:v3014-form-button-array-residual-differential":"bun scripts/differential/check-v3014-form-button-array-residual-differential.ts","test:v3014-metadata-presence-residual-differential":"bun scripts/differential/check-v3014-metadata-presence-residual-differential.ts","test:v3014-remote-named-dest-residual-differential":"bun scripts/differential/check-v3014-remote-named-dest-residual-differential.ts","test:v3014-attachment-dupkids-residual-differential":"bun scripts/differential/check-v3014-attachment-dupkids-residual-differential.ts","test:v3014-border-array-short-residual-differential":"bun scripts/differential/check-v3014-border-array-short-residual-differential.ts","test:v3014-border-array-width-residual-differential":"bun scripts/differential/check-v3014-border-array-width-residual-differential.ts","test:v3014-border-width-clamp-residual-differential":"bun scripts/differential/check-v3014-border-width-clamp-residual-differential.ts","test:v3014-outline-named-dest-residual-differential":"bun scripts/differential/check-v3014-outline-named-dest-residual-differential.ts","test:v3014-text-inverted-rect-residual-differential":"bun scripts/differential/check-v3014-text-inverted-rect-residual-differential.ts","test:v3014-form-text-multiline-residual-differential":"bun scripts/differential/check-v3014-form-text-multiline-residual-differential.ts","test:v3014-info-trapped-custom-residual-differential":"bun scripts/differential/check-v3014-info-trapped-custom-residual-differential.ts","test:v3014-selectable-text-segmentation-differential":"bun scripts/differential/check-v3014-selectable-text-segmentation-differential.ts","test:v3014-attachment-odd-names-residual-differential":"bun scripts/differential/check-v3014-attachment-odd-names-residual-differential.ts","test:v3014-border-bs-preference-residual-differential":"bun scripts/differential/check-v3014-border-bs-preference-residual-differential.ts","test:v3014-border-bs-wrong-type-residual-differential":"bun scripts/differential/check-v3014-border-bs-wrong-type-residual-differential.ts","test:v3014-text-named-appearance-residual-differential":"bun scripts/differential/check-v3014-text-named-appearance-residual-differential.ts","test:v3014-annotation-action-dest-residual-differential":"bun scripts/differential/check-v3014-annotation-action-dest-residual-differential.ts","test:v3014-form-checkbox-as-value-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-as-value-residual-differential.ts","test:v3014-annotation-ap-nonstream-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-nonstream-residual-differential.ts","test:v3014-form-button-default-off-residual-differential":"bun scripts/differential/check-v3014-form-button-default-off-residual-differential.ts","test:v3014-form-radio-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-malformed-ap-residual-differential.ts","test:v3014-outline-relative-remote-residual-differential":"bun scripts/differential/check-v3014-outline-relative-remote-residual-differential.ts","test:v3014-annotation-freetext-rect-residual-differential":"bun scripts/differential/check-v3014-annotation-freetext-rect-residual-differential.ts","test:v3014-annotation-link-uri-name-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-name-residual-differential.ts","test:v3014-annotation-ap-named-state-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-residual-differential.ts","test:v3014-annotation-link-aa-action-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-action-residual-differential.ts","test:v3014-form-radio-as-no-override-residual-differential":"bun scripts/differential/check-v3014-form-radio-as-no-override-residual-differential.ts","test:v3014-form-radio-deeper-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-deeper-kids-ap-residual-differential.ts","test:v3014-form-radio-parent-kids-ap-residual-differential":"bun scripts/differential/check-v3014-form-radio-parent-kids-ap-residual-differential.ts","test:v3014-page-geometry-depth-clamp-residual-differential":"bun scripts/differential/check-v3014-page-geometry-depth-clamp-residual-differential.ts","test:v3014-page-geometry-inheritance-residual-differential":"bun scripts/differential/check-v3014-page-geometry-inheritance-residual-differential.ts","test:v3014-annotation-appearance-bbox-residual-differential":"bun scripts/differential/check-v3014-annotation-appearance-bbox-residual-differential.ts","test:v3014-form-checkbox-malformed-ap-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-malformed-ap-residual-differential.ts","test:v3014-form-checkbox-multi-export-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-residual-differential.ts","test:v3014-annotation-stamp-caret-file-residual-differential":"bun scripts/differential/check-v3014-annotation-stamp-caret-file-residual-differential.ts","test:v3014-annotation-action-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-action-precedence-residual-differential.ts","test:v3014-form-pushbutton-default-null-residual-differential":"bun scripts/differential/check-v3014-form-pushbutton-default-null-residual-differential.ts","test:v3014-annotation-contents-multiline-residual-differential":"bun scripts/differential/check-v3014-annotation-contents-multiline-residual-differential.ts","test:v3014-annotation-link-aa-precedence-residual-differential":"bun scripts/differential/check-v3014-annotation-link-aa-precedence-residual-differential.ts","test:v3014-annotation-link-uri-normalize-residual-differential":"bun scripts/differential/check-v3014-annotation-link-uri-normalize-residual-differential.ts","test:v3014-border-zero-size-clamp-bypass-residual-differential":"bun scripts/differential/check-v3014-border-zero-size-clamp-bypass-residual-differential.ts","test:v3014-annotation-text-markup-with-ap-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-with-ap-residual-differential.ts","test:v3014-form-checkbox-export-normalize-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-normalize-residual-differential.ts","test:v3014-form-radio-broken-parent-chain-residual-differential":"bun scripts/differential/check-v3014-form-radio-broken-parent-chain-residual-differential.ts","test:v3014-annotation-highlight-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-highlight-quadpoints-residual-differential.ts","test:v3014-annotation-square-circle-widget-residual-differential":"bun scripts/differential/check-v3014-annotation-square-circle-widget-residual-differential.ts","test:v3014-form-checkbox-multi-export-many-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-multi-export-many-residual-differential.ts","test:v3014-page-geometry-userunit-multipage-residual-differential":"bun scripts/differential/check-v3014-page-geometry-userunit-multipage-residual-differential.ts","test:v3014-annotation-text-markup-quadpoints-residual-differential":"bun scripts/differential/check-v3014-annotation-text-markup-quadpoints-residual-differential.ts","test:v3014-form-checkbox-export-empty-single-residual-differential":"bun scripts/differential/check-v3014-form-checkbox-export-empty-single-residual-differential.ts","test:v3014-annotation-ap-named-state-polyline-ink-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-polyline-ink-residual-differential.ts","test:v3014-annotation-ap-named-state-square-circle-residual-differential":"bun scripts/differential/check-v3014-annotation-ap-named-state-square-circle-residual-differential.ts"},"_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"overrides":{"defu":"^6.1.7","vite":"^6.4.2","preact":"^10.28.2","rollup":"^4.60.2","esbuild":"^0.28.1","postcss":"^8.5.15","brace-expansion":"^5.0.6"},"deprecated":"Upgrade to 7.x — same package, now anymd (@sylphx/anymd).","repository":{"url":"git+https://github.com/SylphxAI/pdf-reader-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Citra — PDF evidence for agents (Sylphx). Local-first structured text, tables, OCR, visual evidence, citations via MCP/CLI/SDK. Package id transitional: @sylphx/pdf-reader-mcp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"zod":"^4.4.3","bunup":"0.16.31","pngjs":"^7.0.0","vitepress":"^1.6.4","pdfjs-dist":"^6.0.227","typescript":"^7.0.2","@types/node":"^26.1.1","@types/pngjs":"^6.0.5","@biomejs/biome":"^2.4.16","@changesets/cli":"^2.31.0","@modelcontextprotocol/sdk":"^1.29.0","@changesets/changelog-github":"^0.7.0"},"optionalDependencies":{"@sylphx/pdf-reader-mcp-darwin-x64":"4.1.3","@sylphx/pdf-reader-mcp-darwin-arm64":"4.1.3","@sylphx/pdf-reader-mcp-linux-x64-gnu":"4.1.3","@sylphx/pdf-reader-mcp-win32-x64-msvc":"4.1.3","@sylphx/pdf-reader-mcp-linux-arm64-gnu":"4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_4.1.3_1785725345053_0.0741005856432182","host":"s3://npm-registry-packages-npm-production"}},"7.0.0":{"name":"@sylphx/pdf-reader-mcp","version":"7.0.0","keywords":["anymd","markdown","mcp","pdf-to-markdown","pdf-reader-mcp"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@7.0.0","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/anymd/","bugs":{"url":"https://github.com/SylphxAI/anymd/issues"},"bin":{"pdf-reader-mcp":"bin/pdf-reader-mcp.js"},"dist":{"shasum":"12a0cd9964c2c2ec13fccbddd8075766f22496ad","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-7.0.0.tgz","fileCount":3,"integrity":"sha512-eaSsNc2/fgr2KGc7H6TUBUQCF6t/PVAzBanhQLrJSl/U9957hBfgaY+eryMXDYkkAH+gEzp2qnR/64ezkWnM9A==","signatures":[{"sig":"MEQCIEAk+GGuAExGVz8t0Dv+hCOvpEP5sukxWf7gMK5105QpAiBOrSLk0A5NMD2RO5kiJZFZnn4OOLLr/tUuPOTAL5sonA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFlTl1PlvxHqq7vM0uU0XI4scNjGNUO+gIol6MdWCSpnAiAc9HPIg4O6CwVKX1ozr1aj2Ze70ach4QDtfJg3ZtNkVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sylphx%2fpdf-reader-mcp@7.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2062},"type":"module","engines":{"node":">=18"},"gitHead":"90ae0f4fa6ef26c751674d5594cfbbe2d3ac18cd","_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"repository":{"url":"git+https://github.com/SylphxAI/anymd.git","type":"git","directory":"packages/alias-pdf-reader-mcp"},"_npmVersion":"10.9.8","description":"pdf-reader-mcp is now @sylphx/anymd (anymd). Compatibility alias: any file → clean Markdown for AI agents. Runs the anymd launcher as `pdf-reader-mcp`.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@sylphx/anymd":"7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_7.0.0_1790323366321_0.9379060978934464","host":"s3://npm-registry-packages-npm-production"}},"7.1.0":{"name":"@sylphx/pdf-reader-mcp","version":"7.1.0","keywords":["anymd","markdown","mcp","pdf-to-markdown","pdf-reader-mcp"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@7.1.0","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/anymd/","bugs":{"url":"https://github.com/SylphxAI/anymd/issues"},"bin":{"pdf-reader-mcp":"bin/pdf-reader-mcp.js"},"dist":{"shasum":"daeffb53bab02ff82a9a2037634079bf9d8a3ab9","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-7.1.0.tgz","fileCount":3,"integrity":"sha512-IcOzHLA0os69CP6FZgQ3Pwe+LGRZhVNAgLdBafFovV4emomqHJ8RbIWaXhJH3kGHNfekp25C2hJTKgoWgBunJQ==","signatures":[{"sig":"MEYCIQCkWqqu70UgYI5scciT+FK+VNajJY8fkKNTcHaAXtInXwIhAIzzPtzhV9Oawue+QlqcedAfGnyz2X3JW76BEEc8P6l+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC7R5YuTYHdwc4JlRvqR629WCAhBVRqx+Xz/eTcKDOs4AIgdOrsL/FJRm8X7/b+G8SHfkiXgK4+iLR/0Z/gpHuGhu0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sylphx%2fpdf-reader-mcp@7.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2062},"type":"module","engines":{"node":">=18"},"gitHead":"c47b3584fc19a0230e7b4e760dd63a30dc27f7d9","_npmUser":{"name":"shtse8","email":"shtse8@gmail.com"},"repository":{"url":"git+https://github.com/SylphxAI/anymd.git","type":"git","directory":"packages/alias-pdf-reader-mcp"},"_npmVersion":"10.9.8","description":"pdf-reader-mcp is now @sylphx/anymd (anymd). Compatibility alias: any file → clean Markdown for AI agents. Runs the anymd launcher as `pdf-reader-mcp`.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@sylphx/anymd":"7.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_7.1.0_1790333992912_0.49542054349453024","host":"s3://npm-registry-packages-npm-production"}},"7.1.1":{"name":"@sylphx/pdf-reader-mcp","version":"7.1.1","keywords":["anymd","markdown","mcp","pdf-to-markdown","pdf-reader-mcp"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@7.1.1","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/anymd/","bugs":{"url":"https://github.com/SylphxAI/anymd/issues"},"bin":{"pdf-reader-mcp":"bin/pdf-reader-mcp.js"},"dist":{"shasum":"773819856c518fb328bfe8c87b93026c6f135d23","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-7.1.1.tgz","fileCount":3,"integrity":"sha512-ZyXyIM0tFvUFPLvOn2RpfQNiABEOg6S8a6S3D1anSb8FdW0Oh5CwrLAEjduyVrXhxKQp3z07jO+1HGiWIZywow==","signatures":[{"sig":"MEQCICKcswfJ8PaanZlTlcLmG3F0NocmU9T/tjJK9Bt6xbLRAiAsE/Kj+kTOyN7QdGX/xdk7TPJpOeohoI4/yiQPpI+WIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDzEqFUfb1/RoFUrBhJPI9vXFgvB1s09XnlJAZ8cQ102AiEArd0Ihr/RvnBWNMZZhzWGi+kY61ixNuA69gbktZCMWJw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sylphx%2fpdf-reader-mcp@7.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2045},"type":"module","engines":{"node":">=18"},"gitHead":"ed0eccd2cf4bb823030a0d5eb02725052ed34870","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41bb365d-63d3-4209-9e0d-93ed1451269e"}},"repository":{"url":"git+https://github.com/SylphxAI/anymd.git","type":"git","directory":"packages/alias-pdf-reader-mcp"},"_npmVersion":"11.20.0","description":"pdf-reader-mcp is now @sylphx/anymd. Any file → clean Markdown for AI agents. Compatibility alias that runs anymd as `pdf-reader-mcp`.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@sylphx/anymd":"7.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_7.1.1_1790347544156_0.8975234029213222","host":"s3://npm-registry-packages-npm-production"}},"8.0.0":{"name":"@sylphx/pdf-reader-mcp","version":"8.0.0","keywords":["anymd","markdown","mcp","pdf-to-markdown","pdf-reader-mcp"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@8.0.0","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/anymd/","bugs":{"url":"https://github.com/SylphxAI/anymd/issues"},"bin":{"pdf-reader-mcp":"bin/pdf-reader-mcp.js"},"dist":{"shasum":"20f1d7818f44567138c07c5d1c7f70501d205b0e","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-8.0.0.tgz","fileCount":3,"integrity":"sha512-/Z5sqBQvn2vdrRQ/V/Nq3ZTDhT30RBNlGaHvqByoe7H3xufPHz4AvoaOhUV5OyY8jjVNyAxXesQU8YgykzkQSw==","signatures":[{"sig":"MEUCIHtvxO0rqcDssM5Z+YI1WlBpYVuAiVjDrOYHoskjfntbAiEAqG/u4KMDq6k2ki5sbYwSe0f1Z//TF0wQpbQEsqU6tkQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEL1twv07fbh1WwkhbCyVD5oilC1jPDXf43vQ1G8FzJqAiAhrWrzXZhlDHy7VOVnwRA6dyaNHD6g0ty5yI3tX2DSQQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sylphx%2fpdf-reader-mcp@8.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1932},"engines":{"node":">=18"},"gitHead":"c32b5b7170fd189ddb415f6a1fdebba0100480e8","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2a5cf338-3144-4198-b1ea-8aaad42ac19f"}},"repository":{"url":"git+https://github.com/SylphxAI/anymd.git","type":"git","directory":"packages/aliases/pdf-reader-mcp"},"_npmVersion":"11.20.0","description":"pdf-reader-mcp is now @sylphx/anymd. Any file → clean Markdown for AI agents. Compatibility alias that runs anymd as `pdf-reader-mcp`.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"@sylphx/anymd":"8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_8.0.0_1790370205026_0.27768089132258056","host":"s3://npm-registry-packages-npm-production"}},"8.1.0":{"name":"@sylphx/pdf-reader-mcp","version":"8.1.0","keywords":["anymd","markdown","mcp","pdf-to-markdown","pdf-reader-mcp"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@8.1.0","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/anymd/","bugs":{"url":"https://github.com/SylphxAI/anymd/issues"},"bin":{"pdf-reader-mcp":"bin/pdf-reader-mcp.js"},"dist":{"shasum":"28646ace6ee271190f35d2fb99e5b322a22e5f25","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-8.1.0.tgz","fileCount":3,"integrity":"sha512-Mas0WsIhETXxQ2fx5OALsJZBnu+ms9bU6A4FDEJhYgSS2GAjTzxaNPfBLlk9wiHtTMcYbdEkRiBYruCSzKMC5A==","signatures":[{"sig":"MEUCIQDZfptxdIEkCCFwto+WocJa6cRtHC79z/EEGApcnpQXfwIgV3UeTePQ+6Do64+kNO/0DNDogO7RJl620f5vTM3GIbg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIA5fYm3ZqENreGHBOUtGXUmfnttQgwZPPucoPose96gkAiEAnNeSWlOgmWYAvwJnaleVAshdHIqyoKRXZxaZn0wy6Ik=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sylphx%2fpdf-reader-mcp@8.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1932},"engines":{"node":">=18"},"gitHead":"3dbe810d739000ae1070c9de16e395981e4e37ec","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2a5cf338-3144-4198-b1ea-8aaad42ac19f"}},"repository":{"url":"git+https://github.com/SylphxAI/anymd.git","type":"git","directory":"packages/aliases/pdf-reader-mcp"},"_npmVersion":"11.20.0","description":"pdf-reader-mcp is now @sylphx/anymd. Any file → clean Markdown for AI agents. Compatibility alias that runs anymd as `pdf-reader-mcp`.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"@sylphx/anymd":"8.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_8.1.0_1790389504509_0.31171255782144525","host":"s3://npm-registry-packages-npm-production"}},"8.2.0":{"name":"@sylphx/pdf-reader-mcp","version":"8.2.0","keywords":["anymd","markdown","mcp","pdf-to-markdown","pdf-reader-mcp"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@8.2.0","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/anymd/","bugs":{"url":"https://github.com/SylphxAI/anymd/issues"},"bin":{"pdf-reader-mcp":"bin/pdf-reader-mcp.js"},"dist":{"shasum":"02b9e56984dc0692fae72b523a5b2d4a18134b23","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-8.2.0.tgz","fileCount":3,"integrity":"sha512-rGqJAnesIIH98RlvSEXrjW8b1VH0CXn1O279TlnXVvNmLHk6e1ZCj82qieHHm3NQtaWTaq+wByU4CEm7N44pjQ==","signatures":[{"sig":"MEQCIC1JJE2Pxi0tUqV7ydmBGVvNfeHAP6ZbXj7k1f1VU6zVAiB7wrBBRNaG9uvVQHd1JhZSbM66QfXcuMwmPYZMBNZTxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDcXRjmsIjPs2CVcG5GcnqLpkFQrmiqm1JdgrHtwd10HwIhAMFis1ULXeHrm2TPtjDlQMqf9NCa9yVOzRHk4dUANeOZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sylphx%2fpdf-reader-mcp@8.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1932},"engines":{"node":">=18"},"gitHead":"716534f4233f1104472ed17be7d9264fa7b2c5e5","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"2a5cf338-3144-4198-b1ea-8aaad42ac19f"}},"repository":{"url":"git+https://github.com/SylphxAI/anymd.git","type":"git","directory":"packages/aliases/pdf-reader-mcp"},"_npmVersion":"11.21.0","description":"pdf-reader-mcp is now @sylphx/anymd. Any file → clean Markdown for AI agents. Compatibility alias that runs anymd as `pdf-reader-mcp`.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"@sylphx/anymd":"8.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_8.2.0_1790805546158_0.9149548403349648","host":"s3://npm-registry-packages-npm-production"}},"8.3.0":{"name":"@sylphx/pdf-reader-mcp","version":"8.3.0","keywords":["anymd","markdown","mcp","pdf-to-markdown","pdf-reader-mcp"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"contact@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@8.3.0","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/anymd/","bugs":{"url":"https://github.com/SylphxAI/anymd/issues"},"bin":{"pdf-reader-mcp":"bin/pdf-reader-mcp.js"},"dist":{"shasum":"a2be37f8ebc0b3c31341e55ba2dbd9076297adaf","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-8.3.0.tgz","fileCount":3,"integrity":"sha512-H2sG08W8qeWhjHgQOFOJWl8QTrsC4vPCJ8JFZ2Onh6qAbBiPMCE183DrhsfcbDHphnmL5DSeAo0KJZiTjZQFug==","signatures":[{"sig":"MEUCIGMIzK9sjY/k4eEf6e7h9z/neTQ17qLT9/s8mLk45QjGAiEAzhDpFpDZRsrk4JimeoZe6gSl1VeyMDoU7AeJv3482ZQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCKRo82P8++yA7GZftKfccRlgxf8KkJHigkzbeNlMcNWAIhANUE97fg9PMhipWGUZmYqXFDHyLcu1SrGGNc1NCxNvVr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sylphx%2fpdf-reader-mcp@8.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1932},"engines":{"node":">=18"},"gitHead":"d4b50746bb388293d325d64d8e89f4f924865bcd","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"2a5cf338-3144-4198-b1ea-8aaad42ac19f"}},"repository":{"url":"git+https://github.com/SylphxAI/anymd.git","type":"git","directory":"packages/aliases/pdf-reader-mcp"},"_npmVersion":"11.21.0","description":"pdf-reader-mcp is now @sylphx/anymd. Any file → clean Markdown for AI agents. Compatibility alias that runs anymd as `pdf-reader-mcp`.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"@sylphx/anymd":"8.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_8.3.0_1790851204396_0.8622042789287641","host":"s3://npm-registry-packages-npm-production"}},"8.4.0":{"name":"@sylphx/pdf-reader-mcp","version":"8.4.0","keywords":["anymd","markdown","mcp","pdf-to-markdown","pdf-reader-mcp"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"hi@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@8.4.0","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/anymd/","bugs":{"url":"https://github.com/SylphxAI/anymd/issues"},"bin":{"pdf-reader-mcp":"bin/pdf-reader-mcp.js"},"dist":{"shasum":"2312c7e7edfdfdf8f2fd7f373ef8691678491e44","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-8.4.0.tgz","fileCount":3,"integrity":"sha512-6lGd8qJsWsvgUEzhvD+ebzXNMLXczZwbaoUQU5vGEUErXyoX1OUaFjvFi2k23/E+tc0BhxbRRdNOnET7cihAag==","signatures":[{"sig":"MEYCIQC9wso1pzm+uwxZ6yZakqc2Gqk1zyO9LyEIbfYU25Ds1AIhAOjs1LmxsMm5AM1+kHpR6hpHMdsQRTCc3Rox3KOFn0JO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDI7Y1Rnw9ZIyDvatdR+rw/lTQvuaAKOdQjt4VMxJAtLAiB4RUt3pSCGWPEk/1U9mBecuIF3zBUPkEM59BpoIU1VoQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sylphx%2fpdf-reader-mcp@8.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1927},"engines":{"node":">=18"},"gitHead":"97a59837b3b69604bc9af3e9ce98d294d0eacbf9","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"2a5cf338-3144-4198-b1ea-8aaad42ac19f"}},"repository":{"url":"git+https://github.com/SylphxAI/anymd.git","type":"git","directory":"packages/aliases/pdf-reader-mcp"},"_npmVersion":"11.21.0","description":"pdf-reader-mcp is now @sylphx/anymd. Any file → clean Markdown for AI agents. Compatibility alias that runs anymd as `pdf-reader-mcp`.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"@sylphx/anymd":"8.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_8.4.0_1790923829659_0.2060792966191538","host":"s3://npm-registry-packages-npm-production"}},"8.5.0":{"name":"@sylphx/pdf-reader-mcp","version":"8.5.0","keywords":["anymd","markdown","mcp","pdf-to-markdown","pdf-reader-mcp"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"hi@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@8.5.0","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/anymd/","bugs":{"url":"https://github.com/SylphxAI/anymd/issues"},"bin":{"pdf-reader-mcp":"bin/pdf-reader-mcp.js"},"dist":{"shasum":"a2bfd49c11e3ec7259fedb5876d53852df635971","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-8.5.0.tgz","fileCount":3,"integrity":"sha512-D3LxNb7YkPw1eFAWjRXHAtygUaDi9yEx0NSPkvQMhCVebnJ4zlCVrmkiQO8KNX84p4QX9LPxru2y7zGXDbN/9w==","signatures":[{"sig":"MEUCIB7oV6Kwl28PaqDbu27rRzC4s8CEjoUFq8isepXswVosAiEA8mXjXKK9HyfaUCtjP8VRZFczHfHhQhtDSzrM/BF1coQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBe4w+kpTxxta2YbknOeapuPQuCsKRKa6n7uCF8FZFYNAiAcjUR3jesjpQ22nuwgGJCDE3DdaLWP0MLWuAQh4GddKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sylphx%2fpdf-reader-mcp@8.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1927},"engines":{"node":">=18"},"gitHead":"d80a930112bc58cae4959e2c2b59ce53b8299acb","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"2a5cf338-3144-4198-b1ea-8aaad42ac19f"}},"repository":{"url":"git+https://github.com/SylphxAI/anymd.git","type":"git","directory":"packages/aliases/pdf-reader-mcp"},"_npmVersion":"11.21.0","description":"pdf-reader-mcp is now @sylphx/anymd. Any file → clean Markdown for AI agents. Compatibility alias that runs anymd as `pdf-reader-mcp`.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"@sylphx/anymd":"8.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_8.5.0_1790979732561_0.5704390897361982","host":"s3://npm-registry-packages-npm-production"}},"8.5.1":{"name":"@sylphx/pdf-reader-mcp","version":"8.5.1","keywords":["anymd","markdown","mcp","pdf-to-markdown","pdf-reader-mcp"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"hi@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@8.5.1","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/anymd/","bugs":{"url":"https://github.com/SylphxAI/anymd/issues"},"bin":{"pdf-reader-mcp":"bin/pdf-reader-mcp.js"},"dist":{"shasum":"bf692b0049566be638285cb860e0cb15ec840e08","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-8.5.1.tgz","fileCount":3,"integrity":"sha512-liNwbmNQdkq0Ar2/nDQghJl/ydgMdjtO8SN/AOiMuYYyX1gTNYJkO1wYaiD+2a7ReTrVC31irzPkxiBNgINGBg==","signatures":[{"sig":"MEUCIQC8xbG9bJYZsytPMgEStNhxlxyivpcKhT8k8WMtHpNp7wIgSmYEzVUV6M4Lq+FLaxpG8tJ4069luMtta3OH12zbGp8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDodJljKV5a8LR8z5871mXi0G6UVHIXEbbdAvfXwywW+AiEA6ehlkTRL13eG/T8PIhKhQw3+17jitwHqsR4F6npsfEY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sylphx%2fpdf-reader-mcp@8.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1927},"engines":{"node":">=18"},"gitHead":"f1d369bd1b85e6796d6bfa29d60a63a20516c55f","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"2a5cf338-3144-4198-b1ea-8aaad42ac19f"}},"repository":{"url":"git+https://github.com/SylphxAI/anymd.git","type":"git","directory":"packages/aliases/pdf-reader-mcp"},"_npmVersion":"11.21.0","description":"pdf-reader-mcp is now @sylphx/anymd. Any file → clean Markdown for AI agents. Compatibility alias that runs anymd as `pdf-reader-mcp`.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"@sylphx/anymd":"8.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_8.5.1_1790984791399_0.5366752464395836","host":"s3://npm-registry-packages-npm-production"}},"8.5.2":{"name":"@sylphx/pdf-reader-mcp","version":"8.5.2","keywords":["anymd","markdown","mcp","pdf-to-markdown","pdf-reader-mcp"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"hi@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@8.5.2","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/anymd/","bugs":{"url":"https://github.com/SylphxAI/anymd/issues"},"bin":{"pdf-reader-mcp":"bin/pdf-reader-mcp.js"},"dist":{"shasum":"b0e3dda233b1385bf8e3567157bc3653fe634360","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-8.5.2.tgz","fileCount":3,"integrity":"sha512-HUM9EH4PSwxiOjOlGKgd0m+Qv5qzJeWkY7D9bN3voK78TzgaMXOjC2+g7USWZnEt1HunJnJE3zpWflrTpPV6bw==","signatures":[{"sig":"MEQCICBMdSGcSWfApIwo51q6MwzDQTFiqKmy53LleAp6cBGrAiAn1KK40XtNEPl0H0X3dHEV5DILqtygU1tCG+ii9UrFgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIB7vStloiiYWqfgUJabI8GI0O2G5siEhDeTqoch/7cQOAiBG2AUisvItRSL/EOgptFUD4NpjuHkPmIfy77UKyJyNBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sylphx%2fpdf-reader-mcp@8.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1927},"engines":{"node":">=18"},"gitHead":"8ebbd5b967d844b14e334abb643846723791fa3f","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"2a5cf338-3144-4198-b1ea-8aaad42ac19f"}},"repository":{"url":"git+https://github.com/SylphxAI/anymd.git","type":"git","directory":"packages/aliases/pdf-reader-mcp"},"_npmVersion":"11.21.0","description":"pdf-reader-mcp is now @sylphx/anymd. Any file → clean Markdown for AI agents. Compatibility alias that runs anymd as `pdf-reader-mcp`.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"@sylphx/anymd":"8.5.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_8.5.2_1791449597412_0.9904483916847131","host":"s3://npm-registry-packages-npm-production"}},"8.5.3":{"name":"@sylphx/pdf-reader-mcp","version":"8.5.3","keywords":["anymd","markdown","mcp","pdf-to-markdown","pdf-reader-mcp"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"hi@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@8.5.3","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/anymd/","bugs":{"url":"https://github.com/SylphxAI/anymd/issues"},"bin":{"pdf-reader-mcp":"bin/pdf-reader-mcp.js"},"dist":{"shasum":"c4d850ab71a863fad1cc71cd9c59c988e5e00bc3","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-8.5.3.tgz","fileCount":3,"integrity":"sha512-irQAMjgJbHesf5bbIKRR4nDS6d6uQETCngl+eu8Nc1t17hO2OGZW7SPY+5L4Zi6bZ1a4wTex461xLQIt05uBIg==","signatures":[{"sig":"MEUCIQDIvLfc3vxFsE17yaxM+QZKsKDzMcrb1XyR58tHytsZ+wIgAuoF98vbCNrl1t4VJlnU6O4q3DtukPUQrU9yaRJSCN0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFT4GhqlPep837H0XpQnvUnc3JaGgP2ZKs6lNeo2Mxq4AiAZ8iLHtDEnWtE7I9CpPggCF+uAPnfEsxOQAomjQ/nVGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sylphx%2fpdf-reader-mcp@8.5.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1927},"engines":{"node":">=18"},"gitHead":"1e4cb2583eb77f3d0bb761fb6b21332628e6e6ba","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"2a5cf338-3144-4198-b1ea-8aaad42ac19f"}},"repository":{"url":"git+https://github.com/SylphxAI/anymd.git","type":"git","directory":"packages/aliases/pdf-reader-mcp"},"_npmVersion":"11.21.0","description":"pdf-reader-mcp is now @sylphx/anymd. Any file → clean Markdown for AI agents. Compatibility alias that runs anymd as `pdf-reader-mcp`.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"@sylphx/anymd":"8.5.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_8.5.3_1791711893481_0.42659281141672634","host":"s3://npm-registry-packages-npm-production"}},"8.5.4":{"name":"@sylphx/pdf-reader-mcp","version":"8.5.4","keywords":["anymd","markdown","mcp","pdf-to-markdown","pdf-reader-mcp"],"author":{"url":"https://sylphx.com","name":"Sylphx","email":"hi@sylphx.com"},"license":"MIT","_id":"@sylphx/pdf-reader-mcp@8.5.4","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"homepage":"https://sylphxai.github.io/anymd/","bugs":{"url":"https://github.com/SylphxAI/anymd/issues"},"bin":{"pdf-reader-mcp":"bin/pdf-reader-mcp.js"},"dist":{"shasum":"1ddd8ac51a695483d13d37a0abd2ddc3464973ec","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-8.5.4.tgz","fileCount":3,"integrity":"sha512-SCgx49Hp1l/YRK+RUEI9iLYLMpr2NRwv54+Q8VviKxo94t11hs/K9hzuab50kw0aBI+PFwu48X8rnuQ/8JK29A==","signatures":[{"sig":"MEYCIQCI3Wp77OOSueUdNXT2ramJF15GFcEAU9zpBr1HZUhboQIhAPL3U9xs2qLk76kt797KtxwpRspkbC5oEUQ/iolRoiou","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICQ/ELnSC3CcJAcBBr0KMkxDOPC9/qA9SVjjMut4BoKOAiEA8F2UVNhdrXfwgNa5mR1zVTvs6ttSlbsG3KNsp6+aK5k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sylphx%2fpdf-reader-mcp@8.5.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1927},"engines":{"node":">=18"},"gitHead":"a06cb418ff6dd8c59cf49dab8fe1bfac11c54aef","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"2a5cf338-3144-4198-b1ea-8aaad42ac19f"}},"repository":{"url":"git+https://github.com/SylphxAI/anymd.git","type":"git","directory":"packages/aliases/pdf-reader-mcp"},"_npmVersion":"11.21.1","description":"pdf-reader-mcp is now @sylphx/anymd. Any file → clean Markdown for AI agents. Compatibility alias that runs anymd as `pdf-reader-mcp`.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"@sylphx/anymd":"8.5.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pdf-reader-mcp_8.5.4_1792109060099_0.6562404025499677","host":"s3://npm-registry-packages-npm-production"}},"8.5.5":{"_id":"@sylphx/pdf-reader-mcp@8.5.5","bin":{"pdf-reader-mcp":"bin/pdf-reader-mcp.js"},"bugs":{"url":"https://github.com/SylphxAI/anymd/issues"},"dist":{"shasum":"76491ea27f3c59566700bab310530dc92205cd7c","tarball":"https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-8.5.5.tgz","fileCount":3,"integrity":"sha512-W1zLhcNMdgHu37C0hnax3yqhA3SwSwkU8nDAQrOt4FC04ulJAdGX/kJUS6YPEbdtK/396tBtCOFWZTR6kGzLYw==","signatures":[{"sig":"MEUCIQD9uuQkdjtU6c60aLzaxD0W7xbSYYtgNsWCik73/QnozgIgX5NtEEAEerR6P12yvvp/ELptLu1AiLw8ZPr2wQicL7c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAczM2vWLBTbjLIxujyEzdoTILwkwHqKIKr9Zn9wpgd2AiB3GbjBkuQSrPUc8KcO9Zf1CScjGsvYHyif5dwmSjkYNw=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sylphx%2fpdf-reader-mcp@8.5.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1927},"name":"@sylphx/pdf-reader-mcp","author":{"url":"https://sylphx.com","name":"Sylphx","email":"hi@sylphx.com"},"engines":{"node":">=18"},"gitHead":"52b2ee4d5a3ce41f2dbb23bf67dc056793984e58","license":"MIT","version":"8.5.5","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"2a5cf338-3144-4198-b1ea-8aaad42ac19f"}},"homepage":"https://sylphxai.github.io/anymd/","keywords":["anymd","markdown","mcp","pdf-to-markdown","pdf-reader-mcp"],"repository":{"url":"git+https://github.com/SylphxAI/anymd.git","type":"git","directory":"packages/aliases/pdf-reader-mcp"},"_npmVersion":"11.21.1","description":"pdf-reader-mcp is now @sylphx/anymd. Any file → clean Markdown for AI agents. Compatibility alias that runs anymd as `pdf-reader-mcp`.","directories":{},"maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"_nodeVersion":"24.22.0","dependencies":{"@sylphx/anymd":"8.5.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pdf-reader-mcp_8.5.5_1792431820747_0.19655886211840223"}}},"time":{"created":"2025-10-31T14:03:29.047Z","modified":"2026-10-19T17:43:41.406Z","1.0.0":"2025-10-31T14:03:29.345Z","1.1.0":"2025-10-31T16:08:33.295Z","1.2.0":"2025-10-31T18:10:47.306Z","1.3.0":"2025-11-06T14:48:20.600Z","1.3.2":"2025-11-23T14:11:06.779Z","1.4.0":"2025-11-27T14:59:47.667Z","2.0.0":"2025-11-27T16:24:13.029Z","2.0.1":"2025-11-27T21:38:56.866Z","2.0.2":"2025-11-27T22:40:30.192Z","2.0.3":"2025-11-30T11:35:30.288Z","2.0.7":"2025-12-03T16:56:52.947Z","2.0.8":"2025-12-05T22:22:15.906Z","2.1.0":"2025-12-17T17:26:18.641Z","2.2.0":"2026-01-28T11:50:01.388Z","2.3.0":"2026-02-04T22:59:01.004Z","2.3.1":"2026-04-19T01:32:25.502Z","2.4.0":"2026-05-03T22:29:10.234Z","2.4.1":"2026-05-20T18:45:02.764Z","2.4.2":"2026-05-22T04:03:57.520Z","2.4.3":"2026-05-30T16:02:09.498Z","2.5.0":"2026-06-14T23:41:47.563Z","2.5.1":"2026-06-15T00:04:12.616Z","2.5.2":"2026-06-15T00:32:17.013Z","2.5.3":"2026-06-15T00:59:04.622Z","2.5.4":"2026-06-15T01:50:15.111Z","2.6.0":"2026-06-15T10:55:23.685Z","2.7.0":"2026-06-22T01:32:07.905Z","2.7.1":"2026-06-22T02:15:59.320Z","2.7.2":"2026-06-22T02:52:56.821Z","3.0.0":"2026-06-22T09:36:37.715Z","3.0.1":"2026-06-25T11:57:56.126Z","3.0.2":"2026-07-01T00:41:33.648Z","3.0.3":"2026-07-01T01:13:55.414Z","3.0.4":"2026-07-01T01:36:16.427Z","3.0.5":"2026-07-01T01:53:43.157Z","3.0.6":"2026-07-01T03:08:35.666Z","3.0.7":"2026-07-01T04:12:07.642Z","3.0.8":"2026-07-01T04:34:37.888Z","3.0.9":"2026-07-01T04:54:34.259Z","3.0.10":"2026-07-01T05:18:30.542Z","3.0.11":"2026-07-08T17:48:56.189Z","3.0.12":"2026-07-08T18:06:05.639Z","3.0.13":"2026-07-08T18:30:40.375Z","3.0.14":"2026-07-08T21:01:48.508Z","3.0.15":"2026-07-17T20:52:57.035Z","3.0.16":"2026-07-17T21:12:42.393Z","3.0.17":"2026-07-17T22:21:06.893Z","3.0.18":"2026-07-17T22:45:07.002Z","3.1.0":"2026-07-17T23:06:17.819Z","3.1.1":"2026-07-17T23:22:22.221Z","3.1.2":"2026-07-23T07:11:06.694Z","3.1.3":"2026-07-23T08:54:29.220Z","3.1.4":"2026-07-23T09:35:20.289Z","3.2.0":"2026-07-23T12:20:05.461Z","3.2.1":"2026-07-23T17:01:43.283Z","3.2.2":"2026-07-23T17:16:44.412Z","4.0.0":"2026-07-24T05:43:56.422Z","4.0.1":"2026-07-24T09:02:43.636Z","4.0.2":"2026-07-24T12:03:43.396Z","4.1.0":"2026-07-24T19:38:28.410Z","4.1.1":"2026-07-24T20:01:17.074Z","4.1.2":"2026-07-28T03:11:21.747Z","4.1.3":"2026-08-03T02:49:05.190Z","7.0.0":"2026-09-25T08:02:46.435Z","7.1.0":"2026-09-25T10:59:53.001Z","7.1.1":"2026-09-25T14:45:44.235Z","8.0.0":"2026-09-25T21:03:25.108Z","8.1.0":"2026-09-26T02:25:04.586Z","8.2.0":"2026-09-30T21:59:06.231Z","8.3.0":"2026-10-01T10:40:04.472Z","8.4.0":"2026-10-02T06:50:29.737Z","8.5.0":"2026-10-02T22:22:12.648Z","8.5.1":"2026-10-02T23:46:31.476Z","8.5.2":"2026-10-08T08:53:17.487Z","8.5.3":"2026-10-11T09:44:53.600Z","8.5.4":"2026-10-16T00:04:20.186Z","8.5.5":"2026-10-19T17:43:40.847Z"},"bugs":{"url":"https://github.com/SylphxAI/anymd/issues"},"author":{"url":"https://sylphx.com","name":"Sylphx","email":"hi@sylphx.com"},"license":"MIT","homepage":"https://sylphxai.github.io/anymd/","keywords":["anymd","markdown","mcp","pdf-to-markdown","pdf-reader-mcp"],"repository":{"url":"git+https://github.com/SylphxAI/anymd.git","type":"git","directory":"packages/aliases/pdf-reader-mcp"},"description":"pdf-reader-mcp is now @sylphx/anymd. Any file → clean Markdown for AI agents. Compatibility alias that runs anymd as `pdf-reader-mcp`.","maintainers":[{"name":"ansonsylphx","email":"anson@sylphx.com"},{"name":"shtse8","email":"shtse8@gmail.com"}],"readme":"# @sylphx/pdf-reader-mcp → [@sylphx/anymd](https://www.npmjs.com/package/@sylphx/anymd)\n\n**pdf-reader-mcp is now [anymd](https://github.com/SylphxAI/anymd)** — any file → clean\nMarkdown for AI agents: PDF, Word, PowerPoint, Excel, EPUB, HTML, images. Fast\nRust MCP server + CLI. Local, no API key.\n\nThis package is a thin alias kept so existing install commands keep working.\nIt depends on `@sylphx/anymd` at the exact same version and runs its launcher\nwith the same arguments and stdio, so `pdf-reader-mcp` behaves exactly like `anymd`.\n\nNew installs should use the canonical package:\n\n```bash\nnpx -y @sylphx/anymd\n```\n\nMCP client config:\n\n```json\n{\n  \"mcpServers\": {\n    \"anymd\": { \"command\": \"npx\", \"args\": [\"-y\", \"@sylphx/anymd\"] }\n  }\n}\n```\n\nDocs: https://sylphxai.github.io/anymd/\n","readmeFilename":"README.md"}