{"_id":"@dcl/abgen-darwin-x64","_rev":"26-a76bf98cd3ca56b85fbeba7c0fb81fb4","name":"@dcl/abgen-darwin-x64","dist-tags":{"latest":"0.19.3"},"versions":{"0.0.1":{"name":"@dcl/abgen-darwin-x64","version":"0.0.1","_id":"@dcl/abgen-darwin-x64@0.0.1","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"dist":{"shasum":"851ccf9cfee6ecf3c9d3d2cb84ed911c214e6b20","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.0.1.tgz","fileCount":1,"integrity":"sha512-Yrnt0llr5WkiASAItcVwmyL5NY3fGwLACvIgv1+RHHA5vQBJytnXckI3yJASDeN8JD+tnwLtykoDOSG/iI/PKQ==","signatures":[{"sig":"MEUCIGkoyvYWR9yjZEb8yWF4k/4X9vCm5QRvEwN36kNJ+csvAiEA5ZG8mPGXcohRYL0nHarMnyWe1BQT7vNd+JvluKIw2Vs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":161},"_npmUser":{"name":"decentralandbot","email":"developers+npm@decentraland.org"},"_npmVersion":"11.16.0","description":"Placeholder to bootstrap Trusted Publishing; superseded by the first CI release.","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.0.1_1785427107815_0.10549721714196347","host":"s3://npm-registry-packages-npm-production"}},"0.14.1":{"name":"@dcl/abgen-darwin-x64","version":"0.14.1","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.14.1","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"1e25aacab6173f4aaca3571d2f81d90d70f64058","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.14.1.tgz","fileCount":9,"integrity":"sha512-m3yC495RdbhUiJlf9TLOJTWdHHCS6yAxjjN/k37IYNsce+J0vsvf6BpZ4hOTANdJ4ouai2C2xEjLPGKprsJHPg==","signatures":[{"sig":"MEUCIQC1QK8Fbn43RuJeorSwaHnmnL3Vz8h0GaLH4xRorstnPQIgDKhuqm2sP9AZgplaJxJwjI5Bv+zg1Drki4AN0Xznvww=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.14.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":36982253},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.14.1_1785430053589_0.04915400637308043","host":"s3://npm-registry-packages-npm-production"}},"0.14.2":{"name":"@dcl/abgen-darwin-x64","version":"0.14.2","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.14.2","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"86f5c1afd5ec6d00fbf2e87f343632fc21676135","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.14.2.tgz","fileCount":9,"integrity":"sha512-L1mTBP7B8cOT9oTtwLOoJ2JO9nxGZWUKDndDQeQeBthDOUQbTeThNjdRobKdr2I+8Z233UYJuHLvP5F5y/zYMg==","signatures":[{"sig":"MEYCIQCJg9mKuS1yXSq+WoDi71D9ak+hD9tkV4IZFHxvvBH0owIhAI+Nhqi/edD3f1J3fSLbXfkKYt+6OuqAYGWRjxshRBSi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.14.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":36967621},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.14.2_1785515825044_0.09304975665409909","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@dcl/abgen-darwin-x64","version":"0.15.0","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.15.0","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"ac8445f0d1ca893c8c2d8ad44e09c0150454d2bd","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.15.0.tgz","fileCount":5,"integrity":"sha512-YCnM1q2s3Ayq4GlqyIRzDD70vKnlXarFI3VnofIHtpd+zpGexHxSVnMHgvV8xJ832HCbJgjS6uBMtRLsrHpcYw==","signatures":[{"sig":"MEYCIQCqFTm+/5LrKszfBoKFQIgU0QFzVGtxI2idCd6RcYiLXgIhALuEW+8qug8JScVokrTkHfaRjgzNIcZjET68XUmubKT/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37868667},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.15.0_1785551172324_0.05751207763263988","host":"s3://npm-registry-packages-npm-production"}},"0.15.2":{"name":"@dcl/abgen-darwin-x64","version":"0.15.2","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.15.2","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"56a6c5246d67c1eea60b9b4921e73dbcd39d09fd","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.15.2.tgz","fileCount":5,"integrity":"sha512-bJ9XF6Kpxmd9phHpIwlZRE4DZuPnddLSad7r6G6sON6VqnDTFi+BMndy08LLN53l3pAOAuPrJTzC/48T5y6Pww==","signatures":[{"sig":"MEUCIHf1XHQYjFlC9zZm8em8dA6JdOnLo4V0qN+HbgnvINZ8AiEA+kE4lyVHeG6DU08ciZurWlhKCr64NgV3X+UL7P3N5cI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.15.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37867867},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.15.2_1785766054019_0.1393011254901495","host":"s3://npm-registry-packages-npm-production"}},"0.15.3":{"name":"@dcl/abgen-darwin-x64","version":"0.15.3","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.15.3","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"c38dd692a537b25e784e3eef3cea8e9589133a3e","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.15.3.tgz","fileCount":6,"integrity":"sha512-p54wGxIsktNAUhqDvw0hIN2Nn96rEvFRRxbPk2rTAPY0XfGTXUgdAUmNbFw600Lkr19+WV/URmAp/6+Fu3mniA==","signatures":[{"sig":"MEQCIEe/eBBUDKNxyXAd2FIGnhxXSnZJ3do9l/C3ZU6k5BEiAiBO4/0tfzIYNSsb/FIMCw6fvhdyAnYPlluwLTJzP32eDQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.15.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37880063},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.15.3_1785804988270_0.6627417387537573","host":"s3://npm-registry-packages-npm-production"}},"0.15.4":{"name":"@dcl/abgen-darwin-x64","version":"0.15.4","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.15.4","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"5e3c12cb619ec2a3c29f7a149c8842c0d7c4de2f","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.15.4.tgz","fileCount":5,"integrity":"sha512-JLo2BnZYcJ7S0iYMab51eE6y7vNb4NHHU3kY7gWkxt6FrRhmPVL+lZ9+FubDwSDDlV5jhdli8b13uX8np3Mi0A==","signatures":[{"sig":"MEUCIQDWkORhh5c2hbvsrQ2fWrJtoGPEe3aQhfH8acO/rYtEmQIgAhD6IDuGP2wfmMS65kfIsegAAXh0wCOSnt7+wxbSU1k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.15.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37846748},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.15.4_1785840435746_0.6674460678142142","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@dcl/abgen-darwin-x64","version":"0.16.0","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.16.0","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"cf52e3235909ed3df8164ac70cad3f5df2f317d7","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.16.0.tgz","fileCount":5,"integrity":"sha512-z40qZPKk+T2dOLTpzSXfeiJd1417JEHkmxMfPwGELzlEmhuJNHK/RqG4WVRT9tQdlkt4IlZpKzxKIfv39dzsYg==","signatures":[{"sig":"MEUCIQD5sgQmg0bvs6tVx5JmoSIOBjIH3q+1Y+1J22J4o3i1IgIgfcNWzXqVmCWFRl1g2BApdM51y2BA41tOiYD0CglWcJk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37837904},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.16.0_1786695982401_0.92588195117008","host":"s3://npm-registry-packages-npm-production"}},"0.16.2":{"name":"@dcl/abgen-darwin-x64","version":"0.16.2","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.16.2","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"2ca8f4d4bc63d38781e2d795fac9063bef9c45cc","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.16.2.tgz","fileCount":5,"integrity":"sha512-T1uRvPAo9jxs1zVfK4kKQ6Bh+5l+1sHOhX/nNsNe44edmC6cRB4f8lCvX/RoE65801WNQjjtmAPGsBChpStbrw==","signatures":[{"sig":"MEUCIQDnjq58OwkqLiga1R0QCTNQTiZGY1fP/yyalP4srlGVlQIgI/MEsh4gyYzI0LbS7u7SDbSZUxeJ9PIIusClIKWlzUg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.16.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37843245},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.16.2_1786931780489_0.6448710275605896","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@dcl/abgen-darwin-x64","version":"0.17.0","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.17.0","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"5f6fe86a6e5094ba6c16e6f94daf6fdd33ae0e37","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.17.0.tgz","fileCount":5,"integrity":"sha512-HGijoi+NLaoYSuIUj3XF0WiXsZN/LU9ldAJJy5I5Gger29vV1+fqUP2BxKPrxKsH4fuqYB21Oag7Aq4Kv/7jKQ==","signatures":[{"sig":"MEUCIQC8r9oafbbQAieOw7sLxoNIl5/fnrOwWuqxBbfiNYcVRgIgNR3eb258BtR0WDNcUkCXLWmGk5H71s7z2Fya14dZxeI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26941639},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.17.0_1787251883348_0.8520323033042421","host":"s3://npm-registry-packages-npm-production"}},"0.17.1":{"name":"@dcl/abgen-darwin-x64","version":"0.17.1","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.17.1","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"cf13e1bee3503eb4bdf7e116a3868954ee15b8ec","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.17.1.tgz","fileCount":5,"integrity":"sha512-tvNI1L73d+TKHyZ+2fTuzenIO996QdxslhR7WZpbFMZuZXGtqYhuf9VpC2CJt2CJLXxexWR/EH6qqWYNYQSXKg==","signatures":[{"sig":"MEQCIBY2/cIwGYKSd3EjHrCTri/OKbNToKlQxq1Ye1YTFdC2AiAEBIbJeZRsCvctxj+9F7P1d59yEUOJvbX3rljmgeDV7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.17.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26952076},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.17.1_1787267171985_0.36421257338959134","host":"s3://npm-registry-packages-npm-production"}},"0.17.2":{"name":"@dcl/abgen-darwin-x64","version":"0.17.2","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.17.2","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"d62e73a405d7f58595b1b548edeea27e9cc3eb59","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.17.2.tgz","fileCount":4,"integrity":"sha512-UUicWugpSImBmKqGufhjoBIVFY3HlJgAPfvH3NS0lFTvkWAXReo71oGsFSwo1iNIB1O34evT9vuo6UC8KmDSgA==","signatures":[{"sig":"MEYCIQDbDa2EUfh72JJk7wRibLX2/KFphgsRmcstScehgVBvmgIhAKgyKq8bpnG0QO3uVypAL+STgAEuNhj1SDMOKZ07jigf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.17.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26951678},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.17.2_1787355946481_0.017801082406602164","host":"s3://npm-registry-packages-npm-production"}},"0.17.4":{"name":"@dcl/abgen-darwin-x64","version":"0.17.4","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.17.4","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"6231e82103649086d8cee3aa85d5ed60ceaeaa51","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.17.4.tgz","fileCount":5,"integrity":"sha512-mcmLbYGDj7jx1YXioposLhLHrA5ekD92cb8hu79enHvKTHFW2G9VnRpYsLvMwwWcvkTghAs1KLTi337EgXGVDg==","signatures":[{"sig":"MEUCIEkYiqrj3i/Xa6tGhO46N742Vj5wj3KSc1pVFlRjmUo3AiEAoW9/9HDhrLUc8sfRCbrDJFWdZlMjyiGx5WlqNh+Nxng=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.17.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27037628},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.17.4_1787417527168_0.3811316470463162","host":"s3://npm-registry-packages-npm-production"}},"0.17.5":{"name":"@dcl/abgen-darwin-x64","version":"0.17.5","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.17.5","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"3e0f2d603e5cf1ce44e0640bcea5af5de7e765a4","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.17.5.tgz","fileCount":5,"integrity":"sha512-wne76hbMTvAE7c5UbkzY6Z60nAygnFSut7mqJuT/xXAC/EjS4OqUEHFX17De6ikBho3T4yTlokxSMWid+FaNXw==","signatures":[{"sig":"MEUCIQDX3Mxa4l8Q3y/nq7Qk5Egcj3ycE9gPjJtBGB0I8WWlfQIgIvuE2aumrfIHd9fI6zsTOkQOV7sHTOUX94TZrBkCuT8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.17.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27166012},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.17.5_1787433859726_0.7099051671005245","host":"s3://npm-registry-packages-npm-production"}},"0.17.6":{"name":"@dcl/abgen-darwin-x64","version":"0.17.6","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.17.6","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"837b8f037e3bc9403f90fc50516d0f4a0232daca","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.17.6.tgz","fileCount":5,"integrity":"sha512-indOfaJKQREQsymr5/cBI0TdvOmrthgw7f7yFkE0qg556Jc4sSZv0ymli4uDH+4g02n65/aJUpgscC2afDJVAw==","signatures":[{"sig":"MEUCIBj1JkKb6wKQPFdxjao+ynoSTgDCRUaRLPlEc+nCItPsAiEAwIaW2a8WU5WGe8aIva2Q/tTkY073+OLUFTYnZelh+/I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.17.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27292852},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.17.6_1787448162597_0.011410974817062991","host":"s3://npm-registry-packages-npm-production"}},"0.17.7":{"name":"@dcl/abgen-darwin-x64","version":"0.17.7","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.17.7","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"02a8534daeff124c7f30dc23420799dbb89a7cd7","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.17.7.tgz","fileCount":5,"integrity":"sha512-dbKC0elxZnYtGcNsR/+qD4mNkJlUN8ih0fulWnmR2x1kdtno3r6TdYsGOaQDTjjQTZ/v986rFNKcLhge/vwr1w==","signatures":[{"sig":"MEYCIQC3o+33IdeNtqUlglU2h4PWptgPx2todUD/T+3diC//FwIhAJhZkYCw3USONzqc6lxgRfsTSiJ17A6BfLVBHnTOGxge","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.17.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27360172},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.17.7_1787591234595_0.847484060424541","host":"s3://npm-registry-packages-npm-production"}},"0.17.8":{"name":"@dcl/abgen-darwin-x64","version":"0.17.8","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.17.8","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"a12e9551b4814ca6911dd438efa5c91af47db9df","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.17.8.tgz","fileCount":5,"integrity":"sha512-ZXNQ82QioZBqxn+uGPHWVk/wMT39W1HYE4YdF9fqoSSx3BlSiZTJZnGHRuJMnKFGWL+a/9coDVx2CG+IoGDcYA==","signatures":[{"sig":"MEYCIQDumVF0voXqYhMetfSwocI+B0Q2WlKULGqaR7DJDrPKrwIhAOSeZUSR/PeHd59kEtCMupwTy2FXjaRqKIFhOATy7mPP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.17.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27364764},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.0","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.17.8_1787678446813_0.8230159802113513","host":"s3://npm-registry-packages-npm-production"}},"0.17.10":{"name":"@dcl/abgen-darwin-x64","version":"0.17.10","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.17.10","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"bf154aa58ce16c7a1fb6022476abc4a287027f3a","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.17.10.tgz","fileCount":5,"integrity":"sha512-qVXYc+8mDp/3Tfh31+yrZkI2n5Z+Ym/y7lf/fNbvHBrOq981Y82LvCoqPn7biUjx2MMG7sCkg4q10hRXymKyng==","signatures":[{"sig":"MEUCIDEbUI8ptgHa6//CCaf0X/iCyHr1lKhJI1eSNMMCZYDtAiEAwfWCzB8Uhusgj8siHKDoA07BqJ3+2Jc7o8IgJCW5AEc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.17.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27366375},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.1","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.17.10_1788137223963_0.8173491287206824","host":"s3://npm-registry-packages-npm-production"}},"0.17.11":{"name":"@dcl/abgen-darwin-x64","version":"0.17.11","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.17.11","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"54fa49cbfa5a9fd92afbd1c4ea1780cf9a68f2e5","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.17.11.tgz","fileCount":5,"integrity":"sha512-J+EPrmM/Mjf3vCuMLWQLTbuYwaIq+tvipURnMGWpOpLUONHav7rVvNhy+y20nFRudUUxxEMCaMO/jO9JO6A2Aw==","signatures":[{"sig":"MEYCIQDXmG22MvhKOrd/IZNixA94mpfzQrQp6KpMzvHGHiR+XgIhAItd8MC+6+IchNpRDnQphAhSOKu6pmgMNvuVdxk3cu3m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.17.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27365175},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.1","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.17.11_1788203609982_0.4354362871777997","host":"s3://npm-registry-packages-npm-production"}},"0.17.12":{"name":"@dcl/abgen-darwin-x64","version":"0.17.12","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.17.12","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"aeed419fa3650ea6ef5f1ed5f29296d778fdf0d9","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.17.12.tgz","fileCount":5,"integrity":"sha512-PK8vTr/jCwkqYS8XminjLH5Cj6dVNK0btPDuEqGs+VzhD01m1tksE453CePAhpPO1RVQB3luXLrrIMOp4p9wPQ==","signatures":[{"sig":"MEYCIQC+ZPiK0HgcQmDiuSwGZBdAUwQ/IMToZ+g0IsGPc8bYWwIhAILcRtI5cyDl8Evif/EugTuyNLE2e3AxismjFnOWvrml","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.17.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27364543},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.1","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.17.12_1788898363740_0.9138623302406583","host":"s3://npm-registry-packages-npm-production"}},"0.17.13":{"name":"@dcl/abgen-darwin-x64","version":"0.17.13","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.17.13","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"861a4a10858f1ef8f7a54636b1b858fbacea3d98","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.17.13.tgz","fileCount":5,"integrity":"sha512-2zMiAprWClRGG0qnL23uBJVWQE7w/+oAm2EXwOm6n1j5FMEWCDRuU4M/3MRExfhHI/IdRkb6HWUu0Z0L4EV6tw==","signatures":[{"sig":"MEUCIQDHKEhjUKn6LECcRyRGQGqSiw9HyxpsIJSjp+z7MLpOPAIgNRlzb5i0QQXh8XOW7gUUPQfqSXrELsNNGWDufE19fq8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.17.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27364799},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.1","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.17.13_1789347686291_0.19942414178261814","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@dcl/abgen-darwin-x64","version":"0.18.0","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.18.0","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"b47a62be67eaf59f7f138dfcc502c6064775a41a","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.18.0.tgz","fileCount":5,"integrity":"sha512-y9QqBCaGYL5FRjsW1K4eZa58Ad2MYrhjuGqVo+1LKE/zTmDyCHeOLKXxD5n/VOgCYImhXuSyYbElIozsrSm1Sw==","signatures":[{"sig":"MEUCIQDrc+DX2ngQpMTLmQcOFTUWYDFE7lA02uyAFNjP2FZ0HgIgLZMTGxgsGPw2/S9iZ3OGNE+HTOUhc5/DqM/Q1nJ7re4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIH7xky3jvdMAWhoYxCavfXCDSyJmH0HGFTwBBs+rnzKnAiEAxvAMmnjuOJJtP0hNLoClw1W6LhxsOaATOGz0rVJWkVE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26320733},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.1","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.18.0_1789651156542_0.6430371146276876","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@dcl/abgen-darwin-x64","version":"0.19.0","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.19.0","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"645a93fe59eb34f40eb602935d1e5495f3a33f68","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.19.0.tgz","fileCount":5,"integrity":"sha512-NkL9cr8JxIBt9qCCIztiG9B8DWAwyhMPNikT0LD5Vb3ybGvfFsX8hdrxPWB0mTDhILkYBEOJ2rfl5MOj99ZYJA==","signatures":[{"sig":"MEUCIEpJT6T0xGqkC9N1TSXCy8TSU6WyaMWZth1SO/Z+Jdk0AiEAnWNEZN5LH5rNNL8QR4kYKxWabtItHYKQEiq+ACLsZYs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFa5YA5gZBYZqIY1qYEAgIzZ6/eKIOfP8EpXix2B+FOQAiA64HVsm4J9yZ/hbXcT0MJH/MvJ/ABaFmUqzq8S1UVmjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26406573},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.1","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.19.0_1789999077738_0.693485296930072","host":"s3://npm-registry-packages-npm-production"}},"0.19.1":{"name":"@dcl/abgen-darwin-x64","version":"0.19.1","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.19.1","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"f07831b5b47c7330ef6caf533888389afafc0ba2","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.19.1.tgz","fileCount":5,"integrity":"sha512-PytVJv6kQUCswczWvsNVBYCTba4QcVI5/1b9AU5O4OJCAQzX+HCdG0p1GFvbuTl15xHlygZCTK8MK/Ni1XMqeA==","signatures":[{"sig":"MEUCICt+WG1map5qm4U7t5sUX+jwPSCEZNrhlK/jfsTD8BpiAiEAkAsYn2QqtmCxMb3etmIXrUyyKCarmUDOKT3fZWzFbwk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBcZKTReya3haLiFI1KWgL0AkMRR6dISdHs8Y5v1BslkAiAFDM0vSdLQacV+qzXpdTKlU8IpDhLW/8h1chrvKsGEUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.19.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26405509},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.1","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.19.1_1790038717705_0.7925097823641125","host":"s3://npm-registry-packages-npm-production"}},"0.19.2":{"name":"@dcl/abgen-darwin-x64","version":"0.19.2","license":"AGPL-3.0-or-later","_id":"@dcl/abgen-darwin-x64@0.19.2","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"homepage":"https://github.com/decentraland/abgen#readme","bugs":{"url":"https://github.com/decentraland/abgen/issues"},"os":["darwin"],"cpu":["x64"],"dist":{"shasum":"e80b52119b25791a755682aa78d460cf125bbd55","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.19.2.tgz","fileCount":5,"integrity":"sha512-J15Cskj9I3aE6AjUL3HrojA9t/yvzbBw7OW7XhaFYAoly1D0w+eYI7r7c370Yad+X4alsIOtvt++Gr9w7YzH5g==","signatures":[{"sig":"MEYCIQCuszbsHbHIGWZksxu69wFjtOxZJwGgCXNR1OxOoeFvowIhAN5ZpsFOkN4yZdkos4JsSpJkEqHc9HooeJvcGfor1Iyv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEEwjYwkRcGOHAGDCECzsVtgeBHTVKgHCah9htjyf/q1AiEAk3ZG940fMJG6i+6M9VFKxBD4kVmw0wUyzd13hoGnD3c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.19.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26405509},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.19.1","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/abgen-darwin-x64_0.19.2_1790098932673_0.7394394277086858","host":"s3://npm-registry-packages-npm-production"}},"0.19.3":{"os":["darwin"],"_id":"@dcl/abgen-darwin-x64@0.19.3","cpu":["x64"],"bugs":{"url":"https://github.com/decentraland/abgen/issues"},"dist":{"shasum":"c89c7254402dce5701ab93f34222b90bcbaf96b7","tarball":"https://registry.npmjs.org/@dcl/abgen-darwin-x64/-/abgen-darwin-x64-0.19.3.tgz","fileCount":5,"integrity":"sha512-uYtRRFO2oLSkjK3srdkaDokCnEmgY1BZMMIJ/aNU+1xV1tpN/2GlX3CfC+ATFAew1eDHT0VsnjW5tShuiOLztA==","signatures":[{"sig":"MEQCIDAM8smquNKUQoFD0MJr7C8u+6O7nA4YuHI1PVFBZxoZAiBdwQmQtCK4QQtAOHUHBbgRgyz+N2aUzod8aLUCkfjkbA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDZZtl4XZkXaJEUVcRM1zELSTZjWqmekjNn1hiUq9FLEQIhAMyJSwsefATZTrz8ZHYwbcvnZfmP1Gm8i1rs+UinrRpY"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dcl%2fabgen-darwin-x64@0.19.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27543349},"name":"@dcl/abgen-darwin-x64","license":"AGPL-3.0-or-later","version":"0.19.3","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"1dc1d7ac-0dd4-4182-81c5-889ff5f3edac"}},"homepage":"https://github.com/decentraland/abgen#readme","repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"_npmVersion":"11.20.0","description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","directories":{},"maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/abgen-darwin-x64_0.19.3_1790776386301_0.9887470067087043"}}},"time":{"created":"2026-07-30T15:58:27.629Z","modified":"2026-09-30T13:53:07.020Z","0.0.1":"2026-07-30T15:58:27.951Z","0.14.1":"2026-07-30T16:47:33.997Z","0.14.2":"2026-07-31T16:37:05.382Z","0.15.0":"2026-08-01T02:26:12.697Z","0.15.2":"2026-08-03T14:07:34.401Z","0.15.3":"2026-08-04T00:56:28.617Z","0.15.4":"2026-08-04T10:47:16.094Z","0.16.0":"2026-08-14T08:26:22.752Z","0.16.2":"2026-08-17T01:56:20.886Z","0.17.0":"2026-08-20T18:51:23.698Z","0.17.1":"2026-08-20T23:06:12.337Z","0.17.2":"2026-08-21T23:45:46.870Z","0.17.4":"2026-08-22T16:52:07.487Z","0.17.5":"2026-08-22T21:24:20.017Z","0.17.6":"2026-08-23T01:22:43.002Z","0.17.7":"2026-08-24T17:07:14.878Z","0.17.8":"2026-08-25T17:20:47.166Z","0.17.10":"2026-08-31T00:47:04.260Z","0.17.11":"2026-08-31T19:13:30.274Z","0.17.12":"2026-09-08T20:12:44.099Z","0.17.13":"2026-09-14T01:01:26.578Z","0.18.0":"2026-09-17T13:19:16.778Z","0.19.0":"2026-09-21T13:57:57.980Z","0.19.1":"2026-09-22T00:58:37.930Z","0.19.2":"2026-09-22T17:42:12.892Z","0.19.3":"2026-09-30T13:53:06.565Z"},"bugs":{"url":"https://github.com/decentraland/abgen/issues"},"license":"AGPL-3.0-or-later","homepage":"https://github.com/decentraland/abgen#readme","repository":{"url":"git+https://github.com/decentraland/abgen.git","type":"git"},"description":"abgen prebuilt binary for darwin x64 (installed by @dcl/abgen)","maintainers":[{"name":"decentralandbot","email":"developers+npm@decentraland.org"},{"name":"imazzara","email":"nachomazzara@gmail.com"}],"readme":"# abgen\nStandalone Decentraland asset-bundle converter + ab-cdn-compatible JIT server. The converter is a\nclean-room Rust reimplementation of the legacy\n[asset-bundle-converter](https://github.com/decentraland/asset-bundle-converter): GLB/GLTF content from\nany catalyst content server in, Unity AssetBundles layout-compatible with the production\n`ab-cdn.decentraland.org` CDN out (byte-level parity posture in [PARITY.md](PARITY.md)). See\n[Provenance](#provenance).\n## Quick start\nPrebuilt binaries ship two ways: release archives on the tagged GitHub releases, and npm -\n`npx @dcl/abgen` runs the server directly (linux x64/arm64, windows x64/arm64, macOS x64/arm64; the platform\nbinary installs as an `optionalDependency` of `@dcl/abgen`, and `require('@dcl/abgen').binPath()`\nresolves it for embedding tools - see [npm/abgen](npm/abgen/README.md)). From source:\n```bash\ngit clone <this-repo> abgen && cd abgen\ncargo build --release            # no postgres, no openssl, no protobuf\ncargo build --release --examples # bundle dump tools (objdump/texdump/matdump)\nscripts/bootstrap-runtime.sh     # integrity-check the vendored runtime data\n```\nThere is also a wasm build: `crate/abgen-wasm/` compiles the converter to wasm32 — see its README.\n## Binaries\n`target/release/` after `cargo build --release`:\n\n| Bin | What |\n|---|---|\n| `abgen` | ab-cdn-compatible HTTP server: serves a corpus dir + JIT-converts misses |\n| `abgen-build` | single-file local converter CLI (glb -> bundle, `--expect-hash` verify) |\n| `abgen-corpus` | batch corpus builder: manifest / `--entity-ids` (add `--fetch-missing` to pull content from a catalyst) / `--world <name>[,...]` (resolve + fetch + convert a world; upstream via `--worlds-url` or `ABGEN_WORLDS_URL`) / `--live-mode` / `--collection-urn` / `--from-reference`; full-corpus runbook in [docs/BATCH.md](docs/BATCH.md) |\n| `abgen-verify` | parity differ (ours vs reference bundles, ppm-bits, `--tolerant`) |\n| `abgen-lod` | LOD lane CLI: `bundle`, `placements`, `assemble`, `atlas`, `simplify`, `generate`, `compare` (structural diff of two LOD bundles: materials/textures/vertices/triangles plus a per-material property diff — shader, keywords, render queue, floats, clipping colours, texture bindings; local or CDN URL), `qualify-corpus` (Genesis City + Worlds corpus build; `--reference-cdn` records the same diff against production per scene) |\n| `abgen-lambda` | AWS Lambda handler (deployment event in, bundles + manifests to S3; from the `lambda/` workspace member) - see [lambda/README.md](lambda/README.md) |\n\nPlus bundle-inspection examples (`texdump`, `matdump`, `objdump`) under\n`target/release/examples/`.\n## Server\n```bash\nABGEN_CATALYST_URL=https://peer.decentraland.org/content ./target/release/abgen\ncurl -s localhost:5147/health | jq .   # expect template_ok:true, templates_missing:[]\n```\nServed routes - the full asset-bundle delivery surface an explorer needs:\n- `GET /manifest/{entity}_{platform}.json` - bundle manifest, JIT-converting on a miss\n- `GET /{version}/{cid}/{file}` - versioned bundle blobs (JIT on miss)\n- `GET /LOD/{level}/{file}` - classic per-scene LODs\n- `GET /lods-unity/manifests/*` - ISS LOD descriptors\n- `POST /entities/active`, `POST /entities/versions` - the asset-bundle registry index routes the explorer's registry client calls to resolve bundle versions\n- `GET /health`, `/readyz`, `/livez`, `/metrics`, `/ping`\n\nAn explorer can point both its asset-bundle CDN base and its registry base at this one host (what the\n`optimized-assets` client flag targets). The unsigned registry surface from the in-tree\n[`dcl-contents`](crate/dcl-contents) crate is always mounted (`POST /profiles`,\n`POST /profiles/metadata`, `GET /entities/status/{id}`, `GET /worlds/{world_name}/manifest`), sourced\nfrom a connected content DB or proxied from `ABGEN_CATALYST_URL`. The signed/write registry routes\n(`/denylist*`, `/queues/*`, `/registry`, `/flush-cache`) **do** mount, but only when\n`CONTENT_PG_CONNECTION_STRING` is set in URL form - so a converter deployment that leaves it unset\nserves none of them. Setting it exposes admin surface: gate it with `API_ADMIN_TOKEN` and\n`DENYLIST_MODERATORS`, and do not put it on a public listener unauthenticated. Route-by-route parity,\nheader semantics, and the DB-vs-proxy source selection: [docs/ROUTES.md](docs/ROUTES.md).\n## Tests\n```bash\nABGEN_ROOT=\"$PWD\" cargo test --workspace --lib -- --test-threads=1\n```\n`--test-threads=1` is required: the lib tests share process-wide `ABGEN_ROOT` state.\nLOD assembly frame conformance against the production `_1.glb` references: `cargo test --release\n--test lod_handedness` (offline fixtures; add `-- --ignored` to assemble from the catalyst).\n\n## wasm\n`crate/abgen-wasm/` compiles the converter lib (default features off) to `wasm32-unknown-unknown` behind\na hand-rolled C ABI; the JS runtime in `crate/abgen-wasm/js/` (worker pool + WebGPU bridge) is what a\nhost page embeds. It is a plain cargo package with its own committed `Cargo.lock`, excluded from the\nworkspace: nothing in CI or the release matrix ever needs a wasm toolchain (the pinned one lives in\n`crate/abgen-wasm/toolchain/flake.nix`). `crate/abgen-wasm/README.md` documents the build, the headless\ndriver, the native-vs-wasm byte-parity gate and its decoder contract. Layout caveat: this repo places\n`template/` at the repo root, while the wasm lane's helper scripts and the wasm32-only `include_bytes!`\ntemplate paths in `crate/src/builder/templates.rs` assume the source layout where it is a sibling of\nthe crate — an in-repo wasm32 build needs those relative paths bumped one level (`../../template/` ->\n`../../../template/`). No workspace target compiles for wasm32, so the divergence never touches CI.\n## Features\nThe default `server` feature builds the complete service. Reusable consumers should select only the lanes they need; the smallest native converter is `cargo build --release --lib --no-default-features`.\n\n| Feature | Adds | Enabled by |\n|---|---|---|\n| `server` (default) | HTTP/registry stack, `gpu`, `cli`, `web-pack`, and `scene-runtime` | `abgen` server |\n| `gpu` | native wgpu/CUDA dispatch | server, build/corpus/verify CLIs, Lambda |\n| `web-pack` | BV WebGPU pack emission plus DDS/glTF JSON dependencies | server, build/corpus CLIs |\n| `scene-runtime` | embedded QuickJS fallback for suspicious static LOD placements | server, LOD CLI, Lambda |\n| `cli` | tracing subscriber and CLI logging | server and LOD CLI |\n\n`crate/abgen-native`, `crate/abgen-node`, and converter WASM use no default features. The standalone `crate/wasm-gpu` package compiles the shared BC7/WebGPU source directly and does not depend on the full `abgen` graph; its worker ships only `gpu_init` and `gpu_encode`. Static CRDT placement interpretation remains available without `scene-runtime`; if that result is empty or suspicious, the minimal build fails explicitly instead of publishing an empty LOD.\n\nGPU backends self-qualify per device at enable time: the selected backend (`auto` tries CUDA, then\nwgpu) must reproduce the CPU BC7 encoder bit-for-bit on a probe matrix (sizes x srgb x perceptual x\nprofile, full mip chains) or it is disqualified and `--gpu`/`ABGEN_GPU=1` exits 2 instead of silently\ndegrading - a qualified GPU run produces byte-identical output to the CPU path. `ABGEN_GPU_QUALIFY=0`\nskips the probe.\n\nThe slim, async-free converter lib + CLIs are the `wasm32-unknown-unknown` target build (the server,\ncontent-DB, and GPU stacks are `cfg(not(target_arch = \"wasm32\"))`).\n## Toolchain\n- rustc/cargo (edition 2021; the vendored `draco_decoder` is edition 2024)\n- cc + a C++ toolchain (vendored crunch, libjpeg9c)\n- cmake + make (`draco_decoder` builds upstream draco C++; missing cmake is the #1 build failure)\n\nOn NixOS: `nix develop`, or `nix shell nixpkgs#cargo nixpkgs#rustc nixpkgs#gcc nixpkgs#gnumake\nnixpkgs#cmake nixpkgs#pkg-config`. No openssl (ureq uses rustls), no protobuf. Optional: libturbojpeg\n(dlopen'd, or set `TURBOJPEG_LIB=/path`); without it JPEG decode falls back to the vendored libjpeg9c\npath - valid output but not byte-parity with production; startup logs `turbojpeg_available`.\n## Platform matrix\n| Platform | Build |\n|---|---|\n| Linux x86_64 | native (`nix develop` or bare toolchain) |\n| macOS (Apple Silicon) | `nix develop` (clang stdenv) |\n| Windows | WSL2, checkout on the WSL filesystem |\n## Runtime data\nVendored in-repo and sha256-pinned; a fresh clone is zero-config. `scripts/bootstrap-runtime.sh`\nverifies the sha256 of both sets and, when a payload is missing, prints the git-history commands to\nrestore it - it never fetches or re-downloads:\n- `template/*.windows.bundle` - 4 typetree-donor bundles read by `builder.rs::load_template()`\n- `crate/shader/scene_ignore_{windows,mac}` - the compiled per-platform `DCL/Scene` shader bundles (the canonical ab-cdn URLs 404; the vendored copies are the source of truth, provenance in [PROVENANCE.md](PROVENANCE.md)). The server self-primes them on first request - no bucket pre-seeding step; the `lit_ignore_*`/texarray/linux shader names 404 by design (absent upstream too)\n## Environment variables\n### Server (`crate/src/abcdn/config.rs`)\n| Var | Default | Meaning |\n|---|---|---|\n| `ABGEN_HTTP_HOST` / `ABGEN_HTTP_PORT` | `127.0.0.1` / `5147` | bind address (legacy aliases `HTTP_SERVER_HOST` / `HTTP_SERVER_PORT` still honored) |\n| `ABGEN_OUT_ROOT` | `./data/ab-generator/out` | corpus root served + JIT write-back target (may start empty) |\n| `ABGEN_CATALYST_URL` | `http://127.0.0.1:5141/content` | content server (standalone: `https://peer.decentraland.org/content`) |\n| `ABGEN_CONTENT_DISK` | unset | optional local content-store root (disk-first client) |\n| `ABGEN_CACHE_DIR` | `./abgen-serve-cache` | JIT conversion cache |\n| `ABGEN_VERSION` | `v49` | advertised AB version |\n| `ABGEN_MANIFEST_CONTENT_SERVER_URL` | `https://peer.decentraland.org/content` | `contentServerUrl` stamped into manifests |\n| `ABGEN_ROOT` | repo root | root containing `template/` |\n| `ABGEN_METRICS_BEARER_TOKEN` | unset | if set, `/metrics` requires this bearer token |\n| `ABGEN_JIT_FAIL_TTL_S` | `60` | failure negative-cache TTL for entity JIT builds; concurrent identical requests single-flight per `{entity}:{platform}` |\n| `ABGEN_JIT_CONTENT_DIGEST` | `0` | freshness for content servers whose declared hashes are not content-addressed (the `@dcl/sdk-commands` preview server keys them by file path). Defaults to ON when `ABGEN_CATALYST_URL` points at a loopback host (a dev preview server), OFF otherwise; explicit values always win. When on, manifest requests re-download the entity's convertible content, sha256 it, and prune stale conversions when bytes changed under an unchanged hash. Changed non-glb files (textures/`.bin`) also invalidate every glb bundle of the entity. Debounced per entity via `ABGEN_REVALIDATE_DEBOUNCE_S` (default `2`) |\n| `ABGEN_UPSTREAM_AB_CDN` | unset | read-through to a production ab-cdn (e.g. `https://ab-cdn.decentraland.org`): manifest/bundle/LOD/ISS requests that 404 through every local and JIT lane are streamed from upstream without persisting anything locally. Lets a client point its whole optimized-assets base URL here (wearables/emotes keep working) while only local scene entities are built locally. Paths containing `b64-` preview ids are never proxied |\n| `ABGEN_UPSTREAM_AB_REGISTRY` | see right | upstream registry URL: records for entities without local bundles are answered with its versions. Default: `asset-bundle-registry.<domain>` when the CDN is `ab-cdn.<domain>`. `off` disables |\n| `RUST_LOG` | `abgen=info,tower_http=info` | tracing filter |\n| `CONTENT_PG_CONNECTION_STRING` (or `POSTGRES_*` parts) | unset | content DB; URL form also mounts the signed registry routes |\n### S3 space cache (read-through + write-back)\nEnabled when `ABGEN_S3_BUCKET` is non-empty (or `ABGEN_USE_SPACE=1`):\n- credentials, first match wins: `ABGEN_S3_ACCESS_KEY`/`ABGEN_S3_SECRET_KEY`, `AWS_ACCESS_KEY_ID`/`AWS_SECRET_ACCESS_KEY`, or the ECS container role (`AWS_CONTAINER_CREDENTIALS_RELATIVE_URI` or `_FULL_URI`)\n- session token: `ABGEN_S3_SESSION_TOKEN` or `AWS_SESSION_TOKEN`\n- endpoint `ABGEN_S3_ENDPOINT`; region `ABGEN_S3_REGION`|`AWS_REGION`; `ABGEN_S3_PATH_STYLE` for path-style addressing\n- `ABGEN_S3_READ_ONLY=1` - read-through only; server write-back is refused\n- `ABGEN_FALLBACK_VERSION` (default `v41`) - extra version prefix tried on space-cache lookups\n- `ABGEN_WORLDS_CONTENT_URL` - worlds-content-server fallback for entity/content fetches that miss the primary source (default public worlds server; `0`/`off`/empty disables)\n\nUploads carry each key family's production writer's object metadata, derived from the key by\n`space::object_headers`: bundles `application/wasm` + `public,max-age=31536000,immutable`\n(cdn-uploader's comma-joined spelling), scene sources (`.js`/`.json`/`.crdt`) the direct-upload\nspelling `public, max-age=31536000, immutable`, manifests (`manifest/…`) `application/json` +\n`private, max-age=0, no-cache`, ISS descriptors (`lods-unity/manifests/…`)\n`public, max-age=31536000` (lod-generator-unity's spelling).\n\n### Asset-reuse mode (upstream converter parity)\nON by default, matching the ab-cdn deployment's asset-reuse naming from v49 onward: scene\nglb/gltf bundles use the upstream converter's canonical naming and shared bucket layout (applies\nto the JIT server and `abgen-corpus`). Set `ABGEN_DEPS_DIGEST=0` to fall back to legacy\n`{hash}_{platform}` names and entity-scoped space keys — needed only for parity runs against\npre-v49 reference trees (e.g. `--live-mode` sampling of v15–v41 vintages, whose manifests list\nnon-digest names).\n- glb/gltf bundles are named `{hash}_{depsdigest}_{platform}` — the digest is a 128-bit hash of\n  the glb's resolved `(file, hash)` dependency pairs (`.bin` + textures), so a glb whose\n  dependency set changes lands at a new name/key; textures stay `{hash}_{platform}`\n- space keys move from entity-scoped `{version}/{entity}/{bundle}` to the shared\n  `{version}/assets/{bundle}` layout (entity-scoped keys remain a read fallback)\n- before building, the space is HEAD-probed at the canonical key; hits are listed in the entity\n  manifest without rebuilding, so bundles are converted once across entities\n- a glb whose deps can't be resolved is skipped (upstream skipped-assets semantics) unless\n  `ABGEN_MAGENTA_MISSING` is on, in which case unresolvable deps are dropped from the digest and\n  the build substitutes placeholder textures\n\n### Two version lanes: `AB_VERSION` and `WEARABLE_AB_VERSION`\nScene bundles and wearable/emote bundles live under separate key prefixes. `AB_VERSION` is the scene\nlane; `WEARABLE_AB_VERSION` is wearables and emotes, and defaults to `AB_VERSION` when unset — so a\ndeployment that does not set it behaves exactly as it did when the two shared one prefix.\n\nThey are split because only a scene's name can carry an invalidation. Scene bundles are digest-named\n(`{hash}_{digest}_{platform}`), so a dependency change or a recipe bump moves them; wearable bundles\nare `{hash}_{platform}`, with nowhere to put one, which leaves the prefix as the only lever they\nhave. Sharing one prefix therefore meant every scene-driven bump dragged the whole wearable corpus\nthrough a rebuild it had no use for, and every wearable-driven bump did the same to the world.\n\n- The conversion path resolves its lane from the entity type (`Proxy::version_for`); everything\n  that is not a scene rides the wearable lane.\n- The serving path has only a bundle name to go on, so it reads both lanes and then\n  `ABGEN_FALLBACK_VERSION` (`Proxy::read_versions`). Safe rather than merely convenient: an\n  entity's bundles exist under exactly one prefix and every name is content-addressed, so a hit is\n  the right bytes whichever lane answered. A miss costs one extra 404.\n- The lambda's already-converted gate accepts a manifest at *either* lane, because the entity type\n  is only known after the entity doc is fetched and the gate deliberately runs before that. Safe\n  while the two are distinct strings: a manifest carries whichever version wrote it, so a bump of\n  either stops matching.\n\n### Per-asset-type cache keys (recipes)\n`AB_VERSION` prefixes every space key, so bumping it orphans every bundle of every type at once —\nthe right hammer for a change to the bundle container, far too big for the usual fix, which changes\nhow one kind of asset is built and leaves the rest byte-identical. Baking skinned-renderer bounds\nover the animation clips (#119) rewrote nothing but animated rigs; an `AB_VERSION` bump behind it\nwould have rebuilt every texture in the world.\n\n`crate/src/recipes.rs` holds a generation counter per build-affecting behaviour and folds the ones\nan asset uses into the digest that names its bundle. A bundle is rebuilt whole or not at all — a GLB\nbundle carries its meshes, skeleton, clips, materials *and* its resolved textures in one artifact —\nso there are only two base recipes, one per kind of bundle, plus two narrowing ones that earn their\nplace by being rare:\n\n| Recipe | Applies to | Rebuilds on a bump |\n|---|---|---|\n| `glb` | every glTF | every glb bundle; no standalone image bundles |\n| `texture` | standalone images, and any glTF with `images` | every image bundle **and** every glb that embeds one |\n| `skin` | a glTF declaring `skins` | only rigs — a minority of glbs |\n| `animation` | a glTF carrying `animations` | only animated glbs — a minority |\n\n**To ship a fix without an `AB_VERSION` bump:** raise the matching counter by one, in the commit that\nchanges the output, then re-enqueue as you would for a version bump. Bundles whose recipes moved get\nnew names, miss the HEAD probe and rebuild; every other bundle keeps its name and is reused where it\nalready sits. Never renumber a counter and never reuse a value — a generation that comes back around\nmakes stale bundles look fresh.\n\nDefault to `glb`. Reach for `skin` or `animation` only when the fix has a gate you can point at —\n#119 is the model, where a glTF with no clips serialized byte for byte as before. The asymmetry is\nthe whole rule: too broad costs a rebuild you were going to pay anyway, too narrow ships stale\nbundles and says nothing. There is deliberately no counter per sub-asset (`mesh`, `material`) — the\nbundle is the unit, so those would rebuild the same set `glb` does — and none for normal maps, since\n\"is this encoder fix normal-only?\" is exactly the ambiguous question a recipe must not ask.\n\nScope and cost:\n- Only the digest-named lane carries recipes. Wearables and emotes are `{hash}_{platform}`, with\n  nowhere to put a generation, so a fix to those still needs `AB_VERSION` — as does anything that\n  changes the bundle container, the manifest shape, or the client's side of the contract.\n- Generation `0` folds in as nothing *in a digest*, so adopting this cost no rebuild: every\n  bundle name is byte-for-byte what it was before. Manifests do gain a `recipes` key.\n- `AB_VERSION` stays total. It is the key prefix, never a digest input, and the conversion gate\n  gained a conjunct rather than a substitute, so a version bump still reconverts everything.\n- Each conversion records, in the per-platform manifest's `recipes` block, every recipe governing\n  its bundles and the generation each stood at — **baselines included** — and `platform_converted`\n  compares it, so the lambda's already-converted skip stays correct without a `force` flag. A scene\n  of static props records `{\"glb\":0,\"texture\":0}`: bumping `skin` leaves it current (that is the\n  saving), bumping `glb` does not. Recording only the *bumped* recipes would be blind to every\n  later `0 -> 1` bump, which is why the baselines are kept here and dropped in the digest.\n  A manifest predating recipes has no block at all and reconverts once.\n- The LOD lane solves the same problem with one counter of its own,\n  `crate/src/lodgen/pipeline.rs::LOD_GENERATION`, folded into the reuse state document.\n\nDisplay-only files — `autogenerated-thumbnail.png` anywhere in the content map, and whatever\n`metadata.display.navmapThumbnail` points at — are dropped from the conversion input, matching the\nprod converter's `-skippedHashes` flag: no bundle, no manifest entry, and no contribution to the\nmanifest `exitCode` (the client reads those files as raw bytes from the content server, so a bundle\nfor them is a dead artifact). Applies to the JIT server and the lambda, independent of asset reuse.\n\n### Registry index eager build\nOn `POST /entities/active|versions`, entities missing a converted bundle are queued for conversion; the\nrequest waits up to the deadline, builds finish in the background. Knobs: `ABGEN_INDEX_EAGER_BUILD`\n(default on; `0`/`false`/`no` disables), `ABGEN_INDEX_BUILD_PLATFORMS` (default `windows,mac`),\n`ABGEN_INDEX_BUILD_CONCURRENCY` (default: CPU count), `ABGEN_INDEX_BUILD_DEADLINE_MS` (default\n`20000`), `ABGEN_INDEX_BUILD_MAX_QUEUE` (default `0` = unlimited; when exceeded, new builds are skipped).\n### LOD JIT lane\n`ABGEN_LOD_JIT=1` enables JIT LOD builds on `GET /LOD/1/...` misses (level 1 only, the production\nshape: level 0 is the client-side ISS assembly, so `LOD/0/...` answers `lod-level-unsupported` and\n`abgen-lod generate --level 0,1` is the offline opt-in); needs `gltfpack`\n(`ABGEN_GLTFPACK` or `$PATH`), fails closed without it. Knobs: `ABGEN_LOD_MANIFEST_BUILDER` (unset\nlimits JIT to scenes with a published ISS descriptor), `ABGEN_LOD_CACHE_DIR` (default:\n`ABGEN_CACHE_DIR`), `ABGEN_LOD_JIT_TIMEOUT_S` / `ABGEN_LOD_JIT_FAIL_TTL_S` (defaults `600` / `3600`),\n`ABGEN_LOD_BUILD_CONCURRENCY` (default `1`). Builds stage in a per-build workdir; only gate-passed\noutput is promoted into the serving root, so rejected bundles are never servable. A passed build is\nwritten back to the space with the production key set: `LOD/1/{sid}_1_{platform}`,\n`lods-unity/manifests/{sid}_InitialSceneState.json` and the gltfpack-layout\n`lods-unity/lods/{sid}_1.glb`.\n### Conversion / parity knobs\n- `ABGEN_SHADER_BUNDLE` - path to `scene_ignore_windows` (default `crate/shader/scene_ignore_windows`; siblings like `scene_ignore_mac` resolve from the same dir)\n- `ABGEN_CONTENT_ROOT` - local sharded content store root (default `./content`)\n- compat: `ABGEN_V38_COMPAT`, `ABGEN_V38_TIMESTAMP`, `ABGEN_COLLECTION_MODE`, `ABGEN_REAL_TEXTURES`, `ABGEN_MAGENTA_MISSING`, `ABGEN_JPEG_TURBO_BOX`, `ABGEN_JPEG_GLB_9C` (`live.rs::Proxy::new` sets some process-wide; not thread-safe before the first build)\n- debug/dev: `ABGEN_BC7_CACHE`, `ABGEN_BC7_SCALAR`, `ABGEN_BC7_NO512`, `ABGEN_BC7_CAPTURE`, `ABGEN_LZ4_DUMP`, `ABGEN_TEST_CRN_OURS`/`_REF`/`_DUMP`\n## Deployment\nThe container image is built straight from the pinned Nix flake - `nix build .#dockerImage`\n(`dockerTools.buildLayeredImage`, `tini` init, no base OS) - producing an image that runs `abgen` as an\nunprivileged user on `:5147` with `template/` and `shader/` baked in and `ABGEN_ROOT`/`ABGEN_OUT_ROOT`\npreset. The `image` job in [`.github/workflows/release.yml`](.github/workflows/release.yml) builds\nthat image and pushes it to `ghcr.io/decentraland/abgen:<tag>` (and `:latest`) on every `v*` tag.\nThe workspace also ships an AWS Lambda consumer in `lambda/` (the `abgen-lambda` bin);\n`nix build .#lambdaImage` produces its container image, which the `lambda-image-push` job pushes to ECR\non the same tags - see [lambda/README.md](lambda/README.md). The org\nservices-pipeline that publishes the same service to quay (service-name `abgen`) is configured\nexternally in the private `decentraland/definitions` repo, not in this tree. Cutting a release -\ntagging, what the pipeline does, and what to check afterwards: [DEVELOPMENT.md](DEVELOPMENT.md).\n\nParity posture and clean-room provenance are documented separately: [PARITY.md](PARITY.md) and\n[PROVENANCE.md](PROVENANCE.md).\n## Provenance\nThis repository is a generated standalone export: the server crate maps to `crate/` with a small\noverlay; the content component + unsigned registry surface ship as the shared `crate/dcl-contents`\ncrate, copied verbatim from the internal tree. Mechanical differences from the internal source:\nsigned/denylist/queue registry routes deleted; the server bin is `abgen` and the local build CLI is\n`abgen-build`.\n## License\n**Apache-2.0** - full text in [LICENSE](LICENSE). Contributions are accepted under the same\nterms. Vendored third-party licenses and\nshader/template bundle provenance: [PROVENANCE.md](PROVENANCE.md). Note: the lib sets\n`#[global_allocator] mimalloc`; any downstream embedding the lib inherits it.\n","readmeFilename":"README.md"}