{"_id":"@geonosis/integrations","_rev":"27-9197e264c53649c8858cf17eaa460eb0","name":"@geonosis/integrations","dist-tags":{"latest":"3.0.0"},"versions":{"1.0.0":{"name":"@geonosis/integrations","version":"1.0.0","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@1.0.0","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"db409304ff4d9b3ba9e16200233e2f785d75996a","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-1.0.0.tgz","fileCount":5,"integrity":"sha512-efbtkEokgaKi1L3MwO1vtCUzdIFPfoSgLO0nPhbS1SZFDI9oE8+IoZ556q83fiU/OWdM6EJZanWJXvVpgH8O9w==","signatures":[{"sig":"MEYCIQCCeroIkKdr84jyXLaHYYvtkiG3iBAqJ3NtUzws9HDO7AIhAL9CTL4trVj2WkcyBiaqpaFGzawJ5DszKRrrJqXCpD+8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34644},"main":"dist/index.js","type":"module","engines":{"node":">=22"},"exports":{".":"./dist/index.js"},"scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_1.0.0_1788106378810_0.9806600322598431","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@geonosis/integrations","version":"1.1.0","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@1.1.0","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"24ada11495bb995586a9c92afab102e3f6ed6cc0","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-1.1.0.tgz","fileCount":5,"integrity":"sha512-nEghmftYp3dj2YXS1WLRuzMeCZyv2kSKT1kkh/e/VwLSK+HZYG+YnFmmmDEpznx5OiIxlgzJtMQRMRlmDOUSiA==","signatures":[{"sig":"MEYCIQCJZd9K3V8FHmGwLjxfTGeNPTeGtC3wwbNkB14AYJ/F2wIhAO15xvCeJ0Qz7gvFtgspgihR2x97km+ouKt+bRHyAJn/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34737},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_1.1.0_1788114850641_0.302901758297659","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@geonosis/integrations","version":"1.2.0","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@1.2.0","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"6b40bae0127c78383f0e925673a2a7085cd30795","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-1.2.0.tgz","fileCount":5,"integrity":"sha512-KugnBbq3fBW3W30HhWTop4HvNBoLQK9wHUtO5eq8raDSm2ZZ8mLEikT39T+kFuKXjRZp7YZ/hBqvFy81sjRcLA==","signatures":[{"sig":"MEUCIFbT+/babebXt9Fq1I4UjrZ/flp8ZyhMSTYJVfM08sUNAiEAnr9XDBQo83PUfpVCoFPxEgd3y8EmlTpOyUAg5m0/8FM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34737},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_1.2.0_1788119036830_0.9821037299158071","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@geonosis/integrations","version":"1.3.0","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@1.3.0","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"f98f91b364beafcd7be97725ee31db466c6c0070","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-1.3.0.tgz","fileCount":7,"integrity":"sha512-CPOWhT55qYQU+DHIQlqf6Cp8qid6oMvl6ipY6yBO2pG3m2ru7sXGTcgPkhJDbHwmeznzlhBL1qdrzmJG73E/Dw==","signatures":[{"sig":"MEUCIBKtG1sjavRFn6Xj2Sl5BsNXnUGt7RoXjqiskh/0QMf2AiEAm4urmVl4wJcs8ON5lcOgvYvyWVa+TBd8kj+NzRNjSaY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53211},"main":"dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_1.3.0_1788254757437_0.932968451401184","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@geonosis/integrations","version":"1.4.0","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@1.4.0","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"8fcdeb8d44bbbef75c79387d0641f37972e28ca1","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-1.4.0.tgz","fileCount":7,"integrity":"sha512-HhCL+Cd6fMvcsjv9Jcf30JBHW/oMZOxOGLYN9HdKq84bhTF4CiD9fLYtpCceGTJXSupXps1Ok9RNfz3T/9ko/g==","signatures":[{"sig":"MEUCIQCP++TZvaPsQ4wKPQd8Sc/xbZXRtte4ZukY3qLmuLMniwIgUJmfMSS6Hks7BZkqcZTf2ELY0eJdpg44b0c9pavVt8M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53211},"main":"dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_1.4.0_1788268905891_0.4556874420347823","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@geonosis/integrations","version":"2.0.0","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@2.0.0","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"1640b6c017d798cfeb2deaf101c9fe07f83f90ec","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-2.0.0.tgz","fileCount":7,"integrity":"sha512-LtLmRC4Rg5AnDICjUBWRHPGL9KRdkG+15CiSd9RP1ll6qu3BjO2RsB71MbG+6SMt3fdpkAiQjP+OT2ab1VtXlA==","signatures":[{"sig":"MEMCIDn1tR//C1XEbKYdBR6pDY3cCqSyxJ1+URPaOJWA3xC5Ah9tVAQjD5Rugp9NrGTpeh+wJBh236B8gr3CG/uEjzYh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56785},"main":"dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_2.0.0_1788332149666_0.7089232479812837","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@geonosis/integrations","version":"2.1.0","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@2.1.0","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"db3f567ae6dc6ddf5a5b6edf1b6d31a5a312d305","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-2.1.0.tgz","fileCount":7,"integrity":"sha512-IATJhuvfTkXjUuKwL6vkoIDiz1CDSeyCf36oDcPgSszTl88Uw0zAk1CaosuId0ZbfakigZjESKecbICkoiTk8Q==","signatures":[{"sig":"MEUCIA5XEbqeEMUP/ddOdNlXNmfTs/T5GkBCkV7AbC1IVV6mAiEA0+nrmBhoAS/bYdbjuKbyx4qpHhhoh4MeveOkfY+XrrY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56805},"main":"dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_2.1.0_1788357156138_0.39249631238735416","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@geonosis/integrations","version":"2.2.0","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@2.2.0","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"7ce85cb2523f24431175838b11f945bc05f2a237","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-2.2.0.tgz","fileCount":7,"integrity":"sha512-mfPcV1jgSTpzuvQW3fbiB0+hgwbqI0Lh8VJXm9D8QO9ntC/U7mAWAryyHb88z9gwMbQZ9yTYM7JKtmEgtnqvNQ==","signatures":[{"sig":"MEUCIQCDRmZTNilb/p54p7n2ZetrmsV7lJHfyegwIgjMLfyomwIgUmtoSgFYXB1jZT1VuoLOmwBsO1Zufykw5dGFuf3gx4s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56805},"main":"dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_2.2.0_1788369597310_0.1765710214446219","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@geonosis/integrations","version":"2.3.0","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@2.3.0","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"26a39a30c7b69053e70c0f707b2ce17433b2891c","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-2.3.0.tgz","fileCount":7,"integrity":"sha512-OYeO5g5iqZUCie9fDuzcp0bT/YxGPQVJz/4n/knvcSqgTwSJ2eDVWmOZSF2YPhHDR6VpWxXkJu0rao8FWmaV6w==","signatures":[{"sig":"MEUCIERPZO2xmKt3dMCfI2BISZ2N//UjsaoqlSq5wqthWgxAAiEAmaKGOR5GXQCEJgGVvs1SxO2ph8koh25HtR2t5aGywz8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56805},"main":"dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_2.3.0_1788419924462_0.0525385817325168","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"@geonosis/integrations","version":"2.3.1","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@2.3.1","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"5c1215c257628d96f7500e6a14bac93e25856687","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-2.3.1.tgz","fileCount":7,"integrity":"sha512-oOBFqM+y8ai9QmZxYKvGIDvzIB22DakTdcR82uvMM7IlFQA/ii/Hb7yp7+nRgs4nZfEmE0CNb6t9HTrkvquz8g==","signatures":[{"sig":"MEUCIQCL3Rb8xFNQpII/KiU29OnBeqwD93PWkyfulGobeTvwngIgSG5hB+NX6k+S8iSadSZwaLccvRvgeYEyGa6hnru6dvo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56805},"main":"dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_2.3.1_1788435297126_0.10476042721994472","host":"s3://npm-registry-packages-npm-production"}},"2.4.2":{"name":"@geonosis/integrations","version":"2.4.2","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@2.4.2","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"5a4af92ba1849b4d6d6178763c2e06ed7ca5d74c","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-2.4.2.tgz","fileCount":8,"integrity":"sha512-tanBqrs90lffNrd+zlkwZPUZKRZgshxfb60pTt2T7m36pBeqR0J4pTFX5tSW9Pzx+vrlMWnGjYUsHi2gePcRUQ==","signatures":[{"sig":"MEYCIQDpP2KDHgdfPIlp5rPgWyOPsgJNCBaiMdU65q76eaGzyAIhAMQ9URhHj/Oi8hX4qbpoWJ4aSUbmofPcqtT1qBuczio4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62482},"main":"dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_2.4.2_1788444803423_0.8725993342389122","host":"s3://npm-registry-packages-npm-production"}},"2.4.3":{"name":"@geonosis/integrations","version":"2.4.3","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@2.4.3","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"502f88eab4e303acfb9455ab559d4cbb62418f50","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-2.4.3.tgz","fileCount":8,"integrity":"sha512-kiArvHCE0TY9lcw0QQzj9GsDCiIrBm8Jnu2qudYQBybNZG8Q0bcl6QFDiar/FZVWegZjwUvOLFB3LpHQgIlXvA==","signatures":[{"sig":"MEUCIDwpAf4UuautnHg4VVQJBK0siU/DEq0NzzDl4oo0cJy5AiEAt0k9j7MqFFXyuhp8MY1/un2kxdLuZA+OKGBUimAsx9A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62492},"main":"dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_2.4.3_1788565999558_0.3869422131310738","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@geonosis/integrations","version":"2.5.0","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@2.5.0","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"c9501e173fd106afb5af6d8484fcc6654b23feba","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-2.5.0.tgz","fileCount":8,"integrity":"sha512-B9lK9Zjiom5KRdJaDsv/EDNP61bFf/ZJniRNF1o6DoZ3/URYTV7ZZjhM+UD9htmV7O5S0l+ePDPM4yaMtFAc1g==","signatures":[{"sig":"MEUCIFoYJSlEPXnZzMrjza3QY5rNzgdAYg2vi8+elxLtFVw/AiEAmoBh3cpCLnphLfIA66/qzQpZ0nxoZldrD94YdLBrsbs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62502},"main":"dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_2.5.0_1788595391415_0.902573730608822","host":"s3://npm-registry-packages-npm-production"}},"2.5.1":{"name":"@geonosis/integrations","version":"2.5.1","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@2.5.1","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"654905d44b85de47efa476ceb7bfaf6e809784b4","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-2.5.1.tgz","fileCount":8,"integrity":"sha512-klN4b+MOf4HVbtRPnUm/xcJnPUf3OGlaGJlgan4pts5dn4TQi2dR0ZSxdv9WsyU27APqny3iTXSycF7Dui8SZw==","signatures":[{"sig":"MEQCIAoXjG81qW8WYx+L81hH53CJ5+A0zwBDdev+VKJBxQuAAiAtIuRDLiVezKAGySAXAGgsbKcatcIMxQjMglumugLAGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62512},"main":"dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_2.5.1_1788685753579_0.7930260824936668","host":"s3://npm-registry-packages-npm-production"}},"2.5.2":{"name":"@geonosis/integrations","version":"2.5.2","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@2.5.2","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"dd384b6a9b0ca5317dbd3b821a5099263be02173","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-2.5.2.tgz","fileCount":8,"integrity":"sha512-JEv508FGA15tsx1SgXrdqlwWpde79v/bNg4QRpsO9VEn0kemR36YFlxhheqG1NxMtT1En+gf2JNYaK83skg4EQ==","signatures":[{"sig":"MEQCIE07KOJ7nTbZOWstFEcwqESw/tzH3OCC2QzI86YHX9ddAiB5ASRwP0fBazetVrE6qapx1QBpCFFEt4RDO5lPZo58JA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62522},"main":"dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_2.5.2_1788701273451_0.8268298770389535","host":"s3://npm-registry-packages-npm-production"}},"2.5.3":{"name":"@geonosis/integrations","version":"2.5.3","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@2.5.3","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"2c3f6c607d721bcaedc807e57c1a404ab5946970","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-2.5.3.tgz","fileCount":8,"integrity":"sha512-Wbv+Umgv5lUJCnsHGkBvYJrXAYwh0yDakDEUg8ggoX8zc/GjSgOo2smScp5y7RIqPvqj7sLTUgKlOpl4i30f+w==","signatures":[{"sig":"MEUCIA+nzIf3ugfmqjd3XJtyHlV1mpMrl7UpeeE6PCIW5gu/AiEAgzMk9Jzy/qIuVc6Qhd6Q3484BXT/IRUFp5PjBviZ7SQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62532},"main":"dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_2.5.3_1788712645650_0.008346942352660758","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"@geonosis/integrations","version":"2.6.0","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@2.6.0","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"0b68f5368888b9260277678c0234f6ef15786800","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-2.6.0.tgz","fileCount":8,"integrity":"sha512-oXZxjR0vXx6+CHZ+ekpL0H3NLMQedgvMBoXAKYqPyGrYlOqE5nm2lp8O73P7wmxyLp7cki1ULvds1tMovMMciw==","signatures":[{"sig":"MEUCIAtMDD03uEAaN8d9cDzyniefMrxjgbdlwsPfcVtzHq8cAiEA/zIFw3lJMg3bRt904pLOfES1qBneMNFstopjJIHs7ik=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62852},"main":"dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"oxlint --config ../../.oxlintrc.json .","build":"tsup","test:bin":"vitest run --project bin --root ../.. --passWithNoTests \"$PWD\"","test:exam":"vitest run --project exam --root ../.. --passWithNoTests \"$PWD\"","test:unit":"vitest run --project unit --root ../.. --passWithNoTests \"$PWD\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_2.6.0_1788776148359_0.2340431616193306","host":"s3://npm-registry-packages-npm-production"}},"2.6.1":{"name":"@geonosis/integrations","version":"2.6.1","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@2.6.1","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"1f201d0734f6c151eb8f975813cd7ea6d5dbe2d4","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-2.6.1.tgz","fileCount":8,"integrity":"sha512-tMKJtP0rDcnkMUm9t/RPcTFqARv0SIOdQQbm0yYGdgxYEG82ny+KU6Wyg+IIuKiSGL22eJbenOZhq4uhdhgpHg==","signatures":[{"sig":"MEYCIQCrujgPXiZZ+rAzDy6vL5lMfdT9+aJd6xYQU+kRk+imAgIhAIGJnebBayfhvnK0kKNBGvFztM75Gjm4kZ4sXUHTJVZB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62862},"main":"dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"oxlint --config ../../.oxlintrc.json .","build":"tsup","test:bin":"vitest run --project bin --root ../.. --passWithNoTests \"$PWD\"","test:exam":"vitest run --project exam --root ../.. --passWithNoTests \"$PWD\"","test:unit":"vitest run --project unit --root ../.. --passWithNoTests \"$PWD\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_2.6.1_1788803814921_0.0841095483028993","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"@geonosis/integrations","version":"2.7.0","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@2.7.0","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"eb995e35beda1ad7181d508ff304eb205d85cd21","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-2.7.0.tgz","fileCount":8,"integrity":"sha512-99oPThnYVLu4WPVe7UQE4DDeQuEm4ruQtuoM3s72u7lqp97aWrpZkVtzPbfxUQpXxCiMitn4E3yzZqjNyykLhQ==","signatures":[{"sig":"MEYCIQD0AHb0OCjDy2YfFyiLfCmpaCWrl21Dt/BeB6EwimHrYgIhAJjCILyvGnqGeaIrKmAS8mzmIwrLYTebH6rbxh3ZOCUg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62872},"main":"dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"oxlint --config ../../.oxlintrc.json .","build":"tsup","test:bin":"vitest run --project bin --root ../.. --passWithNoTests \"$PWD\"","test:exam":"vitest run --project exam --root ../.. --passWithNoTests \"$PWD\"","test:unit":"vitest run --project unit --root ../.. --passWithNoTests \"$PWD\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_2.7.0_1789209384690_0.8557122167887465","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"@geonosis/integrations","version":"2.8.0","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@2.8.0","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"6f4b0fa1eee5bb15c96449442cf35802ca2d42ce","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-2.8.0.tgz","fileCount":8,"integrity":"sha512-pyX6k4oF82+4mS+SK86DY7+agQGl1km90d2aQWDlIW/tJIMMcmSwBzRxSJLiFzuo/bDUbEqYwuPDQ+zdaoTusw==","signatures":[{"sig":"MEQCIA9idNWtO2mk+WwSq6oOp6k4nHq00OLjS4oBpEnIW/eWAiALY34IkINbGyIzssUpr9z8xFXgIMx6fe5fGVVg6mVvpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62882},"main":"dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"oxlint --config ../../.oxlintrc.json .","build":"tsup","test:bin":"vitest run --project bin --root ../.. --passWithNoTests \"$PWD\"","test:exam":"vitest run --project exam --root ../.. --passWithNoTests \"$PWD\"","test:unit":"vitest run --project unit --root ../.. --passWithNoTests \"$PWD\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_2.8.0_1789421353502_0.7704094196276905","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"@geonosis/integrations","version":"2.9.0","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@2.9.0","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"97be8eb035a22c1e77f99915fc92621e1f33ddd2","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-2.9.0.tgz","fileCount":8,"integrity":"sha512-FeY8SI/YLqUUBqZXQAa3un3+bwI2JLSsAwd1QqM/bbh9vionncu+Bvqee70H9eILugr0uehqIy0/7R1cM/NqlA==","signatures":[{"sig":"MEYCIQDVDOYfW8jsyWZyVYRUw7v9EeuKx74qVouDqPqoeht3JAIhAMqDv1ruFpeYB+lC+fvm1UZbJRv4XZRIH1Kore+uN5Ro","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62892},"main":"dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"oxlint --config ../../.oxlintrc.json .","build":"tsup","test:bin":"vitest run --project bin --root ../.. --passWithNoTests \"$PWD\"","test:exam":"vitest run --project exam --root ../.. --passWithNoTests \"$PWD\"","test:unit":"vitest run --project unit --root ../.. --passWithNoTests \"$PWD\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_2.9.0_1789468441670_0.591616221797409","host":"s3://npm-registry-packages-npm-production"}},"2.10.0":{"name":"@geonosis/integrations","version":"2.10.0","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@2.10.0","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"e867b147bfe560261321d1a6882823f8cbdbc64d","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-2.10.0.tgz","fileCount":8,"integrity":"sha512-JZA2QytDiAJDSQhHJaw5DZqpb+ZJryctw/PCq+n8ymbUSg1ZTfXhp4cwuZJAB/ievZRM1BK5j4mh9Er5BuzmgA==","signatures":[{"sig":"MEUCIQCb83rMwnYF7Q0HSqTIcgwKIhotCYamdLUgLZs91mHWYgIgW3ijRDqfMr/Tp8PQn7/HIrYO0lj6oh9MJFhyeDcb8Qc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62904},"main":"dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"oxlint --config ../../.oxlintrc.json .","build":"tsup","test:bin":"vitest run --project bin --root ../.. --passWithNoTests \"$PWD\"","test:exam":"vitest run --project exam --root ../.. --passWithNoTests \"$PWD\"","test:unit":"vitest run --project unit --root ../.. --passWithNoTests \"$PWD\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_2.10.0_1789489721345_0.346501869187289","host":"s3://npm-registry-packages-npm-production"}},"2.11.0":{"name":"@geonosis/integrations","version":"2.11.0","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@2.11.0","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"ebefd3a59457d6b691a45de214febf7943df8cc0","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-2.11.0.tgz","fileCount":8,"integrity":"sha512-81a3aJ+RVkQG359udLNkjYMiJUvep4xauKqaBXoAfonGul2GDYbYB+jI2aw1fNAadFByZ1SicrTMZe0fHkLLyw==","signatures":[{"sig":"MEUCIAQFsdt7BA5GpWzsBPkZ8wPBA41LnG8VFExRMeb7jhhJAiEA/c/fg9/cNgGIDKkxv66XOqTVcweH1on9h0PNfioCXNk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCK7Ak7lOEXoiM+xuE49+0/iFyPdHKvEn5e0BKfbLIm6gIhAJ1yo6JWxffhX/QdEt0/t3J7/jTqv04pAysiXEDtm94x","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63723},"main":"dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"oxlint --config ../../.oxlintrc.json .","build":"tsx ../../tooling/build-step.ts tsup","test:bin":"vitest run --project bin --root ../.. --passWithNoTests \"$PWD\"","test:exam":"vitest run --project exam --root ../.. --passWithNoTests \"$PWD\"","test:unit":"vitest run --project unit --root ../.. --passWithNoTests \"$PWD\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_2.11.0_1790271810884_0.6666227255627173","host":"s3://npm-registry-packages-npm-production"}},"2.11.1":{"name":"@geonosis/integrations","version":"2.11.1","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@2.11.1","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"a600824c847e1cbeee2c54822a3b4013c25f3d88","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-2.11.1.tgz","fileCount":8,"integrity":"sha512-YDiI77XhTDMRknhrwMx4G1jkDqFCn6dVKAgKM5dzccRJd5kHFuu80Jekz0gTm/mAfuQv+xgrL8QDsefT0t22hw==","signatures":[{"sig":"MEYCIQCyZI4dMF7u9GTOUuqo2bbu3T6LrMjNiQlv2vjlMwUfVQIhAOWIq9ibgOvfB0eeHSLMeOiIowkHwm5TyiYXyv50yjgj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGuWZttxBS431UdbowUtdEJ6mHSyX8tCIn1iAYvW63YqAiBJUdCCQzSkLzP5kZsfCSueOd6wMupmENxh3/23ZPMMAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63734},"main":"dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"oxlint --config ../../.oxlintrc.json .","build":"tsx ../../tooling/build-step.ts tsup","test:bin":"vitest run --project bin --root ../.. --passWithNoTests \"$PWD\"","test:exam":"vitest run --project exam --root ../.. --passWithNoTests \"$PWD\"","test:unit":"vitest run --project unit --root ../.. --passWithNoTests \"$PWD\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_2.11.1_1790351187455_0.42139120923713436","host":"s3://npm-registry-packages-npm-production"}},"2.12.0":{"name":"@geonosis/integrations","version":"2.12.0","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@2.12.0","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"13f47ac910a4b004496b35bd8aa2f532548419c9","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-2.12.0.tgz","fileCount":8,"integrity":"sha512-pfe+wiJ+Dst8coZb6I1FvU24D8l+Z0U0eXqAAZieZEoYaaHpl4WnWe/UXmRz3lSiLidCDdmoBe686t+q1tOnXg==","signatures":[{"sig":"MEUCIQDytul1HZZODwivaxaFfLloToaUI46G6DvavrptwsWqIQIgZHA1VUgVDz09b6IUAZ0PaaqLBjlwo80b6/XneXcoxiY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIA9FhJcAPkReQSed577O9qXUt8QgR8P9sAeUPZbjidWrAiEAgoBKJWuoNX/p1aN7UVzXux751YTNo6sDNdhcFG8Rb3o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63745},"main":"dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"oxlint --config ../../.oxlintrc.json .","build":"tsx ../../tooling/build-step.ts tsup","test:bin":"vitest run --project bin --root ../.. --passWithNoTests \"$PWD\"","test:exam":"vitest run --project exam --root ../.. --passWithNoTests \"$PWD\"","test:unit":"vitest run --project unit --root ../.. --passWithNoTests \"$PWD\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_2.12.0_1790356165477_0.4496216407849072","host":"s3://npm-registry-packages-npm-production"}},"2.13.0":{"name":"@geonosis/integrations","version":"2.13.0","keywords":["integrations","plugin","registry","provider","zod","settings"],"license":"Apache-2.0","_id":"@geonosis/integrations@2.13.0","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","dist":{"shasum":"713ceab2d19ac34f3946cf93c7356ddd6cc72feb","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-2.13.0.tgz","fileCount":8,"integrity":"sha512-opqXtZLTfavJYUhx9sTPBVNSqmGBfxEwkKb0KxszSw0s2WchUP+J6Iln/Y7Nr9orCtowmjyhFikM5C/a7ON9jw==","signatures":[{"sig":"MEQCICgSn/6T91xJRZNYtU83e6PWo/lt4ujMKknVO/2mGismAiATIadzkEGpIt9WbypeaaD4z4VRgUdmYuhj60DOrga5vg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDYgOHDCMMywqfGWxTWO4XzdzXJvwxd6LkCS5URL/ARZAIhAPGqMvmwbCt95yiY4bYBj/rSz16zi2WOexypo5KAjmYU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63756},"main":"dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"lint":"oxlint --config ../../.oxlintrc.json .","build":"tsx ../../tooling/build-step.ts tsup","test:bin":"vitest run --project bin --root ../.. --passWithNoTests \"$PWD\"","test:exam":"vitest run --project exam --root ../.. --passWithNoTests \"$PWD\"","test:unit":"vitest run --project unit --root ../.. --passWithNoTests \"$PWD\"","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/integrations_2.13.0_1790432594955_0.4172858646294184","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"_id":"@geonosis/integrations@3.0.0","dist":{"shasum":"3378cf4b8ef8ee68906723e3444d223ac89e4974","tarball":"https://registry.npmjs.org/@geonosis/integrations/-/integrations-3.0.0.tgz","fileCount":20,"integrity":"sha512-d2Kao7Deh6ELXgnbTiADtLjTOvy2WndOkTFK+uw+Kto3t5nQujqJc6cMvfYIMI5u5hmUpCuggJUPW0E8z5poHg==","signatures":[{"sig":"MEUCIQDuNFU4C9qFDoTMlxMsr938YleVAw6+W72Kwnjol01ZkAIgdB0AaE569m7YWrn2tD952GIE1Rt3/ZBeOTDEB5NFZ0c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIElUwZ/dq8xrNVbDurjN3g7EsHI2VVOooQ6bzeo29bpPAiEA8mJJyo6e/CGdFMeNeh6eRhFrEvXDXzwamolsK+iNZjw="}],"unpackedSize":69088},"main":"dist/index.cjs","name":"@geonosis/integrations","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"license":"Apache-2.0","scripts":{"lint":"oxlint --config ../../.oxlintrc.json .","build":"bun ../../tooling/build-step.ts bun ../../tooling/bundle.ts","test:bin":"vitest run --project bin --root ../.. --passWithNoTests \"$PWD\"","test:exam":"vitest run --project exam --root ../.. --passWithNoTests \"$PWD\"","test:unit":"vitest run --project unit --root ../.. --passWithNoTests \"$PWD\"","typecheck":"tsc --noEmit"},"version":"3.0.0","_npmUser":{"name":"bayraak","email":"bayraak@gmail.com"},"homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","keywords":["integrations","plugin","registry","provider","zod","settings"],"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","directories":{},"maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.6.5","zod-3":"npm:zod@3.25.76","zod-4-2":"npm:zod@4.2.0"},"peerDependencies":{"zod":"^4.0.0"},"peerDependenciesMeta":{"zod":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/integrations_3.0.0_1790529019848_0.06120149817110021"}}},"time":{"created":"2026-08-30T16:12:58.630Z","modified":"2026-09-27T17:10:20.120Z","1.0.0":"2026-08-30T16:12:58.912Z","1.1.0":"2026-08-30T18:34:10.774Z","1.2.0":"2026-08-30T19:43:56.961Z","1.3.0":"2026-09-01T09:25:57.789Z","1.4.0":"2026-09-01T13:21:46.030Z","2.0.0":"2026-09-02T06:55:49.792Z","2.1.0":"2026-09-02T13:52:36.273Z","2.2.0":"2026-09-02T17:19:57.451Z","2.3.0":"2026-09-03T07:18:44.610Z","2.3.1":"2026-09-03T11:34:57.251Z","2.4.2":"2026-09-03T14:13:23.572Z","2.4.3":"2026-09-04T23:53:19.707Z","2.5.0":"2026-09-05T08:03:11.558Z","2.5.1":"2026-09-06T09:09:13.697Z","2.5.2":"2026-09-06T13:27:53.592Z","2.5.3":"2026-09-06T16:37:25.797Z","2.6.0":"2026-09-07T10:15:48.500Z","2.6.1":"2026-09-07T17:56:55.036Z","2.7.0":"2026-09-12T10:36:24.823Z","2.8.0":"2026-09-14T21:29:13.654Z","2.9.0":"2026-09-15T10:34:01.812Z","2.10.0":"2026-09-15T16:28:41.473Z","2.11.0":"2026-09-24T17:43:30.967Z","2.11.1":"2026-09-25T15:46:27.536Z","2.12.0":"2026-09-25T17:09:25.574Z","2.13.0":"2026-09-26T14:23:15.048Z","3.0.0":"2026-09-27T17:10:19.941Z"},"license":"Apache-2.0","homepage":"https://github.com/microcompanies/geonosis/tree/main/packages/integrations","keywords":["integrations","plugin","registry","provider","zod","settings"],"repository":{"url":"git+https://github.com/microcompanies/geonosis.git","type":"git","directory":"packages/integrations"},"description":"One integration seam: a prefixed id, an optional settings schema, one registry that refuses a duplicate, a wrong prefix or a missing required id — and settings fields derived from the schema rather than hand-mapped.","maintainers":[{"name":"bayraak","email":"bayraak@gmail.com"}],"readme":"# `@geonosis/integrations`\n\nOne integration seam: a prefixed id, an optional settings schema, and a registry that refuses a\nduplicate id, an id outside its prefix, or a missing required id — at build time, once, instead of\non every lookup for the life of the process.\n\nZero runtime dependencies. It never imports zod.\n\n```bash\npnpm add @geonosis/integrations\n```\n\n## Why\n\nA Medusa storefront arrived at the same seam three times, with no shared code between them:\n`AbstractCrmProvider` + `buildCrmProviderRegistry` (`cp_*`), `AbstractSearchProvider` +\n`buildSearchProviderRegistry` (`sp_*`), and `AbstractMessagingChannelProvider` +\n`buildMessagingProviderRegistry` (`mp_*`). Midday is the same story one stage later: **five**\nincompatible plugin seams for one concept, a `UnifiedApp` manifest with 25 optional fields and\n`value: any`, a settings UI hand-mapped inside a dashboard component, and 8 of 35 integration\ndirectories reachable from nothing.\n\nThe measured gain is smaller and sharper than \"one shape for all of them\". A Medusa storefront declares\n\n```ts\nexport const CRM_PROVIDER_PREFIX = 'cp_'      // modules/crm/types.ts:145\nexport const SEARCH_PROVIDER_PREFIX = 'sp_'   // modules/search/types.ts:135\n```\n\nand **references neither anywhere else in the repo**. Both registries are a\n`Record<string, Provider>` built from an object literal, so:\n\n- a key that ignores the prefix is accepted;\n- a second entry under an id already taken silently replaces the first, and the one that disappears\n  is whichever was written higher up;\n- \"the configured default must be registered\" is checked inside `getActiveProvider()` — on every\n  call, forever — instead of once, when the registry is built.\n\nTwo dead constants and three invariants stated in comments and held by nothing. This package holds\nthem.\n\n## The boundary\n\nStated here because a Workers + D1 app closed this package *not applicable* and gave the reason as \"the\nregistry only models a user-installable integration\" — which was a fact about a boundary nobody had\nwritten down. Every line below is measured in\n[`docs/ports-events-inventory-2026-08-30.md`](../../docs/ports-events-inventory-2026-08-30.md),\nwhich read all three a Medusa storefront seams and a Workers + D1 app's app catalogue before a line of this was written.\n\n**One registry, many doors.** A door is an `Integration<Id, Instance>`: a prefixed id, a typed\ninstance, and at most two probes. A registry is a set of doors behind one prefix, validated once\nwhen it is built. `Id` is the literal so `crm.get('cp_attio')` is checked rather than hoped, and\n`Instance` is one type for the whole registry — that is the abstract provider a seam is already\nwritten against, not a union of nine shapes.\n\n**What a door owns**\n\n| owned | why |\n|---|---|\n| its `id`, inside the registry's prefix | the prefix constants existed in a Medusa storefront and were referenced by nothing; here they are enforced |\n| its `instance` — whatever the consumer's own contract is | `upsertContact`, `search`, `parseInbound` are the consumer's nine methods and this package never sees them |\n| `health()` and `isConfigured()` | the two probes `AbstractCrmProvider` and `AbstractSearchProvider` both declare. `AbstractMessagingChannelProvider` declares neither, so both are optional |\n| a `settingsSchema`, structurally `{ safeParse }` | so a settings form is derived. Never imported, never a dependency |\n\n**What a door may not own**\n\n| not owned | measured |\n|---|---|\n| a **manifest** — `name`, `category`, `description`, `logo` | zero occurrences across all three a Medusa storefront seams; Midday's has 25 optional fields and `value: any`. A catalogue is presentation, and it stays in the repo whose UI shows it |\n| an **install lifecycle** — `installUrl`, `onCallback`, `onUninstall` | zero occurrences in either consumer. A Medusa storefront's integrations are credential-configured; a Workers + D1 app's have no server half. The slot waits for a consumer that holds one |\n| **storage** — where settings, tokens or install state live | a registry that read a store could not be built at module scope, which is the one moment its three invariants can be checked |\n| **the lookup key** — a door is found by its id and by nothing else | `buildMessagingProviderRegistry` is keyed by `CommunicationChannel` and total with holes; see below |\n| **resolution order or a default beyond `requiredId`** | \"the configured default must be registered\" is answered once, when the registry is built, not on every `getActiveProvider()` call forever |\n\n**The doors, in full.** `defineIntegration` builds one and `isIntegration` recognises one — the\nregistry uses the second to refuse an entry that never went through the first, and it is exported\nbecause a consumer building its own list needs the same answer. `createIntegrationRegistry` takes\na `RegistryInput` and hands back an `IntegrationRegistry`; `defineIntegration` takes an\n`IntegrationInput` and hands back an `Integration`. `settingsFieldsOf` turns a `SchemaLike` into\n`SettingsField`s. That is the whole surface, and `src/boundary.test.ts` fails by name if a door is\nadded without a line here.\n\n**The one shape outside the boundary** is the channel-keyed registry —\n`Record<CommunicationChannel, Provider | undefined>`, total with holes so a new channel breaks the\nbuild. It is a second registry shape, not a worse version of this one, and it is spelled out at the\nend of this file.\n\n## API\n\n### `defineIntegration({ id, instance?, settingsSchema?, health?, isConfigured? })`\n\n```ts\nimport { defineIntegration } from '@geonosis/integrations'\nimport { z } from 'zod'\n\nexport const attio = defineIntegration({\n  id: 'cp_attio',\n  settingsSchema: z.object({\n    apiKey: z.string().describe('The Attio API key'),\n    baseUrl: z.string().optional(),\n  }),\n  health: () => client.ping(),\n  isConfigured: () => apiKey !== undefined,\n})\n```\n\nRefuses an empty or non-string `id`, a `settingsSchema` with no `safeParse`, and a `health` or\n`isConfigured` that is not callable.\n\n`health` and `isConfigured` are the two probes `AbstractCrmProvider` and `AbstractSearchProvider`\nboth declare. Everything a provider does beyond them — `upsertContact`, `search`, `parseInbound` —\nis the consumer's own contract and stays there; this package holds the seam, not the work.\n\n#### The posture on instances (decided 2026-08-30)\n\n**The kit validates the registry AND may hold the instance. A repo that keeps its instances\nelsewhere passes nothing, declares nothing, and compiles exactly as before.**\n\n`instance` is optional and typed. It exists because a Medusa storefront measured its `getCrmProvider('cp_attio')`\nagainst this package and found 15 parity checks, 10 divergences, and every one of the ten was this\none missing slot: their seam hands back a provider with nine methods on it, and a registry that\nvalidates entries and then makes the caller go and find the object somewhere else is a registry of\nnames. Names were never the problem. The three build-time invariants — prefix, duplicate, required —\nare unchanged; this is additive.\n\n```ts\nconst attio = defineIntegration({ id: 'cp_attio', instance: attioClient })\n\nconst crm = createIntegrationRegistry({ prefix: 'cp_', integrations: [attio, hubspot] })\n\ncrm.get('cp_attio').instance.upsertContact(…) // typed, all nine methods\n```\n\nThe type parameter is inferred from the value, so nothing has to be written twice. It defaults to\n`unknown`: with no `instance`, `entry.instance` is `undefined` and its type is `unknown`, which is\nwhat this package actually knows about it. Every entry in one registry shares one `Instance` type —\nthat is the abstract provider a seam is already written against.\n\n### `createIntegrationRegistry({ prefix, integrations, requiredId? })`\n\n```ts\nconst crm = createIntegrationRegistry({\n  prefix: 'cp_',\n  integrations: [attio, hubspot],\n  requiredId: 'cp_attio',\n})\n\ncrm.get('cp_attio')   // throws, naming what IS registered, if absent\ncrm.has('cp_hubspot') // boolean, no throw\ncrm.list()            // declaration order\ncrm.required()        // the `requiredId` integration\ncrm.prefix            // 'cp_'\n```\n\nRefuses, when built: an empty `prefix`; an entry that never went through `defineIntegration`; an id\noutside the prefix; a duplicate id; a `requiredId` outside the prefix or absent from the list.\n\n`requiredId` is a Medusa storefront's `DEFAULT_CRM_PROVIDER_ID` / `DEFAULT_SEARCH_PROVIDER_ID` plus the\n`NOT_FOUND` its `getActiveProvider()` throws — moved to the one moment the question can be answered\nonce. (Plan 022 called this option `manualImplementationRequired`; it is named for the consumer\nconstruct it extracts.)\n\n### `settingsFieldsOf(integration)`\n\nA JSON description of the settings schema's fields, so a settings form is **derived** rather than\nhand-mapped:\n\n```ts\nsettingsFieldsOf(attio)\n// [ { name: 'apiKey', type: 'string', required: true, description: 'The Attio API key' },\n//   { name: 'baseUrl', type: 'string', required: false } ]\n```\n\n`optional`, `default` and `prefault` make a field not required; `nullable` and `readonly` are peeled\nwithout changing that; an enum carries its choices as `options`. An integration with no schema, or\na schema that is not an object of fields, has no fields. A schema this reader **cannot see into**\nthrows rather than returning an empty list — a blank settings page with no explanation is the silent\nzero this kit refuses everywhere else.\n\n## The one shape this package does not replace\n\nA Medusa storefront's third seam is not this shape and is deliberately out of scope:\n\n```ts\nbuildMessagingProviderRegistry(): Record<CommunicationChannel, AbstractMessagingChannelProvider | undefined>\n```\n\nIt is keyed by `CommunicationChannel`, not by a prefixed id — the `mp_*` ids live in a separate\n`MESSAGING_PROVIDER_IDS` map the registry never uses — and it is **total with holes**: `sms`,\n`telegram` and `webchat` are present and `undefined`, so a new channel breaks the build until\nsomeone answers for it. Its own test asserts exactly that:\n\n```ts\nexpect(reg.sms).toBeUndefined()   // providers.test.ts:157\n```\n\nA registry that refuses a non-integration destroys the totality that test protects. That is a\nsecond registry shape — keyed and total over a declared union — and replacing it with this one would\nbe a downgrade. It is the only registry test either consumer has, which is why it is quoted here\nrather than summarised.\n\n## Migration — a Medusa storefront, five lines\n\n```diff\n-export function buildCrmProviderRegistry(opts: CrmProviderOptions = {}): Record<string, AbstractCrmProvider> {\n-  return { [DEFAULT_CRM_PROVIDER_ID]: new AttioCrmProviderService(...), [CRM_PROVIDER_IDS.hubspot]: new HubspotCrmProviderService(...) }\n-}\n+export const buildCrmProviderRegistry = (opts: CrmProviderOptions = {}) =>\n+  createIntegrationRegistry({\n+    prefix: CRM_PROVIDER_PREFIX,\n+    requiredId: DEFAULT_CRM_PROVIDER_ID,\n+    integrations: [attioIntegration(opts), hubspotIntegration(opts)],\n+  })\n```\n\n`getActiveProvider()` becomes `registry.required()`, and its `NOT_FOUND` throw is deleted — the\nregistry already refused to exist. `CRM_PROVIDER_PREFIX` stops being a dead export.\n\n## Migration — a client-only catalogue, five lines\n\nThe shape the idiom is generalised from is a hardcoded array of 12 `AppDefinition`s\n(`{ category, description, icon, id, name }`) with client-only `installedIds` and no server half.\nIts first real integration is where the seam is worth having:\n\n```diff\n-const DEFAULT_APPS: AppDefinition[] = [ { id: 'slack', name: 'Slack', ... }, ... ]\n+export const apps = createIntegrationRegistry({\n+  prefix: 'app_',\n+  integrations: [slack, gmail, outlook],\n+})\n```\n\nThe presentation fields (`category`, `description`, `icon`, `name`) stay in a Workers + D1 app: they are a\nUI catalogue, and this package deliberately carries no manifest. See below.\n\n## Equivalence status (D-027)\n\n| Piece | Status |\n|---|---|\n| `createIntegrationRegistry` — prefix, duplicates, `requiredId` | **extracted** — three consumer copies, the invariants they state and do not hold |\n| `defineIntegration` — `id`, `health`, `isConfigured` | **extracted** — the fields two of the three abstractions declare |\n| `settingsSchema` + `settingsFieldsOf` | **from Midday's failure, no consumer fixture yet** — neither consumer holds a settings schema today; the field exists because `value: any` plus a hand-mapped dashboard component is where its absence leads |\n| manifest (`name`, `category`, `description`, `logo`) | **not here** — Midday's is 25 optional fields, and neither consumer's provider carries one |\n| install lifecycle (`installUrl`, `onCallback`, `onUninstall`) | **not here** — zero occurrences in either consumer. A Medusa storefront's integrations are credential-configured; a Workers + D1 app's have no server half. It waits for a consumer that holds one |\n| the channel-keyed registry | **not replaced** — see above |\n\n**Adopted by:** nobody yet. This is a published package with contract tests over both consumers'\nmeasured shapes, not a migration that has happened.\n\n## zod, and why the guard is structural\n\n`settingsSchema` is typed structurally — `{ safeParse }` — and checked the same way. This package\nnever imports zod, and has no runtime dependencies at all. The declared peer is `^4.0.0`, optional.\n\nThe reason, measured rather than assumed:\n\n| | a Medusa storefront plugins | a Medusa storefront root | a Workers + D1 app |\n|---|---|---|---|\n| import specifier | `@medusajs/framework/zod` | `zod` | `zod` (catalog) |\n| resolved version | **4.2.0** (via `@medusajs/deps`) | 4.4.3 | 4.5.4 |\n\nThree module instances of one major, across two consumers, with genuinely different constructors\nand prototypes.\n\nThe obvious conclusion from that — \"so an `instanceof z.ZodType` guard would refuse a schema built\nby another copy\" — **is wrong for zod 4, and this package's tests are where that was found out.** Zod 4 puts\na `Symbol.hasInstance` on its classes that answers by an internal trait rather than by the prototype\nchain, so `instanceof` bridges copies of zod 4 fine. It does **not** bridge zod 3, whose schemas are\nplain classes — and a Medusa storefront's own root package declares its zod peer as `^3.0.0 || ^4.0.0`.\n\nSo the structural guard is still the right one, for the reasons that survived the measurement: it\nasks what a schema does, which every copy and every major answers identically; and it needs no\nimport, which keeps this package out of the version disagreement entirely. `settingsFieldsOf` reads\nzod 4 internals and says so loudly when handed something else.\n\n`src/realms.test.ts` asserts all of it against three real copies of zod (4.5, 4.2 and 3.25) in one\nprocess, starting with the assertion that they are genuinely different modules — without which the\nrest would pass and prove nothing.\n\n## Consumable from CommonJS\n\nA Medusa backend is `module: Node16` CommonJS **by upstream requirement**, not by preference. This\npackage ships both builds and a `require` condition carrying its own `.d.cts`, so a static import\ntype-checks and `require()` works:\n\n```ts\nimport { defineIntegration } from '@geonosis/integrations'      // ESM, module: Node16 or ESNext\nconst { defineIntegration } = require('@geonosis/integrations') // CommonJS\n```\n\nAn ESM-only package is a wall for such a backend, and no amount of parity gets over it: a Medusa storefront\nmeasured `@geonosis/testbed` at 15/15 identical and still could not adopt it, because a static\nimport is TS1479 and `await import()` cannot serve the synchronous `describe()` registration its 107\nsuites are built on.\n\n## Licence\n\nApache-2.0\n","readmeFilename":""}