{"_id":"@333eco/corpus","_rev":"26-5134df1204fad20ed3e8c4e3a78ede22","name":"@333eco/corpus","dist-tags":{"latest":"2.3.5"},"versions":{"1.0.0":{"name":"@333eco/corpus","version":"1.0.0","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@1.0.0","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"819a2a110c3b39248dda9e0cab61c926ae041b62","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-1.0.0.tgz","fileCount":4,"integrity":"sha512-cj0oj4g5/HPTAAmO63YZUz49g3KFLwZ/HLhiUFTHSKSJd60yU5dJQp7unrQYQ0QfXqnOsyGYsR9wrMwUidJhZw==","signatures":[{"sig":"MEUCIE3lD4/W/gW0icGmKaKDUQSYOli/4hT1aGgZoq1FRj7MAiEAvcGF0knubTinwP+eofAwv8/gi1yD/8h8jdgSJXB6qr8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5064915},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"77d30dbb27327d9b0ea9e1e595ab32bbff462655","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications","check":"node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications","start":"node src/server.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"11.0.0","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_1.0.0_1788302381360_0.622283516658249","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@333eco/corpus","version":"1.0.1","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@1.0.1","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"6e34102b1b3f6149c53e6cf963ba4605f7cae22b","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-1.0.1.tgz","fileCount":4,"integrity":"sha512-h4kBTfui76vLa/C4hfLbK76Ol4x6Aq6vZeCetRVHvH76Px8R0l9OJb+TNl6M1evx+edYU1NSRdjblr1qonCVEg==","signatures":[{"sig":"MEQCIFnTcgFkanj+1iC1flw8yjztomNYQJNj54y4/9bnThjrAiAH7c+7kphd+aq7rmcXep2nk+sD+o3jsd0CCESBXhRI2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDysXSRQCN5rSsl/BtW+7EMWGYL7Gs1b/pQfGw+xboraQIhANutUbSne3ThHGRCtw5WXgqusFIFEbXV5fqBidiPtdcy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5065200},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"930f46370cda35e300780485f64ada7831fdbb44","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications","check":"node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications","start":"node src/server.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_1.0.1_1788302711674_0.18829770324748685","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@333eco/corpus","version":"1.1.0","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@1.1.0","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"f0f187c2064587a13980c3a0347996a7c425555c","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-1.1.0.tgz","fileCount":4,"integrity":"sha512-h9hxHzS1YtLhGNovVgMJFf6HizmGoiGlo7OT+0NKBPFKPdwXkOCNHPMbDulQLnWTW1+K59aWBOoVq1CprT8Vog==","signatures":[{"sig":"MEUCIQD5RFUc6RcGBkGSEX5cDLh9Y7BaNUWtOfxbXi+TPkILPAIgbql9TTkgbtin2CubLamrm7rePucWh6qwzXqD+xDGNG8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGWt7vFxm3tKQUFwAV5iRDoR2LS8Uin3MYSnvDWa88SmAiEAgo6HlqEfu5pMTRpyQzvf9+kvA/WWyvBzYeIjbmhx0WM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5239767},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"7260cb4ee9e27ebe23635a30a0af52708ca1b2db","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_1.1.0_1788305863728_0.5026084814305689","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@333eco/corpus","version":"1.1.1","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@1.1.1","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"3c7db8b498bebe776e29b3f65cb3a2bd88be280d","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-1.1.1.tgz","fileCount":4,"integrity":"sha512-//BDd9YZRw01PjEguKt/PP3Ssox9N5yM8S5KniX8g4LCwu64wBAlbsjrKyBquCHJazEi1OahcV/h/OU7r3XcSw==","signatures":[{"sig":"MEYCIQC0Sad9vRGmG7yIfV0Pml3pBpEkPAweiOdyJ9IS6j83OAIhAI/r0llGf43i6IV6PPah8l5buQJd87Wfqatd4ru6pTN6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCVyP5De2rQNhqHN6WO0xjqj0sx9yeaDKMK7xua3UNIHgIhAPHAEFjbgb/zjijkVnVAQ+9TwzllM36MZ59DvwtnyPJ+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5240817},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"afbc1e938a8d8d3f4a01b8a6e593b68e96b5e1e2","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_1.1.1_1788306314962_0.8366092114126791","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@333eco/corpus","version":"1.2.0","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@1.2.0","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"bc72da545debf9a0da1237d2b49aa5a3125b5b26","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-1.2.0.tgz","fileCount":4,"integrity":"sha512-A3t+CZ2P2mMrp8xyht/GiS3/MKn3iAQrXrB7SbIGxWcU7xs7LRP1BAFbxoHZF/bxD68ECSarcCcW26VjuxBVpA==","signatures":[{"sig":"MEQCIHvHvx+DzVaKQf+Vauf3IUCDa0abNQgJgcxb2ixna9mPAiADNJhKKuL5zqSwuhqPOV6t6DZ4wcwsNAMOLb4tj2f+Hw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDqjV5bExDDQAs9tDoigu106ldJOqWATqAwTxLJ9IpSlAiBWflIlLBwupfwidY2SJD8ODy/pHb1zV2CjszxbwA6N/Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5295276},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"407085bce6a07c32900b4274919060c13600425e","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_1.2.0_1788312627208_0.2237973030847482","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@333eco/corpus","version":"1.2.1","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@1.2.1","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"ed6e9047b54fad56bc0e8e4c52f4ab32044797d3","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-1.2.1.tgz","fileCount":4,"integrity":"sha512-3hvHiI8vasFGAg6Umb/QL1680sB5lCa8+JZTUdUdl7f3j/Tg74jVQnTq0Mksez26Kqc+nkRiNokAwDy41iuZOQ==","signatures":[{"sig":"MEQCICOxr6mBp8LXOKMI1HjcbJoUVX6ErkpTBqU3E2OWCYqlAiB3lhUunLpaFvKiwXAafecfyHzTpmTKtQNOk39EeRHYAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGypJ60DkcuTBUU9T09vskB+zYC5doy1Nb+fwIuZtRyCAiB13xLBDqzMV31wQiBBihq9jozihoKENUiAtulOFU3wTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5308798},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"d3bfa5381a52a5bde3cb7cc589a92792d4b00b12","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_1.2.1_1788322415882_0.799575438622508","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@333eco/corpus","version":"1.2.2","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@1.2.2","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"7722a4e0d7ba2d5100f9f1ac046d416ea52cefaa","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-1.2.2.tgz","fileCount":4,"integrity":"sha512-m0OLnzulysTBSrcD+8AARi82QpgocqFiHKwnun09GIoCuihBSZyUGT8wgb2yZg/cTtLDazO0q0ateBUcHoGXfA==","signatures":[{"sig":"MEUCICHm1Kpo4RnwqGRFBeONj9pdY5e8Wcief5CN5lNwIxRfAiEAohbhLHgzg+OHVS5KQfaSLpnxG4dMM9YxmFZYrmz30m4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCWxEaWmq9TpHWN85aVVsxwa6pAQYa8QIIxpFxSOvxKjgIgRGeVltkfWseBOLNsUmtLIq+wWa5z7fe3fA8Jw8dlNdI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@1.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5313579},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"45f0950470e630f2a5a1f7b3eddef228e866e5ad","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_1.2.2_1788325524939_0.30285589214806574","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@333eco/corpus","version":"1.2.3","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@1.2.3","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"e71ab305e616ea2c21c341001a1f55baf5e9f9ad","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-1.2.3.tgz","fileCount":4,"integrity":"sha512-arsxTyvwX6P+uUlDEc+Swr4IgERPa8ikxr/9liz488R0jMTF2U8jkOMSVOuDOKQd4wdB/v7yiKJ2jSXRCz5UUw==","signatures":[{"sig":"MEUCIGX0jflPWnSnhEomL5DEbAGllHLI+DaAKI+mLc6qYQEhAiEA/i010cQq7HZY9uOt3/FhPLD4UxdXSPwsXWTwjQhcloI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAse4YaV3KluhrQJrK8bU7kjaZDKySDkwbnW14N4biGgAiBd3Y1iTTn7HLzz6DKzOGMNgMNl3BITorrinQq1f2eGKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@1.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5311709},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"87596536f5ead08c61dd59cd413c39459c176572","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_1.2.3_1788329722133_0.6538519370105613","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"@333eco/corpus","version":"1.2.4","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@1.2.4","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"c68aae74eff31646b9f602baf1fdfedae50f5b71","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-1.2.4.tgz","fileCount":4,"integrity":"sha512-zTJM1DzS3YY3s4KxSkd6OXJqyoOa5eI7DzltfxjEfhnSosKEpI8m4H5AbNujDxLGE+Z48gmifs5jnOankHHuHg==","signatures":[{"sig":"MEQCIFekRyDrpw2tjl3QMHN5OPwvLgve3chnE054J4M3jEO+AiAGHqkyPyQFaiDnActIF4tCinAK12n0cOt0ys7AngMs1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDQwf08lq6GK+3Pa4oFymGFKguQXqNPFm7oV8A+k0gFXAiEAvGeRKzTjm6QI3YPC8+/Jh9KzAEhtyFPTY8X7D01jZcg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@1.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5315529},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"7aa285e35ca25c70594cceb08cc84e9b52b31b65","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_1.2.4_1788331895217_0.9703816335229862","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"@333eco/corpus","version":"1.2.5","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@1.2.5","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"99cdc32fff8aa85da0925e3b0487536ba728aee5","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-1.2.5.tgz","fileCount":4,"integrity":"sha512-y5cbHq44xBg2VHUrsCnEkA0Uxaa4vguGlXKssvX0VleMBQ71YH/oYMJkGI9L3P76PaWaClFZbq54N4XjyB90kw==","signatures":[{"sig":"MEUCIQDDd2RukWsQsgVdeKdMZEpQTLhk98TsqEfnCLChvs5jAQIgeKRDGIz9t23jt9ACX/2RcgwbXbQPxwPdWwslnAvW1gU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCID/lE1LgrlZsWNGxGRX5maL+yYOLH/54yDzneWfuONs5AiEAhYFviXwY9BmYIm1oupvWvlbeAZdMAFzBkw5fCA4/pqg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@1.2.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5340266},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"793050a2aa974b87c51a38b0d302605b099715f4","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_1.2.5_1788359769720_0.17571966556971197","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@333eco/corpus","version":"2.0.0","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@2.0.0","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"dd47b2a04ca1a13da3670170a76d27812df9514a","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-2.0.0.tgz","fileCount":9,"integrity":"sha512-lGI7abgwYlmYz0MDj4too89gIMwn5heK6Uq50YPN0ZOg1FvSb/vHcxT5b55Q2kqL9fTa/8W37EPRGQaKTI1LNQ==","signatures":[{"sig":"MEQCIF85zOJNNUesvTGxPOtx0n8YlHho+Wr7LPpqjw0cpv3TAiBrOTT6VueQNLPFqRTBXw2Fm2jAan7vyK7sNWHByI9qsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD5AYeFajaTKUcxEUfmtiMc0Yr1LnizUVJ9WTdCYxJP2QIhAMIRZ1nuKBSTAUJf4pxFVeOq+USOmVROITLOtBlRHqSw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5472833},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"cfa834cde241cf1e0f6cdd1f929bfc73f8e4ae6d","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/check-parity.mjs && node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs","check:parity":"node scripts/check-parity.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_2.0.0_1788387336246_0.44361397456964347","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@333eco/corpus","version":"2.1.0","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@2.1.0","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"6da997eca60b2a2988fc1ccba2d5ac96ac428c19","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-2.1.0.tgz","fileCount":11,"integrity":"sha512-MkBLbHwiW5VjZvznsrYeFbVXY9RVkmG0yAw0rLzg8UTxlj44sKEU2fkMc1g73jMymodexG74i5Z7tPE8UB5YvQ==","signatures":[{"sig":"MEYCIQCzv4qX8xq9iWlHd0ioYeo9Yk5wr/YGv3wMKAWNV2EtGgIhAJUaALIpAeyUejQnYgP2ckDTpWEnXjsfnPVZZPsF16yO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIE74vzUoUsJQuJv2KSAwsk8HXqQGP2AF8U8bcAiVduRyAiEAp1kKj20ZIiwly4ID/Gv0qV8eOp/ByHWvDzkRjBshVF0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5496354},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"0549bca0863f89df9fa3086d0cb09b37e1f5663d","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/check-parity.mjs && node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs","check:parity":"node scripts/check-parity.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_2.1.0_1788535378447_0.2094482151511814","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@333eco/corpus","version":"2.1.1","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@2.1.1","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"27067c72c60f53151340eaae96f24ae50c2783ab","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-2.1.1.tgz","fileCount":11,"integrity":"sha512-mJaRcptIADY/MEn/PFDqSMaE5Rm6637ZcQ5xCn1YzebIePqphxgvxfrV/ktK5Vqz+uwpbheYo7e0reBYgf2Lqw==","signatures":[{"sig":"MEUCIDA09YdEmO8adXrCVL+fFzaJQ+Q6LIhz5wdrqyELep1HAiEA8EnFPLb+50E6IDanmny4gbP8JVn9keIzgoamhql76u0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFGalFSzk4f7Nw4m0P72ZswbO7I/p2hArMqkD7p+9bSKAiEAsUZnaipcHyomZv9QExZT4EAB9k1bzOS61UZLj6RJPtQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@2.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5566511},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"035f45c1e3acb0814e12e874c248d2cb506bd328","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/check-parity.mjs && node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs","check:parity":"node scripts/check-parity.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_2.1.1_1788569781583_0.5282537683456798","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"@333eco/corpus","version":"2.1.2","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@2.1.2","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"7d1611d5ad49548b2ded4cdf6d71bc11de9f598d","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-2.1.2.tgz","fileCount":11,"integrity":"sha512-90i+W/mtNn2JgkbiPXTLuJHaOkD3Id3nSxui9gXjAUzCWADW1OiWlj09wwkaK514jGugE4Ojelguvd3OXhWYGg==","signatures":[{"sig":"MEUCIByLOLspMWX8btV0IfOJGvS2pQP0RckH9bbStaHBlF0kAiEAjqgRCJRx3H2Wj+hytDxsEdFktJbjsBWBYKCF6NwcKho=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDNnCaJ0Xfc+feZRgvHEeGESr9KZWgTslfUq9o7KNX/EAIgPAu9zsWXGzSXQhk2AU3gVDwgyouEX4s80kCKdumIN7M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@2.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5571000},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"8543db598d77601d544d843d13e8e41b6fc8aa25","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/check-parity.mjs && node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs","check:parity":"node scripts/check-parity.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_2.1.2_1788586650244_0.7815062122797953","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"@333eco/corpus","version":"2.1.3","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@2.1.3","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"287f2a3ed72907a624e3dac2fc61457b8535004f","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-2.1.3.tgz","fileCount":11,"integrity":"sha512-w6YKp5+WEc6KFT4tjlz+NXjaupnVReluF8wBHp3MHXDyLc8tfyWW4/GCg2/0B8GozlNjS0u4m8H66ykip4/uIQ==","signatures":[{"sig":"MEYCIQCe5XK/wUCOtCChbR9tY3XvxKcyyrc31HzjUmk7jemN3wIhALiTRiL3knnAGjFXW76H+CVojUJG62CyRBG49oy0fenV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC6gTBgj1kyK5JQh+GTPGTUJ/xTZS9ZJ0hBKTgwmBVUZAIhALBf1VZ/1ATVqcYnq/sY6choJznYgDhxTzI1xPRDcU+7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@2.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5573548},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"bb6afecab537bb1b07c84929feffcb47178b348d","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/check-parity.mjs && node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs","check:parity":"node scripts/check-parity.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_2.1.3_1788594835897_0.0071555981138291536","host":"s3://npm-registry-packages-npm-production"}},"2.1.4":{"name":"@333eco/corpus","version":"2.1.4","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@2.1.4","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"93cec71ffb97eeeaeee635631b3b26ff24271d1f","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-2.1.4.tgz","fileCount":11,"integrity":"sha512-HCPTSBEyMAdnjKBzvqa3kuyX7cgxgy6Ms7tuA3axKSJfQ7LRvWUAFKEGQyH9HarOCaLZ1AivyRnqKay5Mbbhvg==","signatures":[{"sig":"MEQCIHnAzTL105hJ5G571zDylzfN0ufFNXYpp/Wuj+R3KD6uAiAMI4/n4E6NwRmEqim7q1iwSqoL4qn+ZZzrlz/VyDw4rA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDSNJ5yWGHk7/Q5uJMIUfHQzRjI7vnK+Vh50su+svSyqwIgQexNyWbDKiU1zsSoDOOOJVbhoEM7M2GMY2in4rZT4n4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@2.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5582832},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"f735537f880ef867637d796145e63654dd439a56","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/check-parity.mjs && node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs","check:parity":"node scripts/check-parity.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_2.1.4_1788628562670_0.5357590689818785","host":"s3://npm-registry-packages-npm-production"}},"2.1.5":{"name":"@333eco/corpus","version":"2.1.5","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@2.1.5","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"67b0f027334c4ffac2a0558cbf6dd62f5f728948","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-2.1.5.tgz","fileCount":11,"integrity":"sha512-FviLWsS6+m/yTHJI29Kq5rnkE62BxBUpw9d/MTdR9jHqi1w4I/2fYgmrkugokrDveveKsjxdhNVX6TpE/p6rwQ==","signatures":[{"sig":"MEUCIA5IlNMSOn55tjkRtsclZe7RV+M4C/CGNfvka8TjDo1FAiEArXQg92cHIiQKnw49GXSkCC8/uPhiaVUH3AcC89UO744=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDQmPREAdXEJaGeAoDMpTrlrXUk7xyo06uTXezu5kIhKQIgHO2kxCVWnBtOUlhKmb/cXYmUds3BtxRHDEdc6xAzCb0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@2.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5604201},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"f175f739409bad5729e19e9de4cd7734b31047a3","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/check-parity.mjs && node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs","check:parity":"node scripts/check-parity.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_2.1.5_1788629148349_0.48402641868989593","host":"s3://npm-registry-packages-npm-production"}},"2.1.6":{"name":"@333eco/corpus","version":"2.1.6","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@2.1.6","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"741f53b0babcab477efdb683e3aed3771f33dd9f","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-2.1.6.tgz","fileCount":11,"integrity":"sha512-WCDjY62oSV7WtKKM+1Hdq4A260hw3pg7gn606rpQ5A68HLsgOweI/1dQEKu9+MBS/tvgbvKPxw6MUzbIbMJ12g==","signatures":[{"sig":"MEUCIQC+QRmfxxsCydDq59YK/KOOfaHPyUk7JvRFB/CJLuWq/AIgfKgl+z75IZrTK/5e1j4A1CL3wgcwK3e1AmuWXl6IoG4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGs/SLkyEToZZJyYiqctoJXVZWPyo+sR+7gwlawBqypuAiEA/1GUWBiYk4hL3uOIRBzXkisAeEIN+PNAItcM77Vd9gQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@2.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5727117},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"4dd315d5c2328b63e18e5d3a6d7e737109bbf43d","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/check-parity.mjs && node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs","check:parity":"node scripts/check-parity.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_2.1.6_1788661409658_0.07090638884927847","host":"s3://npm-registry-packages-npm-production"}},"2.1.7":{"name":"@333eco/corpus","version":"2.1.7","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@2.1.7","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"4f17bfe846ebf8be3a5e2d25dc434c6d28407684","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-2.1.7.tgz","fileCount":11,"integrity":"sha512-3ReSDx03zBjnBbndT5cwTMb7O1xojX9OuAEHXAA5ZTWDQlcm1elvCwCtL06Z7GkYzw3EVv0uepptfOAyMLPKuA==","signatures":[{"sig":"MEUCIAYxU+MHbZBZ6NbqkfPAxWP7bTe/9+SoJBhMZXPE8e4lAiEAog+70HtWE1Twn84DQkNkUL5VD1c5Ioy2yfizNwmvmAY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAuA4P6xuY3dplFKFkoaIHkwa++jYEetCiUUblciqeR6AiBnmWyUY0ZKKoU9PELRD7iahBdz5EwXvb7PTZG9QceTHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@2.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5730459},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"e00c4bf2783eeb3104b931eab017634dd6a0a577","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/check-parity.mjs && node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs","check:parity":"node scripts/check-parity.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_2.1.7_1788667515233_0.36794607650004885","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@333eco/corpus","version":"2.2.0","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@2.2.0","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"3f4f15a0461150acdf4dceb4cf24ac98c6fc9a3e","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-2.2.0.tgz","fileCount":11,"integrity":"sha512-Ec2q8gs7G7ej4vHAI87LIZh7s9yHTmud9JibPWmrogZX9LiWaXPGSI1NV1UPRFt8e+4bipAWyzE+GvVa8OzHGA==","signatures":[{"sig":"MEUCIDlZWd6zhxLBT+IJH/AKqtZTDq/5ep975i/UasnVnz9NAiEA4J8D1NIezQymszUkur10D60OCm9KL4q66YJEDNNsPL4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIF3kDZGuyxj+AK+AknRVZVpUhGhUdXtvq6tPuOrX9lBnAiBix+ZdXCavHXkqjM/tTaBVw90Nk9bZRsoBNQ41CzhfVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5744929},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"4b6ec3d20d4c1897226661f49d91e67aadf2517c","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/check-parity.mjs && node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs","check:parity":"node scripts/check-parity.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_2.2.0_1788736298302_0.3037185617946925","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@333eco/corpus","version":"2.3.0","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@2.3.0","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"b9aea6df31174413e9ed11531866bd7a551b0c14","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-2.3.0.tgz","fileCount":11,"integrity":"sha512-0nLuegOMISLuuiPo3FjYcKAEe7zeEJkcg/CXmP+e0JMD9Hh5BW1CjyfT39usSuaF4PUUAfbllh9N0Upixuzleg==","signatures":[{"sig":"MEUCIQC4kXMtG4jaHXGPlEbLa9fskYBDd+fgv0DBNby4GsmCpAIgJYEi8bixzwBOBQek8L1oNADBzzjsQl/UYQ3Y+KaMB1M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAHMh/jm0U2rdJhRdxZx6/0tN63asZPhQc9nrVsaplSVAiEA76Ljm2HLHB1KeRqFnx5JGAdT0Q9woHUbCJ5sJ49oC5E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5745440},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"d3f18f1f038730f3a9c8d523838009926f9622b7","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/check-parity.mjs && node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs","check:parity":"node scripts/check-parity.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_2.3.0_1788737387375_0.20347014338558345","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"@333eco/corpus","version":"2.3.1","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@2.3.1","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"841d91fc0cbdc51ff24b466cf8ed46a624f88f40","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-2.3.1.tgz","fileCount":11,"integrity":"sha512-skcHyH5mewlJEVuv7AKCzhBWbZ+71nSlMlBOfdhLUoe67lsgQDOgadc6uPCjFwoEKj8IXQoTi63/ibLXDajXaQ==","signatures":[{"sig":"MEQCIDyTvZgaZzqJTMlpFmoxPZ/MxuHfJJdVmDIQI6RCSZuSAiAxd55e4M36he75HNQdSMDD7T3EOzNeKLNlu+RNejLdqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBx68CfvVLA4gKbosp+6i0QIn0KUYHLAKreJfOLTfDlSAiBdvXox4GYD49lKfNmubtM5GgRFNndKKkIJO5+OcEGQOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@2.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5779880},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"a59c5baddb3e843a3af114c23e776797bfcda73c","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/check-parity.mjs && node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs","check:parity":"node scripts/check-parity.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_2.3.1_1788768113971_0.5076960972102411","host":"s3://npm-registry-packages-npm-production"}},"2.3.2":{"name":"@333eco/corpus","version":"2.3.2","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@2.3.2","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"7b021f232dc779caa3f96a0e08802e6b4d44dd23","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-2.3.2.tgz","fileCount":11,"integrity":"sha512-tfdxGh4W4pvZnb3jFLWqgdYZaqxNO+qwuA7cAniBizQq9XdLBmEgMzHsVY24/ScSBrCaUumfvISpvHZdH2f+Wg==","signatures":[{"sig":"MEUCIQCPoebGWf9kHHIcdKtopk2cLIeRzYF9hhcQEpW29OfwGQIgZmz6lMYdgV6AkcLt3NCurg77cNdPd7MoQOu0fOSXrbg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAtkxNReKdc6962f8cAlxjSPH/W6QfgYvIp6DGjTaDUgAiEA9+XXSl4WztTTcrKMqM1X15oAcsrLG+mc+2+qVObXqjk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@2.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6005440},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"6e2052c85dec40b8d33927575e57e694225f345d","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/check-parity.mjs && node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs","check:parity":"node scripts/check-parity.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_2.3.2_1789317656353_0.969382906229074","host":"s3://npm-registry-packages-npm-production"}},"2.3.3":{"name":"@333eco/corpus","version":"2.3.3","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@2.3.3","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"30a67c8736672b3232d3c4532613016e578bfb98","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-2.3.3.tgz","fileCount":11,"integrity":"sha512-o0r3o8//OlU0IiVnn2lTsWs6RywRX6syN2dUzYk+uu5guDQZRFFcTO15XfB1xpmuSMbFr/SaA58XTDOGAt8/RQ==","signatures":[{"sig":"MEYCIQDeaXRDAz64f5/Lkt+/iMdOHVQHDEg0eybz8ofWeQhXdQIhAJUuGGWpNw3tGnG564rWnXeCU/DDhX1fpUkvOdvGc4c0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD3oxZUQgAR1Im0394VoXZnYEFKRCzMpnTW0eN62XBgMwIhAN8WvrdngkyzExZ350safxHBZOzJ4s3FobZWA8jpsNY+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@2.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6009268},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"0464e223f5f61cb1a4ebdc93ffee6a1e031db59d","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/check-parity.mjs && node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs","check:parity":"node scripts/check-parity.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_2.3.3_1789322761026_0.5980948895134779","host":"s3://npm-registry-packages-npm-production"}},"2.3.4":{"name":"@333eco/corpus","version":"2.3.4","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"author":{"name":"Thon Ly"},"license":"CC0-1.0","_id":"@333eco/corpus@2.3.4","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"homepage":"https://thonly.org/research","bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"bin":{"corpus-mcp":"src/server.mjs"},"dist":{"shasum":"f570323f5f9aeb19d0ac0f84378372a99914b3f5","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-2.3.4.tgz","fileCount":11,"integrity":"sha512-RR45SrmXePnCr8dH2PCRhhWdSqeasEpYCvIfE/H2z7uuMQMe6Kyypj446++UtoC8YsTBOPPdet9GjickNPhtYw==","signatures":[{"sig":"MEQCIA1NHx892Q1HirepBo4VcATZgK1p8KqVA1rRYnTDGJIJAiAVg3qWwYQnKx4wWO0MGhe+tFmGaCcZsGIbByelr6KK2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFdepK8DrC6Tzetd42ffpuDZMc86icEhD0XF+jWPPBX1AiBL3f3h6wcavW+4SnrnOWmY0FqEdkiLX/0AVlo7pNZp/Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@2.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6009272},"type":"module","engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"70c237bf7a8194e03684f7415e67129742faa857","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/check-parity.mjs && node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs","check:parity":"node scripts/check-parity.mjs"},"_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/corpus_2.3.4_1789332271419_0.7350430084666812","host":"s3://npm-registry-packages-npm-production"}},"2.3.5":{"_id":"@333eco/corpus@2.3.5","bin":{"corpus-mcp":"src/server.mjs"},"bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"dist":{"shasum":"7bf94a0bf0fcdcee0c775f9e52ec901e3f8898fc","tarball":"https://registry.npmjs.org/@333eco/corpus/-/corpus-2.3.5.tgz","fileCount":11,"integrity":"sha512-S9dBK8EAYExQPlP38YSPYsOCE6IRtPKcL8q+vqamMi+Vb7xd+ACnEUEXQn6geDbL6MlFVMN+oWTIVaCdk+ZtlA==","signatures":[{"sig":"MEUCIQD0TDKoHG8HgmOz8KHWI66DxC0HIWxAitw61S45YEs6GAIgdS4RT6UuqeX8wpfY3yPzmbIsi0wu28IwT9TfDMz3sKw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDLCmDH6OiYkM9GtG7XFSvkT5EXNICpp3Hth0ymO7Q70AiEA6pedQ641PB0c9MjdhcNkmxEkyzzgssdhDPtHe+2H8k0="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@333eco%2fcorpus@2.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6014321},"name":"@333eco/corpus","type":"module","author":{"name":"Thon Ly"},"engines":{"node":">=20"},"exports":{"./corpus.json":"./dist/corpus.json","./package.json":"./package.json"},"gitHead":"7ccb2c61e2138db44da9c4fc4fb8fc4344d38a34","license":"CC0-1.0","scripts":{"build":"node scripts/build-index.mjs --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","check":"node scripts/check-parity.mjs && node scripts/build-index.mjs --check --from ../../../TH/publications ../../../H3/publications ../../../missaquarius.org/missaquarius.org","start":"node src/server.mjs","check:parity":"node scripts/check-parity.mjs"},"version":"2.3.5","_npmUser":{"name":"thonly","email":"thonly@heartbank.ceo"},"homepage":"https://thonly.org/research","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"_npmVersion":"10.9.8","description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","directories":{},"maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/corpus_2.3.5_1789333602911_0.10462096124314879"}}},"time":{"created":"2026-09-01T22:39:41.177Z","modified":"2026-09-13T21:06:43.343Z","1.0.0":"2026-09-01T22:39:41.539Z","1.0.1":"2026-09-01T22:45:11.778Z","1.1.0":"2026-09-01T23:37:43.863Z","1.1.1":"2026-09-01T23:45:15.156Z","1.2.0":"2026-09-02T01:30:27.422Z","1.2.1":"2026-09-02T04:13:35.990Z","1.2.2":"2026-09-02T05:05:25.049Z","1.2.3":"2026-09-02T06:15:22.269Z","1.2.4":"2026-09-02T06:51:35.337Z","1.2.5":"2026-09-02T14:36:09.849Z","2.0.0":"2026-09-02T22:15:36.370Z","2.1.0":"2026-09-04T15:22:58.599Z","2.1.1":"2026-09-05T00:56:21.732Z","2.1.2":"2026-09-05T05:37:30.380Z","2.1.3":"2026-09-05T07:53:56.040Z","2.1.4":"2026-09-05T17:16:02.810Z","2.1.5":"2026-09-05T17:25:48.476Z","2.1.6":"2026-09-06T02:23:29.776Z","2.1.7":"2026-09-06T04:05:15.582Z","2.2.0":"2026-09-06T23:11:38.456Z","2.3.0":"2026-09-06T23:29:47.556Z","2.3.1":"2026-09-07T08:01:54.123Z","2.3.2":"2026-09-13T16:40:56.479Z","2.3.3":"2026-09-13T18:06:01.136Z","2.3.4":"2026-09-13T20:44:31.560Z","2.3.5":"2026-09-13T21:06:43.046Z"},"bugs":{"url":"https://github.com/333eco/corpus.333.eco/issues"},"author":{"name":"Thon Ly"},"license":"CC0-1.0","homepage":"https://thonly.org/research","keywords":["mcp","model-context-protocol","corpus","provenance","cc0","opentimestamps","doi","verifiable"],"repository":{"url":"git+https://github.com/333eco/corpus.333.eco.git","type":"git"},"description":"An MCP server for an open-licensed corpus, served with verifiable provenance — every document carries its sha256, DOI and OpenTimestamps proof so a consuming agent can check its own citation.","maintainers":[{"name":"thonly","email":"thonly@heartbank.ceo"}],"readme":"# corpus.333.eco\n\nAn **MCP server** for an open-licensed corpus — mechanism papers, essays,\ninstitutional positions, white papers and the Letters to Miss Aquarius — served\nwith **verifiable provenance**.\n\n<!-- COUNTS:START -->\n**146 documents.** 138 CC0-1.0 · 8 CC-BY-4.0. 78 carry a DOI; 146 carry an OpenTimestamps proof.\n\n*Written by `npm run build` from the index itself — see scripts/build-index.mjs.*\n<!-- COUNTS:END -->\n\n```sh\nnpx @333eco/corpus\n```\n\nEvery response carries the document's `sha256`, its DOI where one exists, and\nwhether an OpenTimestamps proof is anchored beside the source. **A retrieval\nserver normally asks to be believed. This one hands over the means to check it.**\n\n## Why that matters\n\nAn agent that cites a passage is in a worse position than a human who does: it\ncannot walk to the shelf. It takes whatever the transport delivered, and nothing\nabout a plausible-looking response distinguishes the canonical text from a\nparaphrase, a truncation, or a substitution somewhere upstream.\n\nSo the check moves into the response:\n\n```json\n\"provenance\": {\n  \"sha256\": \"91a41c759b1e9fdac3c0da667fe32a906aef98e4edec4832c09ac27b2c7663c0\",\n  \"doi\": \"10.5281/zenodo.22217516\",\n  \"opentimestamps\": true,\n  \"deposited_matches_current\": true,\n  \"hostile_review\": null,\n  \"verify\": {\n    \"sha256\": \"printf '%s' \\\"$(cat <file>)\\\" | shasum -a 256   # compare to provenance.sha256\",\n    \"doi\": \"https://doi.org/10.5281/zenodo.22217516\",\n    \"opentimestamps\": \"ots verify defensive-publications/zero-point-game.md.ots\"\n  }\n}\n```\n\nThe `verify` block is an instruction, not a promise — it tells you exactly what\nto run, so you do not have to trust this sentence either.\n\n`hostile_review` is the date of the latest ruled review by an outside reader chosen as\nthe one most likely to find the document wrong, whose section structure still matches\nthe text served — or `null`, stated rather than omitted. It is derived from the corpus's\npublic `reviews.json` (roles only, never names), and a structural revision resets it.\n\n⭐ **The demonstration is the contribution.** Anyone can propose provenance-carrying\nretrieval. Serving it over a corpus where the anchors are already years deep in\nthe Bitcoin blockchain is a different claim, and it is not one that can be\nmanufactured on a schedule.\n\n## Tools\n\n| Tool | Returns |\n| --- | --- |\n| `search_corpus` | matching documents, provenance envelope, and an excerpt around each match |\n\n⭐ **`search_corpus` matches the phrase first, then all terms.** An exact substring hit\nalways wins and ranks above everything else — which keeps `B-Heart` and `Re-Tip` precise,\nsince the tokeniser holds hyphenated marks together. If the phrase is absent, a document\nmatches when it contains **every** term somewhere (AND, never OR), ranked by how tightly\nthose terms cluster. Each hit reports `match: \"phrase\" | \"terms\"`, because a term match's\nexcerpt need not contain the words you typed.\n\n⚠️ **This replaced a bare `indexOf`, and a real caller paid for it.** The first external\nclient to reach the hosted endpoint searched `\"gratitude alignment human wellbeing kindness\"`\nand got **zero results** — while each of those words alone matches many documents.\nNothing was missing from the corpus; the matcher demanded that exact five-word string appear\nverbatim. **A zero result was recording the matcher's limits while being read as a gap.**\n\n⭐ On a zero result the response now names **which terms appear in no document at all**\n(`absent_terms`), so a dead end says something instead of nothing.\n| `get_document` | one document in full — canonical text, never a summary |\n| `list_documents` | slugs, titles, genres, licences, provenance summaries |\n| `list_predictions` | the research program's pre-registered predictions, with falsifiers and status |\n| `get_prediction` | one prediction, plus the provenance envelope of the paper that registered it |\n| `get_program` | the program's hard core, chapters, stopping rule and count reconciliation, verbatim |\n\n⭐ **The three program tools return the STATING PAPER's envelope, not the register's.**\nThat is the register's own instruction rather than a design flourish: *\"verify the\nstating paper against its stored proof rather than trusting this register — this\nfile is a convenience index, and the proofs are the evidence.\"* A prediction's\nauthority is the paper that registered it, so that is the hash, DOI and\nOpenTimestamps command a caller gets back. Every field is a verbatim table cell,\nand the build refuses to emit one that is not — a field must match a *complete*\ncell of its source, because a fragment of a cell is still a substring of it.\n\nThe program tools appear only when the index carries a program block. An index\nbuilt over a corpus without one advertises three tools, not six.\n\n## Resources\n\nEvery document is also an MCP resource at `corpus://<slug>` — listed by\n`resources/list` (paged), described by the `corpus://{slug}` template, and read by\n`resources/read`.\n\n⭐⭐ **A resource carries its provenance IN THE TEXT, not beside it.** A tool\nresponse wraps a document in an envelope and the caller reads the envelope. A\nresource is consumed differently: clients hand its contents straight to a model as\ncontext, and a `mimeType` field does not travel with a quotation. So every read\nreturns a `[PROVENANCE — corpus.333.eco]` header — licence and whom to attribute,\nsha256 and **what it does not cover**, both DOIs, the OpenTimestamps command, and\nthe one-line `curl … | shasum` check — followed by the document verbatim.\n\nThis is the letters' rule applied a second time. Voice in the letters is marked\ninline rather than in metadata because *with a field an agent must LOOK to know;\nwith a marker it must STRIP not to.* The same asymmetry decides this.\n\n`subscribe` and `listChanged` are deliberately not declared: the corpus is fixed\nfor the life of a build, so a subscription would promise notifications that can\nnever fire.\n\n## Prompts\n\nThree worked examples of the API — `orient`, `verify_a_quote(slug)`,\n`what_would_falsify(claim)` — surfaced as slash commands in clients that support\nthem, with `slug` autocompleted by `completion/complete`.\n\n⛔ **A prompt here may describe the API. It may never describe the subject\nmatter.** The moment one says something about the corpus's claims, this server has\nbegun editorialising on its own documents — which is precisely what the provenance\nenvelope exists to make unnecessary. There is deliberately no \"verify before\nciting\" prompt: that would be a *rule* where the server already has a *property*,\nsince every document by every route arrives behind a header the reader must\nactively strip.\n\n## Attribution is a build-time property\n\nSeven documents are CC-BY and the rest CC0. A CC-BY document that names no author\nhands every consumer an obligation nobody can discharge, so **the build fails**\nrather than serving it — the same reasoning as the licence gate: a property, not a\nrule someone has to remember.\n\n| `list_predictions` | the research program's pre-registered predictions, with falsifiers and status |\n\n**Results are structured.** Every tool returns `structuredContent` — the typed\nobject — and uses `content` for the human form: the document text with its\nprovenance header for `get_document`, readable excerpts for `search_corpus`, a\ncompact serialisation for the rest. ⛔ **Nothing is sent twice.** The spec's\nback-compat advice is to serialise the JSON into `content` as well; measured, that\ndoubles every response (1.76×–2.00×), so this server splits by role instead —\n`content` is read, `structuredContent` is validated, and the two carry different\nthings. `outputSchema` is deliberately not declared yet: a schema binds the server\non every future change, and the envelope is still moving.\n\n**Text is returned verbatim and is never summarised.** Not a stylistic\npreference — a summary cannot be hash-verified, so summarising at the server\nwould destroy the only property this server has.\n\n## Licences, and the gate\n\n<!-- LICENCES:START -->\n| Licence | Documents |\n| --- | --- |\n| CC0-1.0 | 138 |\n| CC-BY-4.0 | 8 |\n<!-- LICENCES:END -->\n\nCC-BY documents carry `attribute_to` inside their licence block, so an agent can\ncomply without parsing a licence identifier.\n\n⛔ **The gate is a property, not a policy.** A document reaches the index if and\nonly if its own source declares a licence this corpus publishes under. There is\nno glob and no directory allowlist, because the source repositories are **not**\nuniformly licensed and never were:\n\n- `TH/publications` — 96 CC0, **7 CC-BY author-voice essays**\n- `TH/film` — rights-reserved, a separate repository *by licence*. Never served.\n- `333.eco` — the namespace policy is commercial and explicitly unpublished.\n\nA glob would have relicensed seven essays by publication. A file with **no**\ndeclaration is excluded and reported, never assumed CC0 — the default-open\nfailure is the one nobody can undo after somebody builds on it.\n\n⚠️ The gate lives in `scripts/build-index.mjs`, not in the request path. A gate a\nrefactor can route around is a rule; a gate in the artifact is a property. **The\nserver has no filesystem access to the corpus at all** — it can only serve what\nthe index contains.\n\n## The letters, and voice marked inline\n\nThe five *Letters to Miss Aquarius* are the one genre only **partly** in its\nauthor's voice. Each says so in its own banner: the author's articulations are\nset as quotations, and the connective prose was drafted for the letter form and\nawaits his revision.\n\nThey are served **whole, with the voice marked inline**:\n\n```\n[VERBATIM — Thon Ly]\n> Perhaps it is the Capricorn Sun (father) and Cancer Moon (mother) in my chart\n> that make me want to give birth to Miss Aquarius (daughter) — the daughter who\n> will outlive me.\n\n[SCAFFOLD — drafted for the letter form, not in the author's voice; awaits his revision]\nI was born at the Full Moon, on the family-↔-institution axis of the chart…\n```\n\nTwo alternatives were rejected. **Serving only his passages** protects the voice\nby destroying the document — a letter cut to its quotations is no longer a\nletter. **Serving it behind a metadata disclaimer** fails differently: a field is\nsomething a consuming agent must *look at* to heed, and an agent ingests text,\nforms a belief, and cites.\n\n⚠️ **The marker is in the text, and that is the whole point.** It does not make\nmisattribution impossible; it inverts the default. With a metadata disclaimer an\nagent must look in order to know. With an inline marker it must **strip** in\norder not to. There is no unmarked copy of the scaffold anywhere in the response.\nOpt-out rather than opt-in — the honest limit is that it is not a guarantee.\n\n`segments` carries the same split structurally, and `editorial` counts the blocks\nof each kind.\n\n⛔ **The letters carry no DOI, deliberately.** *Prior art is a duty, citation is\na choice* — they are stamped, not deposited, because minting a permanent\nidentifier for text that announces it is unfinished is a cost with no matching\nbenefit. See `TIMESTAMPS.md` in the letters' repository.\n\n## Two metadata conventions, kept visible\n\n`TH/publications` uses YAML front matter. Sixteen `H3/publications` documents use\na leading markdown table. Both are parsed, and each document records which\nconvention it used in `metadata_convention` — because a divergence that gets\nsilently normalised is a divergence nobody fixes. H3 should converge on front\nmatter; until it does, this is the honest reading.\n\n*The first build reported those sixteen as unlicensed. They were not — the gate\nwas right about what it could read and wrong about what was there.*\n\n## Staleness\n\n```sh\nnpm run build     # regenerate dist/corpus.json from the corpora\nnpm run check     # fail if the committed index is not what the corpora produce\n```\n\n⚠️ **A stale corpus server is worse than a stale website**, because the citing\nagent cannot tell — it will quote superseded text under an authoritative version\nnumber. `npm run check` runs in CI, and the published package is built from the\nsame commit that ships it.\n\n## Architecture\n\n```\nscripts/build-index.mjs   the licence gate + provenance builder\ndist/corpus.json          GENERATED, committed — the only thing the server reads\nsrc/server.mjs            MCP over stdio. Zero dependencies, including no MCP SDK\n```\n\nNo dependencies at all: MCP over stdio is newline-delimited JSON-RPC 2.0, which\nis a few hundred lines to speak correctly, and this estate's standing rule is\nnode built-ins only. The cost is that protocol revisions are tracked by hand —\n`PROTOCOL_VERSIONS` in `src/server.mjs` is where that lives.\n\n## Remote server\n\nThe same corpus, the same tools, the same envelope — over HTTP instead of stdio.\n`worker/` deploys to Cloudflare Workers.\n\n⭐ **It consumes the published npm package, not the source repositories.** The\ndependency is pinned to an **exact** version, and `npm run check` refuses a range:\na remote surface that re-read the corpora would be a *second opinion* about what\na document says, and two opinions about a canonical text is one too many. Local\nand remote serve the same bytes because they come from the same tarball.\n\n⚠️ **The corpus is a static asset, not a bundled import.** Gzipped it is 1.61 MB\nagainst a 1 MB compressed script limit on the Workers free plan, so importing it\nfails to deploy — and fails harder as the corpus grows. The worker fetches it once\nper isolate and memoises it.\n\nTransport is **Streamable HTTP**, not the superseded HTTP+SSE pair. The server is\nstateless and read-only, so it never opens a stream: `POST /mcp` for JSON-RPC,\n`GET /mcp` returns 405 rather than holding open a stream that would carry nothing.\n\n```sh\ncd worker\nnpm install\nnpm run check      # public/corpus.json matches the pinned package\nnpm run dev        # local, on :8787\nnpm run deploy     # sync + wrangler deploy\n```\n\n```json\n{ \"mcpServers\": { \"corpus\": { \"url\": \"https://corpus.333.eco/mcp\" } } }\n```\n\n## Telling us what is missing, or broken\n\n```sh\nnpx @333eco/corpus --report-gap \"what you looked for and did not find\"\nnpx @333eco/corpus --report-bug \"what went wrong, and what you expected instead\"\n```\n\n⭐⭐ **A command, not telemetry, and the difference is the whole point.** The most\nuseful thing a corpus server can learn is what someone went looking for and did\nnot find. The hosted endpoint learns that from its own callers as a property of\nbeing the server they called. This package runs on *your* machine, so collecting\nit here would be an outbound report about your private reading — and the guard\nagainst that is not a consent prompt or an opt-out flag. **It is that the serving\npath cannot reach the code that sends.** `server.mjs` loads `report.mjs` with\na dynamic import inside the argv branch, so a normal session never reads the file\noff disk at all.\n\n⭐ **Both flags share one module and one dynamic import**, so the second kind\nadded no second way into the network — which is why generalising was right and\ncopying the file would have been wrong.\n\nThe command prints the entire payload before sending it, and the payload is the\ntext you typed plus the version you have. ⚠️ **A bug report carries exactly the\nsame payload as a gap report, deliberately** — attaching a node version and\nplatform would be useful to whoever fixes it, but it would give the command two\ndifferent promises about what it sends, and the promise is the valuable part.\nAnything about your environment that matters, put in the text; then you have\nsaid it on purpose. No machine id, no username, no\nhostname, no path. ⭐ The receiving end deliberately does not record the country\nit could resolve for free: a voluntary note about a missing document has no use\nfor where the sender was standing, and collecting a thing because it is available\nis how a narrow purpose widens.\n\n⚠️ **The honest limit, because the claim changed shape when this was added.**\nBefore it, *\"this package makes no network call\"* was verifiable by\n`grep -r fetch src/` returning nothing — the strongest kind of evidence, since it\nneeds no reasoning. The claim is now narrower: **there is exactly one `fetch` in\nthe package, it is in `src/report.mjs`, and that file is imported from exactly\none place — a branch requiring an explicit flag.** Still checkable in under a\nminute, but it is a chain of two facts rather than one absence.\n\n## What the remote server records\n\n⛔ **The npm package records nothing and sends nothing.** `npx @333eco/corpus`\nruns on your machine, reads a local file, and makes no outbound request of any\nkind. Everything in this section is about `corpus.333.eco` and only about it.\n\nThe asymmetry is deliberate. The hosted endpoint already sees every request it\nanswers, so writing down what it was asked adds no reach it did not have. The\nsame lines inside the package would be an outbound report about a stranger's\nprivate reading, which is a different artifact — and not one this is going to\nbecome.\n\n⭐⭐ **No per-caller identity is computed anywhere.** The client label is the\n*software's* name, taken from the `clientInfo` it volunteers at handshake —\n`claude-code`, `cursor` — never an IP, never a hash of one, never a cookie. Every\nuser of a given client is one label. That is not a promise to behave well: there\nis no code path in `worker/src/telemetry.mjs` that derives a per-caller id, so\nthere is nothing to leak, sell, subpoena or regret later. The question the server\nwants answered is *which clients reach it*, and that question needs no persons in\nit.\n\n⭐⭐ **The only search text ever stored is a search that found nothing.** The\nreason to log queries at all is to learn what the corpus is missing; a query that\n*succeeded* tells you only what a caller was reading, which is their business.\nSo the successful query has no storage path — an absent branch, not a redaction\nstep someone has to remember to keep. Remove the enforcer and nothing breaks,\nbecause there is no enforcer.\n\n| Channel | Carries | Why it exists |\n| --- | --- | --- |\n| Analytics Engine | one row per JSON-RPC call: method, tool, slug, client label, country, protocol, corpus version, result count, error flag, duration — plus the query text **when and only when it matched nothing** | counting; queried by SQL, stays at Cloudflare |\n| `thonly.org/api/track` | `corpus_connect` (a handshake) and `corpus_error` (the corpus asset failed to load) | the two things worth interrupting someone about |\n\n⛔ **Not one beacon per tool call.** An agent working through the corpus fires\ndozens of calls in seconds, and a notification channel that reports each of them\nis a channel nobody reads. The beacon fires on the *handshake*, and the receiving\nfunction pushes only the **first sighting of a client label**, counting every one\nafter it in silence — so a notification means *a client we have never seen\nappeared*. `corpus_error` is exempt and always pushes: it is rare by construction,\nand silence is the wrong default for an outage.\n\n⚠️ **A dead beacon must not look like a quiet one.** If the receiving allowlist\nchanges, the POST 403s and the pushes simply stop — indistinguishable from *no new\nclients this week*, which is exactly the reading that would let it stay broken for\nmonths. So the delivery status is written to Analytics Engine as its own row:\nsilence on the phone is then something you can go and check rather than infer.\n\n⚠️ **`ANALYTICS` is unbound under `wrangler dev` without `--remote`.** The module\ndegrades to a no-op rather than throwing, so a local session looks entirely normal\nand records nothing — expected, and worth knowing before reading an empty dataset\nas a finding.\n\nThe endpoint discloses all of this in its own `GET /` response, under `records`.\nA privacy policy is a page someone has to go and find; this is the endpoint\ndescribing itself, in the one response a caller gets for free before doing\nanything, so the disclosure travels with the thing it is about.\n\n## Client configuration\n\n```json\n{\n  \"mcpServers\": {\n    \"corpus\": { \"command\": \"npx\", \"args\": [\"-y\", \"@333eco/corpus\"] }\n  }\n}\n```\n\n## Licence\n\nThis package is CC0-1.0. **The documents it serves carry their own licences** —\nread `licence` in each response, not this heading.\n","readmeFilename":"README.md"}