{"_id":"@aiacta-org/crawl-manifest-client","_rev":"15-e3c1d301fe7926c43a0540784fe09fca","name":"@aiacta-org/crawl-manifest-client","dist-tags":{"latest":"1.0.14"},"versions":{"1.0.0":{"name":"@aiacta-org/crawl-manifest-client","version":"1.0.0","author":{"name":"Eric Michel"},"_id":"@aiacta-org/crawl-manifest-client@1.0.0","maintainers":[{"name":"mobeloper","email":"shakesystems@gmail.com"}],"dist":{"shasum":"baf98bd3fec88fc473f023ff8edb6834a16d84eb","tarball":"https://registry.npmjs.org/@aiacta-org/crawl-manifest-client/-/crawl-manifest-client-1.0.0.tgz","fileCount":10,"integrity":"sha512-tb7YfOCBqe+uTZE1okOHvDqJph0GiXEdV1EsLbakiA9Z/5fZaCPfCeZWPyWZIsdQCtmAv1kB1azK+BsHUPsbyg==","signatures":[{"sig":"MEQCIHwIcLekgBPO2FtbIYmjSa6scDEmzqwgr2I63tiz9fqpAiA494ASOr5eA1UPx3FnbqVabro6B6jjlczaY4SF5zPAnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20472},"main":"./src/node/index.js","gitHead":"849b69d7e7be249ed2d701901ecf712418360e8b","scripts":{"test":"jest"},"_npmUser":{"name":"mobeloper","email":"shakesystems@gmail.com"},"_npmVersion":"10.8.2","description":"Client library for querying the AIACTA Crawl Manifest API with pagination, rate-limit handling, and local caching (Proposal 1 §2.2)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.6.0","node-cache":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","nock":"^14.0.11"},"_npmOperationalInternal":{"tmp":"tmp/crawl-manifest-client_1.0.0_1775515499602_0.19118151339950074","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@aiacta-org/crawl-manifest-client","version":"1.0.1","keywords":["aiacta","ai-attribution","crawl-manifest","ai-crawler","ai-transparency","attribution","content-attribution","publisher-rights","open-standard","ai-crawl","content-creators","api-client","pagination","rate-limiting","content-hash","ai-copyright","web-standard","crawl-audit"],"author":{"name":"Eric Michel"},"license":"Apache-2.0","_id":"@aiacta-org/crawl-manifest-client@1.0.1","maintainers":[{"name":"mobeloper","email":"shakesystems@gmail.com"}],"homepage":"https://github.com/aiacta-org/aiacta/tree/main/packages/crawl-manifest-client#readme","bugs":{"url":"https://github.com/aiacta-org/aiacta/issues"},"dist":{"shasum":"7cce334086bc51e754d5c642691fad4d37e3cafa","tarball":"https://registry.npmjs.org/@aiacta-org/crawl-manifest-client/-/crawl-manifest-client-1.0.1.tgz","fileCount":10,"integrity":"sha512-9cna1rQt0bVmt6J8wRH5f7+/x434yS1EustIM7D71OFd45xp+GI3EDb5B2nqch/Z6pTopD+y37UppGTMIrIFpw==","signatures":[{"sig":"MEUCIDcCJO757zmur5nlVpUZd8zRM3pNALHtomqWk2yITkW7AiEA5Zpq7UWXtg7kzoZSoAnXEihFczkUb8AASoU0vkn99zI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21371},"main":"./src/node/index.js","gitHead":"a119c3cbf466b40a4f148e53d4f006e640206b32","scripts":{"test":"jest"},"_npmUser":{"name":"mobeloper","email":"shakesystems@gmail.com"},"repository":{"url":"git+https://github.com/aiacta-org/aiacta.git","type":"git","directory":"packages/crawl-manifest-client"},"_npmVersion":"10.8.2","description":"Client for the AIACTA Crawl Manifest API. Query AI providers to see which of your pages were crawled, when, and for what purpose (AIACTA Proposal 1, §2.2)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.6.0","node-cache":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","nock":"^14.0.11"},"_npmOperationalInternal":{"tmp":"tmp/crawl-manifest-client_1.0.1_1775589204156_0.4237433794176977","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@aiacta-org/crawl-manifest-client","version":"1.0.2","keywords":["aiacta","ai-attribution","crawl-manifest","ai-crawler","ai-transparency","attribution","content-attribution","publisher-rights","open-standard","ai-crawl","content-creators","api-client","pagination","rate-limiting","content-hash","ai-copyright","web-standard","crawl-audit"],"author":{"name":"Eric Michel"},"license":"Apache-2.0","_id":"@aiacta-org/crawl-manifest-client@1.0.2","maintainers":[{"name":"mobeloper","email":"shakesystems@gmail.com"}],"homepage":"https://github.com/aiacta-org/aiacta/tree/main/packages/crawl-manifest-client#readme","bugs":{"url":"https://github.com/aiacta-org/aiacta/issues"},"dist":{"shasum":"948537b8888d59493acec891533e05d831bc17a6","tarball":"https://registry.npmjs.org/@aiacta-org/crawl-manifest-client/-/crawl-manifest-client-1.0.2.tgz","fileCount":10,"integrity":"sha512-BU1MDcKjLTTnqVs5+zbPJgJu1qJIjQKDJTIGfeaaAwyMXNAWVv2rkmcnTeF90tGVhncxZkaBNqGA7HRNyfNF2Q==","signatures":[{"sig":"MEUCIQCMI2+UZYiTZpJgOjdqlVJbg16KfBeRYlg+5VnYiQqEPwIgUJ4fzDtIBZ9oi0DLAZIEchuAsZOK98Kltyt7qHbHCbI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21371},"main":"./src/node/index.js","gitHead":"f04e8d9d3a2b919da15d906f7f551505c9e8a97d","scripts":{"test":"jest"},"_npmUser":{"name":"mobeloper","email":"shakesystems@gmail.com"},"repository":{"url":"git+https://github.com/aiacta-org/aiacta.git","type":"git","directory":"packages/crawl-manifest-client"},"_npmVersion":"10.8.2","description":"Client for the AIACTA Crawl Manifest API. Query AI providers to see which of your pages were crawled, when, and for what purpose (AIACTA Proposal 1, §2.2)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.6.0","node-cache":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","nock":"^14.0.11"},"_npmOperationalInternal":{"tmp":"tmp/crawl-manifest-client_1.0.2_1775613540684_0.9968502977888252","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@aiacta-org/crawl-manifest-client","version":"1.0.3","keywords":["aiacta","ai-attribution","crawl-manifest","ai-crawler","ai-transparency","attribution","content-attribution","publisher-rights","open-standard","ai-crawl","content-creators","api-client","pagination","rate-limiting","content-hash","ai-copyright","web-standard","crawl-audit"],"author":{"name":"Eric Michel"},"license":"Apache-2.0","_id":"@aiacta-org/crawl-manifest-client@1.0.3","maintainers":[{"name":"mobeloper","email":"shakesystems@gmail.com"}],"homepage":"https://github.com/aiacta-org/aiacta/tree/main/packages/crawl-manifest-client#readme","bugs":{"url":"https://github.com/aiacta-org/aiacta/issues"},"dist":{"shasum":"315c1d1a2e49fc678f332e345b80bea7dfc83aef","tarball":"https://registry.npmjs.org/@aiacta-org/crawl-manifest-client/-/crawl-manifest-client-1.0.3.tgz","fileCount":10,"integrity":"sha512-ek5Kqbh5bUKSdY7Rwu6KDGKLWxFi4UvCMUlrw+hcTVESiDPH+YePvWnr2Z22YKePDlRwee8ufGou9Crx7sFpHQ==","signatures":[{"sig":"MEUCIF6OLuwRv7gcPZlGG3EwmtKznlfdp9tgLic+6BzsVBP2AiEA7s/JlYFzP4Qktp3sfhu8VMnY3kBewn84QYnsTKgHqH4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21371},"main":"./src/node/index.js","gitHead":"659346d4b008b5b3f942b36ff739a7d4f30760fa","scripts":{"test":"jest"},"_npmUser":{"name":"mobeloper","email":"shakesystems@gmail.com"},"repository":{"url":"git+https://github.com/aiacta-org/aiacta.git","type":"git","directory":"packages/crawl-manifest-client"},"_npmVersion":"10.8.2","description":"Client for the AIACTA Crawl Manifest API. Query AI providers to see which of your pages were crawled, when, and for what purpose (AIACTA Proposal 1, §2.2)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.6.0","node-cache":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","nock":"^14.0.11"},"_npmOperationalInternal":{"tmp":"tmp/crawl-manifest-client_1.0.3_1775631263740_0.6707392688478839","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@aiacta-org/crawl-manifest-client","version":"1.0.4","keywords":["aiacta","ai-attribution","crawl-manifest","ai-crawler","ai-transparency","attribution","content-attribution","publisher-rights","open-standard","ai-crawl","content-creators","api-client","pagination","rate-limiting","content-hash","ai-copyright","web-standard","crawl-audit"],"author":{"name":"Eric Michel"},"license":"Apache-2.0","_id":"@aiacta-org/crawl-manifest-client@1.0.4","maintainers":[{"name":"mobeloper","email":"shakesystems@gmail.com"}],"homepage":"https://github.com/aiacta-org/aiacta/tree/main/packages/crawl-manifest-client#readme","bugs":{"url":"https://github.com/aiacta-org/aiacta/issues"},"dist":{"shasum":"8ee2d3cd3ad6ba079b5b44b1e6ccfecfcaeb352b","tarball":"https://registry.npmjs.org/@aiacta-org/crawl-manifest-client/-/crawl-manifest-client-1.0.4.tgz","fileCount":10,"integrity":"sha512-OMhFWOtK5dOWTBqFZAKPn71UGkPmk4h231lwyKwelY+paUiiedZzfHZbzdKoaa1q1L8IyMMgEAyRxp0mz0HGFA==","signatures":[{"sig":"MEYCIQD8n3YyLByXcMPdjLBmlIHnBEe6tzzpYKVgOtZVJnQabQIhAIeaO60vcrjWFbZT8pgG77Iv2038B/YFGiF4Ptr8PVbV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21371},"main":"./src/node/index.js","gitHead":"d19b7710e05313525178fcae04a9a3fa39c2a1af","scripts":{"test":"jest"},"_npmUser":{"name":"mobeloper","email":"shakesystems@gmail.com"},"repository":{"url":"git+https://github.com/aiacta-org/aiacta.git","type":"git","directory":"packages/crawl-manifest-client"},"_npmVersion":"10.8.2","description":"Client for the AIACTA Crawl Manifest API. Query AI providers to see which of your pages were crawled, when, and for what purpose (AIACTA Proposal 1, §2.2)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.6.0","node-cache":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","nock":"^14.0.11"},"_npmOperationalInternal":{"tmp":"tmp/crawl-manifest-client_1.0.4_1775678891527_0.4284769946262039","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@aiacta-org/crawl-manifest-client","version":"1.0.5","keywords":["aiacta","ai-attribution","crawl-manifest","ai-crawler","ai-transparency","attribution","content-attribution","publisher-rights","open-standard","ai-crawl","content-creators","api-client","pagination","rate-limiting","content-hash","ai-copyright","web-standard","crawl-audit"],"author":{"name":"Eric Michel"},"license":"Apache-2.0","_id":"@aiacta-org/crawl-manifest-client@1.0.5","maintainers":[{"name":"mobeloper","email":"shakesystems@gmail.com"}],"homepage":"https://github.com/aiacta-org/aiacta/tree/main/packages/crawl-manifest-client#readme","bugs":{"url":"https://github.com/aiacta-org/aiacta/issues"},"dist":{"shasum":"88a2b1be484e4f46fe75c6f94fe4cf1c48bfd897","tarball":"https://registry.npmjs.org/@aiacta-org/crawl-manifest-client/-/crawl-manifest-client-1.0.5.tgz","fileCount":10,"integrity":"sha512-a/NAufw00UnQyrq99ZMp3MCkc5uIeWnQeelFMOOlfI0YLhwIJrbjFq+yfzb7rGEn/+aBsGyL1X+XR8q3jj88kw==","signatures":[{"sig":"MEYCIQDSFoWhGXTFNGNGi54BjqvHWHKCy8c/E4YkEv0Kd4au3QIhAMSWEeLc2l+GRc3PFp330fwNuxSJu9fIk4QrpatMaHkk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21371},"main":"./src/node/index.js","gitHead":"c0ba23ea58258f4a8b3a8e071f1c3751d4f65ada","scripts":{"test":"jest"},"_npmUser":{"name":"mobeloper","email":"shakesystems@gmail.com"},"repository":{"url":"git+https://github.com/aiacta-org/aiacta.git","type":"git","directory":"packages/crawl-manifest-client"},"_npmVersion":"10.8.2","description":"Client for the AIACTA Crawl Manifest API. Query AI providers to see which of your pages were crawled, when, and for what purpose (AIACTA Proposal 1, §2.2)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.6.0","node-cache":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","nock":"^14.0.11"},"_npmOperationalInternal":{"tmp":"tmp/crawl-manifest-client_1.0.5_1775682288436_0.6949870315484408","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@aiacta-org/crawl-manifest-client","version":"1.0.6","keywords":["aiacta","ai-attribution","crawl-manifest","ai-crawler","ai-transparency","attribution","content-attribution","publisher-rights","open-standard","ai-crawl","content-creators","api-client","pagination","rate-limiting","content-hash","ai-copyright","web-standard","crawl-audit"],"author":{"name":"Eric Michel"},"license":"Apache-2.0","_id":"@aiacta-org/crawl-manifest-client@1.0.6","maintainers":[{"name":"mobeloper","email":"shakesystems@gmail.com"}],"homepage":"https://github.com/aiacta-org/aiacta/tree/main/packages/crawl-manifest-client#readme","bugs":{"url":"https://github.com/aiacta-org/aiacta/issues"},"dist":{"shasum":"200fa10672b6dd24736ea2e156358e0f97c0f9b7","tarball":"https://registry.npmjs.org/@aiacta-org/crawl-manifest-client/-/crawl-manifest-client-1.0.6.tgz","fileCount":10,"integrity":"sha512-rYK6uXpJtmmmp9rIttIh4LTvzSS9/ffbDT/EoyH7HQYgXcPS2FWvZYaTbrBmR+TQcerMxrCAgY5/Ok5Wl5rWKg==","signatures":[{"sig":"MEYCIQD16lsZibMxY8oL6L7LgKRTgWXvhQjJUisTLK1RfjWwOAIhAIhKXzeYCzThlUV4NLy0Nl8C8wSSuToI1Y4BCWeZJe02","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21371},"main":"./src/node/index.js","gitHead":"dbce6f73e1cdaa890b98e07f0edaa678b156ce30","scripts":{"test":"jest"},"_npmUser":{"name":"mobeloper","email":"shakesystems@gmail.com"},"repository":{"url":"git+https://github.com/aiacta-org/aiacta.git","type":"git","directory":"packages/crawl-manifest-client"},"_npmVersion":"10.8.2","description":"Client for the AIACTA Crawl Manifest API. Query AI providers to see which of your pages were crawled, when, and for what purpose (AIACTA Proposal 1, §2.2)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.6.0","node-cache":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","nock":"^14.0.11"},"_npmOperationalInternal":{"tmp":"tmp/crawl-manifest-client_1.0.6_1775686135624_0.4984075440991691","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@aiacta-org/crawl-manifest-client","version":"1.0.7","keywords":["aiacta","ai-attribution","crawl-manifest","ai-crawler","ai-transparency","attribution","content-attribution","publisher-rights","open-standard","ai-crawl","content-creators","api-client","pagination","rate-limiting","content-hash","ai-copyright","web-standard","crawl-audit"],"author":{"name":"Eric Michel"},"license":"Apache-2.0","_id":"@aiacta-org/crawl-manifest-client@1.0.7","maintainers":[{"name":"mobeloper","email":"shakesystems@gmail.com"}],"homepage":"https://github.com/aiacta-org/aiacta/tree/main/packages/crawl-manifest-client#readme","bugs":{"url":"https://github.com/aiacta-org/aiacta/issues"},"dist":{"shasum":"d1bd0bb87c51b8c5286215aa4ff5914fa14abe62","tarball":"https://registry.npmjs.org/@aiacta-org/crawl-manifest-client/-/crawl-manifest-client-1.0.7.tgz","fileCount":10,"integrity":"sha512-7e+FHg1yg6uUmoFRjE2RJKqknyls6SmMGrWDW1m2nbtySizXTh8g80Sf7bboA0UU3lijMcFVM3y2I8W/Q6v7kQ==","signatures":[{"sig":"MEUCIQDbmkBuyCOGp8XU3No5smqsx3fna0LxnVDhGkmTYAtLoAIgHWwNTlCy7WbBr4OQAvM5HvpV/ORRaadmOiY/SQDXHJs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21371},"main":"./src/node/index.js","gitHead":"72d51a5bff929f7864db4d859b5d1705b34af5a1","scripts":{"test":"jest"},"_npmUser":{"name":"mobeloper","email":"shakesystems@gmail.com"},"repository":{"url":"git+https://github.com/aiacta-org/aiacta.git","type":"git","directory":"packages/crawl-manifest-client"},"_npmVersion":"10.8.2","description":"Client for the AIACTA Crawl Manifest API. Query AI providers to see which of your pages were crawled, when, and for what purpose (AIACTA Proposal 1, §2.2)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.6.0","node-cache":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","nock":"^14.0.11"},"_npmOperationalInternal":{"tmp":"tmp/crawl-manifest-client_1.0.7_1775699884172_0.06775216460911282","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@aiacta-org/crawl-manifest-client","version":"1.0.8","keywords":["aiacta","ai-attribution","crawl-manifest","ai-crawler","ai-transparency","attribution","content-attribution","publisher-rights","open-standard","ai-crawl","content-creators","api-client","pagination","rate-limiting","content-hash","ai-copyright","web-standard","crawl-audit"],"author":{"name":"Eric Michel"},"license":"Apache-2.0","_id":"@aiacta-org/crawl-manifest-client@1.0.8","maintainers":[{"name":"mobeloper","email":"shakesystems@gmail.com"}],"homepage":"https://github.com/aiacta-org/aiacta/tree/main/packages/crawl-manifest-client#readme","bugs":{"url":"https://github.com/aiacta-org/aiacta/issues"},"dist":{"shasum":"8c8682656f569f403701ac234dce5c6dbda494a2","tarball":"https://registry.npmjs.org/@aiacta-org/crawl-manifest-client/-/crawl-manifest-client-1.0.8.tgz","fileCount":10,"integrity":"sha512-wX1XHWOnkkM55avz8oOQjw4je8yW71bAi727FmNHg/L4DWvVGY3gG7KeTsXlkYLsVV0PRyRKQiAbIDlHMsjGqg==","signatures":[{"sig":"MEQCIDHaMqOXgHRw5ydGjUWpzxNwPhUs1EBWr6rZ0MSIy4LMAiB7prptJ3YlZDmdJEr8TAnb7VpufMI1hlY9wLXcUgp/GQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21371},"main":"./src/node/index.js","gitHead":"9cd7e4a13f8e5a1a1e15d204bb6916710858f741","scripts":{"test":"jest"},"_npmUser":{"name":"mobeloper","email":"shakesystems@gmail.com"},"repository":{"url":"git+https://github.com/aiacta-org/aiacta.git","type":"git","directory":"packages/crawl-manifest-client"},"_npmVersion":"10.8.2","description":"Client for the AIACTA Crawl Manifest API. Query AI providers to see which of your pages were crawled, when, and for what purpose (AIACTA Proposal 1, §2.2)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.6.0","node-cache":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","nock":"^14.0.11"},"_npmOperationalInternal":{"tmp":"tmp/crawl-manifest-client_1.0.8_1775875731407_0.9364681298884003","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@aiacta-org/crawl-manifest-client","version":"1.0.9","keywords":["aiacta","ai-attribution","crawl-manifest","ai-crawler","ai-transparency","attribution","content-attribution","publisher-rights","open-standard","ai-crawl","content-creators","api-client","pagination","rate-limiting","content-hash","ai-copyright","web-standard","crawl-audit"],"author":{"name":"Eric Michel"},"license":"Apache-2.0","_id":"@aiacta-org/crawl-manifest-client@1.0.9","maintainers":[{"name":"mobeloper","email":"shakesystems@gmail.com"}],"homepage":"https://github.com/aiacta-org/aiacta/tree/main/packages/crawl-manifest-client#readme","bugs":{"url":"https://github.com/aiacta-org/aiacta/issues"},"dist":{"shasum":"738dc082619d742bfe7178701d2ed84cebe6d11f","tarball":"https://registry.npmjs.org/@aiacta-org/crawl-manifest-client/-/crawl-manifest-client-1.0.9.tgz","fileCount":10,"integrity":"sha512-n9N6UPw+/QaxWEVgZtbmghajajaQZLInsDy2/Q4ww/rigzPeONoKzANJT+QgSlq32x+vjS67HRcgeZyoze5Y9Q==","signatures":[{"sig":"MEYCIQDMJrB2IANRFLW06GkuMda3ZH2cD76ceylny7T3XPntEQIhAJnRSKK2Of3Z8oz23EXgVilO5DTUivRDaiuAh9wzjcKP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21371},"main":"./src/node/index.js","gitHead":"0a542ba30d723870ae200781b1d50864efdd9031","scripts":{"test":"jest"},"_npmUser":{"name":"mobeloper","email":"shakesystems@gmail.com"},"repository":{"url":"git+https://github.com/aiacta-org/aiacta.git","type":"git","directory":"packages/crawl-manifest-client"},"_npmVersion":"10.8.2","description":"Client for the AIACTA Crawl Manifest API. Query AI providers to see which of your pages were crawled, when, and for what purpose (AIACTA Proposal 1, §2.2)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.6.0","node-cache":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","nock":"^14.0.11"},"_npmOperationalInternal":{"tmp":"tmp/crawl-manifest-client_1.0.9_1775894796668_0.4018429872302747","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@aiacta-org/crawl-manifest-client","version":"1.0.10","keywords":["aiacta","ai-attribution","crawl-manifest","ai-crawler","ai-transparency","attribution","content-attribution","publisher-rights","open-standard","ai-crawl","content-creators","api-client","pagination","rate-limiting","content-hash","ai-copyright","web-standard","crawl-audit"],"author":{"name":"Eric Michel"},"license":"Apache-2.0","_id":"@aiacta-org/crawl-manifest-client@1.0.10","maintainers":[{"name":"mobeloper","email":"shakesystems@gmail.com"}],"homepage":"https://github.com/aiacta-org/aiacta/tree/main/packages/crawl-manifest-client#readme","bugs":{"url":"https://github.com/aiacta-org/aiacta/issues"},"dist":{"shasum":"0fc2340d205ed5476bbc5d6ff0ce58ce450d089f","tarball":"https://registry.npmjs.org/@aiacta-org/crawl-manifest-client/-/crawl-manifest-client-1.0.10.tgz","fileCount":10,"integrity":"sha512-57sKouLgrK53EKT8k00keZQnZxixmfvZ1WjQ3X4LmEHAU54MEMlmbLx/Ik8praY2KlFuDqT5yKLMt6ufIcV9pQ==","signatures":[{"sig":"MEQCIGBdMiKB2Cf1kW/RnHiBJLq3shKkS5bzk9S/jbvTjUZVAiA85LulWFlEBMcKUS4nuH6turG6ijfCsaai6b4HUrHtnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21372},"main":"./src/node/index.js","gitHead":"5b50573dc2a62fe4f43120aae663de9404d1bce1","scripts":{"test":"jest"},"_npmUser":{"name":"mobeloper","email":"shakesystems@gmail.com"},"repository":{"url":"git+https://github.com/aiacta-org/aiacta.git","type":"git","directory":"packages/crawl-manifest-client"},"_npmVersion":"10.8.2","description":"Client for the AIACTA Crawl Manifest API. Query AI providers to see which of your pages were crawled, when, and for what purpose (AIACTA Proposal 1, §2.2)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.6.0","node-cache":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","nock":"^14.0.11"},"_npmOperationalInternal":{"tmp":"tmp/crawl-manifest-client_1.0.10_1775924693540_0.2525750419503223","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@aiacta-org/crawl-manifest-client","version":"1.0.11","keywords":["aiacta","ai-attribution","crawl-manifest","ai-crawler","ai-transparency","attribution","content-attribution","publisher-rights","open-standard","ai-crawl","content-creators","api-client","pagination","rate-limiting","content-hash","ai-copyright","web-standard","crawl-audit"],"author":{"name":"Eric Michel"},"license":"Apache-2.0","_id":"@aiacta-org/crawl-manifest-client@1.0.11","maintainers":[{"name":"mobeloper","email":"shakesystems@gmail.com"}],"homepage":"https://github.com/aiacta-org/aiacta/tree/main/packages/crawl-manifest-client#readme","bugs":{"url":"https://github.com/aiacta-org/aiacta/issues"},"dist":{"shasum":"731c25a8c0249d466d5358da282f15d8c28334e2","tarball":"https://registry.npmjs.org/@aiacta-org/crawl-manifest-client/-/crawl-manifest-client-1.0.11.tgz","fileCount":10,"integrity":"sha512-JzA47w953rShpVVLnT/FRdamqF9e63JsVllVI/TmpDwIa6YftySaPDUEln2hDSfErtH3wurFS0U2StYu7Uwvig==","signatures":[{"sig":"MEQCIDa3BeH/f/O2nwy3gDRE/V4+ghlfwZzKyxwqWhNVoFBLAiB7ZPPYR4v8X944eb44xf2enJAJzRYZYAMLMxmqMv7D8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21372},"main":"./src/node/index.js","gitHead":"d66af70bb3646dc1f8943d6f6cfc81df956dd5f6","scripts":{"test":"jest"},"_npmUser":{"name":"mobeloper","email":"shakesystems@gmail.com"},"repository":{"url":"git+https://github.com/aiacta-org/aiacta.git","type":"git","directory":"packages/crawl-manifest-client"},"_npmVersion":"11.11.0","description":"Client for the AIACTA Crawl Manifest API. Query AI providers to see which of your pages were crawled, when, and for what purpose (AIACTA Proposal 1, §2.2)","directories":{},"_nodeVersion":"24.14.1","dependencies":{"axios":"^1.6.0","node-cache":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","nock":"^14.0.11"},"_npmOperationalInternal":{"tmp":"tmp/crawl-manifest-client_1.0.11_1776143523774_0.4878660640895607","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@aiacta-org/crawl-manifest-client","version":"1.0.12","keywords":["aiacta","ai-attribution","crawl-manifest","ai-crawler","ai-transparency","attribution","content-attribution","publisher-rights","open-standard","ai-crawl","content-creators","api-client","pagination","rate-limiting","content-hash","ai-copyright","web-standard","crawl-audit"],"author":{"name":"Eric Michel"},"license":"Apache-2.0","_id":"@aiacta-org/crawl-manifest-client@1.0.12","maintainers":[{"name":"mobeloper","email":"shakesystems@gmail.com"}],"homepage":"https://github.com/aiacta-org/aiacta/tree/main/packages/crawl-manifest-client#readme","bugs":{"url":"https://github.com/aiacta-org/aiacta/issues"},"dist":{"shasum":"c9006c32bd22047f02f099462fbc8dccba5adc88","tarball":"https://registry.npmjs.org/@aiacta-org/crawl-manifest-client/-/crawl-manifest-client-1.0.12.tgz","fileCount":10,"integrity":"sha512-MBSZ9hUNxxe+yyoAc4oogNooxj90Yh1zSQHgeyOQfYKEx01iv8/3tZdkm+AOqAoGXPe3X9woWeOKf6mcr+AlLg==","signatures":[{"sig":"MEUCIQDeOiTvZb1ht2YhFDEaAAhgcgEQXkghBDZV/2C3R2lHkAIgWVpknZRPvdpmEZUL7epEoHMv9oGaHvaRd6v8XyhrQT0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21372},"main":"./src/node/index.js","gitHead":"c769ee41bc038a78070a3c2ce82db6d95dd8f7a7","scripts":{"test":"jest"},"_npmUser":{"name":"mobeloper","email":"shakesystems@gmail.com"},"repository":{"url":"git+https://github.com/aiacta-org/aiacta.git","type":"git","directory":"packages/crawl-manifest-client"},"_npmVersion":"10.8.2","description":"Client for the AIACTA Crawl Manifest API. Query AI providers to see which of your pages were crawled, when, and for what purpose (AIACTA Proposal 1, §2.2)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.6.0","node-cache":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","nock":"^14.0.11"},"_npmOperationalInternal":{"tmp":"tmp/crawl-manifest-client_1.0.12_1776143765424_0.09917110923844352","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@aiacta-org/crawl-manifest-client","version":"1.0.13","keywords":["aiacta","ai-attribution","crawl-manifest","ai-crawler","ai-transparency","attribution","content-attribution","publisher-rights","open-standard","ai-crawl","content-creators","api-client","pagination","rate-limiting","content-hash","ai-copyright","web-standard","crawl-audit"],"author":{"name":"Eric Michel"},"license":"Apache-2.0","_id":"@aiacta-org/crawl-manifest-client@1.0.13","maintainers":[{"name":"mobeloper","email":"shakesystems@gmail.com"}],"homepage":"https://github.com/aiacta-org/aiacta/tree/main/packages/crawl-manifest-client#readme","bugs":{"url":"https://github.com/aiacta-org/aiacta/issues"},"dist":{"shasum":"b8f9b5f4853dfd9b324b0d4c14ed1037fc4d8ada","tarball":"https://registry.npmjs.org/@aiacta-org/crawl-manifest-client/-/crawl-manifest-client-1.0.13.tgz","fileCount":10,"integrity":"sha512-VrAPpcdVHf0NwstgvgPgpxXjE2AoGx39a50vyaMNElH45s7qn8R6O37Ku7gKqvf4KrW7qdI86bzgPICVLXEplg==","signatures":[{"sig":"MEYCIQCBvPdqhixa+BL6EiPoxlO0TEUe212DI6FSu8jEjc7K0wIhAN1xof6d/GMSjyMkKe045I7sLSMWgnYSOcAxnmz+oLJl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21372},"main":"./src/node/index.js","gitHead":"6ae6940e1728448c6687312edc77f0a6bd2efb15","scripts":{"test":"jest"},"_npmUser":{"name":"mobeloper","email":"shakesystems@gmail.com"},"repository":{"url":"git+https://github.com/aiacta-org/aiacta.git","type":"git","directory":"packages/crawl-manifest-client"},"_npmVersion":"10.8.2","description":"Client for the AIACTA Crawl Manifest API. Query AI providers to see which of your pages were crawled, when, and for what purpose (AIACTA Proposal 1, §2.2)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.6.0","node-cache":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","nock":"^14.0.11"},"_npmOperationalInternal":{"tmp":"tmp/crawl-manifest-client_1.0.13_1776209526156_0.8034724381159088","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@aiacta-org/crawl-manifest-client","version":"1.0.14","description":"Client for the AIACTA Crawl Manifest API. Query AI providers to see which of your pages were crawled, when, and for what purpose (AIACTA Proposal 1, §2.2)","author":{"name":"Eric Michel"},"license":"Apache-2.0","homepage":"https://github.com/aiacta-org/aiacta/tree/main/packages/crawl-manifest-client#readme","repository":{"type":"git","url":"git+https://github.com/aiacta-org/aiacta.git","directory":"packages/crawl-manifest-client"},"bugs":{"url":"https://github.com/aiacta-org/aiacta/issues"},"keywords":["aiacta","ai-attribution","crawl-manifest","ai-crawler","ai-transparency","attribution","content-attribution","publisher-rights","open-standard","ai-crawl","content-creators","api-client","pagination","rate-limiting","content-hash","ai-copyright","web-standard","crawl-audit"],"main":"./src/node/index.js","scripts":{"test":"jest"},"dependencies":{"axios":"^1.6.0","node-cache":"^5.1.0"},"devDependencies":{"jest":"^29.0.0","nock":"^14.0.11"},"_id":"@aiacta-org/crawl-manifest-client@1.0.14","gitHead":"acd33d87518f566a195b0f6e8d30375ad40b570d","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-RXLuEa+hUBEXTFTkB0cmcilqtoYbi0jIZvgLkJhLxiSPn5TC8UahHqGlroZ7l1Na+Bvgf/viQjpOZ2NBrG0LYg==","shasum":"08dac079ea9b9e8133b30fcb03cceebcc7d50035","tarball":"https://registry.npmjs.org/@aiacta-org/crawl-manifest-client/-/crawl-manifest-client-1.0.14.tgz","fileCount":10,"unpackedSize":21372,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDuNdqLAV/LGlR/59rg0N+zTvjLeYfkaNqDKlXYX1B00AiB9+7pZgDFDvpzQXXp/klJ+anTX3hPNphKrNmcb3e0TyQ=="}]},"_npmUser":{"name":"mobeloper","email":"shakesystems@gmail.com"},"directories":{},"maintainers":[{"name":"mobeloper","email":"shakesystems@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/crawl-manifest-client_1.0.14_1776804947097_0.9805189007313082"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-06T22:44:59.544Z","modified":"2026-04-21T20:55:47.332Z","1.0.0":"2026-04-06T22:44:59.745Z","1.0.1":"2026-04-07T19:13:24.292Z","1.0.2":"2026-04-08T01:59:00.839Z","1.0.3":"2026-04-08T06:54:23.890Z","1.0.4":"2026-04-08T20:08:11.689Z","1.0.5":"2026-04-08T21:04:48.590Z","1.0.6":"2026-04-08T22:08:55.847Z","1.0.7":"2026-04-09T01:58:04.334Z","1.0.8":"2026-04-11T02:48:51.588Z","1.0.9":"2026-04-11T08:06:36.797Z","1.0.10":"2026-04-11T16:24:53.674Z","1.0.11":"2026-04-14T05:12:03.905Z","1.0.12":"2026-04-14T05:16:05.561Z","1.0.13":"2026-04-14T23:32:06.306Z","1.0.14":"2026-04-21T20:55:47.234Z"},"bugs":{"url":"https://github.com/aiacta-org/aiacta/issues"},"author":{"name":"Eric Michel"},"license":"Apache-2.0","homepage":"https://github.com/aiacta-org/aiacta/tree/main/packages/crawl-manifest-client#readme","keywords":["aiacta","ai-attribution","crawl-manifest","ai-crawler","ai-transparency","attribution","content-attribution","publisher-rights","open-standard","ai-crawl","content-creators","api-client","pagination","rate-limiting","content-hash","ai-copyright","web-standard","crawl-audit"],"repository":{"type":"git","url":"git+https://github.com/aiacta-org/aiacta.git","directory":"packages/crawl-manifest-client"},"description":"Client for the AIACTA Crawl Manifest API. Query AI providers to see which of your pages were crawled, when, and for what purpose (AIACTA Proposal 1, §2.2)","maintainers":[{"name":"mobeloper","email":"shakesystems@gmail.com"}],"readme":"# @aiacta-org/crawl-manifest-client\n\n> Query any AIACTA-compliant AI provider's Crawl Manifest API. See exactly which of your pages were crawled, when, and for what purpose ([AIACTA](https://github.com/mobeloper/aiacta/blob/main/publications/AIACTA_FrameworkV1_0_EricMichel_2026March24.pdf) Proposal 1, §2.2).\n\n[![npm version](https://img.shields.io/npm/v/@aiacta-org/crawl-manifest-client.svg)](https://www.npmjs.com/package/@aiacta-org/crawl-manifest-client)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](../../LICENSE)\n[![AIACTA Spec](https://img.shields.io/badge/spec-AIACTA%2F1.0-orange.svg)](../../docs/proposals/proposal-1-crawl-manifests.md)\n\nAvailable in **Node.js** and **Python**.\n\n---\n\n## What is this?\n\nThe Crawl Manifest API is what AI providers expose so publishers can audit their crawl history — the AI equivalent of Google Search Console. This client handles the API query, automatic pagination, rate-limit backoff, and local caching.\n\n---\n\n## Install\n\n**Node.js**\n```bash\nnpm install @aiacta-org/crawl-manifest-client\n```\n\n**Python**\n```bash\npip install crawl-manifest-client\n```\n\n---\n\n## Quick Start\n\n### Node.js\n\n```javascript\nconst { CrawlManifestClient } = require('@aiacta-org/crawl-manifest-client');\n\nconst client = new CrawlManifestClient({\n  provider: 'anthropic',\n  apiKey:   process.env.ANTHROPIC_PUBLISHER_KEY,\n});\n\n// Fetch all crawl events for your domain — pagination handled automatically\nfor await (const entry of client.fetchAll({\n  domain: 'yourdomain.com',\n  from:   '2026-03-01T00:00:00Z',\n  to:     '2026-03-31T23:59:59Z',\n})) {\n  console.log(entry.url);\n  console.log('Last crawled:', entry.last_crawled);\n  console.log('Purpose:',     entry.purpose);           // ['rag', 'index', ...]\n  console.log('HTTP status:', entry.http_status_at_crawl);\n  console.log('Content hash:', entry.content_hash);     // sha256:...\n}\n```\n\n### Python\n\n```python\nfrom crawl_manifest_client import CrawlManifestClient\n\nclient = CrawlManifestClient(\n    provider='anthropic',\n    api_key=os.environ['ANTHROPIC_PUBLISHER_KEY']\n)\n\nfor entry in client.fetch_all(\n    domain='yourdomain.com',\n    from_date='2026-03-01T00:00:00Z',\n    to_date='2026-03-31T23:59:59Z'\n):\n    print(entry['url'], entry['purpose'])\n```\n\n---\n\n## Filter by purpose\n\n```javascript\n// See only pages crawled for model training\nfor await (const entry of client.fetchAll({\n  domain:  'yourdomain.com',\n  from:    '2026-01-01T00:00:00Z',\n  to:      '2026-03-31T00:00:00Z',\n  purpose: ['training'],\n})) {\n  console.log('Trained on:', entry.url);\n}\n```\n\nValid purpose values: `training` · `rag` · `index` · `quality-eval`\n\n---\n\n## Each result contains\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `url` | string | The full URL that was crawled |\n| `last_crawled` | ISO 8601 | When most recently crawled |\n| `crawl_count_30d` | integer | How many times in the last 30 days |\n| `purpose` | string[] | What the AI used the content for |\n| `http_status_at_crawl` | integer | HTTP status received (200, 404, etc.) |\n| `content_hash` | string | SHA-256 of the page content at crawl time |\n\n---\n\n## Date range limits\n\nThe API allows a maximum of **90 days per request** (§2.2). For longer periods, split your query:\n\n```javascript\n// Query 6 months across two requests\nconst ranges = [\n  { from: '2025-10-01T00:00:00Z', to: '2025-12-30T00:00:00Z' },\n  { from: '2026-01-01T00:00:00Z', to: '2026-03-31T00:00:00Z' },\n];\nfor (const range of ranges) {\n  for await (const entry of client.fetchAll({ domain: 'yourdomain.com', ...range })) {\n    // process entry\n  }\n}\n```\n\nRequesting more than 90 days throws a `RangeError` before making any API calls.\n\n---\n\n## Rate limits & caching\n\n- The spec allows 60 requests/hour per domain (§2.2)\n- The client warns when you approach the limit\n- Automatically waits on `429` responses, respecting `X-RateLimit-Reset`\n- Caches responses in memory for 1 hour — repeated queries return instantly\n\n---\n\n## API Reference\n\n### `new CrawlManifestClient({ provider, apiKey, baseUrl? })`\n\n| Option | Type | Required | Description |\n|--------|------|----------|-------------|\n| `provider` | string | Yes | Provider identifier, e.g. `'anthropic'`, `'openai'`, `'google'` |\n| `apiKey` | string | Yes | Bearer token from the provider's Publisher Portal |\n| `baseUrl` | string | No | Override the API base URL (for testing) |\n\n### `client.fetchAll({ domain, from, to, purpose? })`\n\nReturns an async generator yielding `CrawlManifestUrl` objects. Handles all pagination automatically.\n\n| Option | Type | Required | Description |\n|--------|------|----------|-------------|\n| `domain` | string | Yes | Your domain, e.g. `'yourdomain.com'` |\n| `from` | ISO 8601 | Yes | Start of query window |\n| `to` | ISO 8601 | Yes | End of query window (max 90 days from `from`) |\n| `purpose` | string[] | No | Filter to specific purpose values |\n\n---\n\n## Verify content integrity\n\n```javascript\nconst { computeContentHash } = require('@aiacta-org/crawl-manifest-client/src/node/content-hash');\n\nconst yourPageHtml = fs.readFileSync('./article.html', 'utf-8');\nconst yourHash     = computeContentHash(yourPageHtml);\n\nfor await (const entry of client.fetchAll({ domain: 'yourdomain.com', from, to })) {\n  if (entry.content_hash !== yourHash) {\n    console.warn('Content mismatch on', entry.url, '— AI may have crawled an older version');\n  }\n}\n```\n\n---\n\n## Related packages\n\n| Package | Purpose |\n|---------|---------|\n| [`@aiacta-org/ai-attribution-lint`](https://www.npmjs.com/package/@aiacta-org/ai-attribution-lint) | Validate your `ai-attribution.txt` |\n| [`@aiacta-org/ai-citation-sdk`](https://www.npmjs.com/package/@aiacta-org/ai-citation-sdk) | Receive citation webhook events |\n\n---\n\n## License & Copyright\n\nCopyright © 2026 Eric Michel, PhD. Licensed under the [Apache License 2.0](../../LICENSE).\n\nPart of the [AIACTA open standard](https://github.com/aiacta-org/aiacta).\n","readmeFilename":"README.md"}