{"_id":"@damatjs/provider-subscription","_rev":"7-39310975c2fa1879b812574f58fabdc7","name":"@damatjs/provider-subscription","dist-tags":{"latest":"1.0.6"},"versions":{"1.0.0":{"name":"@damatjs/provider-subscription","version":"1.0.0","author":{"name":"Abel Lamesgen"},"license":"MIT","_id":"@damatjs/provider-subscription@1.0.0","maintainers":[{"name":"abeltyr","email":"abeltyr@gmail.com"}],"homepage":"https://github.com/damatjs/damat#readme","bugs":{"url":"https://github.com/damatjs/damat/issues"},"dist":{"shasum":"742243530e090a7a92e008362775515e49cb4618","tarball":"https://registry.npmjs.org/@damatjs/provider-subscription/-/provider-subscription-1.0.0.tgz","fileCount":23,"integrity":"sha512-H/3lxH23Ta4Es2v5ZrIHvE3jfVjlbm4V5g7arWMJjUAZClaiyBx1sQwgL93x9HoauMPAKV7UXxj3otBYdlxb7Q==","signatures":[{"sig":"MEUCICsi3GzmDEcbrCTBvkyLfM3gRY1V/AqHQ6e3AgtmotE/AiEAguL/f8LegrY8cxeLemlPH76nWtnQWjsX7uvqMsl9u28=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@damatjs%2fprovider-subscription@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":329195},"main":"dist/index.js","type":"module","_from":"file:/tmp/damat-publish-PatDtl/damatjs-provider-subscription-1.0.0.tgz","types":"dist/index.d.ts","engines":{"bun":">=1.1.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"lint":"oxlint src tests","test":"bun test && bun run test:types","build":"rm -rf tsconfig.tsbuildinfo dist && tsc","watch":"tsc --watch","test:types":"tsc -p tsconfig.types.json","prepublishOnly":"test -f dist/index.js || (echo 'Error: dist/index.js not found. Run bun run build first.' && exit 1)"},"_npmUser":{"name":"abeltyr","email":"abeltyr@gmail.com"},"_resolved":"/tmp/damat-publish-PatDtl/damatjs-provider-subscription-1.0.0.tgz","_integrity":"sha512-H/3lxH23Ta4Es2v5ZrIHvE3jfVjlbm4V5g7arWMJjUAZClaiyBx1sQwgL93x9HoauMPAKV7UXxj3otBYdlxb7Q==","repository":{"url":"git+https://github.com/damatjs/damat.git","type":"git","directory":"provider/subscription"},"_npmVersion":"10.9.8","description":"Strict ModuleService-based subscription provider contract for Damat","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@damatjs/deps":"1.0.0","@damatjs/provider":"1.0.0","@damatjs/services":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"1.3.9","typescript":"^5.9.3","@damatjs/typescript-config":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/provider-subscription_1.0.0_1784709651548_0.4572245111054234","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@damatjs/provider-subscription","version":"1.0.1","author":{"name":"Abel Lamesgen"},"license":"MIT","_id":"@damatjs/provider-subscription@1.0.1","maintainers":[{"name":"abeltyr","email":"abeltyr@gmail.com"}],"homepage":"https://github.com/damatjs/damat#readme","bugs":{"url":"https://github.com/damatjs/damat/issues"},"dist":{"shasum":"8b4f72a6cfe00a0df0a9ad25f80e8d883ed9f02e","tarball":"https://registry.npmjs.org/@damatjs/provider-subscription/-/provider-subscription-1.0.1.tgz","fileCount":23,"integrity":"sha512-zEAyhPsSsKX2bgmPp2TxeCcb+5rsbMK9e1Kf3bdb3ck64pobgm8YAjkGLgJk6l8CBL70mpyRgjJl8DD1qCTlKQ==","signatures":[{"sig":"MEYCIQDY5f9gDQ1K61i8WUEkIFKc+V8LWdgJ+MUJsescFsh3uQIhAJmpFUDo0TVw4LyXw5UsU4MDr6eJJUfVs5sQ4NqjE9kn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@damatjs%2fprovider-subscription@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":330263},"main":"dist/index.js","type":"module","_from":"file:/tmp/damat-publish-gW01Yp/damatjs-provider-subscription-1.0.1.tgz","types":"dist/index.d.ts","engines":{"bun":">=1.1.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"lint":"oxlint src tests","test":"bun test && bun run test:types","build":"rm -rf tsconfig.tsbuildinfo dist && tsc","watch":"tsc --watch","test:types":"tsc -p tsconfig.types.json","prepublishOnly":"test -f dist/index.js || (echo 'Error: dist/index.js not found. Run bun run build first.' && exit 1)"},"_npmUser":{"name":"abeltyr","email":"abeltyr@gmail.com"},"_resolved":"/tmp/damat-publish-gW01Yp/damatjs-provider-subscription-1.0.1.tgz","_integrity":"sha512-zEAyhPsSsKX2bgmPp2TxeCcb+5rsbMK9e1Kf3bdb3ck64pobgm8YAjkGLgJk6l8CBL70mpyRgjJl8DD1qCTlKQ==","repository":{"url":"git+https://github.com/damatjs/damat.git","type":"git","directory":"provider/subscription"},"_npmVersion":"10.9.8","description":"Strict ModuleService-based subscription provider contract for Damat","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@damatjs/deps":"1.0.1","@damatjs/provider":"1.0.1","@damatjs/services":"1.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"1.3.9","typescript":"^5.9.3","@damatjs/typescript-config":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/provider-subscription_1.0.1_1784795970751_0.42338336858890546","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@damatjs/provider-subscription","version":"1.0.2","author":{"name":"Abel Lamesgen"},"license":"MIT","_id":"@damatjs/provider-subscription@1.0.2","maintainers":[{"name":"abeltyr","email":"abeltyr@gmail.com"}],"homepage":"https://github.com/damatjs/damat#readme","bugs":{"url":"https://github.com/damatjs/damat/issues"},"dist":{"shasum":"f7f513e50dccba2b1017b88d434ff0391b6eccbd","tarball":"https://registry.npmjs.org/@damatjs/provider-subscription/-/provider-subscription-1.0.2.tgz","fileCount":23,"integrity":"sha512-GguEBnD7c+HY/xy8CJiehI5VkTVAQifGYj3F3/uih1lyZy+Wli6bAmRQv3fBsai1bwbuVGKs2xvIWMDH7qQppg==","signatures":[{"sig":"MEUCIBAVVStuQis8YpJUdg/YzRq2PiReqR+QEMxz3zWuWI+CAiEAjo9z3UliXrfi0QDSJgGaFcYzLZj4igQ2kNIA6w0UiUw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@damatjs%2fprovider-subscription@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":330263},"main":"dist/index.js","type":"module","_from":"file:/tmp/damat-publish-zFCjTd/damatjs-provider-subscription-1.0.2.tgz","types":"dist/index.d.ts","engines":{"bun":">=1.1.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"lint":"oxlint src tests","test":"bun test && bun run test:types","build":"rm -rf tsconfig.tsbuildinfo dist && tsc","watch":"tsc --watch","test:types":"tsc -p tsconfig.types.json","prepublishOnly":"test -f dist/index.js || (echo 'Error: dist/index.js not found. Run bun run build first.' && exit 1)"},"_npmUser":{"name":"abeltyr","email":"abeltyr@gmail.com"},"_resolved":"/tmp/damat-publish-zFCjTd/damatjs-provider-subscription-1.0.2.tgz","_integrity":"sha512-GguEBnD7c+HY/xy8CJiehI5VkTVAQifGYj3F3/uih1lyZy+Wli6bAmRQv3fBsai1bwbuVGKs2xvIWMDH7qQppg==","repository":{"url":"git+https://github.com/damatjs/damat.git","type":"git","directory":"provider/subscription"},"_npmVersion":"10.9.8","description":"Strict ModuleService-based subscription provider contract for Damat","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@damatjs/deps":"1.0.1","@damatjs/provider":"1.0.1","@damatjs/services":"1.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"1.3.9","typescript":"^5.9.3","@damatjs/typescript-config":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/provider-subscription_1.0.2_1784819525657_0.9508610383335714","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@damatjs/provider-subscription","version":"1.0.3","author":{"name":"Abel Lamesgen"},"license":"MIT","_id":"@damatjs/provider-subscription@1.0.3","maintainers":[{"name":"abeltyr","email":"abeltyr@gmail.com"}],"homepage":"https://github.com/damatjs/damat#readme","bugs":{"url":"https://github.com/damatjs/damat/issues"},"dist":{"shasum":"30b8cce71ee3f3332e540ce0fb64f9e3fe7ab5fb","tarball":"https://registry.npmjs.org/@damatjs/provider-subscription/-/provider-subscription-1.0.3.tgz","fileCount":23,"integrity":"sha512-ZzUCb6JFuqWV043kWr4Gxt7UHXL/Jy89lO1iWpF63Fe0xPQsbaPzcqepB5ttGc0P62mQLN2vN/EkMmy8oIzQTg==","signatures":[{"sig":"MEQCIGwlZCqEuHsjdlzj5YJCEgoV2KFFSfbZaXl9hyZUdP3wAiBBkpQWPNSSB4hgBFYhYGXdmrEZypkkQgtDWVocfEv2VA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@damatjs%2fprovider-subscription@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":330263},"main":"dist/index.js","type":"module","_from":"file:/tmp/damat-publish-tL2ta0/damatjs-provider-subscription-1.0.3.tgz","types":"dist/index.d.ts","engines":{"bun":">=1.1.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"lint":"oxlint src tests","test":"bun test && bun run test:types","build":"rm -rf tsconfig.tsbuildinfo dist && tsc","watch":"tsc --watch","test:types":"tsc -p tsconfig.types.json","prepublishOnly":"test -f dist/index.js || (echo 'Error: dist/index.js not found. Run bun run build first.' && exit 1)"},"_npmUser":{"name":"abeltyr","email":"abeltyr@gmail.com"},"_resolved":"/tmp/damat-publish-tL2ta0/damatjs-provider-subscription-1.0.3.tgz","_integrity":"sha512-ZzUCb6JFuqWV043kWr4Gxt7UHXL/Jy89lO1iWpF63Fe0xPQsbaPzcqepB5ttGc0P62mQLN2vN/EkMmy8oIzQTg==","repository":{"url":"git+https://github.com/damatjs/damat.git","type":"git","directory":"provider/subscription"},"_npmVersion":"10.9.8","description":"Strict ModuleService-based subscription provider contract for Damat","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@damatjs/deps":"1.0.3","@damatjs/provider":"1.0.3","@damatjs/services":"1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"1.3.9","typescript":"^5.9.3","@damatjs/typescript-config":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/provider-subscription_1.0.3_1784835951832_0.02927191137115992","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@damatjs/provider-subscription","version":"1.0.4","author":{"name":"Abel Lamesgen"},"license":"MIT","_id":"@damatjs/provider-subscription@1.0.4","maintainers":[{"name":"abeltyr","email":"abeltyr@gmail.com"}],"homepage":"https://github.com/damatjs/damat#readme","bugs":{"url":"https://github.com/damatjs/damat/issues"},"dist":{"shasum":"d1ad1fe6b74de48f5a213aedcc7d217581651a3a","tarball":"https://registry.npmjs.org/@damatjs/provider-subscription/-/provider-subscription-1.0.4.tgz","fileCount":23,"integrity":"sha512-osW6rOGT/Cm/PtEYNASRN5bOWBiNNJ/XWymQOnPKtSzfuFPMYTkl5Ik6rfXtVMbzd42PtPogHpLNcgiT41ylIA==","signatures":[{"sig":"MEQCIEyEwB8XmzwJ9qNcojncO7OLZWdRG+4Z9Nbwk3bQP11mAiAJLoIV/PELqp/7dGD/27c8Fx+Zp4E/yBuCenxnPN0eGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@damatjs%2fprovider-subscription@1.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":330491},"main":"dist/index.js","type":"module","_from":"file:/tmp/damat-publish-axsSlG/damatjs-provider-subscription-1.0.4.tgz","types":"dist/index.d.ts","engines":{"bun":">=1.1.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"lint":"oxlint src tests","test":"bun test && bun run test:types","build":"rm -rf tsconfig.tsbuildinfo dist && tsc","watch":"tsc --watch","test:types":"tsc -p tsconfig.types.json","prepublishOnly":"test -f dist/index.js || (echo 'Error: dist/index.js not found. Run bun run build first.' && exit 1)"},"_npmUser":{"name":"abeltyr","email":"abeltyr@gmail.com"},"_resolved":"/tmp/damat-publish-axsSlG/damatjs-provider-subscription-1.0.4.tgz","_integrity":"sha512-osW6rOGT/Cm/PtEYNASRN5bOWBiNNJ/XWymQOnPKtSzfuFPMYTkl5Ik6rfXtVMbzd42PtPogHpLNcgiT41ylIA==","repository":{"url":"git+https://github.com/damatjs/damat.git","type":"git","directory":"provider/subscription"},"_npmVersion":"10.9.8","description":"Strict ModuleService-based subscription provider contract for Damat","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@damatjs/deps":"1.0.4","@damatjs/provider":"1.0.4","@damatjs/services":"1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"1.3.9","typescript":"^5.9.3","@damatjs/typescript-config":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/provider-subscription_1.0.4_1785070738340_0.1790421094264978","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@damatjs/provider-subscription","version":"1.0.5","author":{"name":"Abel Lamesgen"},"license":"MIT","_id":"@damatjs/provider-subscription@1.0.5","maintainers":[{"name":"abeltyr","email":"abeltyr@gmail.com"}],"homepage":"https://github.com/damatjs/damat#readme","bugs":{"url":"https://github.com/damatjs/damat/issues"},"dist":{"shasum":"009a607f8288453598f54d6a01512697b92bb0b5","tarball":"https://registry.npmjs.org/@damatjs/provider-subscription/-/provider-subscription-1.0.5.tgz","fileCount":23,"integrity":"sha512-UdcvNkpzxc7voFuyfJS9Ao6Y0NxCHH5vkn/1zf6wutHwf5cGtoC4kPMMFuld31uEX5H9sFDHNrLlUBwhTEh/xQ==","signatures":[{"sig":"MEUCICnqmPYa0zNHePTuItiWinbNhGoe2ySQph2hD2aaKOh5AiEAnVWDVIA90CR70xYYIpIUDYEnUreoKaR9OKQI46E7JVE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@damatjs%2fprovider-subscription@1.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":330491},"main":"dist/index.js","type":"module","_from":"file:/tmp/damat-publish-Z2atnY/damatjs-provider-subscription-1.0.5.tgz","types":"dist/index.d.ts","engines":{"bun":">=1.1.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"lint":"oxlint src tests","test":"bun test && bun run test:types","build":"rm -rf tsconfig.tsbuildinfo dist && tsc","watch":"tsc --watch","test:types":"tsc -p tsconfig.types.json","prepublishOnly":"test -f dist/index.js || (echo 'Error: dist/index.js not found. Run bun run build first.' && exit 1)"},"_npmUser":{"name":"abeltyr","email":"abeltyr@gmail.com"},"_resolved":"/tmp/damat-publish-Z2atnY/damatjs-provider-subscription-1.0.5.tgz","_integrity":"sha512-UdcvNkpzxc7voFuyfJS9Ao6Y0NxCHH5vkn/1zf6wutHwf5cGtoC4kPMMFuld31uEX5H9sFDHNrLlUBwhTEh/xQ==","repository":{"url":"git+https://github.com/damatjs/damat.git","type":"git","directory":"provider/subscription"},"_npmVersion":"10.9.8","description":"Strict ModuleService-based subscription provider contract for Damat","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@damatjs/deps":"1.0.5","@damatjs/provider":"1.0.5","@damatjs/services":"1.0.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"1.3.9","typescript":"^5.9.3","@damatjs/typescript-config":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/provider-subscription_1.0.5_1785252121264_0.8186960785286366","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@damatjs/provider-subscription","description":"Strict ModuleService-based subscription provider contract for Damat","version":"1.0.6","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"engines":{"bun":">=1.1.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/damatjs/damat.git","directory":"provider/subscription"},"license":"MIT","author":{"name":"Abel Lamesgen"},"dependencies":{"@damatjs/provider":"1.0.6","@damatjs/services":"1.0.6","@damatjs/deps":"1.0.6"},"devDependencies":{"@damatjs/typescript-config":"0.0.1","@types/bun":"1.3.9","typescript":"^5.9.3"},"scripts":{"build":"rm -rf tsconfig.tsbuildinfo dist && tsc","watch":"tsc --watch","test":"bun test && bun run test:types","test:types":"tsc -p tsconfig.types.json","lint":"oxlint src tests","prepublishOnly":"test -f dist/index.js || (echo 'Error: dist/index.js not found. Run bun run build first.' && exit 1)"},"_id":"@damatjs/provider-subscription@1.0.6","bugs":{"url":"https://github.com/damatjs/damat/issues"},"homepage":"https://github.com/damatjs/damat#readme","_integrity":"sha512-6EGequ+JhNwLj6vRIK5RLvGhcrTlISgF311zxgcGadjQxTclCQk7CC0tE2eSyTbLBOVF4FjDIeu2uKPFLDq1gQ==","_resolved":"/tmp/damat-publish-2iRH7Q/damatjs-provider-subscription-1.0.6.tgz","_from":"file:/tmp/damat-publish-2iRH7Q/damatjs-provider-subscription-1.0.6.tgz","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-6EGequ+JhNwLj6vRIK5RLvGhcrTlISgF311zxgcGadjQxTclCQk7CC0tE2eSyTbLBOVF4FjDIeu2uKPFLDq1gQ==","shasum":"732d198b8c1992d67a3fcd148a28dce2d524adcb","tarball":"https://registry.npmjs.org/@damatjs/provider-subscription/-/provider-subscription-1.0.6.tgz","fileCount":23,"unpackedSize":331872,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@damatjs%2fprovider-subscription@1.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC8PgeWZE5401yP3OJZAH/+XewUJ9CC2itLayOL2oR+DAIgasAclOMP4hVPEsrW4/Pu5K+mOVRtl93qyACQ9fNc1uk="}]},"_npmUser":{"name":"abeltyr","email":"abeltyr@gmail.com"},"directories":{},"maintainers":[{"name":"abeltyr","email":"abeltyr@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/provider-subscription_1.0.6_1786390195766_0.8303645106106559"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-22T08:40:51.296Z","modified":"2026-08-10T19:29:56.497Z","1.0.0":"2026-07-22T08:40:51.683Z","1.0.1":"2026-07-23T08:39:30.904Z","1.0.2":"2026-07-23T15:12:05.934Z","1.0.3":"2026-07-23T19:45:52.009Z","1.0.4":"2026-07-26T12:58:58.508Z","1.0.5":"2026-07-28T15:22:01.411Z","1.0.6":"2026-08-10T19:29:55.978Z"},"bugs":{"url":"https://github.com/damatjs/damat/issues"},"author":{"name":"Abel Lamesgen"},"license":"MIT","homepage":"https://github.com/damatjs/damat#readme","repository":{"type":"git","url":"git+https://github.com/damatjs/damat.git","directory":"provider/subscription"},"description":"Strict ModuleService-based subscription provider contract for Damat","maintainers":[{"name":"abeltyr","email":"abeltyr@gmail.com"}],"readme":"# `@damatjs/provider-subscription`\n\nSubscription contracts implemented by ordinary Damat module services.\n\n`SubscriptionProviderService` extends `ModuleService` and makes the standard\nsubscription operations mandatory. All persistence, routes, credentials,\nmigrations, installation, and initialization remain normal module concerns.\n\nThe required lifecycle includes create/get/list, plan or quantity change,\nimmediate or period-end cancellation, pause, and resume. Mutations carry stable\nidempotency keys, and raw webhook bytes support signature-first event parsing.\n`SubscriptionRecord` exposes quantity, period dates, and period-end cancellation\nstate without prescribing a vendor's plan catalog or entitlement model.\n","readmeFilename":"README.md"}