{"_id":"402-announce","_rev":"27-1f5caf4b205d4e7b69b6e3d9f63a3b1c","name":"402-announce","dist-tags":{"latest":"2.2.0"},"versions":{"0.0.1":{"name":"402-announce","version":"0.0.1","license":"MIT","_id":"402-announce@0.0.1","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://github.com/TheCryptoDonkey/402-announce#readme","bugs":{"url":"https://github.com/TheCryptoDonkey/402-announce/issues"},"dist":{"shasum":"0e9d02473b13d017f2cbc2a7bb31a98dc80b363b","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-0.0.1.tgz","fileCount":1,"integrity":"sha512-/m/4w7DB88CYxkVBzpdJQ0WawQqFsnhqLKMvvpLN4y3n38J1pdzaF2cMUo1aLRhAbjy+/kjGUx9RO3jkUajHxA==","signatures":[{"sig":"MEUCIQDpG99zi8PAt1kfihNeXdcf+dvnudyx/n5q1T1cMhR0YQIgZXz4J622gaDthMFxlSwz4g3xqC409ZNVBO93lVI+vvU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":312},"_npmUser":{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"},"repository":{"url":"git+https://github.com/TheCryptoDonkey/402-announce.git","type":"git"},"_npmVersion":"10.9.2","description":"Announce HTTP 402 services on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/402-announce_0.0.1_1773521876636_0.6206029856983541","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"402-announce","version":"1.0.0","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402"],"license":"MIT","_id":"402-announce@1.0.0","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://github.com/TheCryptoDonkey/402-announce#readme","bugs":{"url":"https://github.com/TheCryptoDonkey/402-announce/issues"},"dist":{"shasum":"0bf1e213cfa903b39c4fc4f2c386e5c497605f82","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-1.0.0.tgz","fileCount":18,"integrity":"sha512-sPqa990ngqV0d2E0hYcSuEaKPSLuZjf02cPpmfW29bhhQBi5xN+QMYnj9l1y0cKbVmE6TXlJQNcZ8wzQfm12/g==","signatures":[{"sig":"MEQCIF9eXlthuOGOSJwBWB2nmNm7GZ0yPwVmtzI4M1M6bv3NAiAmks72dmHeELrwGVvnTn9kYOovzZ4conf6dn7YM7US8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":18899},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"47bd4cfd3f1f21d8314f3a86f80cf9fa42d05bd3","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8e8e2f2b-9875-4e35-a7c2-32ff118b70ef"}},"repository":{"url":"git+https://github.com/TheCryptoDonkey/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_1.0.0_1773522755552_0.3181596561901854","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"402-announce","version":"1.1.0","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402"],"license":"MIT","_id":"402-announce@1.1.0","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://github.com/TheCryptoDonkey/402-announce#readme","bugs":{"url":"https://github.com/TheCryptoDonkey/402-announce/issues"},"dist":{"shasum":"1520164a5912beb10f69e06c501d46fae6d7149b","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-1.1.0.tgz","fileCount":20,"integrity":"sha512-rEfQDYMVnp2GTicj2ESZlJ1ofkNt0jmmZz30BgpKQcB8aC4ajY+Y9q3/p9d1x/SGUNtvkrzYvKnQnfQItb/2Yg==","signatures":[{"sig":"MEYCIQCWQlWikEbub+y7a27hy1kW0zGc4Hai6+CSEB1PVcAUBgIhAN0EWRWFAkHy9FymudJvBZPGiYLBSdPCCJ7X90T+uT7x","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34566},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"da902dd5156a7184657435581096102a5f8aedf1","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8e8e2f2b-9875-4e35-a7c2-32ff118b70ef"}},"repository":{"url":"git+https://github.com/TheCryptoDonkey/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_1.1.0_1773528253679_0.9732256956118681","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"402-announce","version":"1.1.1","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402"],"license":"MIT","_id":"402-announce@1.1.1","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://github.com/TheCryptoDonkey/402-announce#readme","bugs":{"url":"https://github.com/TheCryptoDonkey/402-announce/issues"},"dist":{"shasum":"7e2abbf94d9c7fc9ad7ab39421326258eef59c44","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-1.1.1.tgz","fileCount":20,"integrity":"sha512-vdnu7gm294QaojMUIOotg35474Wip6GfCmax3eGj2tF157yZAqQd5mEgL3932L8z0hyG8F//m4cPRTc5WdLi0g==","signatures":[{"sig":"MEQCIHIxSaxPDpM0Kvkl87VABdAAHrK0PBw2eeKMJQ8zCCoLAiATeKMyDiegINSpxufsBmCVnlTaNc5n6tThESJzl8y3aQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":41698},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"2fcc365087b4cb6709b6c6bb51f07f85484c17a3","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8e8e2f2b-9875-4e35-a7c2-32ff118b70ef"}},"repository":{"url":"git+https://github.com/TheCryptoDonkey/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_1.1.1_1773530408979_0.3737044524719084","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"402-announce","version":"1.1.2","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402"],"license":"MIT","_id":"402-announce@1.1.2","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://github.com/TheCryptoDonkey/402-announce#readme","bugs":{"url":"https://github.com/TheCryptoDonkey/402-announce/issues"},"dist":{"shasum":"d47fec78f3e1b806ecab708d305c34f4f22f13b3","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-1.1.2.tgz","fileCount":20,"integrity":"sha512-5ETb5/IbDauSqmu8cjTPoe1odMbHw6V4QnNLmwzpIz5IQBsGaW7bWGOTrn60/GS3ZxaBkEe/E9ICR38+IHRjHw==","signatures":[{"sig":"MEYCIQDlMQkQep9mw4p8i2O0Lisxj7HNr0QL2f65oPzVOjt4wgIhAKIQhQrpxOOLV1nb2oCt+sfI8OLQp1IJhMSTSj6D/1MD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@1.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":49104},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"efb82cad6f6f0289f151d339b3208344cc74225b","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8e8e2f2b-9875-4e35-a7c2-32ff118b70ef"}},"repository":{"url":"git+https://github.com/TheCryptoDonkey/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_1.1.2_1773531379546_0.3431244383671992","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"402-announce","version":"1.1.3","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402"],"license":"MIT","_id":"402-announce@1.1.3","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://github.com/TheCryptoDonkey/402-announce#readme","bugs":{"url":"https://github.com/TheCryptoDonkey/402-announce/issues"},"dist":{"shasum":"718f76d7c8892fabf92e377060457e7b9ced1567","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-1.1.3.tgz","fileCount":20,"integrity":"sha512-w+9qYI1sMPVzzpWgEXuGtNOdcYvNyd2Dp8kcFf8iAIEaTcy265Ysy0a3/DsPX17tu9d/XMuoChU75nSlSNesPg==","signatures":[{"sig":"MEUCIBijfHGugxF8BRzOrFgWeV/HIq1lp9kTzozft0KNjKbRAiEAl9TXySSbzSYiwbfgnfm3CjsP0E4ubDvCqaIsTUZ9FUo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@1.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":55240},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"50512420ac907c0a99b2e93b16e80ff7932fbaf9","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8e8e2f2b-9875-4e35-a7c2-32ff118b70ef"}},"repository":{"url":"git+https://github.com/TheCryptoDonkey/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_1.1.3_1773533430617_0.6755713331332542","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"402-announce","version":"1.1.4","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402"],"license":"MIT","_id":"402-announce@1.1.4","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://github.com/TheCryptoDonkey/402-announce#readme","bugs":{"url":"https://github.com/TheCryptoDonkey/402-announce/issues"},"dist":{"shasum":"20878bb3c673b384c0909f74f66be6913203c428","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-1.1.4.tgz","fileCount":20,"integrity":"sha512-9uDXk23ik5AwGrlKtkahqY69ds5ppa6rXmCZjuMwsrGpMRIYpXx2Qt1jVGmxt4cPq28+7IGkLmzKvjfRQQQV/A==","signatures":[{"sig":"MEUCIQCwGLgwJ2RbzGjHely4Z1TSrhuFFjBRBVlza5Wh6XxkiwIgAUpGuyf2Zh13liJiiR8yUOF6HuQA1nhXxq3DOHZLll4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@1.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59849},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"9b49d07b400af0bafeb8f3f5a17231e068136067","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8e8e2f2b-9875-4e35-a7c2-32ff118b70ef"}},"repository":{"url":"git+https://github.com/TheCryptoDonkey/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_1.1.4_1773534441315_0.5726033450617916","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"402-announce","version":"1.1.5","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402"],"license":"MIT","_id":"402-announce@1.1.5","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://github.com/TheCryptoDonkey/402-announce","bugs":{"url":"https://github.com/TheCryptoDonkey/402-announce/issues"},"dist":{"shasum":"a3f96d30a9eab8523b825323e6329ffdd67b56df","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-1.1.5.tgz","fileCount":20,"integrity":"sha512-RGOLXO3ELVwOTCvR6fKEyUE8+BJzZiziRV1E+/5yqObKnMNQyjwXxJhC+En/MYbKoVTFV5NnVvVucbj7oknVyQ==","signatures":[{"sig":"MEUCIC0a9hoiHVQzI+mfqmIIpOqdZF2ZRQLPLOBOJ3jMn4eBAiEA+emCHf5ZCKt0TZXbgaWISklXefOcZaWMi/66ymljLl0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@1.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":62551},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"18be4c82bec590f93f4e50908c24b34136f96962","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8e8e2f2b-9875-4e35-a7c2-32ff118b70ef"}},"repository":{"url":"git+https://github.com/TheCryptoDonkey/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_1.1.5_1773536107635_0.1176114450193333","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"402-announce","version":"1.2.0","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402"],"license":"MIT","_id":"402-announce@1.2.0","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://github.com/TheCryptoDonkey/402-announce","bugs":{"url":"https://github.com/TheCryptoDonkey/402-announce/issues"},"dist":{"shasum":"1767b726219571c87d8691c8f6fd8e741df34a58","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-1.2.0.tgz","fileCount":20,"integrity":"sha512-ZBDDqLQhHh3y61PTWBXAeYhX0KbFY7eW1Lk2/feGWh03aWrGKi+7ytlEqpF3gdYwPBeTMcK7eDyhqrm4VE/SZA==","signatures":[{"sig":"MEYCIQC1fZjAdqdAI/hPp45KASLtV/OgIJKhL6k4P9lQxk75owIhAOjxu4GVNYsWFnD4+z62EE0fc0ZQeSPljI1ufAH0N9D+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":64065},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"9324a773554a3ba9bbaacf85aada5361028ef17a","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8e8e2f2b-9875-4e35-a7c2-32ff118b70ef"}},"repository":{"url":"git+https://github.com/TheCryptoDonkey/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_1.2.0_1773539398793_0.6168782001334532","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"402-announce","version":"1.2.1","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402"],"license":"MIT","_id":"402-announce@1.2.1","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://github.com/TheCryptoDonkey/402-announce","bugs":{"url":"https://github.com/TheCryptoDonkey/402-announce/issues"},"dist":{"shasum":"d1b4716164a63ddb87467271ed1953b3f7438dc7","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-1.2.1.tgz","fileCount":20,"integrity":"sha512-ttN+YZwrSWC/KMhsqNtCruAYHcV0Spsi9poVsdE+Ls0gJaABtu4MMiByAs5EnUaigWKb1ZQTvWTOSJ49/fbtyQ==","signatures":[{"sig":"MEUCIHfFkk9SgkUufsNqUwpz4nsLT4LwObpu5nVwd2Y1DuRlAiEArBlUJyxqaTmDLZA3+Bo6JNsMWMk/946JyWpO+TIAh78=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":64602},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"d726f95e99a44b568a3ecbecd9b809322a440618","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8e8e2f2b-9875-4e35-a7c2-32ff118b70ef"}},"repository":{"url":"git+https://github.com/TheCryptoDonkey/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_1.2.1_1773562477076_0.46084457830067804","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"402-announce","version":"1.3.0","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402"],"license":"MIT","_id":"402-announce@1.3.0","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://github.com/TheCryptoDonkey/402-announce","bugs":{"url":"https://github.com/TheCryptoDonkey/402-announce/issues"},"dist":{"shasum":"3674e9779694681a8808d1406ce5aaa5c894be7e","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-1.3.0.tgz","fileCount":20,"integrity":"sha512-iSMfUVPYviZH8XEsBiG+EWwVj/WEEyZ0tFqlgsDuM8WA6b49B8f0h3Wc4pAJOBx2KkKNFoZfTpWpQH10iCe86Q==","signatures":[{"sig":"MEQCIAiM/mscOlAekPvpphxz+huxOq5V9BxhvKHhSfKcm+oqAiB4X2kCVGB3ycouY5IaNIbJP0n/7xFO+Ah4L6S14YFZog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":65785},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"828a3d71cad4ac0c4df74afe6aef86683e2c65eb","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8e8e2f2b-9875-4e35-a7c2-32ff118b70ef"}},"repository":{"url":"git+https://github.com/TheCryptoDonkey/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_1.3.0_1773616675472_0.7283510196203762","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"402-announce","version":"1.4.0","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402"],"license":"MIT","_id":"402-announce@1.4.0","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://github.com/TheCryptoDonkey/402-announce","bugs":{"url":"https://github.com/TheCryptoDonkey/402-announce/issues"},"dist":{"shasum":"e09a284940d779c31d44b6fdecc44032984e0805","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-1.4.0.tgz","fileCount":20,"integrity":"sha512-gjKPcwRvhgwjIGPXVxnWf7PkanD10XDr4LXPVFOtX82GrrvE9W1nA1aPUlzqzU4ktucFDxIzL0sHXDGjscT4cA==","signatures":[{"sig":"MEQCIB/7bRh/AppjCU8qbZr5uUuxZTUQO0ZzzAFpywk9sf33AiB72gc5tANTnVhpjNwvOf5MDnt8Fxu1nX41osYJPwKUaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":65785},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"16eca14170b8cdacf955c3a60d9792498471f0eb","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8e8e2f2b-9875-4e35-a7c2-32ff118b70ef"}},"repository":{"url":"git+https://github.com/TheCryptoDonkey/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_1.4.0_1773618552584_0.6393806923943426","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"402-announce","version":"1.4.1","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402"],"license":"MIT","_id":"402-announce@1.4.1","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://github.com/TheCryptoDonkey/402-announce","bugs":{"url":"https://github.com/TheCryptoDonkey/402-announce/issues"},"dist":{"shasum":"676ef373a3b7845a14efcf11fc6d69795005d84f","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-1.4.1.tgz","fileCount":20,"integrity":"sha512-+JDGJiOn1iXudCRwrzyTkwlQkP438iw5RM/U6Bi/mMD//To5//ACQDuqI//apVxzlFxSfVJ9ZpGIJ8+aMNGo8w==","signatures":[{"sig":"MEUCIQDVAVD7EPSwXmE7rGNByLlf55modwux+cIWW5PYuzy4kAIgYj7hIYLghDZEzLMBNUK1T4gd/KUeDZ+841t9IzQbdnE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@1.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":66506},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"fe0cec5ead6aeef66463e156fc9af4b1116f4573","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8e8e2f2b-9875-4e35-a7c2-32ff118b70ef"}},"repository":{"url":"git+https://github.com/TheCryptoDonkey/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_1.4.1_1773619705939_0.3551831072729683","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"402-announce","version":"1.5.0","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402"],"license":"MIT","_id":"402-announce@1.5.0","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://github.com/TheCryptoDonkey/402-announce","bugs":{"url":"https://github.com/TheCryptoDonkey/402-announce/issues"},"dist":{"shasum":"2eeb9e682f6ae6dc5147208a52536e8372c184fd","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-1.5.0.tgz","fileCount":20,"integrity":"sha512-9FTJlaA7yQ9orWPQ8+n3ErDFNDGhXD8wobzV0Wsv6XFUv0OFB7ZGuL0LIyy0x5jbheWrX1E3EIOlk02vJwPejg==","signatures":[{"sig":"MEQCIATuN6uiGGSA5YKXZFGOjL1W7i+EcJw5pTzJuVH5wI+BAiBv5sOA38uHcaG2Ejq3LK2VCop/Otu1EFVM4BdP5TIDew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":66506},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"1193e2a95af64f847eda3fe98c5a9df27767414e","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8e8e2f2b-9875-4e35-a7c2-32ff118b70ef"}},"repository":{"url":"git+https://github.com/TheCryptoDonkey/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_1.5.0_1773620214511_0.7723635871625771","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"402-announce","version":"1.6.0","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402"],"license":"MIT","_id":"402-announce@1.6.0","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://github.com/TheCryptoDonkey/402-announce","bugs":{"url":"https://github.com/TheCryptoDonkey/402-announce/issues"},"dist":{"shasum":"e0a0f0b3b3c4b009f0289f01855bfd82cf681c88","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-1.6.0.tgz","fileCount":20,"integrity":"sha512-umqZ8hgtyYQ0QkmftnovG943dJDvAVd+R/Ja34YOg3/uyhTW817wjhNvQ4nqWKU5fPIeiblPvlY5FdLbSgFscw==","signatures":[{"sig":"MEUCIQDyvPLf3aQcJm+1OpLrpq8Sn0MzoiwTKtDI86bKx/Lv1AIgFi76TXO5pcrmUx6DC5V5inD11trusev0PnVYjFCY0Vk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":66506},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"150ebf335f85a2ff63605ebd659e307bc2a7c655","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8e8e2f2b-9875-4e35-a7c2-32ff118b70ef"}},"repository":{"url":"git+https://github.com/TheCryptoDonkey/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_1.6.0_1773620742157_0.8571513396410269","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"402-announce","version":"1.7.0","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402"],"license":"MIT","_id":"402-announce@1.7.0","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://github.com/TheCryptoDonkey/402-announce","bugs":{"url":"https://github.com/TheCryptoDonkey/402-announce/issues"},"dist":{"shasum":"f54124c20014bffc0175de7995ad16290acb078e","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-1.7.0.tgz","fileCount":20,"integrity":"sha512-eAQGkg/nNd0Wnx32GxLUKg7RcvbGuM4zkMRF3I7WmixeyOLcjN7pD4v3d1nc7hMdr4P8T4P1xPx+7JLXhNzZVw==","signatures":[{"sig":"MEQCIACKaciOtBDOiHQqNWfjzRx197S+kmeCHGhmNncU6P5DAiB9hAbrZvqhXLqr4diklTbTlBhGfPR22ByycUb1f6+9/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":66506},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"a1156130b3c8b9749af9f6d80d4c2530f1afb2e8","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8e8e2f2b-9875-4e35-a7c2-32ff118b70ef"}},"repository":{"url":"git+https://github.com/TheCryptoDonkey/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_1.7.0_1773620915467_0.03579581402554477","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"402-announce","version":"1.8.0","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402"],"license":"MIT","_id":"402-announce@1.8.0","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://github.com/TheCryptoDonkey/402-announce","bugs":{"url":"https://github.com/TheCryptoDonkey/402-announce/issues"},"dist":{"shasum":"09b15d0c1d7c9c230557a61428e22fecbc719e9d","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-1.8.0.tgz","fileCount":20,"integrity":"sha512-UA6r+qYTpoL9I8gF0YYUOlDAGBkq8/9vblPYNWW68AkfAPT0OQCOVuOKt0dP3s52VEW/PNL5glP0xrX1k0V6nQ==","signatures":[{"sig":"MEUCIQCAiFzWZgLqpOROAcA9SENUagv/4XuSVwyw7Gg9FwssaQIgTlb9TbUMhSYXfDqrC93+BriL9eSckqKWb+QeQTqEKFc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":66506},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"3502ed85652c5654b0a1bb5f55eb1875082d8233","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8e8e2f2b-9875-4e35-a7c2-32ff118b70ef"}},"repository":{"url":"git+https://github.com/TheCryptoDonkey/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_1.8.0_1773624167947_0.8851072624225926","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"402-announce","version":"1.9.0","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402"],"license":"MIT","_id":"402-announce@1.9.0","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://github.com/TheCryptoDonkey/402-announce","bugs":{"url":"https://github.com/TheCryptoDonkey/402-announce/issues"},"dist":{"shasum":"cc31eb54378f38093e210a694eead80e1ea51df2","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-1.9.0.tgz","fileCount":20,"integrity":"sha512-lFFslizzMP+jaM7MMOCMySEOy9Zjk/mEZdiT4MPDvJK1MB6mo91Kp9NRMMuH4PGVAlZFLOA8ZNxiwUqel7dm2w==","signatures":[{"sig":"MEQCIG7jsKT1rEfwDmq26HW6uZSc+b6S3DyphdQ45LqOVunAAiAo9iEi+Z9So8RpoK9S7atWUxZKTYGBbst3CBb1m5gHqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@1.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":66506},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"228236174c978329627d5374ff628c0d4afe21d1","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8e8e2f2b-9875-4e35-a7c2-32ff118b70ef"}},"repository":{"url":"git+https://github.com/TheCryptoDonkey/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_1.9.0_1773647343627_0.40085914664944067","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"402-announce","version":"1.10.0","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402"],"license":"MIT","_id":"402-announce@1.10.0","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://github.com/TheCryptoDonkey/402-announce","bugs":{"url":"https://github.com/TheCryptoDonkey/402-announce/issues"},"dist":{"shasum":"ee4895f99c1f2d66887642643fac398252ba05c9","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-1.10.0.tgz","fileCount":20,"integrity":"sha512-fNdi/W4lrgLILNuwHw4J8GpUP91M451Cf8QxjxugzF7ZM5vZuwW0QJMfTWgepABZwRgbrHkuK8ur3BKHO6VMfg==","signatures":[{"sig":"MEQCIGYOGowV0fshe9WDPAmDANePicG2WduhwvbExJzuBq0xAiBU7XV7yfYlpkqzeEXdrJw8Jr+ZbiXT/UVQyigogzXPMg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@1.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":66507},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"987e7b43304d66315a6a31a037986ea276180a63","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8e8e2f2b-9875-4e35-a7c2-32ff118b70ef"}},"repository":{"url":"git+https://github.com/TheCryptoDonkey/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_1.10.0_1773648199650_0.07444405225772677","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"402-announce","version":"1.11.0","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402"],"license":"MIT","_id":"402-announce@1.11.0","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://402.pub","bugs":{"url":"https://github.com/TheCryptoDonkey/402-announce/issues"},"dist":{"shasum":"796fa19c350c96840320641a2291fff7c1016659","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-1.11.0.tgz","fileCount":20,"integrity":"sha512-PgCeqflw4lKL00thvK3KPUskV4BUE8gVBYdlhw6VdDSw8I7awkOkY3PkuV9k02uj/jPywCE2zGG9kP9ZJH87Ig==","signatures":[{"sig":"MEQCIF42ZoGjKOCPLSuikA9aO6dSCkJSeoLCnqwKALnk4nLRAiBF8Et9CaZu3SEMteOkbpnUFVbt5fhpIrHUMAsUBiMv/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@1.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70436},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"5aee78da3583642a26f22f99a173f06ebc87a53b","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8e8e2f2b-9875-4e35-a7c2-32ff118b70ef"}},"repository":{"url":"git+https://github.com/TheCryptoDonkey/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_1.11.0_1773668426924_0.513629000250142","host":"s3://npm-registry-packages-npm-production"}},"1.11.1":{"name":"402-announce","version":"1.11.1","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402"],"license":"MIT","_id":"402-announce@1.11.1","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://402.pub","bugs":{"url":"https://github.com/TheCryptoDonkey/402-announce/issues"},"dist":{"shasum":"729ed42c7ae3d3633a356c8fc6acf00c52aa444b","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-1.11.1.tgz","fileCount":20,"integrity":"sha512-71OzlIRG2ffRTLmITfn+wibv/ZmK1V9XPaXsW+atNwCRM/CsvC/SHP0T/APyuCRSjymQH9Wh5pQdxTB3+yM/sw==","signatures":[{"sig":"MEUCIQCV+CtZnzieZiEsouXd/yDabxouLLHWan9VCYuOpa+CIwIgMTjHyKi5/eVKnPle8KsU8kpuwh0Vtn+s5NexnxjJR9Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@1.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":74672},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"48e192139c0bffb18db77db2b3060769e2a1c44d","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8e8e2f2b-9875-4e35-a7c2-32ff118b70ef"}},"repository":{"url":"git+https://github.com/TheCryptoDonkey/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_1.11.1_1773669857664_0.38157232101054595","host":"s3://npm-registry-packages-npm-production"}},"1.11.2":{"name":"402-announce","version":"1.11.2","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402","bitcoin","paywall","micropayments","decentralised"],"license":"MIT","_id":"402-announce@1.11.2","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://402.pub","bugs":{"url":"https://github.com/TheCryptoDonkey/402-announce/issues"},"dist":{"shasum":"34a4206ffaea3bc072bbc2248755ee8135b2a76c","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-1.11.2.tgz","fileCount":20,"integrity":"sha512-Vz6149OGXn5Jdm1P8lnnAm8NrpTwsn35PvreCaqGDKnsLD7jy/3BLgRbek5sjNbT29lLQHgexCRI1i98Sux0XQ==","signatures":[{"sig":"MEQCIA+bUEisZM0Akgl//lf2gXsVtCHy3GIK0BbDCpyCQavMAiBQ+XCX6rR1l6my8nvNIlOZGyTSFkNFz4mdwVOgKaqPiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@1.11.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":80970},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"bc5a45bec3ba55ace7f02beef4a60df05e4a7956","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8e8e2f2b-9875-4e35-a7c2-32ff118b70ef"}},"repository":{"url":"git+https://github.com/TheCryptoDonkey/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_1.11.2_1773674573557_0.08307104452290415","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"402-announce","version":"2.0.0","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402","bitcoin","paywall","micropayments","decentralised"],"license":"MIT","_id":"402-announce@2.0.0","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://402.pub","bugs":{"url":"https://github.com/forgesworn/402-announce/issues"},"dist":{"shasum":"62dd81073929544fe272ace41914d71e6580c511","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-2.0.0.tgz","fileCount":20,"integrity":"sha512-fLk5WNbCjhJaIZmJJRzWmOg0oqRped/rtSzUu0CNoNgMtZB6pCLQop8lSxSVj9ZyU33WHJS7dDIBdfbPqfQyGQ==","signatures":[{"sig":"MEMCIH5nhuR/6ZylYBJkoSjfetztnwm/WVPzjGnn1/rADibvAh8bgQ37KD1Uu0gKHaFrEC1mFo8lHWcq8hQhBcpHH2OF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":82193},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"82c6a310404c0ffdf9717c173900872a8131938a","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:455de342-dc9a-41b5-9e20-1ac1339b97a0"}},"repository":{"url":"git+https://github.com/forgesworn/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.1.0","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_2.0.0_1773835743639_0.4949730249469362","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"402-announce","version":"2.0.1","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402","bitcoin","paywall","micropayments","decentralised"],"license":"MIT","_id":"402-announce@2.0.1","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://402.pub","bugs":{"url":"https://github.com/forgesworn/402-announce/issues"},"dist":{"shasum":"0c07e3c0b4966fd3398b79ecdf62a03f5d9c25ea","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-2.0.1.tgz","fileCount":20,"integrity":"sha512-z1X7sTwWCe8nU21bWYuytuiUZ4EN5nNTZ6q7npC8OFCJ/styIjmo6OtN6x+wRkx4e2BGEV7GgwC8wRHs1+KNQw==","signatures":[{"sig":"MEYCIQCk6ryK+ThxF6dO2ymR6DWiWEMCRBlU42eFAu4GENRraQIhAOVlXGmu6fc4jK6l3cdczBY8of5vY1cG3vIbBmmrqaU8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":82191},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"1c22b11878c53a1946461b99e149f664d601f2cc","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:455de342-dc9a-41b5-9e20-1ac1339b97a0"}},"repository":{"url":"git+https://github.com/forgesworn/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.1.0","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_2.0.1_1773998916512_0.7937799036021798","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"402-announce","version":"2.1.0","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402","bitcoin","paywall","micropayments","decentralised"],"license":"MIT","_id":"402-announce@2.1.0","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://402.pub","bugs":{"url":"https://github.com/forgesworn/402-announce/issues"},"dist":{"shasum":"9c6d0504a7850a3b8f9e6d1e988809bc89e52cd6","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-2.1.0.tgz","fileCount":20,"integrity":"sha512-ohDwYTzqZOo68nkJvT3I+C+utrmEbldzJjKbVufWTeOPukaLC4roj0RPsUBZZknBTD1/A47pUXJGt+JJVH3YRg==","signatures":[{"sig":"MEUCIQC4y0jrrZQRkaEQlDn0yOcb+zCDe45e8eUKIJ56PSZIJAIgHkSYgsDgT3wEmcT2MG0Pm96fzIxkMoMj/t5+T+xUmtY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":82374},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"gitHead":"ee7b186aa24370b046a88ca88cbff0e26c48e113","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:455de342-dc9a-41b5-9e20-1ac1339b97a0"}},"repository":{"url":"git+https://github.com/forgesworn/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.1.0","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_2.1.0_1774350421476_0.20871735139450576","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"402-announce","version":"2.1.1","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402","bitcoin","paywall","micropayments","decentralised"],"license":"MIT","_id":"402-announce@2.1.1","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"homepage":"https://402.pub","bugs":{"url":"https://github.com/forgesworn/402-announce/issues"},"dist":{"shasum":"7f7ab4ca4d16c7e8f2e8da1f8c6df90e271d0022","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-2.1.1.tgz","fileCount":21,"integrity":"sha512-V5GbVBLP58/qDm8TgjQ8f6jFaf+4WA10nHKN39r4rvmmTALnFEu1iNNRGWNPSCD50dtkmP4GqMe7w4QrPpe7LA==","signatures":[{"sig":"MEUCIA+ktAZaQH86NjCiT4OLqyyjgcfY9Fbn4RQy5Fnpn4EgAiEAxyu2OyB1qYpmKOtuf0ClDEt6jCY+cn2+A/mIzUpdF5E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@2.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":89324},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./build/index.d.ts","import":"./build/index.js"}},"funding":{"url":"lightning:thedonkey@strike.me","type":"lightning"},"gitHead":"d473704e1f2cf738703f1095827b348581c9f42e","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:455de342-dc9a-41b5-9e20-1ac1339b97a0"}},"repository":{"url":"git+https://github.com/forgesworn/402-announce.git","type":"git"},"_npmVersion":"11.11.1","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"nostr-tools":"^2.12.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.0","@types/node":"^25.5.0","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.1.0","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/402-announce_2.1.1_1775993372384_0.32889229291667044","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"402-announce","version":"2.2.0","type":"module","description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","license":"MIT","publishConfig":{"provenance":true},"main":"./build/index.js","types":"./build/index.d.ts","exports":{".":{"import":"./build/index.js","types":"./build/index.d.ts"}},"scripts":{"build":"tsc","test":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build && npm test"},"dependencies":{"nostr-tools":"^2.12.0"},"devDependencies":{"@types/node":"^25.5.0","@vitest/coverage-v8":"^4.1.0","typescript":"^5.7.0","vitest":"^4.0.0"},"keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402","bitcoin","paywall","micropayments","decentralised"],"homepage":"https://402.pub","repository":{"type":"git","url":"git+https://github.com/forgesworn/402-announce.git"},"engines":{"node":">=18"},"funding":{"type":"lightning","url":"lightning:profusemeat89@walletofsatoshi.com"},"_id":"402-announce@2.2.0","bugs":{"url":"https://github.com/forgesworn/402-announce/issues"},"_integrity":"sha512-ejpHZjVZBW/ERpE5bVlU615jh4uPNGfxAgcgUj+p7Bs1+Utc1M9NYDu3OcPv0I2fT9kVZ+gWU6MBzfIzpJm2kg==","_resolved":"/home/runner/work/_temp/forgesworn-anvil/402-announce-2.2.0.tgz","_from":"file:/home/runner/work/_temp/forgesworn-anvil/402-announce-2.2.0.tgz","_nodeVersion":"24.11.0","_npmVersion":"11.6.1","dist":{"integrity":"sha512-ejpHZjVZBW/ERpE5bVlU615jh4uPNGfxAgcgUj+p7Bs1+Utc1M9NYDu3OcPv0I2fT9kVZ+gWU6MBzfIzpJm2kg==","shasum":"1144f90e211150848c70e0ee3e5f871b727639b1","tarball":"https://registry.npmjs.org/402-announce/-/402-announce-2.2.0.tgz","fileCount":21,"unpackedSize":89809,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/402-announce@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAGLltxZGq2N93qrz4JwPnf1GYIY/wjWe3UUs2tjNsKAAiEAyUg4aYelZZfqgpyvyeDtos0QbDIWF5HfwKNRZcr9aTc="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ad81dbbf-c03e-4f62-a5d4-372921bc28f9"}},"directories":{},"maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/402-announce_2.2.0_1787369941160_0.5723015026625036"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-14T20:57:56.554Z","modified":"2026-08-22T03:39:01.645Z","0.0.1":"2026-03-14T20:57:56.767Z","1.0.0":"2026-03-14T21:12:35.696Z","1.1.0":"2026-03-14T22:44:13.826Z","1.1.1":"2026-03-14T23:20:09.129Z","1.1.2":"2026-03-14T23:36:19.698Z","1.1.3":"2026-03-15T00:10:30.776Z","1.1.4":"2026-03-15T00:27:21.498Z","1.1.5":"2026-03-15T00:55:07.786Z","1.2.0":"2026-03-15T01:49:58.964Z","1.2.1":"2026-03-15T08:14:37.233Z","1.3.0":"2026-03-15T23:17:55.607Z","1.4.0":"2026-03-15T23:49:12.721Z","1.4.1":"2026-03-16T00:08:26.074Z","1.5.0":"2026-03-16T00:16:54.668Z","1.6.0":"2026-03-16T00:25:42.341Z","1.7.0":"2026-03-16T00:28:35.618Z","1.8.0":"2026-03-16T01:22:48.093Z","1.9.0":"2026-03-16T07:49:03.767Z","1.10.0":"2026-03-16T08:03:19.794Z","1.11.0":"2026-03-16T13:40:27.067Z","1.11.1":"2026-03-16T14:04:17.809Z","1.11.2":"2026-03-16T15:22:53.708Z","2.0.0":"2026-03-18T12:09:03.784Z","2.0.1":"2026-03-20T09:28:36.694Z","2.1.0":"2026-03-24T11:07:01.631Z","2.1.1":"2026-04-12T11:29:32.541Z","2.2.0":"2026-08-22T03:39:01.319Z"},"bugs":{"url":"https://github.com/forgesworn/402-announce/issues"},"license":"MIT","homepage":"https://402.pub","keywords":["l402","x402","402","nostr","discovery","lightning","cashu","mcp","ai-agents","machine-payments","http-402","bitcoin","paywall","micropayments","decentralised"],"repository":{"type":"git","url":"git+https://github.com/forgesworn/402-announce.git"},"description":"Announce HTTP 402 services (L402 and x402) on Nostr for decentralised discovery. Kind 31402 parameterised replaceable events.","maintainers":[{"name":"thecryptodonkey","email":"thecryptodonkey@proton.me"}],"readme":"# 402-announce\n\n**Nostr:** [`npub1mgvlrnf5hm9yf0n5mf9nqmvarhvxkc6remu5ec3vf8r0txqkuk7su0e7q2`](https://njump.me/npub1mgvlrnf5hm9yf0n5mf9nqmvarhvxkc6remu5ec3vf8r0txqkuk7su0e7q2)\n\nAnnounce HTTP 402 services on Nostr for decentralised discovery. Supports both L402 and x402 payment protocols.\n\n[![CI](https://github.com/forgesworn/402-announce/actions/workflows/ci.yml/badge.svg)](https://github.com/forgesworn/402-announce/actions/workflows/ci.yml)\n[![Coverage](https://img.shields.io/badge/coverage-95%25-brightgreen.svg)](./README.md)\n[![MIT Licence](https://img.shields.io/badge/licence-MIT-blue.svg)](./LICENSE)\n[![GitHub Sponsors](https://img.shields.io/github/sponsors/TheCryptoDonkey?logo=githubsponsors&color=ea4aaa&label=Sponsor)](https://github.com/sponsors/TheCryptoDonkey)\n\nPublishes **kind 31402** parameterised replaceable events so that AI agents (and any Nostr client) can discover paid APIs without a central registry.\n\n**[Live Dashboard](https://402.pub)** — see every service announcing on the network right now.\n\n## How it works\n\n```mermaid\nflowchart LR\n    A[Your API] -->|\"npm install<br/>402-announce\"| B[402-announce]\n    B -->|\"kind 31402<br/>signed event\"| C[(Nostr Relays)]\n    C -->|subscribe & filter| D[402-mcp]\n    D -->|discover + pay| A\n\n    style B fill:#f59e0b,color:#000\n    style C fill:#8b5cf6,color:#fff\n    style D fill:#3b82f6,color:#fff\n```\n\nYour API publishes a service announcement to Nostr relays. AI agents (via [402-mcp](https://github.com/forgesworn/402-mcp)) discover it, pay the invoice, and consume the API. No central registry required.\n\n## Quick start\n\n```bash\nnpm install 402-announce\n```\n\n```typescript\nimport { announceService } from '402-announce'\n\nconst handle = await announceService({\n  secretKey: '64-char-hex-nostr-secret-key',\n  relays: ['wss://relay.damus.io', 'wss://relay.primal.net'],\n  identifier: 'jokes-api',\n  name: 'Jokes API',\n  urls: ['https://jokes.example.com'],\n  about: 'A joke-telling service behind an L402 paywall',\n  pricing: [\n    { capability: 'get_joke', price: 1, currency: 'sats' },\n  ],\n  paymentMethods: [['l402', 'lightning'], ['cashu'], ['xcashu']],\n  topics: ['comedy', 'ai'],\n  capabilities: [\n    { name: 'get_joke', description: 'Returns a random joke' },\n  ],\n  version: '1.0.0',\n})\n\nconsole.log('Published event:', handle.eventId)\nconsole.log('From pubkey:', handle.pubkey)\n\n// Later, when shutting down:\nhandle.close()\n```\n\n**Multi-transport example** (clearnet + Tor + Handshake — same service, different access paths):\n\n```typescript\nconst handle = await announceService({\n  secretKey: '64-char-hex-nostr-secret-key',\n  relays: ['wss://relay.damus.io', 'wss://relay.primal.net'],\n  identifier: 'jokes-api',\n  name: 'Jokes API',\n  urls: [\n    'https://jokes.example.com',                  // clearnet\n    'http://jokesxyz...onion',                    // Tor hidden service\n    'https://jokes.example.hns',                  // Handshake domain\n  ],\n  about: 'A joke-telling service behind an L402 paywall',\n  pricing: [{ capability: 'get_joke', price: 1, currency: 'sats' }],\n  paymentMethods: [['l402', 'lightning']],\n  topics: ['comedy', 'ai'],\n})\n```\n\nEach URL becomes a separate `url` tag in the kind 31402 event. Clients try them in order and use whichever they can reach. `urls` accepts 1–10 entries; any parseable URL is valid.\n\nSee [`examples/`](./examples) for runnable scripts.\n\n## How it fits together\n\n```mermaid\nflowchart LR\n    subgraph \"Your Server\"\n        API[Your API]\n        TB[toll-booth<br/>L402 paywall]\n        AN[402-announce]\n    end\n\n    subgraph \"Nostr Network\"\n        R1[(Relay 1)]\n        R2[(Relay 2)]\n    end\n\n    subgraph \"AI Agent\"\n        MCP[402-mcp<br/>discovery + payment]\n    end\n\n    API --> TB\n    TB -->|\"protects\"| API\n    AN -->|\"kind 31402\"| R1\n    AN -->|\"kind 31402\"| R2\n    R1 -->|\"subscribe\"| MCP\n    R2 -->|\"subscribe\"| MCP\n    MCP -->|\"HTTP + L402 token\"| TB\n\n    style TB fill:#ef4444,color:#fff\n    style AN fill:#f59e0b,color:#000\n    style MCP fill:#3b82f6,color:#fff\n```\n\n1. **[toll-booth](https://github.com/forgesworn/toll-booth)** wraps your API with an L402 paywall\n2. **402-announce** publishes a kind 31402 event describing the service, pricing, and payment methods\n3. **[402-mcp](https://github.com/forgesworn/402-mcp)** discovers the announcement, pays the invoice, and calls your API\n\n## What it does\n\n- Builds and signs kind 31402 Nostr events\n- Publishes to one or more Nostr relays in parallel\n- Zeroises secret key bytes after use\n- Degrades gracefully when individual relays fail\n- Provides a `close()` handle for clean disconnection\n\n## What it does not do\n\n- Does not run an L402 paywall (use [toll-booth](https://github.com/forgesworn/toll-booth) for that)\n- Does not subscribe to or search for announcements (use [402-mcp](https://github.com/forgesworn/402-mcp) for that)\n- Does not handle payments or token verification\n\n## API\n\n### `announceService(config): Promise<Announcement>`\n\nHigh-level function that builds, signs, and publishes the event to multiple relays.\n\n**Returns** an `Announcement` handle:\n- `eventId` — the published Nostr event ID\n- `pubkey` — the Nostr pubkey derived from your secret key\n- `close()` — disconnect from all relays\n\n### `buildAnnounceEvent(secretKey, config): VerifiedEvent`\n\nLower-level function that builds and signs the event without publishing. Useful if you manage relay connections yourself.\n\n### Config options\n\n| Field            | Type              | Required | Description                                    |\n|------------------|-------------------|----------|------------------------------------------------|\n| `secretKey`      | `string`          | yes      | 64-char hex Nostr secret key                   |\n| `relays`         | `string[]`        | yes      | Relay URLs (`wss://` or `ws://`)               |\n| `identifier`     | `string`          | yes      | Unique listing ID (Nostr `d` tag)              |\n| `name`           | `string`          | yes      | Human-readable service name                    |\n| `urls`           | `string[]`        | yes      | HTTP endpoints for the service (1–10 entries, any parseable URL) |\n| `about`          | `string`          | yes      | Short description                              |\n| `pricing`        | `PricingDef[]`    | yes      | Per-capability pricing                         |\n| `paymentMethods` | `string[][]`      | yes      | Accepted payment methods (each entry is `[rail, ...params]`) |\n| `picture`        | `string`          | no       | Icon URL                                       |\n| `topics`         | `string[]`        | no       | Topic tags for filtering                       |\n| `capabilities`   | `CapabilityDef[]` | no       | Capability details (stored in event content)   |\n| `version`        | `string`          | no       | Service version (stored in event content)      |\n\n## Announce flow\n\n```mermaid\nflowchart TD\n    A[announceService config] --> B{Validate}\n    B -->|\"secretKey: 64-char hex\"| C[Derive pubkey]\n    B -->|\"relays: wss:// URLs\"| C\n    C --> D[Build kind 31402 event]\n    D --> E[Sign with secret key]\n    E --> F[Zeroise key bytes]\n    F --> G[\"Connect relays (parallel, 10s timeout)\"]\n    G --> H{Each relay}\n    H -->|success| I[Publish event]\n    H -->|failure| J[Log warning, continue]\n    I --> K[\"Return { eventId, pubkey, close() }\"]\n    J --> K\n```\n\n## Event format\n\nEach announcement is a **kind 31402** parameterised replaceable event. The combination of `pubkey` + `d` tag uniquely identifies a listing — publishing again with the same values updates the existing listing.\n\n```mermaid\ngraph TB\n    subgraph \"Kind 31402 Event\"\n        direction TB\n        subgraph Tags\n            D[\"d: jokes-api\"]\n            N[\"name: Jokes API\"]\n            U1[\"url: https://jokes.example.com\"]\n            U2[\"url: https://jokesapi.example.onion (optional)\"]\n            AB[\"about: A joke-telling service\"]\n            PMI1[\"pmi: l402, lightning\"]\n            PMI2[\"pmi: cashu\"]\n            P[\"price: get_joke, 1, sats\"]\n            T[\"t: comedy\"]\n        end\n        subgraph Content[\"Content (JSON)\"]\n            CAP[\"capabilities: [{ name, description }]\"]\n            VER[\"version: 1.0.0\"]\n        end\n    end\n\n    style Tags fill:#1e293b,color:#e2e8f0\n    style Content fill:#1e293b,color:#e2e8f0\n```\n\n### Tags\n\n| Tag       | Required | Description                                  | Example                           |\n|-----------|----------|----------------------------------------------|-----------------------------------|\n| `d`       | yes      | Unique identifier for this listing           | `jokes-api`                       |\n| `name`    | yes      | Human-readable service name                  | `Jokes API`                       |\n| `url`     | yes      | HTTP endpoint (one tag per URL; repeatable)  | `https://jokes.example.com`       |\n| `about`   | yes      | Short description                            | `A joke-telling service`          |\n| `pmi`     | yes      | Payment method identifier (repeatable, multi-element) | `l402`, `lightning`        |\n| `price`   | yes      | Capability pricing (repeatable)              | `get_joke`, `1`, `sats`           |\n| `t`       | no       | Topic tag for search/filtering (repeatable)  | `comedy`                          |\n| `picture` | no       | Icon URL                                     | `https://example.com/icon.png`    |\n\n### Recognised Payment Method Rails\n\nEach `paymentMethods` entry is an array where the first element is the rail identifier and subsequent elements are rail-specific parameters.\n\n| Rail | Example | Description |\n|------|---------|-------------|\n| `l402` | `['l402', 'lightning']` | L402 protocol (Lightning BOLT-11 invoices) |\n| `cashu` | `['cashu']` | Cashu ecash (generic) |\n| `xcashu` | `['xcashu']` | Cashu ecash via NUT-24 (X-Cashu header) |\n| `lnurlcash` | `['lnurlcash', 'mint.example']` | LUD-25 bearer note presented in an X-LNURLcash header (subsequent elements are the accepted mint hosts) |\n| `x402` | `['x402', 'base', 'usdc', '0xabc...']` | x402 stablecoin payments (chain, token, receiver address) |\n| `payment` | `['payment', 'lightning']` | IETF Payment protocol |\n\n### Content\n\nThe event content is a JSON object with optional fields:\n\n```json\n{\n  \"capabilities\": [\n    { \"name\": \"get_joke\", \"description\": \"Returns a random joke\" }\n  ],\n  \"version\": \"1.0.0\"\n}\n```\n\n## Multiple URLs vs multiple events\n\nThis distinction is important for operators:\n\n**Multiple URLs in one event** — use `urls: ['...', '...']` when the URLs represent the **same service** on different transports (clearnet, Tor, Handshake). The pricing, credentials, and macaroon signing key are identical. Clients pick whichever URL they can reach. This is for censorship resistance and redundancy.\n\n**Separate kind 31402 events** — publish a new event (different `identifier`) when you have **genuinely different services**: different pricing tiers per transport, different capabilities, or services that operate independently. A single event should describe one logical service.\n\nIn short: same service + different network paths → one event with multiple `url` tags. Different services → separate events.\n\n## Security\n\n- Secret key bytes are zeroised immediately after signing (in both `announceService` and `buildAnnounceEvent`)\n- Never log or persist the secret key — pass it in and let the library handle cleanup\n- Relay connections use a 10-second timeout to prevent hanging\n- Individual relay failures are logged as warnings but don't reject the promise\n\n## Ecosystem\n\n| Package | Purpose |\n|---------|---------|\n| [toll-booth](https://github.com/forgesworn/toll-booth) | L402 middleware — any API becomes a toll booth in minutes |\n| [toll-booth-announce](https://github.com/forgesworn/toll-booth-announce) | Bridge — announce toll-booth services with one function call |\n| [satgate](https://github.com/forgesworn/satsgate) | Production L402 gateway with Lightning and Cashu support |\n| [402-mcp](https://github.com/forgesworn/402-mcp) | MCP server for AI agents to discover, pay, and consume 402 APIs |\n| [Live Dashboard](https://402.pub) | See every service announcing on the network |\n\n## Part of the ForgeSworn Toolkit\n\n[ForgeSworn](https://forgesworn.dev) builds open-source cryptographic identity, payments, and coordination tools for Nostr.\n\n| Library | What it does |\n|---------|-------------|\n| [nsec-tree](https://github.com/forgesworn/nsec-tree) | Deterministic sub-identity derivation |\n| [ring-sig](https://github.com/forgesworn/ring-sig) | SAG/LSAG ring signatures on secp256k1 |\n| [range-proof](https://github.com/forgesworn/range-proof) | Pedersen commitment range proofs |\n| [canary-kit](https://github.com/forgesworn/canary-kit) | Coercion-resistant spoken verification |\n| [spoken-token](https://github.com/forgesworn/spoken-token) | Human-speakable verification tokens |\n| [toll-booth](https://github.com/forgesworn/toll-booth) | L402 payment middleware |\n| [geohash-kit](https://github.com/forgesworn/geohash-kit) | Geohash toolkit with polygon coverage |\n| [nostr-attestations](https://github.com/forgesworn/nostr-attestations) | NIP-VA verifiable attestations |\n| [dominion](https://github.com/forgesworn/dominion) | Epoch-based encrypted access control |\n| [nostr-veil](https://github.com/forgesworn/nostr-veil) | Privacy-preserving Web of Trust |\n\n## Licence\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md"}