{"_id":"@bjorntech/alchemy-scaleway","_rev":"24-46f26d99ddb087266ba4dbb640d5acea","name":"@bjorntech/alchemy-scaleway","dist-tags":{"latest":"0.7.20-beta.76"},"versions":{"0.7.0-beta.51":{"name":"@bjorntech/alchemy-scaleway","version":"0.7.0-beta.51","keywords":["alchemy","alchemy-effect","effect","iac","infrastructure-as-code","scaleway","typescript"],"license":"Apache-2.0","_id":"@bjorntech/alchemy-scaleway@0.7.0-beta.51","maintainers":[{"name":"bjorntechtobbe","email":"tobbe@bjorntech.com"},{"name":"marveltool","email":"carl@bjorntech.com"}],"homepage":"https://github.com/bjorntech/alchemy-scaleway#readme","bugs":{"url":"https://github.com/bjorntech/alchemy-scaleway/issues"},"dist":{"shasum":"895f880e1d4c3e557afe4d3904d61f0c0f141bab","tarball":"https://registry.npmjs.org/@bjorntech/alchemy-scaleway/-/alchemy-scaleway-0.7.0-beta.51.tgz","fileCount":41,"integrity":"sha512-r+qSN1+ldUOHnmCzxqYgPGbwQfUM9GG2ryZDoz2OPr90snxKLZi7FVY7ymRmZxIMLs9CM8rteIoYVOvBxyu86g==","signatures":[{"sig":"MEYCIQDxlGWwPXja1JZaV1iKeECV2TD13y2K87+S9VBRLy08GQIhAN35hgUeDpekjtB1lZmEF042xVqwt5qIqt3pCofIuuW3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":442634},"type":"module","_from":"file:bjorntech-alchemy-scaleway-0.7.0-beta.51.tgz","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"scripts":{"crap":"bun run scripts/crap-index.ts --max=6","test":"bun test","check":"tsc --noEmit","format":"oxfmt .","coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run check && bun test && bun run coverage && bun run crap","smoke:scaleway":"bun run scripts/scaleway-production-smoke.ts","smoke:scaleway:dns":"bun run scripts/scaleway-dns-smoke.ts","smoke:scaleway:negative":"bun run scripts/scaleway-negative-flexible-ip-smoke.ts","smoke:scaleway:registry-copy":"bun run scripts/scaleway-registry-copy-smoke.ts"},"_npmUser":{"name":"bjorntechtobbe","email":"tobbe@bjorntech.com"},"_resolved":"/Users/tobbe/Projects/alchemy-scaleway/bjorntech-alchemy-scaleway-0.7.0-beta.51.tgz","overrides":{"@effect/platform-node-shared":"4.0.0-beta.74"},"_integrity":"sha512-r+qSN1+ldUOHnmCzxqYgPGbwQfUM9GG2ryZDoz2OPr90snxKLZi7FVY7ymRmZxIMLs9CM8rteIoYVOvBxyu86g==","repository":{"url":"git+https://github.com/bjorntech/alchemy-scaleway.git","type":"git"},"_npmVersion":"11.12.1","description":"Scaleway providers for Alchemy v2","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"jszip":"^3.10.1","aws4fetch":"^1.0.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"latest","effect":"4.0.0-beta.74","alchemy":"2.0.0-beta.51","@types/bun":"latest","typescript":"latest","@effect/platform-bun":"4.0.0-beta.74","@effect/platform-node":"4.0.0-beta.74"},"peerDependencies":{"effect":"4.0.0-beta.74","alchemy":"2.0.0-beta.51"},"_npmOperationalInternal":{"tmp":"tmp/alchemy-scaleway_0.7.0-beta.51_1782026789447_0.8543531580016879","host":"s3://npm-registry-packages-npm-production"}},"0.7.1-beta.51":{"name":"@bjorntech/alchemy-scaleway","version":"0.7.1-beta.51","keywords":["alchemy","alchemy-effect","effect","iac","infrastructure-as-code","scaleway","typescript"],"license":"Apache-2.0","_id":"@bjorntech/alchemy-scaleway@0.7.1-beta.51","maintainers":[{"name":"bjorntechtobbe","email":"tobbe@bjorntech.com"},{"name":"marveltool","email":"carl@bjorntech.com"}],"homepage":"https://github.com/bjorntech/alchemy-scaleway#readme","bugs":{"url":"https://github.com/bjorntech/alchemy-scaleway/issues"},"dist":{"shasum":"9822961d3df50d557ac8c68cf46e2fdef60ff34e","tarball":"https://registry.npmjs.org/@bjorntech/alchemy-scaleway/-/alchemy-scaleway-0.7.1-beta.51.tgz","fileCount":41,"integrity":"sha512-/Pmw/8dmVwCX5qAN/YGgidCfh0HxiDA7saMMjiAuToERN7moTBYlL+41X2K36LNNCtae20HVsM98Dwa/JGwbdQ==","signatures":[{"sig":"MEQCIC2mzrzk55QtoAkGAEP9/VfGuZMraMdYw1Nj2AC69jC9AiB59C/fpa9ADM0vWQMEyj+P829kHLJ8skeC3niec2Vqag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bjorntech%2falchemy-scaleway@0.7.1-beta.51","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":442851},"type":"module","_from":"file:bjorntech-alchemy-scaleway-0.7.1-beta.51.tgz","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"scripts":{"crap":"bun run scripts/crap-index.ts --max=6","test":"bun test","check":"tsc --noEmit","format":"oxfmt .","coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run check && bun test && bun run coverage && bun run crap","smoke:scaleway":"bun run scripts/scaleway-production-smoke.ts","smoke:scaleway:dns":"bun run scripts/scaleway-dns-smoke.ts","smoke:scaleway:negative":"bun run scripts/scaleway-negative-flexible-ip-smoke.ts","smoke:scaleway:registry-copy":"bun run scripts/scaleway-registry-copy-smoke.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:77f746bd-a1c9-4b9f-bc33-567a4e82830e"}},"_resolved":"/home/runner/work/alchemy-scaleway/alchemy-scaleway/bjorntech-alchemy-scaleway-0.7.1-beta.51.tgz","overrides":{"@effect/platform-node-shared":"4.0.0-beta.74"},"_integrity":"sha512-/Pmw/8dmVwCX5qAN/YGgidCfh0HxiDA7saMMjiAuToERN7moTBYlL+41X2K36LNNCtae20HVsM98Dwa/JGwbdQ==","repository":{"url":"git+https://github.com/bjorntech/alchemy-scaleway.git","type":"git"},"_npmVersion":"11.17.0","description":"Scaleway providers for Alchemy v2","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"jszip":"^3.10.1","aws4fetch":"^1.0.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"oxfmt":"latest","effect":"4.0.0-beta.74","alchemy":"2.0.0-beta.51","@types/bun":"latest","typescript":"latest","@effect/platform-bun":"4.0.0-beta.74","@effect/platform-node":"4.0.0-beta.74"},"peerDependencies":{"effect":"4.0.0-beta.74","alchemy":"2.0.0-beta.51"},"_npmOperationalInternal":{"tmp":"tmp/alchemy-scaleway_0.7.1-beta.51_1782027878786_0.7114024360480484","host":"s3://npm-registry-packages-npm-production"}},"0.7.2-beta.59":{"name":"@bjorntech/alchemy-scaleway","version":"0.7.2-beta.59","keywords":["alchemy","alchemy-effect","effect","iac","infrastructure-as-code","scaleway","typescript"],"license":"Apache-2.0","_id":"@bjorntech/alchemy-scaleway@0.7.2-beta.59","maintainers":[{"name":"bjorntechtobbe","email":"tobbe@bjorntech.com"},{"name":"marveltool","email":"carl@bjorntech.com"}],"homepage":"https://github.com/bjorntech/alchemy-scaleway#readme","bugs":{"url":"https://github.com/bjorntech/alchemy-scaleway/issues"},"dist":{"shasum":"f293cecf4f2fb2aa441fc4d63fb7507ae0d62c68","tarball":"https://registry.npmjs.org/@bjorntech/alchemy-scaleway/-/alchemy-scaleway-0.7.2-beta.59.tgz","fileCount":41,"integrity":"sha512-b7whbANc3+dbCzKAqGlrmvRjKb2WfqmbgAlorF/zPMWPZWgEtCAfamEiMdrUdxvyetZ+fJArk3919izhZh0inQ==","signatures":[{"sig":"MEUCIQD/f/wmysEKBKaslSlXNVFNPzpnUWnHtA1iM928WsmSQgIgU6qX7p93KkyXfPzfzrSrEUu3ylsnNhjTX47lAcdtLPs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bjorntech%2falchemy-scaleway@0.7.2-beta.59","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":450828},"type":"module","_from":"file:bjorntech-alchemy-scaleway-0.7.2-beta.59.tgz","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"scripts":{"crap":"bun run scripts/crap-index.ts --max=6","test":"bun test","check":"tsc --noEmit","format":"oxfmt .","coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run check && bun test && bun run coverage && bun run crap","smoke:scaleway":"bun run scripts/scaleway-production-smoke.ts","smoke:scaleway:dns":"bun run scripts/scaleway-dns-smoke.ts","smoke:scaleway:negative":"bun run scripts/scaleway-negative-flexible-ip-smoke.ts","smoke:scaleway:registry-copy":"bun run scripts/scaleway-registry-copy-smoke.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:77f746bd-a1c9-4b9f-bc33-567a4e82830e"}},"_resolved":"/home/runner/work/alchemy-scaleway/alchemy-scaleway/bjorntech-alchemy-scaleway-0.7.2-beta.59.tgz","_integrity":"sha512-b7whbANc3+dbCzKAqGlrmvRjKb2WfqmbgAlorF/zPMWPZWgEtCAfamEiMdrUdxvyetZ+fJArk3919izhZh0inQ==","repository":{"url":"git+https://github.com/bjorntech/alchemy-scaleway.git","type":"git"},"_npmVersion":"11.17.0","description":"Scaleway providers for Alchemy v2","directories":{},"sideEffects":false,"_nodeVersion":"24.17.0","dependencies":{"jszip":"^3.10.1","aws4fetch":"^1.0.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"latest","effect":"4.0.0-beta.84","alchemy":"2.0.0-beta.59","@types/bun":"latest","typescript":"latest","@effect/platform-bun":"4.0.0-beta.84","@effect/platform-node":"4.0.0-beta.84","@effect/platform-node-shared":"4.0.0-beta.84"},"peerDependencies":{"effect":">=4.0.0-beta.84 || >=4.0.0","alchemy":"2.0.0-beta.59"},"_npmOperationalInternal":{"tmp":"tmp/alchemy-scaleway_0.7.2-beta.59_1782587138841_0.4283224068973499","host":"s3://npm-registry-packages-npm-production"}},"0.7.3-beta.59":{"name":"@bjorntech/alchemy-scaleway","version":"0.7.3-beta.59","keywords":["alchemy","alchemy-effect","effect","iac","infrastructure-as-code","scaleway","typescript"],"license":"Apache-2.0","_id":"@bjorntech/alchemy-scaleway@0.7.3-beta.59","maintainers":[{"name":"bjorntechtobbe","email":"tobbe@bjorntech.com"},{"name":"marveltool","email":"carl@bjorntech.com"}],"homepage":"https://github.com/bjorntech/alchemy-scaleway#readme","bugs":{"url":"https://github.com/bjorntech/alchemy-scaleway/issues"},"dist":{"shasum":"000d5847d5f43202ae8ed2ddac47b30519277b65","tarball":"https://registry.npmjs.org/@bjorntech/alchemy-scaleway/-/alchemy-scaleway-0.7.3-beta.59.tgz","fileCount":41,"integrity":"sha512-CDucepXLso4JvPodu8oxoHqIxDo+M5QZPJOFKK9Z7INfHbV68Uv5mBhZvWuO7MuZBFWmP8quljHAwBXaGwMiqg==","signatures":[{"sig":"MEUCIQCWBtLS+n0WhoKL8uRh7XpdIdDwHaBgpjMSPjbT1dxj1AIgavEIcEbnlxw0fZDDPUy2CK7CsXPkSDjD0Fi4d0ifIdw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bjorntech%2falchemy-scaleway@0.7.3-beta.59","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":453932},"type":"module","_from":"file:bjorntech-alchemy-scaleway-0.7.3-beta.59.tgz","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"scripts":{"crap":"bun run scripts/crap-index.ts --max=6","test":"bun test","check":"tsc --noEmit","format":"oxfmt .","coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run check && bun test && bun run coverage && bun run crap","smoke:scaleway":"bun run scripts/scaleway-production-smoke.ts","smoke:scaleway:dns":"bun run scripts/scaleway-dns-smoke.ts","smoke:scaleway:negative":"bun run scripts/scaleway-negative-flexible-ip-smoke.ts","smoke:scaleway:registry-copy":"bun run scripts/scaleway-registry-copy-smoke.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:77f746bd-a1c9-4b9f-bc33-567a4e82830e"}},"_resolved":"/home/runner/work/alchemy-scaleway/alchemy-scaleway/bjorntech-alchemy-scaleway-0.7.3-beta.59.tgz","_integrity":"sha512-CDucepXLso4JvPodu8oxoHqIxDo+M5QZPJOFKK9Z7INfHbV68Uv5mBhZvWuO7MuZBFWmP8quljHAwBXaGwMiqg==","repository":{"url":"git+https://github.com/bjorntech/alchemy-scaleway.git","type":"git"},"_npmVersion":"11.17.0","description":"Scaleway providers for Alchemy v2","directories":{},"sideEffects":false,"_nodeVersion":"24.17.0","dependencies":{"jszip":"^3.10.1","aws4fetch":"^1.0.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"latest","effect":"4.0.0-beta.84","alchemy":"2.0.0-beta.59","@types/bun":"latest","typescript":"latest","@effect/platform-bun":"4.0.0-beta.84","@effect/platform-node":"4.0.0-beta.84","@effect/platform-node-shared":"4.0.0-beta.84"},"peerDependencies":{"effect":">=4.0.0-beta.84 || >=4.0.0","alchemy":"2.0.0-beta.59"},"_npmOperationalInternal":{"tmp":"tmp/alchemy-scaleway_0.7.3-beta.59_1782734488768_0.4748549663084305","host":"s3://npm-registry-packages-npm-production"}},"0.7.4-beta.59":{"name":"@bjorntech/alchemy-scaleway","version":"0.7.4-beta.59","keywords":["alchemy","alchemy-effect","effect","iac","infrastructure-as-code","scaleway","typescript"],"license":"Apache-2.0","_id":"@bjorntech/alchemy-scaleway@0.7.4-beta.59","maintainers":[{"name":"bjorntechtobbe","email":"tobbe@bjorntech.com"},{"name":"marveltool","email":"carl@bjorntech.com"}],"homepage":"https://github.com/bjorntech/alchemy-scaleway#readme","bugs":{"url":"https://github.com/bjorntech/alchemy-scaleway/issues"},"dist":{"shasum":"3dece6ee3030f7657f0643bc1a2e25f240e2521c","tarball":"https://registry.npmjs.org/@bjorntech/alchemy-scaleway/-/alchemy-scaleway-0.7.4-beta.59.tgz","fileCount":41,"integrity":"sha512-2EY0P/0f8tYjsQgMwdZjC8Rv1AoP8MFOiIHetbtyz9debKVxic63ZdJQU63SjhQ7kDVRjkWBnOc4E9Wkx3Acqg==","signatures":[{"sig":"MEQCICcRO3SBYc+8KIjgB+qATraU1qWyDs3iumCDgW8SDXMTAiBHB+VYU2xdP8J6mvR9QOBlibF44ZyUngLR6asW/cmCqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bjorntech%2falchemy-scaleway@0.7.4-beta.59","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":455464},"type":"module","_from":"file:bjorntech-alchemy-scaleway-0.7.4-beta.59.tgz","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"scripts":{"crap":"bun run scripts/crap-index.ts --max=6","test":"bun test","check":"tsc --noEmit","format":"oxfmt .","coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run check && bun test && bun run coverage && bun run crap","smoke:scaleway":"bun run scripts/scaleway-production-smoke.ts","smoke:scaleway:dns":"bun run scripts/scaleway-dns-smoke.ts","smoke:scaleway:negative":"bun run scripts/scaleway-negative-flexible-ip-smoke.ts","smoke:scaleway:registry-copy":"bun run scripts/scaleway-registry-copy-smoke.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:77f746bd-a1c9-4b9f-bc33-567a4e82830e"}},"_resolved":"/home/runner/work/alchemy-scaleway/alchemy-scaleway/bjorntech-alchemy-scaleway-0.7.4-beta.59.tgz","_integrity":"sha512-2EY0P/0f8tYjsQgMwdZjC8Rv1AoP8MFOiIHetbtyz9debKVxic63ZdJQU63SjhQ7kDVRjkWBnOc4E9Wkx3Acqg==","repository":{"url":"git+https://github.com/bjorntech/alchemy-scaleway.git","type":"git"},"_npmVersion":"11.17.0","description":"Scaleway providers for Alchemy v2","directories":{},"sideEffects":false,"_nodeVersion":"24.17.0","dependencies":{"jszip":"^3.10.1","aws4fetch":"^1.0.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"latest","effect":"4.0.0-beta.84","alchemy":"2.0.0-beta.59","@types/bun":"latest","typescript":"latest","@effect/platform-bun":"4.0.0-beta.84","@effect/platform-node":"4.0.0-beta.84","@effect/platform-node-shared":"4.0.0-beta.84"},"peerDependencies":{"effect":">=4.0.0-beta.84 || >=4.0.0","alchemy":"2.0.0-beta.59"},"_npmOperationalInternal":{"tmp":"tmp/alchemy-scaleway_0.7.4-beta.59_1782744129362_0.8861839363856241","host":"s3://npm-registry-packages-npm-production"}},"0.7.5-beta.59":{"name":"@bjorntech/alchemy-scaleway","version":"0.7.5-beta.59","keywords":["alchemy","alchemy-effect","effect","iac","infrastructure-as-code","scaleway","typescript"],"license":"Apache-2.0","_id":"@bjorntech/alchemy-scaleway@0.7.5-beta.59","maintainers":[{"name":"bjorntechtobbe","email":"tobbe@bjorntech.com"},{"name":"marveltool","email":"carl@bjorntech.com"}],"homepage":"https://github.com/bjorntech/alchemy-scaleway#readme","bugs":{"url":"https://github.com/bjorntech/alchemy-scaleway/issues"},"dist":{"shasum":"e9e341e1177b0512992f9fd7a518a02b66746ec7","tarball":"https://registry.npmjs.org/@bjorntech/alchemy-scaleway/-/alchemy-scaleway-0.7.5-beta.59.tgz","fileCount":41,"integrity":"sha512-V6ZP8wi9x+4Mvyk0G97cMXsinMhwyOLssIy2gqZ/HKEuew310tqAiEwCBT2UBQtRdXyPFaAugaFmdK0kWtEqKw==","signatures":[{"sig":"MEUCIAe/nLz3fxEeT1Z/g1Ea/i2zOCpbolP0kDfBCKcu8LMvAiEA8DP0I34Fv9F4TsQHwQil/dX6Unh/wxl+vUAOzA2KHyU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bjorntech%2falchemy-scaleway@0.7.5-beta.59","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":459881},"type":"module","_from":"file:bjorntech-alchemy-scaleway-0.7.5-beta.59.tgz","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"scripts":{"crap":"bun run scripts/crap-index.ts --max=6","test":"bun test","check":"tsc --noEmit","format":"oxfmt .","coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run check && bun test && bun run coverage && bun run crap","smoke:scaleway":"bun run scripts/scaleway-production-smoke.ts","smoke:scaleway:dns":"bun run scripts/scaleway-dns-smoke.ts","smoke:scaleway:negative":"bun run scripts/scaleway-negative-flexible-ip-smoke.ts","smoke:scaleway:registry-copy":"bun run scripts/scaleway-registry-copy-smoke.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:77f746bd-a1c9-4b9f-bc33-567a4e82830e"}},"_resolved":"/home/runner/work/alchemy-scaleway/alchemy-scaleway/bjorntech-alchemy-scaleway-0.7.5-beta.59.tgz","_integrity":"sha512-V6ZP8wi9x+4Mvyk0G97cMXsinMhwyOLssIy2gqZ/HKEuew310tqAiEwCBT2UBQtRdXyPFaAugaFmdK0kWtEqKw==","repository":{"url":"git+https://github.com/bjorntech/alchemy-scaleway.git","type":"git"},"_npmVersion":"11.18.0","description":"Scaleway providers for Alchemy v2","directories":{},"sideEffects":false,"_nodeVersion":"24.17.0","dependencies":{"jszip":"^3.10.1","aws4fetch":"^1.0.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"latest","effect":"4.0.0-beta.84","alchemy":"2.0.0-beta.59","@types/bun":"latest","typescript":"latest","@effect/platform-bun":"4.0.0-beta.84","@effect/platform-node":"4.0.0-beta.84","@effect/platform-node-shared":"4.0.0-beta.84"},"peerDependencies":{"effect":">=4.0.0-beta.84 || >=4.0.0","alchemy":"2.0.0-beta.59"},"_npmOperationalInternal":{"tmp":"tmp/alchemy-scaleway_0.7.5-beta.59_1782916500144_0.24322997428057658","host":"s3://npm-registry-packages-npm-production"}},"0.7.6-beta.59":{"name":"@bjorntech/alchemy-scaleway","version":"0.7.6-beta.59","keywords":["alchemy","alchemy-effect","effect","iac","infrastructure-as-code","scaleway","typescript"],"license":"Apache-2.0","_id":"@bjorntech/alchemy-scaleway@0.7.6-beta.59","maintainers":[{"name":"bjorntechtobbe","email":"tobbe@bjorntech.com"},{"name":"marveltool","email":"carl@bjorntech.com"}],"homepage":"https://github.com/bjorntech/alchemy-scaleway#readme","bugs":{"url":"https://github.com/bjorntech/alchemy-scaleway/issues"},"dist":{"shasum":"f50bc5eb0a6a2ad3eadf33e2d117435f7d62fe78","tarball":"https://registry.npmjs.org/@bjorntech/alchemy-scaleway/-/alchemy-scaleway-0.7.6-beta.59.tgz","fileCount":41,"integrity":"sha512-0IqJpqQ+chbQefYS5yF6ddqNvBVIs6TYohKkSUEVTlqB7wQJMFi5mNqJyiY/beXzbxN+51adEEJ0BctyOP/QLg==","signatures":[{"sig":"MEUCIQCiC3Kd7Be3MJJ0RTWiMKGAYx9fi19EOWagDyuLHSi7WQIgFPM238u4s8ULxfh+MwVAMWclXkoggj/dE7jkiqHP9nQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bjorntech%2falchemy-scaleway@0.7.6-beta.59","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":463353},"type":"module","_from":"file:bjorntech-alchemy-scaleway-0.7.6-beta.59.tgz","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"scripts":{"crap":"bun run scripts/crap-index.ts --max=6","test":"bun test","check":"tsc --noEmit","format":"oxfmt .","coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run check && bun test && bun run coverage && bun run crap","smoke:scaleway":"bun run scripts/scaleway-production-smoke.ts","smoke:scaleway:dns":"bun run scripts/scaleway-dns-smoke.ts","smoke:scaleway:negative":"bun run scripts/scaleway-negative-flexible-ip-smoke.ts","smoke:scaleway:registry-copy":"bun run scripts/scaleway-registry-copy-smoke.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:77f746bd-a1c9-4b9f-bc33-567a4e82830e"}},"_resolved":"/home/runner/work/alchemy-scaleway/alchemy-scaleway/bjorntech-alchemy-scaleway-0.7.6-beta.59.tgz","_integrity":"sha512-0IqJpqQ+chbQefYS5yF6ddqNvBVIs6TYohKkSUEVTlqB7wQJMFi5mNqJyiY/beXzbxN+51adEEJ0BctyOP/QLg==","repository":{"url":"git+https://github.com/bjorntech/alchemy-scaleway.git","type":"git"},"_npmVersion":"11.18.0","description":"Scaleway providers for Alchemy v2","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"jszip":"^3.10.1","aws4fetch":"^1.0.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"latest","effect":"4.0.0-beta.84","alchemy":"2.0.0-beta.59","@types/bun":"latest","typescript":"latest","@effect/platform-bun":"4.0.0-beta.84","@effect/platform-node":"4.0.0-beta.84","@effect/platform-node-shared":"4.0.0-beta.84"},"peerDependencies":{"effect":">=4.0.0-beta.84 || >=4.0.0","alchemy":"2.0.0-beta.59"},"_npmOperationalInternal":{"tmp":"tmp/alchemy-scaleway_0.7.6-beta.59_1782918715327_0.7530366884911119","host":"s3://npm-registry-packages-npm-production"}},"0.7.7-beta.59":{"name":"@bjorntech/alchemy-scaleway","version":"0.7.7-beta.59","keywords":["alchemy","alchemy-effect","effect","iac","infrastructure-as-code","scaleway","typescript"],"license":"Apache-2.0","_id":"@bjorntech/alchemy-scaleway@0.7.7-beta.59","maintainers":[{"name":"bjorntechtobbe","email":"tobbe@bjorntech.com"},{"name":"marveltool","email":"carl@bjorntech.com"}],"homepage":"https://github.com/bjorntech/alchemy-scaleway#readme","bugs":{"url":"https://github.com/bjorntech/alchemy-scaleway/issues"},"dist":{"shasum":"509102233b4547a270080a9959a9a65319e5191a","tarball":"https://registry.npmjs.org/@bjorntech/alchemy-scaleway/-/alchemy-scaleway-0.7.7-beta.59.tgz","fileCount":41,"integrity":"sha512-qVoeo2qhdDNpSIHsl9Us8/BjV88p5SgZbDqYcNptgK2Pw6ov9V2qDOZNAjyrrJqg2T6kgXu3xsq211z+lFySeQ==","signatures":[{"sig":"MEUCIGI5MbPlF5jUzCRaAiMSNC4bqOxfrdsRqDh07YaofgCDAiEA2P+MvQ+uBHdowxg0M8k7IXVrgAGLCgS8cDr5sBPXSXk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bjorntech%2falchemy-scaleway@0.7.7-beta.59","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":464965},"type":"module","_from":"file:bjorntech-alchemy-scaleway-0.7.7-beta.59.tgz","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"scripts":{"crap":"bun run scripts/crap-index.ts --max=6","test":"bun test","check":"tsc --noEmit","format":"oxfmt .","coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run check && bun test && bun run coverage && bun run crap","smoke:scaleway":"bun run scripts/scaleway-production-smoke.ts","smoke:scaleway:dns":"bun run scripts/scaleway-dns-smoke.ts","smoke:scaleway:negative":"bun run scripts/scaleway-negative-flexible-ip-smoke.ts","smoke:scaleway:registry-copy":"bun run scripts/scaleway-registry-copy-smoke.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:77f746bd-a1c9-4b9f-bc33-567a4e82830e"}},"_resolved":"/home/runner/work/alchemy-scaleway/alchemy-scaleway/bjorntech-alchemy-scaleway-0.7.7-beta.59.tgz","_integrity":"sha512-qVoeo2qhdDNpSIHsl9Us8/BjV88p5SgZbDqYcNptgK2Pw6ov9V2qDOZNAjyrrJqg2T6kgXu3xsq211z+lFySeQ==","repository":{"url":"git+https://github.com/bjorntech/alchemy-scaleway.git","type":"git"},"_npmVersion":"11.18.0","description":"Scaleway providers for Alchemy v2","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"jszip":"^3.10.1","aws4fetch":"^1.0.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"latest","effect":"4.0.0-beta.84","alchemy":"2.0.0-beta.59","@types/bun":"latest","typescript":"latest","@effect/platform-bun":"4.0.0-beta.84","@effect/platform-node":"4.0.0-beta.84","@effect/platform-node-shared":"4.0.0-beta.84"},"peerDependencies":{"effect":">=4.0.0-beta.84 || >=4.0.0","alchemy":"2.0.0-beta.59"},"_npmOperationalInternal":{"tmp":"tmp/alchemy-scaleway_0.7.7-beta.59_1782919880553_0.7110807372793329","host":"s3://npm-registry-packages-npm-production"}},"0.7.8-beta.59":{"name":"@bjorntech/alchemy-scaleway","version":"0.7.8-beta.59","keywords":["alchemy","alchemy-effect","effect","iac","infrastructure-as-code","scaleway","typescript"],"license":"Apache-2.0","_id":"@bjorntech/alchemy-scaleway@0.7.8-beta.59","maintainers":[{"name":"bjorntechtobbe","email":"tobbe@bjorntech.com"},{"name":"marveltool","email":"carl@bjorntech.com"}],"homepage":"https://github.com/bjorntech/alchemy-scaleway#readme","bugs":{"url":"https://github.com/bjorntech/alchemy-scaleway/issues"},"dist":{"shasum":"dd596f363598fa685f07c95a71491f75cef1d63b","tarball":"https://registry.npmjs.org/@bjorntech/alchemy-scaleway/-/alchemy-scaleway-0.7.8-beta.59.tgz","fileCount":41,"integrity":"sha512-/zUEBH6/cP6yAEteBXBktUJ/mRsa8xFhIOq2/AJiAUhmD6TfdKNocGCTY7vWc9PEBOX8gzNTMr4iFhjR8DxR0g==","signatures":[{"sig":"MEYCIQDUeDLTQ01KarSuONZFtuui9FZtUyxfk2P4cgCi1LaMcgIhAKGZFmsNAgjHPogBkfrBQJvbcvYFlB+ovCnCALXSFGF1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bjorntech%2falchemy-scaleway@0.7.8-beta.59","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":467641},"type":"module","_from":"file:bjorntech-alchemy-scaleway-0.7.8-beta.59.tgz","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"scripts":{"crap":"bun run scripts/crap-index.ts --max=6","test":"bun test","check":"tsc --noEmit","format":"oxfmt .","coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run check && bun test && bun run coverage && bun run crap","smoke:scaleway":"bun run scripts/scaleway-production-smoke.ts","smoke:scaleway:dns":"bun run scripts/scaleway-dns-smoke.ts","smoke:scaleway:negative":"bun run scripts/scaleway-negative-flexible-ip-smoke.ts","smoke:scaleway:registry-copy":"bun run scripts/scaleway-registry-copy-smoke.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:77f746bd-a1c9-4b9f-bc33-567a4e82830e"}},"_resolved":"/home/runner/work/alchemy-scaleway/alchemy-scaleway/bjorntech-alchemy-scaleway-0.7.8-beta.59.tgz","_integrity":"sha512-/zUEBH6/cP6yAEteBXBktUJ/mRsa8xFhIOq2/AJiAUhmD6TfdKNocGCTY7vWc9PEBOX8gzNTMr4iFhjR8DxR0g==","repository":{"url":"git+https://github.com/bjorntech/alchemy-scaleway.git","type":"git"},"_npmVersion":"11.18.0","description":"Scaleway providers for Alchemy v2","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"jszip":"^3.10.1","aws4fetch":"^1.0.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"latest","effect":"4.0.0-beta.84","alchemy":"2.0.0-beta.59","@types/bun":"latest","typescript":"latest","@effect/platform-bun":"4.0.0-beta.84","@effect/platform-node":"4.0.0-beta.84","@effect/platform-node-shared":"4.0.0-beta.84"},"peerDependencies":{"effect":">=4.0.0-beta.84 || >=4.0.0","alchemy":"2.0.0-beta.59"},"_npmOperationalInternal":{"tmp":"tmp/alchemy-scaleway_0.7.8-beta.59_1783014274295_0.48922476237844603","host":"s3://npm-registry-packages-npm-production"}},"0.7.9-beta.59":{"name":"@bjorntech/alchemy-scaleway","version":"0.7.9-beta.59","keywords":["alchemy","alchemy-effect","effect","iac","infrastructure-as-code","scaleway","typescript"],"license":"Apache-2.0","_id":"@bjorntech/alchemy-scaleway@0.7.9-beta.59","maintainers":[{"name":"bjorntechtobbe","email":"tobbe@bjorntech.com"},{"name":"marveltool","email":"carl@bjorntech.com"}],"homepage":"https://github.com/bjorntech/alchemy-scaleway#readme","bugs":{"url":"https://github.com/bjorntech/alchemy-scaleway/issues"},"dist":{"shasum":"5de0ded986b589a0b04696ad78517c75885b7210","tarball":"https://registry.npmjs.org/@bjorntech/alchemy-scaleway/-/alchemy-scaleway-0.7.9-beta.59.tgz","fileCount":41,"integrity":"sha512-nMrpNtcHCBxTYLNQst79nrKBuBNIUOb4JxD4mQ1j3gwcBk4DlGtn9CZPHy72A1NoUjM5lJFLyfLtpsc1+u7EGQ==","signatures":[{"sig":"MEUCIQDGklC7XJODJXDQJpW9CVZKBaoaVJ84Reqc+Ihp2rRvCwIgUr+hqZeH8adyP32XRQ3P95NkD245NYjUGwQqX2ofWWU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bjorntech%2falchemy-scaleway@0.7.9-beta.59","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":475602},"type":"module","_from":"file:bjorntech-alchemy-scaleway-0.7.9-beta.59.tgz","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"scripts":{"crap":"bun run scripts/crap-index.ts --max=6","test":"bun test","check":"tsc --noEmit","format":"oxfmt .","coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run check && bun test && bun run coverage && bun run crap","smoke:scaleway":"bun run scripts/scaleway-production-smoke.ts","smoke:scaleway:dns":"bun run scripts/scaleway-dns-smoke.ts","smoke:scaleway:negative":"bun run scripts/scaleway-negative-flexible-ip-smoke.ts","smoke:scaleway:registry-copy":"bun run scripts/scaleway-registry-copy-smoke.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:77f746bd-a1c9-4b9f-bc33-567a4e82830e"}},"_resolved":"/home/runner/work/alchemy-scaleway/alchemy-scaleway/bjorntech-alchemy-scaleway-0.7.9-beta.59.tgz","_integrity":"sha512-nMrpNtcHCBxTYLNQst79nrKBuBNIUOb4JxD4mQ1j3gwcBk4DlGtn9CZPHy72A1NoUjM5lJFLyfLtpsc1+u7EGQ==","repository":{"url":"git+https://github.com/bjorntech/alchemy-scaleway.git","type":"git"},"_npmVersion":"11.18.0","description":"Scaleway providers for Alchemy v2","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"jszip":"^3.10.1","aws4fetch":"^1.0.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"latest","effect":"4.0.0-beta.84","alchemy":"2.0.0-beta.59","@types/bun":"latest","typescript":"latest","@effect/platform-bun":"4.0.0-beta.84","@effect/platform-node":"4.0.0-beta.84","@effect/platform-node-shared":"4.0.0-beta.84"},"peerDependencies":{"effect":">=4.0.0-beta.84 || >=4.0.0","alchemy":"2.0.0-beta.59"},"_npmOperationalInternal":{"tmp":"tmp/alchemy-scaleway_0.7.9-beta.59_1783016636700_0.26901478333654905","host":"s3://npm-registry-packages-npm-production"}},"0.7.10-beta.59":{"name":"@bjorntech/alchemy-scaleway","version":"0.7.10-beta.59","keywords":["alchemy","alchemy-effect","effect","iac","infrastructure-as-code","scaleway","typescript"],"license":"Apache-2.0","_id":"@bjorntech/alchemy-scaleway@0.7.10-beta.59","maintainers":[{"name":"bjorntechtobbe","email":"tobbe@bjorntech.com"},{"name":"marveltool","email":"carl@bjorntech.com"}],"homepage":"https://github.com/bjorntech/alchemy-scaleway#readme","bugs":{"url":"https://github.com/bjorntech/alchemy-scaleway/issues"},"dist":{"shasum":"9268b6e10ab0ca4a6082e50e75fc35fecbb8ccae","tarball":"https://registry.npmjs.org/@bjorntech/alchemy-scaleway/-/alchemy-scaleway-0.7.10-beta.59.tgz","fileCount":41,"integrity":"sha512-eN9f6pwuhK5IR1JZGvvaMHfHjwCIW/KelTFMEzjFRJeDv4rwPKLUbLTE3uSi7PLi66d/vHlZKrGMj9H3gW+sJg==","signatures":[{"sig":"MEUCIQDuzJ9DOxrsCEvrDwMTi0otuGU7nH71MHPX0jhL1grnZQIgBTL08ltb99a0dOMu9gUQyzD71Yuzd538urw5emPeErg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bjorntech%2falchemy-scaleway@0.7.10-beta.59","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":479160},"type":"module","_from":"file:bjorntech-alchemy-scaleway-0.7.10-beta.59.tgz","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"scripts":{"crap":"bun run scripts/crap-index.ts --max=6","test":"bun test","check":"tsc --noEmit","format":"oxfmt .","coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run check && bun test && bun run coverage && bun run crap","smoke:scaleway":"bun run scripts/scaleway-production-smoke.ts","smoke:scaleway:dns":"bun run scripts/scaleway-dns-smoke.ts","smoke:scaleway:negative":"bun run scripts/scaleway-negative-flexible-ip-smoke.ts","smoke:scaleway:registry-copy":"bun run scripts/scaleway-registry-copy-smoke.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:77f746bd-a1c9-4b9f-bc33-567a4e82830e"}},"_resolved":"/home/runner/work/alchemy-scaleway/alchemy-scaleway/bjorntech-alchemy-scaleway-0.7.10-beta.59.tgz","_integrity":"sha512-eN9f6pwuhK5IR1JZGvvaMHfHjwCIW/KelTFMEzjFRJeDv4rwPKLUbLTE3uSi7PLi66d/vHlZKrGMj9H3gW+sJg==","repository":{"url":"git+https://github.com/bjorntech/alchemy-scaleway.git","type":"git"},"_npmVersion":"11.18.0","description":"Scaleway providers for Alchemy v2","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"jszip":"^3.10.1","aws4fetch":"^1.0.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"latest","effect":"4.0.0-beta.84","alchemy":"2.0.0-beta.59","@types/bun":"latest","typescript":"latest","@effect/platform-bun":"4.0.0-beta.84","@effect/platform-node":"4.0.0-beta.84","@effect/platform-node-shared":"4.0.0-beta.84"},"peerDependencies":{"effect":">=4.0.0-beta.84 || >=4.0.0","alchemy":"2.0.0-beta.59"},"_npmOperationalInternal":{"tmp":"tmp/alchemy-scaleway_0.7.10-beta.59_1783050022448_0.6020392414626192","host":"s3://npm-registry-packages-npm-production"}},"0.7.11-beta.62":{"name":"@bjorntech/alchemy-scaleway","version":"0.7.11-beta.62","keywords":["alchemy","alchemy-effect","effect","iac","infrastructure-as-code","scaleway","typescript"],"license":"Apache-2.0","_id":"@bjorntech/alchemy-scaleway@0.7.11-beta.62","maintainers":[{"name":"bjorntechtobbe","email":"tobbe@bjorntech.com"},{"name":"marveltool","email":"carl@bjorntech.com"}],"homepage":"https://github.com/bjorntech/alchemy-scaleway#readme","bugs":{"url":"https://github.com/bjorntech/alchemy-scaleway/issues"},"dist":{"shasum":"526c48236ca956b66dd3a2ee8f5fb00ffeba9382","tarball":"https://registry.npmjs.org/@bjorntech/alchemy-scaleway/-/alchemy-scaleway-0.7.11-beta.62.tgz","fileCount":41,"integrity":"sha512-d7CFU0DWnP+PGJJl2f5W0oFqKcvFLbyO/WpI7w0gVwyx+7tRXx8+2X+ZsDiGikICx3bI4krVEEDZY4OgwHtbow==","signatures":[{"sig":"MEUCIBKnc/u9mJAEdDbRs50QShEC6GiB28D7WgeA6S4yc+54AiEAwqrZyxdink2nYH+Nmu6w/UwYrMfTOGd5N7STSVuIFBA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bjorntech%2falchemy-scaleway@0.7.11-beta.62","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":479540},"type":"module","_from":"file:bjorntech-alchemy-scaleway-0.7.11-beta.62.tgz","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"scripts":{"crap":"bun run scripts/crap-index.ts --max=6","test":"bun test","check":"tsc --noEmit","format":"oxfmt .","coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run check && bun test && bun run coverage && bun run crap","smoke:scaleway":"bun run scripts/scaleway-production-smoke.ts","smoke:scaleway:dns":"bun run scripts/scaleway-dns-smoke.ts","smoke:scaleway:negative":"bun run scripts/scaleway-negative-flexible-ip-smoke.ts","smoke:scaleway:registry-copy":"bun run scripts/scaleway-registry-copy-smoke.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:77f746bd-a1c9-4b9f-bc33-567a4e82830e"}},"_resolved":"/home/runner/work/alchemy-scaleway/alchemy-scaleway/bjorntech-alchemy-scaleway-0.7.11-beta.62.tgz","_integrity":"sha512-d7CFU0DWnP+PGJJl2f5W0oFqKcvFLbyO/WpI7w0gVwyx+7tRXx8+2X+ZsDiGikICx3bI4krVEEDZY4OgwHtbow==","repository":{"url":"git+https://github.com/bjorntech/alchemy-scaleway.git","type":"git"},"_npmVersion":"12.0.1","description":"Scaleway providers for Alchemy v2","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"jszip":"^3.10.1","aws4fetch":"^1.0.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"latest","effect":"4.0.0-beta.98","alchemy":"2.0.0-beta.62","@types/bun":"latest","typescript":"latest","@effect/platform-bun":"4.0.0-beta.98","@effect/platform-node":"4.0.0-beta.98","@effect/platform-node-shared":"4.0.0-beta.98"},"peerDependencies":{"effect":">=4.0.0-beta.98 || >=4.0.0","alchemy":"2.0.0-beta.62"},"_npmOperationalInternal":{"tmp":"tmp/alchemy-scaleway_0.7.11-beta.62_1784235060610_0.7260169025622649","host":"s3://npm-registry-packages-npm-production"}},"0.7.12-beta.62":{"name":"@bjorntech/alchemy-scaleway","version":"0.7.12-beta.62","keywords":["alchemy","alchemy-effect","effect","iac","infrastructure-as-code","scaleway","typescript"],"license":"Apache-2.0","_id":"@bjorntech/alchemy-scaleway@0.7.12-beta.62","maintainers":[{"name":"bjorntechtobbe","email":"tobbe@bjorntech.com"},{"name":"marveltool","email":"carl@bjorntech.com"}],"homepage":"https://github.com/bjorntech/alchemy-scaleway#readme","bugs":{"url":"https://github.com/bjorntech/alchemy-scaleway/issues"},"dist":{"shasum":"e85789e02079715a3cf71121e01cebb5298802ef","tarball":"https://registry.npmjs.org/@bjorntech/alchemy-scaleway/-/alchemy-scaleway-0.7.12-beta.62.tgz","fileCount":41,"integrity":"sha512-DK5rsYGUjs0cBW7sARwbRm+WIDeHVkrEQKJYfE6XFA897YBMEJoly1HVlVeAScc9sKpzVTKXuAq3dm0uc96hkw==","signatures":[{"sig":"MEUCIQCzC3zBI1PNVUF8OJlevaqnkJleRpMT5wqXR2sMR/kGegIgME3Oqv16MdPOp8ofOtGK63/ndQuP0g4KKjYNVyLXWDY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bjorntech%2falchemy-scaleway@0.7.12-beta.62","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":480681},"type":"module","_from":"file:bjorntech-alchemy-scaleway-0.7.12-beta.62.tgz","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"scripts":{"crap":"bun run scripts/crap-index.ts --max=6","test":"bun test","check":"tsc --noEmit","format":"oxfmt .","coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run check && bun test && bun run coverage && bun run crap","smoke:scaleway":"bun run scripts/scaleway-production-smoke.ts","smoke:scaleway:dns":"bun run scripts/scaleway-dns-smoke.ts","smoke:scaleway:negative":"bun run scripts/scaleway-negative-flexible-ip-smoke.ts","smoke:scaleway:registry-copy":"bun run scripts/scaleway-registry-copy-smoke.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:77f746bd-a1c9-4b9f-bc33-567a4e82830e"}},"_resolved":"/home/runner/work/alchemy-scaleway/alchemy-scaleway/bjorntech-alchemy-scaleway-0.7.12-beta.62.tgz","_integrity":"sha512-DK5rsYGUjs0cBW7sARwbRm+WIDeHVkrEQKJYfE6XFA897YBMEJoly1HVlVeAScc9sKpzVTKXuAq3dm0uc96hkw==","repository":{"url":"git+https://github.com/bjorntech/alchemy-scaleway.git","type":"git"},"_npmVersion":"12.0.1","description":"Scaleway providers for Alchemy v2","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"jszip":"^3.10.1","aws4fetch":"^1.0.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"latest","effect":"4.0.0-beta.98","alchemy":"2.0.0-beta.62","@types/bun":"latest","typescript":"latest","@effect/platform-bun":"4.0.0-beta.98","@effect/platform-node":"4.0.0-beta.98","@effect/platform-node-shared":"4.0.0-beta.98"},"peerDependencies":{"effect":">=4.0.0-beta.98 || >=4.0.0","alchemy":"2.0.0-beta.62"},"_npmOperationalInternal":{"tmp":"tmp/alchemy-scaleway_0.7.12-beta.62_1784312840663_0.137744875028055","host":"s3://npm-registry-packages-npm-production"}},"0.7.13-beta.62":{"name":"@bjorntech/alchemy-scaleway","version":"0.7.13-beta.62","keywords":["alchemy","effect","iac","infrastructure-as-code","scaleway","typescript"],"license":"Apache-2.0","_id":"@bjorntech/alchemy-scaleway@0.7.13-beta.62","maintainers":[{"name":"bjorntechtobbe","email":"tobbe@bjorntech.com"},{"name":"marveltool","email":"carl@bjorntech.com"}],"homepage":"https://github.com/bjorntech/alchemy-scaleway#readme","bugs":{"url":"https://github.com/bjorntech/alchemy-scaleway/issues"},"dist":{"shasum":"35e9e3400bcae6a9ac5ec129d2bb1debfc9df818","tarball":"https://registry.npmjs.org/@bjorntech/alchemy-scaleway/-/alchemy-scaleway-0.7.13-beta.62.tgz","fileCount":41,"integrity":"sha512-AaBYpP+5RZtJ6yGe1l0e4KhpuBwqv+w/snvol1KE6Qxmov3UjnUXswxLZh8aw4xBrIzDG9NxTyoEjzijqcl/IA==","signatures":[{"sig":"MEYCIQCO/u+5il8B7K6IC6kDGeV/ShR5zlvMhix2FiYldxbBDwIhAJASEW0E1vDE2ishxDs1js6LnYAeAwik5EQhCeECR/IT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bjorntech%2falchemy-scaleway@0.7.13-beta.62","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":486114},"type":"module","_from":"file:bjorntech-alchemy-scaleway-0.7.13-beta.62.tgz","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"scripts":{"crap":"bun run scripts/crap-index.ts --max=6","test":"bun test","check":"tsc --noEmit","format":"oxfmt .","coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run check && bun test && bun run coverage && bun run crap","smoke:scaleway":"bun run scripts/scaleway-production-smoke.ts","smoke:scaleway:dns":"bun run scripts/scaleway-dns-smoke.ts","smoke:scaleway:negative":"bun run scripts/scaleway-negative-flexible-ip-smoke.ts","smoke:scaleway:registry-copy":"bun run scripts/scaleway-registry-copy-smoke.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:77f746bd-a1c9-4b9f-bc33-567a4e82830e"}},"_resolved":"/home/runner/work/alchemy-scaleway/alchemy-scaleway/bjorntech-alchemy-scaleway-0.7.13-beta.62.tgz","_integrity":"sha512-AaBYpP+5RZtJ6yGe1l0e4KhpuBwqv+w/snvol1KE6Qxmov3UjnUXswxLZh8aw4xBrIzDG9NxTyoEjzijqcl/IA==","repository":{"url":"git+https://github.com/bjorntech/alchemy-scaleway.git","type":"git"},"_npmVersion":"12.0.1","description":"Scaleway providers for Alchemy v2","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"jszip":"^3.10.1","aws4fetch":"^1.0.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"latest","effect":"4.0.0-beta.98","alchemy":"2.0.0-beta.62","@types/bun":"latest","typescript":"latest","@effect/platform-bun":"4.0.0-beta.98","@effect/platform-node":"4.0.0-beta.98","@effect/platform-node-shared":"4.0.0-beta.98"},"peerDependencies":{"effect":">=4.0.0-beta.98 || >=4.0.0","alchemy":"2.0.0-beta.62"},"_npmOperationalInternal":{"tmp":"tmp/alchemy-scaleway_0.7.13-beta.62_1784536856641_0.712726871087241","host":"s3://npm-registry-packages-npm-production"}},"0.7.14-beta.67":{"name":"@bjorntech/alchemy-scaleway","version":"0.7.14-beta.67","keywords":["alchemy","effect","iac","infrastructure-as-code","scaleway","typescript"],"license":"Apache-2.0","_id":"@bjorntech/alchemy-scaleway@0.7.14-beta.67","maintainers":[{"name":"bjorntechtobbe","email":"tobbe@bjorntech.com"},{"name":"marveltool","email":"carl@bjorntech.com"}],"homepage":"https://github.com/bjorntech/alchemy-scaleway#readme","bugs":{"url":"https://github.com/bjorntech/alchemy-scaleway/issues"},"dist":{"shasum":"7cd3eedbc57c2aed0f869f991dc6623ac57ac3f8","tarball":"https://registry.npmjs.org/@bjorntech/alchemy-scaleway/-/alchemy-scaleway-0.7.14-beta.67.tgz","fileCount":41,"integrity":"sha512-ilFRFeVaadgtFrcQv/n3YFJdqdCcT1gOn93RdG3ft5Sb9QXQ4APVoMcbyrApuGOl96mU/ihpuIFHshnP24GM7A==","signatures":[{"sig":"MEUCIAu2LDbuRD3bJqVR6mVSyd7gW0DaegESPBpzF6lSnOcbAiEAl8IjBcj66I96NinahfLbgFxlS7/IF8fDnt3kFr3vttI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bjorntech%2falchemy-scaleway@0.7.14-beta.67","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":486516},"type":"module","_from":"file:bjorntech-alchemy-scaleway-0.7.14-beta.67.tgz","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"scripts":{"crap":"bun run scripts/crap-index.ts --max=6","test":"bun test","check":"tsc --noEmit","format":"oxfmt .","coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run check && bun test && bun run coverage && bun run crap","smoke:scaleway":"bun run scripts/scaleway-production-smoke.ts","smoke:scaleway:dns":"bun run scripts/scaleway-dns-smoke.ts","smoke:scaleway:negative":"bun run scripts/scaleway-negative-flexible-ip-smoke.ts","smoke:scaleway:registry-copy":"bun run scripts/scaleway-registry-copy-smoke.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:77f746bd-a1c9-4b9f-bc33-567a4e82830e"}},"_resolved":"/home/runner/work/alchemy-scaleway/alchemy-scaleway/bjorntech-alchemy-scaleway-0.7.14-beta.67.tgz","_integrity":"sha512-ilFRFeVaadgtFrcQv/n3YFJdqdCcT1gOn93RdG3ft5Sb9QXQ4APVoMcbyrApuGOl96mU/ihpuIFHshnP24GM7A==","repository":{"url":"git+https://github.com/bjorntech/alchemy-scaleway.git","type":"git"},"_npmVersion":"12.0.2","description":"Scaleway providers for Alchemy v2","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"jszip":"^3.10.1","aws4fetch":"^1.0.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"latest","effect":"4.0.0-beta.103","alchemy":"2.0.0-beta.67","@types/bun":"latest","typescript":"latest","@effect/platform-bun":"4.0.0-beta.103","@effect/platform-node":"4.0.0-beta.103","@effect/platform-node-shared":"4.0.0-beta.103"},"peerDependencies":{"effect":">=4.0.0-beta.100 || >=4.0.0","alchemy":"2.0.0-beta.67"},"_npmOperationalInternal":{"tmp":"tmp/alchemy-scaleway_0.7.14-beta.67_1785823152801_0.47444980888889665","host":"s3://npm-registry-packages-npm-production"}},"0.7.15-beta.67":{"name":"@bjorntech/alchemy-scaleway","version":"0.7.15-beta.67","keywords":["alchemy","effect","iac","infrastructure-as-code","scaleway","typescript"],"license":"Apache-2.0","_id":"@bjorntech/alchemy-scaleway@0.7.15-beta.67","maintainers":[{"name":"bjorntechtobbe","email":"tobbe@bjorntech.com"},{"name":"marveltool","email":"carl@bjorntech.com"}],"homepage":"https://github.com/bjorntech/alchemy-scaleway#readme","bugs":{"url":"https://github.com/bjorntech/alchemy-scaleway/issues"},"dist":{"shasum":"06870635e1b1afe3bc7385841202f037cc286526","tarball":"https://registry.npmjs.org/@bjorntech/alchemy-scaleway/-/alchemy-scaleway-0.7.15-beta.67.tgz","fileCount":41,"integrity":"sha512-rqb9S4Rtl0MZkcRyTYVPzYeMjA0kNkatBc+qkjafHI0smek5DTkvO09lmlqmSBEOS1U4PkaJCF5D9cvzABYiig==","signatures":[{"sig":"MEQCIA7wurY1Q/NpZDOgy6LRd1FLlMRRH91GHH1jHHQqTG73AiAnR+Zae1Hvr+kEaEe924Pp11GDJtNvAFc/kbHTNKh0wQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bjorntech%2falchemy-scaleway@0.7.15-beta.67","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":489609},"type":"module","_from":"file:bjorntech-alchemy-scaleway-0.7.15-beta.67.tgz","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"scripts":{"crap":"bun run scripts/crap-index.ts --max=6","test":"bun test","check":"tsc --noEmit","format":"oxfmt .","coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run check && bun test && bun run coverage && bun run crap","smoke:scaleway":"bun run scripts/scaleway-production-smoke.ts","smoke:scaleway:dns":"bun run scripts/scaleway-dns-smoke.ts","smoke:scaleway:negative":"bun run scripts/scaleway-negative-flexible-ip-smoke.ts","smoke:scaleway:registry-copy":"bun run scripts/scaleway-registry-copy-smoke.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:77f746bd-a1c9-4b9f-bc33-567a4e82830e"}},"_resolved":"/home/runner/work/alchemy-scaleway/alchemy-scaleway/bjorntech-alchemy-scaleway-0.7.15-beta.67.tgz","_integrity":"sha512-rqb9S4Rtl0MZkcRyTYVPzYeMjA0kNkatBc+qkjafHI0smek5DTkvO09lmlqmSBEOS1U4PkaJCF5D9cvzABYiig==","repository":{"url":"git+https://github.com/bjorntech/alchemy-scaleway.git","type":"git"},"_npmVersion":"12.0.2","description":"Scaleway providers for Alchemy v2","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"jszip":"^3.10.1","aws4fetch":"^1.0.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"latest","effect":"4.0.0-beta.103","alchemy":"2.0.0-beta.67","@types/bun":"latest","typescript":"latest","@effect/platform-bun":"4.0.0-beta.103","@effect/platform-node":"4.0.0-beta.103","@effect/platform-node-shared":"4.0.0-beta.103"},"peerDependencies":{"effect":">=4.0.0-beta.100 || >=4.0.0","alchemy":"2.0.0-beta.67"},"_npmOperationalInternal":{"tmp":"tmp/alchemy-scaleway_0.7.15-beta.67_1786000188252_0.39289389842964906","host":"s3://npm-registry-packages-npm-production"}},"0.7.16-beta.72":{"name":"@bjorntech/alchemy-scaleway","version":"0.7.16-beta.72","keywords":["alchemy","effect","iac","infrastructure-as-code","scaleway","typescript"],"license":"Apache-2.0","_id":"@bjorntech/alchemy-scaleway@0.7.16-beta.72","maintainers":[{"name":"bjorntechtobbe","email":"tobbe@bjorntech.com"},{"name":"marveltool","email":"carl@bjorntech.com"}],"homepage":"https://github.com/bjorntech/alchemy-scaleway#readme","bugs":{"url":"https://github.com/bjorntech/alchemy-scaleway/issues"},"dist":{"shasum":"6ff5ad9643799d5a5f5158133b99d4bb817ae608","tarball":"https://registry.npmjs.org/@bjorntech/alchemy-scaleway/-/alchemy-scaleway-0.7.16-beta.72.tgz","fileCount":42,"integrity":"sha512-OwLdQN8VWgLliihtwu5myR+vwY983UVPWrqu+a1uXbfde552mC9HJLO7AUtnhBdJxzrtXu4B+4Gr6McrLIbdaw==","signatures":[{"sig":"MEYCIQDnFfuhyOIewh8onM/JwLP4WEkldkWtuSRnJFPDaQ6+SwIhANcgQDoAsjfHUqkDQBD9+sOvsWan7MLysLYtISD+OgoQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bjorntech%2falchemy-scaleway@0.7.16-beta.72","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":511907},"type":"module","_from":"file:bjorntech-alchemy-scaleway-0.7.16-beta.72.tgz","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"scripts":{"crap":"bun run scripts/crap-index.ts --max=6","test":"bun test","check":"tsc --noEmit","format":"oxfmt .","coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run check && bun test && bun run coverage && bun run crap","smoke:scaleway":"bun run scripts/scaleway-production-smoke.ts","smoke:scaleway:dns":"bun run scripts/scaleway-dns-smoke.ts","smoke:scaleway:negative":"bun run scripts/scaleway-negative-flexible-ip-smoke.ts","smoke:scaleway:registry-copy":"bun run scripts/scaleway-registry-copy-smoke.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:77f746bd-a1c9-4b9f-bc33-567a4e82830e"}},"_resolved":"/home/runner/work/alchemy-scaleway/alchemy-scaleway/bjorntech-alchemy-scaleway-0.7.16-beta.72.tgz","_integrity":"sha512-OwLdQN8VWgLliihtwu5myR+vwY983UVPWrqu+a1uXbfde552mC9HJLO7AUtnhBdJxzrtXu4B+4Gr6McrLIbdaw==","repository":{"url":"git+https://github.com/bjorntech/alchemy-scaleway.git","type":"git"},"_npmVersion":"12.0.2","description":"Scaleway providers for Alchemy v2","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"ssh2":"^1.17.0","jszip":"^3.10.1","aws4fetch":"^1.0.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"latest","effect":"4.0.0-beta.107","alchemy":"2.0.0-beta.72","@types/bun":"latest","typescript":"latest","@types/ssh2":"^1.15.5","@effect/platform-bun":"4.0.0-beta.107","@effect/platform-node":"4.0.0-beta.107","@effect/platform-node-shared":"4.0.0-beta.107"},"peerDependencies":{"effect":">=4.0.0-beta.100 || >=4.0.0","alchemy":"2.0.0-beta.72"},"_npmOperationalInternal":{"tmp":"tmp/alchemy-scaleway_0.7.16-beta.72_1787078146807_0.6383369867919559","host":"s3://npm-registry-packages-npm-production"}},"0.7.17-beta.72":{"name":"@bjorntech/alchemy-scaleway","version":"0.7.17-beta.72","keywords":["alchemy","effect","iac","infrastructure-as-code","scaleway","typescript"],"license":"Apache-2.0","_id":"@bjorntech/alchemy-scaleway@0.7.17-beta.72","maintainers":[{"name":"bjorntechtobbe","email":"tobbe@bjorntech.com"},{"name":"marveltool","email":"carl@bjorntech.com"}],"homepage":"https://github.com/bjorntech/alchemy-scaleway#readme","bugs":{"url":"https://github.com/bjorntech/alchemy-scaleway/issues"},"dist":{"shasum":"25b16199d79e821cf503af597503640ef83c1fac","tarball":"https://registry.npmjs.org/@bjorntech/alchemy-scaleway/-/alchemy-scaleway-0.7.17-beta.72.tgz","fileCount":42,"integrity":"sha512-ohoAVUC7519KXwqOQ/KXAXV5I3qW+RFoKNWG7XOEBO/wJTZKTs5RJEapDfoFYBB3PPIIf1EsFcaZRtBSw8p0Rg==","signatures":[{"sig":"MEQCID/oMRkZYBzQjPZEYB0UeiOjuFkMGYXRoSQvh/IK7SzoAiBKNkBCOfHm5jm8IOSDLsu4b6lMUIUkWe/0caQpGpzPlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bjorntech%2falchemy-scaleway@0.7.17-beta.72","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":513754},"type":"module","_from":"file:bjorntech-alchemy-scaleway-0.7.17-beta.72.tgz","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"scripts":{"crap":"bun run scripts/crap-index.ts --max=6","test":"bun test","check":"tsc --noEmit","format":"oxfmt .","coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run check && bun test && bun run coverage && bun run crap","smoke:scaleway":"bun run scripts/scaleway-production-smoke.ts","smoke:scaleway:dns":"bun run scripts/scaleway-dns-smoke.ts","smoke:scaleway:negative":"bun run scripts/scaleway-negative-flexible-ip-smoke.ts","smoke:scaleway:registry-copy":"bun run scripts/scaleway-registry-copy-smoke.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:77f746bd-a1c9-4b9f-bc33-567a4e82830e"}},"_resolved":"/home/runner/work/alchemy-scaleway/alchemy-scaleway/bjorntech-alchemy-scaleway-0.7.17-beta.72.tgz","_integrity":"sha512-ohoAVUC7519KXwqOQ/KXAXV5I3qW+RFoKNWG7XOEBO/wJTZKTs5RJEapDfoFYBB3PPIIf1EsFcaZRtBSw8p0Rg==","repository":{"url":"git+https://github.com/bjorntech/alchemy-scaleway.git","type":"git"},"_npmVersion":"12.0.2","description":"Scaleway providers for Alchemy v2","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"ssh2":"^1.17.0","jszip":"^3.10.1","aws4fetch":"^1.0.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"latest","effect":"4.0.0-beta.107","alchemy":"2.0.0-beta.72","@types/bun":"latest","typescript":"latest","@types/ssh2":"^1.15.5","@effect/platform-bun":"4.0.0-beta.107","@effect/platform-node":"4.0.0-beta.107","@effect/platform-node-shared":"4.0.0-beta.107"},"peerDependencies":{"effect":">=4.0.0-beta.100 || >=4.0.0","alchemy":"2.0.0-beta.72"},"_npmOperationalInternal":{"tmp":"tmp/alchemy-scaleway_0.7.17-beta.72_1787081811071_0.2757125301543364","host":"s3://npm-registry-packages-npm-production"}},"0.7.18-beta.72":{"name":"@bjorntech/alchemy-scaleway","version":"0.7.18-beta.72","keywords":["alchemy","effect","iac","infrastructure-as-code","scaleway","typescript"],"license":"Apache-2.0","_id":"@bjorntech/alchemy-scaleway@0.7.18-beta.72","maintainers":[{"name":"bjorntechtobbe","email":"tobbe@bjorntech.com"},{"name":"marveltool","email":"carl@bjorntech.com"}],"homepage":"https://github.com/bjorntech/alchemy-scaleway#readme","bugs":{"url":"https://github.com/bjorntech/alchemy-scaleway/issues"},"dist":{"shasum":"b2c813da119e7cbfbe0f2b01e432820747a091f4","tarball":"https://registry.npmjs.org/@bjorntech/alchemy-scaleway/-/alchemy-scaleway-0.7.18-beta.72.tgz","fileCount":42,"integrity":"sha512-YIz5YaAad4vfMwdF02Dlqo6fOefvUyoKW3ZkYbk6DSfcE6kLXUD2r3frpKboDl8P/VWgAnOyZpa2RP6tSrVBcg==","signatures":[{"sig":"MEYCIQCbcVgkpV8D6ZQx46thRKJNbJTD/ZYUZIxsVyZNLEJFvwIhAMYnLwAr1OTsVGXoZIpuxXMClQO2sd8hnfjpre6dhBgT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bjorntech%2falchemy-scaleway@0.7.18-beta.72","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":514308},"type":"module","_from":"file:bjorntech-alchemy-scaleway-0.7.18-beta.72.tgz","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"scripts":{"crap":"bun run scripts/crap-index.ts --max=6","test":"bun test","check":"tsc --noEmit","format":"oxfmt .","coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run check && bun test && bun run coverage && bun run crap","smoke:scaleway":"bun run scripts/scaleway-production-smoke.ts","smoke:scaleway:dns":"bun run scripts/scaleway-dns-smoke.ts","smoke:scaleway:negative":"bun run scripts/scaleway-negative-flexible-ip-smoke.ts","smoke:scaleway:registry-copy":"bun run scripts/scaleway-registry-copy-smoke.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:77f746bd-a1c9-4b9f-bc33-567a4e82830e"}},"_resolved":"/home/runner/work/alchemy-scaleway/alchemy-scaleway/bjorntech-alchemy-scaleway-0.7.18-beta.72.tgz","_integrity":"sha512-YIz5YaAad4vfMwdF02Dlqo6fOefvUyoKW3ZkYbk6DSfcE6kLXUD2r3frpKboDl8P/VWgAnOyZpa2RP6tSrVBcg==","repository":{"url":"git+https://github.com/bjorntech/alchemy-scaleway.git","type":"git"},"_npmVersion":"12.0.2","description":"Scaleway providers for Alchemy v2","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"ssh2":"^1.17.0","jszip":"^3.10.1","aws4fetch":"^1.0.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"latest","effect":"4.0.0-beta.107","alchemy":"2.0.0-beta.72","@types/bun":"latest","typescript":"latest","@types/ssh2":"^1.15.5","@effect/platform-bun":"4.0.0-beta.107","@effect/platform-node":"4.0.0-beta.107","@effect/platform-node-shared":"4.0.0-beta.107"},"peerDependencies":{"effect":">=4.0.0-beta.100 || >=4.0.0","alchemy":"2.0.0-beta.72"},"_npmOperationalInternal":{"tmp":"tmp/alchemy-scaleway_0.7.18-beta.72_1787112062920_0.37842035448900413","host":"s3://npm-registry-packages-npm-production"}},"0.7.19-beta.74":{"name":"@bjorntech/alchemy-scaleway","version":"0.7.19-beta.74","keywords":["alchemy","effect","iac","infrastructure-as-code","scaleway","typescript"],"license":"Apache-2.0","_id":"@bjorntech/alchemy-scaleway@0.7.19-beta.74","maintainers":[{"name":"bjorntechtobbe","email":"tobbe@bjorntech.com"},{"name":"marveltool","email":"carl@bjorntech.com"}],"homepage":"https://github.com/bjorntech/alchemy-scaleway#readme","bugs":{"url":"https://github.com/bjorntech/alchemy-scaleway/issues"},"dist":{"shasum":"b28c2cac6f7afab1e1a69338feb3821e18e5e2dd","tarball":"https://registry.npmjs.org/@bjorntech/alchemy-scaleway/-/alchemy-scaleway-0.7.19-beta.74.tgz","fileCount":42,"integrity":"sha512-TPyBJ4Y3f6073G4MssjggPrbjTXSQpYTNs0tMliTfDNeN2xDgm0qCB4oF8u2FX+7nTYRPJp7J4MxiL0Q2RbSGw==","signatures":[{"sig":"MEQCIF1wmZHwLVVfDXVbT/rjA0SCR/+Qay5f+qUYPoG27qedAiBXUyU/1K0lUoOIeQlQTjlhlPUIa/wJB+L9eJVBYSAl5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bjorntech%2falchemy-scaleway@0.7.19-beta.74","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":514742},"type":"module","_from":"file:bjorntech-alchemy-scaleway-0.7.19-beta.74.tgz","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"scripts":{"crap":"bun run scripts/crap-index.ts --max=6","test":"bun test","check":"tsc --noEmit","format":"oxfmt .","coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run check && bun test && bun run coverage && bun run crap","smoke:scaleway":"bun run scripts/scaleway-production-smoke.ts","smoke:scaleway:dns":"bun run scripts/scaleway-dns-smoke.ts","smoke:scaleway:negative":"bun run scripts/scaleway-negative-flexible-ip-smoke.ts","smoke:scaleway:registry-copy":"bun run scripts/scaleway-registry-copy-smoke.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:77f746bd-a1c9-4b9f-bc33-567a4e82830e"}},"_resolved":"/home/runner/work/alchemy-scaleway/alchemy-scaleway/bjorntech-alchemy-scaleway-0.7.19-beta.74.tgz","_integrity":"sha512-TPyBJ4Y3f6073G4MssjggPrbjTXSQpYTNs0tMliTfDNeN2xDgm0qCB4oF8u2FX+7nTYRPJp7J4MxiL0Q2RbSGw==","repository":{"url":"git+https://github.com/bjorntech/alchemy-scaleway.git","type":"git"},"_npmVersion":"12.0.2","description":"Scaleway providers for Alchemy v2","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"ssh2":"^1.17.0","jszip":"^3.10.1","aws4fetch":"^1.0.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"latest","effect":"4.0.0-rc.112","alchemy":"2.0.0-beta.74","@types/bun":"latest","typescript":"latest","@types/ssh2":"^1.15.5","@effect/platform-bun":"4.0.0-rc.112","@effect/platform-node":"4.0.0-rc.112","@effect/platform-node-shared":"4.0.0-rc.112"},"peerDependencies":{"effect":">=4.0.0-rc.110 || >=4.0.0","alchemy":"2.0.0-beta.74"},"_npmOperationalInternal":{"tmp":"tmp/alchemy-scaleway_0.7.19-beta.74_1787818125024_0.8890388281466566","host":"s3://npm-registry-packages-npm-production"}},"0.7.20-beta.76":{"name":"@bjorntech/alchemy-scaleway","version":"0.7.20-beta.76","description":"Scaleway providers for Alchemy v2","keywords":["alchemy","effect","iac","infrastructure-as-code","scaleway","typescript"],"homepage":"https://github.com/bjorntech/alchemy-scaleway#readme","bugs":{"url":"https://github.com/bjorntech/alchemy-scaleway/issues"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/bjorntech/alchemy-scaleway.git"},"type":"module","sideEffects":false,"exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"publishConfig":{"access":"public"},"scripts":{"check":"tsc --noEmit","coverage":"bun test --coverage --coverage-reporter=lcov","crap":"bun run scripts/crap-index.ts --max=6","smoke:scaleway":"bun run scripts/scaleway-production-smoke.ts","smoke:scaleway:dns":"bun run scripts/scaleway-dns-smoke.ts","smoke:scaleway:registry-copy":"bun run scripts/scaleway-registry-copy-smoke.ts","smoke:scaleway:negative":"bun run scripts/scaleway-negative-flexible-ip-smoke.ts","test":"bun test","format":"oxfmt .","prepublishOnly":"bun run check && bun test && bun run coverage && bun run crap"},"dependencies":{"aws4fetch":"^1.0.20","jszip":"^3.10.1","ssh2":"^1.17.0"},"devDependencies":{"@effect/platform-bun":"4.0.0-rc.112","@effect/platform-node":"4.0.0-rc.112","@effect/platform-node-shared":"4.0.0-rc.112","@types/bun":"1.4.1","@types/ssh2":"^1.15.6","alchemy":"2.0.0-beta.76","effect":"4.0.0-rc.112","oxfmt":"0.66.0","typescript":"7.0.2"},"peerDependencies":{"alchemy":"2.0.0-beta.76","effect":">=4.0.0-rc.112 || >=4.0.0"},"packageManager":"bun@1.4.2","_id":"@bjorntech/alchemy-scaleway@0.7.20-beta.76","_integrity":"sha512-LueWuq41rUzQ6do1A36BJSeP//eWNoF3km/87tahwDFMLxUU1o21AwqzX0hd/eULI+BhF3dapQNJJ+EH2Fffow==","_resolved":"/home/runner/work/alchemy-scaleway/alchemy-scaleway/bjorntech-alchemy-scaleway-0.7.20-beta.76.tgz","_from":"file:bjorntech-alchemy-scaleway-0.7.20-beta.76.tgz","_nodeVersion":"24.20.0","_npmVersion":"12.0.2","dist":{"integrity":"sha512-LueWuq41rUzQ6do1A36BJSeP//eWNoF3km/87tahwDFMLxUU1o21AwqzX0hd/eULI+BhF3dapQNJJ+EH2Fffow==","shasum":"1090eeb3866183fbd871756a1dd7c321c6761887","tarball":"https://registry.npmjs.org/@bjorntech/alchemy-scaleway/-/alchemy-scaleway-0.7.20-beta.76.tgz","fileCount":42,"unpackedSize":516101,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bjorntech%2falchemy-scaleway@0.7.20-beta.76","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDzEb3EbWgPVoqA7qkNvtDUCVcvbBEV/vme9JUsaqC//wIhAI/CPtfkjVruTndHxP0z4KTXIEnslQ2tx82D4UxpyPJV"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:77f746bd-a1c9-4b9f-bc33-567a4e82830e"}},"directories":{},"maintainers":[{"name":"bjorntechtobbe","email":"tobbe@bjorntech.com"},{"name":"marveltool","email":"carl@bjorntech.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/alchemy-scaleway_0.7.20-beta.76_1788700434546_0.857965471692407"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-21T07:26:29.217Z","modified":"2026-09-06T13:13:55.015Z","0.7.0-beta.51":"2026-06-21T07:26:29.622Z","0.7.1-beta.51":"2026-06-21T07:44:38.945Z","0.7.2-beta.59":"2026-06-27T19:05:38.981Z","0.7.3-beta.59":"2026-06-29T12:01:28.908Z","0.7.4-beta.59":"2026-06-29T14:42:09.516Z","0.7.5-beta.59":"2026-07-01T14:35:00.333Z","0.7.6-beta.59":"2026-07-01T15:11:55.469Z","0.7.7-beta.59":"2026-07-01T15:31:20.769Z","0.7.8-beta.59":"2026-07-02T17:44:34.488Z","0.7.9-beta.59":"2026-07-02T18:23:56.902Z","0.7.10-beta.59":"2026-07-03T03:40:22.632Z","0.7.11-beta.62":"2026-07-16T20:51:00.815Z","0.7.12-beta.62":"2026-07-17T18:27:20.794Z","0.7.13-beta.62":"2026-07-20T08:40:56.779Z","0.7.14-beta.67":"2026-08-04T05:59:12.941Z","0.7.15-beta.67":"2026-08-06T07:09:48.422Z","0.7.16-beta.72":"2026-08-18T18:35:46.953Z","0.7.17-beta.72":"2026-08-18T19:36:51.229Z","0.7.18-beta.72":"2026-08-19T04:01:03.056Z","0.7.19-beta.74":"2026-08-27T08:08:45.192Z","0.7.20-beta.76":"2026-09-06T13:13:54.705Z"},"bugs":{"url":"https://github.com/bjorntech/alchemy-scaleway/issues"},"license":"Apache-2.0","homepage":"https://github.com/bjorntech/alchemy-scaleway#readme","keywords":["alchemy","effect","iac","infrastructure-as-code","scaleway","typescript"],"repository":{"type":"git","url":"git+https://github.com/bjorntech/alchemy-scaleway.git"},"description":"Scaleway providers for Alchemy v2","maintainers":[{"name":"bjorntechtobbe","email":"tobbe@bjorntech.com"},{"name":"marveltool","email":"carl@bjorntech.com"}],"readme":"# alchemy-scaleway\n\n[![CI](https://github.com/bjorntech/alchemy-scaleway/actions/workflows/ci.yml/badge.svg)](https://github.com/bjorntech/alchemy-scaleway/actions/workflows/ci.yml)\n[![npm](https://img.shields.io/npm/v/%40bjorntech%2Falchemy-scaleway/latest?style=flat-square)](https://www.npmjs.com/package/@bjorntech/alchemy-scaleway)\n[![License](https://img.shields.io/badge/license-Apache--2.0-blue?style=flat-square)](./LICENSE)\n\nScaleway providers for [Alchemy v2](https://v2.alchemy.run/).\n\nThis package follows Alchemy's custom-provider model: resources are declared with `Resource`, lifecycle implementations are registered with `Provider.effect`, credentials resolve through an `AuthProvider`, and all Scaleway providers are exposed as a single `Scaleway.providers()` layer.\n\nResources are designed around useful deployment workflows rather than raw Scaleway API endpoints. Low-level resources remain available, while higher-level resources may hide provider quirks, apply defaults, wait for readiness, and return application-useful outputs such as URLs.\n\n## Compatibility\n\n| `@bjorntech/alchemy-scaleway` | `alchemy` (peer) | `effect` (peer) | Notes         |\n| --------------------------- | ---------------- | --------------- | ------------- |\n| `0.7.20-beta.76`            | `2.0.0-beta.76`  | `>=4.0.0-rc.112 \\|\\| >=4.0.0` | Updates compatibility to Alchemy beta.76 and raises the Effect peer minimum to rc.112, matching the pinned `effect` and `@effect/platform-*` development versions. |\n| `0.7.19-beta.74`            | `2.0.0-beta.74`  | `>=4.0.0-rc.110 \\|\\| >=4.0.0` | Updates compatibility to Alchemy beta.74 and Effect rc.112; development pins move to the rc.112 `effect` and `@effect/platform-*` line. |\n| `0.7.18-beta.72`            | `2.0.0-beta.72`  | `>=4.0.0-beta.100 \\|\\| >=4.0.0` | Fixes `ContainerImageMirror({ allPlatforms: false })` digest selection for multi-arch sources by defaulting to `linux/amd64`, so repeat plans go noop after a successful mirror. |\n| `0.7.16-beta.72`            | `2.0.0-beta.72`  | `>=4.0.0-beta.100 \\|\\| >=4.0.0` | Updates compatibility to Alchemy beta.72 and Effect beta.107; `ScalewayError` now uses the beta.107 `Schema.TaggedError` pattern. |\n| `0.7.15-beta.67`            | `2.0.0-beta.67`  | `>=4.0.0-beta.100 \\|\\| >=4.0.0` | Refuses clean-state Instance creates that would implicitly move an already-attached public IP; existing `.alchemy` state remains compatible with no migration. |\n| `0.7.13-beta.62`            | `2.0.0-beta.62`  | `>=4.0.0-beta.98 \\|\\| >=4.0.0` | Hardens DNS zone ambiguity handling, adds explicit DNS record takeover semantics, and removes legacy `alchemy-effect` package metadata. |\n| `0.7.12-beta.62`            | `2.0.0-beta.62`  | `>=4.0.0-beta.98 \\|\\| >=4.0.0` | Preserves existing `FlexibleIp` server attachment when `serverId` is omitted; use `serverId: null` to detach. |\n| `0.7.11-beta.62`            | `2.0.0-beta.62`  | `>=4.0.0-beta.98 \\|\\| >=4.0.0` | Updates compatibility to Alchemy beta.62 and Effect beta.98. |\n| `0.7.10-beta.59`            | `2.0.0-beta.59`  | `>=4.0.0-beta.84 \\|\\| >=4.0.0` | Reports exact same-name Container conflicts and resolves `ContainerImage.dockerfile` relative to `context` when no cwd-relative file exists. |\n| `0.7.9-beta.59`             | `2.0.0-beta.59`  | `>=4.0.0-beta.84 \\|\\| >=4.0.0` | Recovers interrupted Instance creates, retries transient post-Project IAM propagation errors, and adds Bucket project scoping. |\n| `0.7.8-beta.59`             | `2.0.0-beta.59`  | `>=4.0.0-beta.84 \\|\\| >=4.0.0` | Verifies mirrored tags are pull-visible before dependent container updates and retries transient image-pull visibility errors. |\n| `0.7.7-beta.59`             | `2.0.0-beta.59`  | `>=4.0.0-beta.84 \\|\\| >=4.0.0` | Skips redundant mirror tag updates when the destination tag already points at the desired digest. |\n| `0.7.6-beta.59`             | `2.0.0-beta.59`  | `>=4.0.0-beta.84 \\|\\| >=4.0.0` | Improves container deploy failure diagnostics and skips redundant mirror copies after interrupted deploy retries. |\n| `0.7.5-beta.59`             | `2.0.0-beta.59`  | `>=4.0.0-beta.84 \\|\\| >=4.0.0` | `ContainerImageMirror` emits registry-copy progress notes and accepts per-operation timeout budgets. |\n| `0.7.4-beta.59`             | `2.0.0-beta.59`  | `>=4.0.0-beta.84 \\|\\| >=4.0.0` | Containers must reach `status: ready` (not just expose an endpoint) before companions deploy; failed deploys surface as `ContainerDeployFailed`. |\n| `0.7.3-beta.59`             | `2.0.0-beta.59`  | `>=4.0.0-beta.84 \\|\\| >=4.0.0` | Waits for public DNS (`1.1.1.1`/`8.8.8.8`) CNAME propagation before creating Scaleway Serverless custom domains. |\n| `0.7.2-beta.59`             | `2.0.0-beta.59`  | `>=4.0.0-beta.84 \\|\\| >=4.0.0` | Updates compatibility to Alchemy beta.59 and Effect beta.84. |\n| `0.7.1-beta.51`             | `2.0.0-beta.51`  | `4.0.0-beta.74` | Moves the package to `@bjorntech/alchemy-scaleway` and requires smoke-test DNS zones from environment variables. |\n| `0.7.0-beta.51`             | `2.0.0-beta.51`  | `4.0.0-beta.74` | Adds `ContainerImageMirror` (pure-TypeScript registry copy, no external binary) and `Container.imageDigest` redeploy tracking. |\n| `0.6.4-beta.51`             | `2.0.0-beta.51`  | `4.0.0-beta.74` | Retries transient `ContainerImage` registry failures during Docker login and push. |\n| `0.6.3-beta.51`             | `2.0.0-beta.51`  | `4.0.0-beta.74` | Serializes same-registry `ContainerImage` pushes and cleans up Docker login locks reliably. |\n| `0.6.2-beta.51`             | `2.0.0-beta.51`  | `4.0.0-beta.74` | Retries transient Docker login failures for more reliable parallel `ContainerImage` deploys. |\n| `0.6.1-beta.51`             | `2.0.0-beta.51`  | `4.0.0-beta.74` | Fixes shared DNS zone references across projects and adds isolated DNS smoke coverage. |\n| `0.6.0-beta.51`             | `2.0.0-beta.51`  | `4.0.0-beta.74` | Adds bundled Function source, managed Function domains/crons, and async Function deletion stabilization. |\n| `0.5.1-beta.51`             | `2.0.0-beta.51`  | `4.0.0-beta.74` | Fixes recovery from already-persisted Instance replacements with attached Flexible IPs. |\n| `0.5.0-beta.51`             | `2.0.0-beta.51`  | `4.0.0-beta.74` | Adds Serverless Functions and fixes Instance replacement, Secret deletion, and smoke cleanup behavior. |\n| `0.4.4-beta.51`             | `2.0.0-beta.51`  | `4.0.0-beta.74` | Fixes retained managed-project recovery and custom-domain partial-create recovery. |\n| `0.4.3-beta.51`             | `2.0.0-beta.51`  | `4.0.0-beta.74` | Fixes custom-domain retry stabilization and same-registry Docker login concurrency. |\n| `0.4.2-beta.51`             | `2.0.0-beta.51`  | `4.0.0-beta.74` | Fixes `DatabaseInstance` deletion verification before state removal. |\n| `0.4.1-beta.51`             | `2.0.0-beta.51`  | `4.0.0-beta.74` | Fixes Docker context hashing, DNS zone semantics, and interrupted cleanup recovery. |\n| `0.4.0-beta.51`             | `2.0.0-beta.51`  | `4.0.0-beta.74` | Adds `ContainerImage`, public image helpers, and retained resource rediscovery. |\n| `0.3.1-beta.51`             | `2.0.0-beta.51`  | `4.0.0-beta.74` | Adds Managed Database `DatabaseInstance` and open-ended Scaleway readiness waits. |\n| `0.2.0-beta.51`             | `2.0.0-beta.51`  | `4.0.0-beta.74` | Adds Project lifecycle, managed project defaults, and Scaleway Object Storage-backed state. |\n| `0.1.5-beta.51`             | `2.0.0-beta.51`  | `4.0.0-beta.74` | Adds DNS resources, custom-domain smoke coverage, and detached Instance volume cleanup fixes. |\n| `0.1.4-beta.51`             | `2.0.0-beta.51`  | `4.0.0-beta.74` | Adds Instance cloud-init support and managed SBS volume cleanup. |\n| `0.1.3-beta.51`             | `2.0.0-beta.51`  | `4.0.0-beta.74` | Adds Scaleway networking and Instance resources; smoke test uses Alchemy CLI stack workflow. |\n| `0.1.2-beta.51`             | `2.0.0-beta.51`  | `4.0.0-beta.74` | Public beta; pins Alchemy's Effect test helper dependency to beta.74. |\n| `0.1.1-beta.51`             | `2.0.0-beta.51`  | `4.0.0-beta.74` | Public beta with live smoke coverage. |\n| `0.1.0-beta.51`             | `2.0.0-beta.51`  | `4.0.0-beta.74` | Private beta. |\n\n## Install\n\n```sh\nbun add alchemy@2.0.0-beta.76 effect@4.0.0-rc.112 @bjorntech/alchemy-scaleway\n```\n\n`@bjorntech/alchemy-scaleway` ships raw TypeScript and uses `.ts` import suffixes internally. Your `tsconfig.json` needs `\"moduleResolution\": \"Bundler\"` and `\"allowImportingTsExtensions\": true`.\n\n## Credentials\n\nThe `env` auth method reads:\n\n```sh\nSCW_SECRET_KEY=...\nSCW_ACCESS_KEY=...              # optional, required for Object Storage\nSCW_DEFAULT_PROJECT_ID=...      # optional, required for project-scoped resources unless set per resource\nSCW_DEFAULT_REGION=fr-par       # optional, defaults to fr-par\nSCW_API_URL=https://api.scaleway.com # optional, defaults to https://api.scaleway.com\n```\n\nThe `stored` auth method is configured through `alchemy login` and writes credentials under `~/.alchemy/credentials/{profile}/scaleway-stored.json`.\n\n`Project` requires an explicit `organizationId` prop. The API key must have Account/Organization-level permissions to create, update, or delete Scaleway projects.\n\nWhen a stack declares exactly one `Scaleway.Project`, new project-scoped application resources in the same deploy use that managed project unless the resource or `Scaleway.providers({ project })` sets a project explicitly. In that case, deploying the stack creates the project and then creates those resources in it. Existing beta stacks that should keep creating resources in `SCW_DEFAULT_PROJECT_ID` can set `providers: Scaleway.providers({ project: process.env.SCW_DEFAULT_PROJECT_ID })`. Resources that already exist in state keep their persisted project for backward compatibility. Remote state still uses `SCW_DEFAULT_PROJECT_ID` for its default bucket name, and DNS resources (`DnsZone`/`DnsRecord`) default to `SCW_DEFAULT_PROJECT_ID` unless `project` is set explicitly.\n\n### Live Smoke Test\n\nThe production smoke test is opt-in and creates billable Scaleway resources before deleting them. Run it only with credentials for a test project:\n\n```sh\nSCW_LIVE_TEST=1 op run --environment <1password-environment-id> -- bun run smoke:scaleway\n```\n\n`op run --environment` requires the 1Password Environment ID, not the environment name.\nThis flag requires the beta 1Password CLI version that supports Environments.\n\nThe test reads `SCW_SECRET_KEY`, `SCW_ACCESS_KEY`, `SCW_ORGANIZATION_ID`, `SCW_DEFAULT_PROJECT_ID`, `SCW_SMOKE_DNS_ZONE`, `SCW_DEFAULT_REGION`, optional `SCW_DEFAULT_ZONE`, and `SCW_API_URL` from the environment, and requires a working local Docker CLI. It creates and deletes a managed Scaleway project, then verifies new project-scoped resources are created in that project while DNS/domain resources stay explicitly scoped to `SCW_DEFAULT_PROJECT_ID`. It also creates Containers, builds and pushes a `ContainerImage` through Registry, bundles and deploys a Serverless Function from `SCW_SMOKE_FUNCTION_MAIN`, reconciles a Function-managed cron, creates a custom Function domain after its DNS record exists, creates a custom container domain under `SCW_SMOKE_DNS_ZONE`, DNS records, a child DNS zone, Managed Database for PostgreSQL/MySQL, Object Storage, VPC, VPC route, security group, flexible IP, Instance, and private NIC resources. VPC connectors are billed as VPC Peering and are skipped by default; set `SCW_SMOKE_EXPENSIVE_NETWORK=1` only when explicitly testing that charged path. Secret Manager coverage is skipped by default because deleted secrets remain scheduled for deletion and can temporarily block project deletion; set `SCW_SMOKE_SECRETS=1` only when explicitly testing that path. Set `SCW_SMOKE_DNS_LABEL` to override the smoke-test DNS label; set `SCW_SMOKE_DNS_DOMAIN` when the registered Scaleway domain is not the last two labels of `SCW_SMOKE_DNS_ZONE`.\n\nBy default each smoke run uses a random Alchemy stage and resource prefix. If a run is interrupted, rerun with the same `SCW_SMOKE_RUN_ID`, or set both `SCW_SMOKE_STAGE` and `SCW_SMOKE_PREFIX`, so Alchemy can reuse the same local state and destroy or reconcile the same resources.\n\nThe negative Flexible IP smoke test is separately opt-in. It intentionally deploys a Flexible IP with invalid reverse DNS, expects the deploy to fail, then audits and deletes any leaked tagged IPs before failing the test if cleanup regressed:\n\n```sh\nSCW_LIVE_NEGATIVE_TEST=1 op run --environment <1password-environment-id> -- bun run smoke:scaleway:negative\n```\n\nThe DNS smoke test is also separate and does not run the full production smoke stack. It creates a temporary app project, references an existing shared DNS zone from that app project, writes one TXT record into the zone's live project, destroys the stack, then verifies the shared zone was retained and the temporary record was removed:\n\n```sh\nSCW_LIVE_DNS_TEST=1 op run --environment <1password-environment-id> -- bun run smoke:scaleway:dns\n```\n\nIt reads `SCW_SECRET_KEY`, `SCW_DEFAULT_PROJECT_ID`, `SCW_DEFAULT_REGION`, `SCW_SMOKE_DNS_ZONE`, optional `SCW_DNS_SMOKE_ZONE`, `SCW_DEFAULT_ZONE`, `SCW_API_URL`, `SCW_NEGATIVE_SMOKE_RUN_ID`, `SCW_NEGATIVE_SMOKE_STAGE`, `SCW_NEGATIVE_SMOKE_PREFIX`, and `SCW_NEGATIVE_SMOKE_REVERSE`.\n\n## Usage\n\n```ts\nimport * as Alchemy from \"alchemy\";\nimport * as Effect from \"effect/Effect\";\nimport * as Redacted from \"effect/Redacted\";\nimport * as Scaleway from \"@bjorntech/alchemy-scaleway\";\n\nexport default Alchemy.Stack(\n  \"scaleway-demo\",\n  { providers: Scaleway.providers() },\n  Effect.gen(function* () {\n    const namespace = yield* Scaleway.Namespace(\"ApiNamespace\", {\n      description: \"Demo namespace\",\n    });\n\n    const registry = yield* Scaleway.RegistryNamespace(\"Registry\", {\n      description: \"Demo container images\",\n      public: false,\n    });\n\n    // `dockerfile` preserves existing cwd-relative paths when they exist;\n    // otherwise it is resolved relative to `context`.\n    const apiImage = yield* Scaleway.ContainerImage(\"ApiImage\", {\n      registry,\n      context: \".\",\n      dockerfile: \"docker/api/Dockerfile\",\n      repository: \"api\",\n      tag: \"latest\",\n    });\n\n    const apiToken = yield* Scaleway.Secret(\"ApiToken\", {\n      description: \"Token used by the API\",\n      value: Redacted.make(process.env.API_TOKEN!),\n    });\n\n    const database = yield* Scaleway.DatabaseInstance(\"Database\", {\n      engine: \"PostgreSQL-15\",\n      nodeType: \"db-dev-s\",\n      userName: \"app\",\n      password: Redacted.make(process.env.DB_ADMIN_PASSWORD!),\n      volumeType: \"sbs_5k\",\n      volumeSize: 30_000_000_000,\n    });\n\n    const vpc = yield* Scaleway.Vpc(\"Network\", {\n      routing: true,\n      customRoutesPropagation: true,\n    });\n\n    const privateNetwork = yield* Scaleway.PrivateNetwork(\"PrivateNetwork\", {\n      vpc,\n      subnets: [\"10.10.0.0/24\"],\n    });\n\n    yield* Scaleway.VpcAcl(\"VpcAcl\", {\n      vpc,\n      defaultPolicy: \"drop\",\n      rules: [{ protocol: \"TCP\", action: \"accept\", destinationPort: 443 }],\n    });\n\n    yield* Scaleway.VpcRoute(\"PrivateRoute\", {\n      vpc,\n      destination: \"10.20.0.0/24\",\n      nextHop: { type: \"privateNetwork\", privateNetwork },\n    });\n\n    const api = yield* Scaleway.Container(\"Api\", {\n      namespace,\n      image: apiImage.ref,\n      secretEnvironmentVariables: { API_TOKEN: Redacted.make(process.env.API_TOKEN!) },\n      port: 3000,\n      protocol: \"http1\",\n      privacy: \"public\",\n      domains: [\"api.example.com\"],\n      crons: [{ schedule: \"0 * * * *\", destination: { httpPath: \"/jobs/hourly\" } }],\n    });\n\n    const bucket = yield* Scaleway.Bucket(\"Uploads\", {\n      versioning: true,\n    });\n\n    // Apex DNS zones must already be registered or validated in Scaleway.\n    const zone = yield* Scaleway.DnsZone(\"DnsZone\", {\n      domain: \"example.com\",\n    });\n\n    yield* Scaleway.DnsRecord(\"ApiDns\", {\n      zone,\n      name: \"api\",\n      target: api,\n    });\n\n    return {\n      apiUrl: api.url,\n      imagePrefix: registry.imagePrefix,\n      secretId: apiToken.secretId,\n      databaseEndpoint: database.endpointHostname ?? database.endpointIp,\n      bucket: bucket.bucketName,\n      privateNetworkId: privateNetwork.privateNetworkId,\n    };\n  }),\n);\n```\n\n## Remote State\n\n`Scaleway.state()` stores Alchemy state in a Scaleway Object Storage bucket, using Scaleway's S3-compatible API. When `bucket` is omitted, the provider uses `alchemy-state-${SCW_DEFAULT_PROJECT_ID}` and creates it on first use if it does not exist. `prefix` isolates projects, stacks, or environments sharing the same bucket and defaults to `alchemy/state`.\n\n```ts\nexport default Alchemy.Stack(\n  \"scaleway-demo\",\n  {\n    providers: Scaleway.providers(),\n    state: Scaleway.state({\n      region: \"fr-par\",\n      prefix: \"alchemy/project-a\",\n    }),\n  },\n  Effect.gen(function* () {\n    // resources\n  }),\n);\n```\n\nRemote state requires `SCW_ACCESS_KEY` plus `SCW_SECRET_KEY`. `SCW_DEFAULT_PROJECT_ID` is used only to derive the default bucket name; the Object Storage credentials decide which project/account owns the bucket. Bucket names are globally unique, so pass `bucket` explicitly if the derived name is unavailable or if you want a shared state bucket. For multiple Scaleway projects, either use separate buckets or separate prefixes such as `alchemy/project-a` and `alchemy/project-b`. Do not run concurrent deploys against the same `bucket + prefix + stack + stage`; the Object Storage backend does not provide a distributed lock.\n\n## Resources\n\n- `Project` - Scaleway Account project lifecycle. Requires `organizationId`; changing `organizationId` replaces the project, while name and description update in place. If exactly one `Project` is declared, new application resources use it unless they set `project` explicitly or the provider is configured with `providers({ project })`. Same-name project rediscovery requires explicit adoption because Scaleway projects do not expose a reliable ownership marker.\n- `Namespace` - Scaleway Serverless Containers namespace lifecycle.\n- `Container` - Scaleway Serverless Container lifecycle with deployment readiness polling, optional custom domains, and optional cron triggers.\n- `ContainerImage` - Local Docker image build and push lifecycle for Scaleway Container Registry. It logs in with `SCW_SECRET_KEY`, runs `docker build`, runs `docker push`, returns content-tagged `ref` plus requested-tag `stableRef`, and can feed `Container.image` directly.\n- `ContainerImageMirror` - Copies an existing remote image (such as a private `ghcr.io` image) into a Scaleway Container Registry namespace using a built-in pure-TypeScript registry client (no external binary, no Docker daemon), preserving the multi-arch manifest. It resolves the source digest, pushes a content-derived `ref` plus a requested-tag `stableRef`, and exposes `ref`/`stableRef`/`digest` for `Container.image`.\n- `Trigger` - Container trigger lifecycle (cron, SQS, or NATS source).\n- `Domain` - Container custom domain lifecycle. Set `waitForCname: true` when the stack also creates the CNAME and Scaleway should wait for DNS visibility before custom-domain creation.\n- `FunctionNamespace` - Scaleway Serverless Functions namespace lifecycle under the Functions v1beta1 API.\n- `Function` - Scaleway Serverless Function lifecycle. It creates/updates function metadata, bundles a local entrypoint or uploads a prebuilt ZIP through Scaleway's upload URL, deploys the function, waits for readiness, stores a source hash so unchanged deploys skip upload/deploy, and can manage custom domains and cron triggers directly.\n- `FunctionCron` - Serverless Function cron lifecycle.\n- `FunctionDomain` - Serverless Function custom domain lifecycle.\n- `DnsZone` - Scaleway Domains and DNS zone handle. Existing apex or child zones are discovered by zone name and returned with their live `projectId`; absent child zones (`domain` plus `subdomain`) are created in the requested DNS project. If the same zone name is visible in multiple projects, pass the DNS authority project explicitly. Referenced existing zones are retained on delete, while zones created by Alchemy can be deleted if you opt into `destroy()`.\n- `DnsRecord` - Scaleway Domains and DNS record-set lifecycle. Records are scoped through their `DnsZone`, including its DNS authority project, or through an explicit `project`; otherwise DNS operations use `SCW_DEFAULT_PROJECT_ID`. Records can use explicit values or infer a target from resources such as `Container`, `FlexibleIp`, `Instance`, `RegistryNamespace`, and `Bucket`. Initial creates refuse to replace an existing same-name/type record set unless `takeoverExisting: true` is set (`overwriteExisting` remains as a deprecated alias).\n- `RegistryNamespace` - Scaleway Container Registry namespace lifecycle with ready-to-use image prefix output.\n- `Secret` - Scaleway Secret Manager secret metadata and version lifecycle. Secret values are accepted as `Redacted<string>` and are never returned in outputs. Destroying a non-retained secret permanently deletes its versions before deleting the secret container.\n- `DatabaseInstance` - Scaleway Managed Database for PostgreSQL/MySQL instance lifecycle with readiness polling, project defaults, endpoint outputs, and redacted admin password input. Engine, node type, default user, password, HA mode, and volume shape changes replace the instance; name, tags, and backup schedule update in place. Defaults to `retain()` on removal and uses `alchemy:logical-id` tags for later rediscovery.\n- `Bucket` - Scaleway Object Storage bucket lifecycle via the S3-compatible API. Defaults to `retain()` on removal and uses S3 `alchemy:logical-id` tags for later rediscovery. Accepts an optional `project`; when set (or defaulted from a single managed `Project` in the stack), S3 requests are signed with Scaleway's documented `ACCESS_KEY@project-id` override, so the API key needs Object Storage permissions on that project. When unset, buckets stay in the API key's preferred project as before. Changing `project` forces a replacement.\n- `Vpc` - Scaleway VPC lifecycle with optional routing and custom route propagation enablement.\n- `PrivateNetwork` - Scaleway Private Network lifecycle, including optional VPC binding, subnets, DHCP enablement, and default route propagation.\n- `VpcAcl` - Scaleway VPC ACL lifecycle for one VPC/IP version. This resource owns the full ACL rule set for that `vpc` plus `ipVersion` and resets it to `defaultPolicy: \"accept\"` with no rules on delete.\n- `VpcRoute` - Scaleway VPC route lifecycle with next hops expressed as a resource ID, Private Network, or VPC connector.\n- `VpcConnector` - Scaleway VPC connector lifecycle for connecting two VPCs, with name and tag updates in place.\n- `Instance` - Scaleway Instance lifecycle for virtual machines, with conservative replacement for image/type/volume/cloud-init identity changes and action-based power state convergence. On a clean-state create, `Instance.publicIps` refuses to move any desired public IP that is already attached to another live server; restore/import Instance state or explicitly detach/move the IP before retrying.\n- `InstanceKnownHosts` - Verified SSH known_hosts material for an Instance or raw server ID. It reads the Scaleway `ssh-host-fingerprints` user-data, waits for SSH to answer, verifies the live host key handshake with the built-in SSH client scanner, and returns `knownHosts` / `knownHostsB64` for strict host-key checking.\n- `SecurityGroup` - Scaleway Instance security group lifecycle. This resource owns the complete security group rule set.\n- `FlexibleIp` - Scaleway Instance flexible IP reservation lifecycle, including tag, reverse DNS, and server attachment updates. Omit `serverId` to leave attachment unmanaged/preserved, set it to a server ID to attach, or set it to `null` to detach. Defaults to `retain()` on removal and uses `alchemy:logical-id` tags for later rediscovery.\n- `PrivateNic` - Scaleway Instance private NIC lifecycle for attaching one Instance to one Private Network.\n\n`Instance.cloudInit` accepts a multi-line `string` or `Redacted<string>` and writes it to Scaleway's `cloud-init` user-data key before the first boot. The script is treated as first-boot input: Alchemy stores only a SHA-256 hash in resource outputs, and changing the value replaces the Instance instead of mutating a running VM.\n\n`Container.image` accepts plain image strings, `ContainerImage.ref`, `ContainerImageMirror.ref`, or helper-built refs such as `dockerHubImage(\"library/nginx\", \"1.27\")` and `ghcrImage(\"owner/app\", \"sha-1234\")`. Public Docker Hub and GHCR images are passed through unchanged. Scaleway's Serverless Containers API does not expose private external registry pull credentials; private images should be pushed to Scaleway Container Registry with `ContainerImage`, copied in with `ContainerImageMirror`, or made accessible to Scaleway by registry-side policy if your registry supports that. Set `Container.imageDigest` (for example `imageDigest: mirror.digest`) to force a redeploy when a moving tag points at new content even though the `image` string is unchanged.\n\n`Container.timeout` is Scaleway's runtime request timeout for the deployed container, not a deployment wait budget. During create/update, the provider polls until Scaleway reports `ready` or an error/failed state and emits progress notes with the container ID, status, and elapsed wait time.\n\n`ContainerImageMirror` needs no external tooling — it speaks the Docker/OCI Registry v2 protocol directly from TypeScript, so there is no `skopeo`/`crane` dependency and no local Docker daemon. It resolves the source digest, copies blobs and manifests into the target registry, and preserves multi-arch manifest lists. `repository` defaults to the last path segment of `source` and `tag` defaults to the source tag (or `latest` when the source is digest-pinned). Like `ContainerImage`, it pushes a content-derived `ref` such as `1.4.2-a1b2c3d4e5f6` plus a requested-tag `stableRef`, so dependent `Container` resources redeploy when the source digest changes. Pass `sourceAuth: { username, password }` for a private source registry; pushes to Scaleway registries authenticate with `SCW_SECRET_KEY` automatically, and other destinations accept an explicit `auth`. Set `allPlatforms: false` to copy only the default platform (`linux/amd64`). Mirror reconciliation emits progress notes while fetching manifests, copying blobs, pushing manifests, and tagging images. If a previous retry already pushed the content-derived manifest, reconciliation skips copying the image tree and only retags the requested stable tag. Set `timeout` (for example `\"10m\"` or `\"10 minutes\"`) to give each digest-resolution/copy operation its own abortable budget. Blobs are copied one at a time and buffered in memory with a known length; very large single layers are held in memory (chunked-streaming uploads are a future optimization).\n\n`ContainerImage` requires a working local Docker CLI. It computes a source hash from the Docker context, Dockerfile, `buildArgs`, `target`, and `platform`, so source changes trigger a rebuild/push on the next deploy. Docker builds default to `--platform linux/amd64` because Scaleway Serverless Containers only supports amd64 images; pass `platform` only when you intentionally need a different target. The returned `ref` uses a content-derived tag such as `dev-a1b2c3d4e5f6`, while `stableRef` is also pushed with the requested tag such as `dev`. Pass `image.ref` to `Container.image` so source changes produce a changed image reference and force a container redeploy. Keep Docker contexts small and use `.dockerignore` as you would with `docker build`; the provider hash applies `.dockerignore` rules and hashes symlink metadata without following broken targets, so ignored-file changes do not create a new content tag. Use `buildArgs` for build-time frontend values such as `VITE_API_URL`; do not pass secrets as build args because Docker build arguments are not a secret mechanism. For Scaleway registries, `ContainerImage` logs in with `SCW_SECRET_KEY`; for GHCR, Docker Hub, or another external registry, pass `auth: { username, password }` when the image push needs Docker login, or omit `auth` to use an existing local Docker session.\n\n`Function.source` accepts either a bundled entrypoint or a prebuilt ZIP. Use `{ main: \"src/handler.ts\" }` for Worker-style local bundling into a deterministic Node ESM ZIP, or `{ zipPath: \"dist/function.zip\" }` when another build pipeline already produced the artifact. The provider hashes the ZIP contents, uploads only when the hash changes, calls Scaleway's deploy endpoint, and polls the Function until `ready`. If `handler` is omitted, bundled sources default to `index.handle` and prebuilt ZIPs default to `handler.handle`.\n\n```ts\nconst fn = yield* Scaleway.Function(\"ApiFn\", {\n  namespace,\n  runtime: \"node20\",\n  source: { main: \"src/handler.ts\" },\n  environmentVariables: { APP: \"api\" },\n  crons: [\"0 * * * *\"],\n  domains: [\"fn.example.com\"],\n});\n```\n\nHigh-value resources that can hold data or scarce addresses default to `retain()` on stack removal: `Bucket`, `DatabaseInstance`, and `FlexibleIp`. Add `.pipe(destroy())` when you intentionally want Alchemy to delete them during stack removal. Replacement cleanup is still destructive when an identity change forces replacement, so treat replace-triggering changes such as database engine, volume, or flexible IP type changes as data/address migration operations.\n\nFor production stacks, use durable/shared Alchemy state and avoid running deploys from a clean worktree or lost local state directory. Some retained resources can be rediscovered by ownership tags, but non-unique resources such as Instances and SecurityGroups still rely on persisted state for identity. The provider blocks the most dangerous partial-recovery case by refusing to create a duplicate Instance that would move an already-attached desired public IP; it does not implicitly adopt same-name servers.\n\nThis public-IP guard is a behavioral breaking change only for clean-state callers that intentionally relied on implicit transfer of an attached public IP. Existing serialized `.alchemy` state is compatible with no migration because `Instance` props, attributes, and state shape do not change. Persisted-state updates, interrupted-create recovery, and delete-first replacements remain supported; the guard runs only when neither a persisted `serverId` nor matching `alchemy:instance-id` generation recovery identifies the Instance.\n\n`DnsRecord.target` chooses `A` or `AAAA` for IP addresses and `CNAME` for hostnames/endpoints. Use `records` plus an explicit `type` when you need full control over MX, TXT, SRV, CAA, or other record data:\n\n`DnsRecord` owns the complete record set for one zone/name/type. If the record set already exists outside Alchemy, initial creation fails by default to avoid replacing unmanaged DNS. Set `takeoverExisting: true` only when you intentionally want Alchemy to take over and replace that record set. Taken-over record sets are updated while the resource exists but are retained on destroy unless you also set `deleteTakenOver: true`; record sets created from scratch by `DnsRecord` are deleted normally. `overwriteExisting: true` is still accepted as a deprecated takeover alias for older stacks, but new code should use `takeoverExisting`.\n\nDNS zones can live in a shared/default authority project while targets live in another application project. `DnsZone.project` is the preferred DNS authority project for lookup or child-zone creation, not the target application project. If the zone already exists in one other accessible project, `DnsZone` references that live zone and `DnsRecord` writes records using the zone's returned `projectId`; if multiple same-name zones are visible, pass the DNS authority project explicitly so Alchemy cannot choose the wrong zone. `Domain` remains scoped to the target container:\n\nFor apex zones such as `example.com`, register, transfer, or validate the domain in Scaleway first, then use `DnsZone` as an existing-zone reference. To create a child zone such as `dev.example.com`, pass `{ domain: \"example.com\", subdomain: \"dev\" }`.\n\n```ts\nconst zone = yield* Scaleway.DnsZone(\"Zone\", { domain: \"example.com\" });\nconst namespace = yield* Scaleway.Namespace(\"ApiNs\", { project: \"app-project-id\" });\nconst api = yield* Scaleway.Container(\"Api\", { namespace, image: \"rg.fr-par.scw.cloud/app/api:latest\" });\n\nyield* Scaleway.DnsRecord(\"ApiDns\", { zone, name: \"api\", target: api });\nyield* Scaleway.Domain(\"ApiDomain\", { container: api, hostname: \"api.example.com\" });\n```\n\nFor existing child zones such as `sip.example.com`, pass the zone shape normally. If the zone already exists in your default/domain project, Alchemy references it and records are written there even if the rest of the stack uses a separate managed project:\n\n```ts\nconst appProject = yield* Scaleway.Project(\"AppProject\", { organizationId });\nconst sipZone = yield* Scaleway.DnsZone(\"SipZone\", { domain: \"example.com\", subdomain: \"sip\" });\nconst publicIp = yield* Scaleway.FlexibleIp(\"SipIp\", { project: appProject });\n\nyield* Scaleway.DnsRecord(\"SipWildcard\", {\n  zone: sipZone,\n  name: \"*\",\n  target: publicIp,\n  takeoverExisting: true,\n});\n```\n\n```ts\nyield* Scaleway.DnsRecord(\"Verification\", {\n  zone,\n  name: \"_acme-challenge\",\n  type: \"TXT\",\n  records: [\"challenge-token\"],\n  ttl: 60,\n});\n```\n\n```ts\nyield* Scaleway.Instance(\"DockerVm\", {\n  commercialType: \"DEV1-S\",\n  image: \"ubuntu_jammy\",\n  desiredState: \"running\",\n  cloudInit: Redacted.make(`#!/bin/bash\nset -e\napt-get update\napt-get install -y docker.io\nsystemctl enable docker\nsystemctl start docker\n`),\n});\n```\n\n`Instance.securityGroup` can attach or switch to a security group by ID. Omitting it leaves the current attachment unchanged; Scaleway's Instance update API does not expose a documented raw security-group detach operation.\n\nWhen deleting an `Instance`, the provider terminates the Scaleway server and deletes Block Storage volumes that were created by that Instance resource. Volumes passed with an explicit `id` are treated as externally owned and are preserved.\n\n### VPC Caveats\n\nScaleway's public VPC v2 schema documents in-place subnet add/delete endpoints for existing Private Networks. The provider implements those documented endpoints for subnet drift reconciliation, but the production smoke account currently receives `501 unimplemented endpoint` from Scaleway in `fr-par`. The live smoke test omits `PrivateNetwork.subnets` until those endpoints are available.\n\n`Vpc.routing` and `Vpc.customRoutesPropagation` map to one-way Scaleway operations. Once enabled, attempting to disable either flag fails locally instead of silently drifting.\n\nFor contributor details, see [`ARCHITECTURE.md`](./ARCHITECTURE.md).\n","readmeFilename":"README.md"}