{"_id":"@ai-rpg-engine/asset-registry","_rev":"29-df380d2ab28514f0ae471da84832128a","name":"@ai-rpg-engine/asset-registry","dist-tags":{"latest":"3.12.0"},"versions":{"2.0.0":{"name":"@ai-rpg-engine/asset-registry","version":"2.0.0","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@2.0.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"75bdf91f30c94df88a596b1578dd85595dfa60d2","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-2.0.0.tgz","fileCount":37,"integrity":"sha512-QIeea3Sb/7eDfem8Euxitm3GId9LxwDGqjMzAqcnkFL0xsRm3uDyo4D4BLJGRsXQdUqw3R24/zwt7gWmPmXCew==","signatures":[{"sig":"MEQCIATPwqBtPfu6ra/R4ZAGCILGnqxbyJfqIXm3kNwXCeZlAiBe1NGffo90RSqfXP7ipiJnGyHDv3AheoS9c9xS+hniSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49324},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1c97209c06c3566b464799f2011ff17e30c05105","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"10.9.4","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"22.21.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_2.0.0_1772897537904_0.33303158912052266","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@ai-rpg-engine/asset-registry","version":"2.0.1","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@2.0.1","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"bd28ef613e32e94b84b9b2a134b678437cb8d466","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-2.0.1.tgz","fileCount":38,"integrity":"sha512-S6jE8B5Df50gcB0+FLrb8hHZQiMuA/jCJXVT8/FOjCGLNoq/gBFhjiPs3Ghjty6/I6FwBHn1Yhx+B/imFKUFLw==","signatures":[{"sig":"MEYCIQCxFHB0pFVG9Joi+NqFvEP/QeWUO8lN5GKW7Xz4hH+76wIhAPNs1Xiy0sDNpFZuAALTdymsxHOuckENG0rMQRcuh+eX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53427},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7223f6f398b408986fe14a2bf0c024ca6c1c776c","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"10.9.4","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"22.21.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_2.0.1_1772965930438_0.5140053666503197","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@ai-rpg-engine/asset-registry","version":"2.0.2","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@2.0.2","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"8fecf6310841e88ce36f16ae2625235d130bf34f","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-2.0.2.tgz","fileCount":26,"integrity":"sha512-w9dKsH1vkBkgAYD0igWacbPW0Rlq8esupUHCcdozA0EpByJhitkBuu1naw1rpcJBHhE6ZnT66LNBmWugFpZXVA==","signatures":[{"sig":"MEYCIQDS41L5ORmnVwTUDYX3eYwl///xHqpfsVzYNGeBwa7I9wIhAMgR+5svp8QSiS8hMVd9U+cZEfzPBxrxX1JHFCgVuNc/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28535},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ad39120e32ecbd2ec42f484132757fc75ff37462","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"10.9.4","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"22.21.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_2.0.2_1773120002522_0.7670090156396057","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@ai-rpg-engine/asset-registry","version":"2.0.3","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@2.0.3","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"0dd215bb50c7f9c64a5491c28b0272db6f397521","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-2.0.3.tgz","fileCount":26,"integrity":"sha512-f7Mhozw2WB1KcYoiC0jkjv6e4hol1BVtu8ca4ez1asKP+7xdTZPrDeo3VmtMjkaVDUYvS2NFRnzNpW4jeXYkWQ==","signatures":[{"sig":"MEQCIHRenMs5OlQmBdKXE/FOVLz22Ke9cbXzo2Vo4ctZWuNgAiBJ/n+nS4R73ytd4tYCq/B5gzuF6L8m10HRHpRDCgg9jg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28535},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6fb0c813f0dc38278fbb7cd42b8cb8fb863f3c71","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"10.9.4","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"22.21.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_2.0.3_1773121688115_0.33168330107456834","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@ai-rpg-engine/asset-registry","version":"2.0.4","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@2.0.4","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"8bce0a299992e468c285320bb5264c798c078a30","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-2.0.4.tgz","fileCount":26,"integrity":"sha512-wH36YjD8OIQT8J8KzDtDWTT3UJMCtZAvhVXVQoNJuxMua9pq3A4Lmd6sqZnbwgPNRL6Kj3MCTdwoU1fsYBwulQ==","signatures":[{"sig":"MEQCIE1YRWex72uT2wZPgXwIlcGKtTESXG/qzlbO1jFvNI2iAiBstNH2D1S71rI2uyexlya3hdvl9Ya828LlvJDx3VWF5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28535},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3602b7e889be7a0aaf388c1931909e2ed7a4d21e","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"10.9.4","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"22.21.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_2.0.4_1773124014698_0.351047801794266","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"@ai-rpg-engine/asset-registry","version":"2.0.5","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@2.0.5","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"7f2304d98b67cfd9436de4b24bd10fc68791995a","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-2.0.5.tgz","fileCount":26,"integrity":"sha512-NJhHUxoDr36RD+FLG7qap6AnKArZlYx4Fa56LERYQGT4wrMLitT3HE5JFRY5N6TbZO0G6ytCWh18x17/PLH2cQ==","signatures":[{"sig":"MEUCIQCLIntycuMESpGIGmHNuOxhpWegSF10T8sKWg644+tOlgIgR1RcAc2YhoUyQ+eKX4Fn9Tg5kwCtii7jF9oPXABYWQA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28535},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"2cbe020c745522786ce9115fe4b873adfe79c2a3","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"10.9.4","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"22.21.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_2.0.5_1773125500818_0.01488642134973106","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"@ai-rpg-engine/asset-registry","version":"2.0.6","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@2.0.6","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"06d5fe637841fb369fb6e33372a3df6bb6c005ad","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-2.0.6.tgz","fileCount":33,"integrity":"sha512-8LnbTSFwBgxjKN2oeoyvjmwTXnAjBFA9gL9oa+oDPTRIgkjP9bY9tg1AHLVUN7ox4NPsNSNWK3rPvPFKxbm0hQ==","signatures":[{"sig":"MEUCIDB1uEupEyJOet1bIrysDHdFFHmIe8sBFG5dsfn1/K18AiEA8RT15bI7ekzG1/o+e21NFYrSfditLOklTDFHtCYHTRk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63027},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"765b3be439bedfb5ef2fe6880b22bc4a776e4f6e","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"10.9.4","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"22.21.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_2.0.6_1773159059884_0.9118501410720472","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"@ai-rpg-engine/asset-registry","version":"2.0.7","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@2.0.7","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"06fe059f1fff5a494d9e24777b0ffa15ed5315e5","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-2.0.7.tgz","fileCount":33,"integrity":"sha512-HvCSYHy+oe4ZkOfbnsf4i5+1eG812zBrnaPtx7Zz6oEQR7iLjJHlC11XBiv9G7N9mWnGrXHb4HoIwhi1pWUXvQ==","signatures":[{"sig":"MEYCIQC72qYNdoRfSi0Dk7Pa7fptX3YsRgVfTr2L+qTO9uteGQIhAN/FfNTDDIG2GZIFIcN2A7ukJAsnN/lr/XOxIcQw+aZU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63027},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"85a523e9c6fdc328ae55f07bbe039690c8196fec","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"10.9.4","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"22.21.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_2.0.7_1773239022675_0.1691733974228531","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@ai-rpg-engine/asset-registry","version":"2.4.0","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@2.4.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"36b4935e22ea53d9214180e6c484474c32417c35","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-2.4.0.tgz","fileCount":34,"integrity":"sha512-DfODeLFBlG96EIR9tx/MdqGQLMcdTwXyzGz5U8X1F3pb11wq0sdj6aaSOiFuyNWScwFA2mNt2T+WUKt+ybVw8Q==","signatures":[{"sig":"MEUCIQCn/IM169BJOaABVKr4n5Gzvwv/xaf7xaR23zMZKqDhkQIgEXVuyRBxkZeM4TpcKfTZUWcRK26bXv2sg5PmTUjcd5M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fasset-registry@2.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":63461},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7813e53287544ede7b52d83324412e197ffb8552","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:27a61baa-4aff-4acb-ad30-dbbc4c353d57"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"11.16.0","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"24.16.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_2.4.0_1780445074114_0.25063658257172317","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@ai-rpg-engine/asset-registry","version":"2.5.0","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@2.5.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"d09756fcb7a5988c57ade07a018b2972d5562175","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-2.5.0.tgz","fileCount":34,"integrity":"sha512-7qqHVh0N89d9KEyloHfIMazRR6bLKR+YyqiHwRqHeWRs3gMGegk0EjhHg5Y1p5IUZyfSB1/dG6769q4bW8A5og==","signatures":[{"sig":"MEUCIEkbBajVuHc9zEUdmlHXfTaFbaVh10RmeB/Xo44L0b2wAiEAozfxMeWT0FjYxIeuHqpGKwQzwrQIKlpZIVoVjATWFQk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fasset-registry@2.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":66329},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"884efc50fb6871d6c7797b78cbabf77c79e8ea0b","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:27a61baa-4aff-4acb-ad30-dbbc4c353d57"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"11.18.0","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"24.18.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_2.5.0_1783497296724_0.41874138691073304","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"@ai-rpg-engine/asset-registry","version":"2.6.0","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@2.6.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"a501ceacd06d6a554fb68d4b92fe796e61abe4ba","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-2.6.0.tgz","fileCount":34,"integrity":"sha512-94aB8BdVd7TiBT+hngDNP9iW2LIVb6lKktNPIUr4xzlnJujGKaimVQMOusgyBltdWq5BlU+oyA4//vrEVDVlTQ==","signatures":[{"sig":"MEQCIAvTk+EdIJu8hRC6TvbvDsu2qbO5f8tZcH+9rKXnl1CXAiAcezKO96XrS5tHVqADu4dopesxqB4dbnSr3UalLdBdNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fasset-registry@2.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70350},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"cba0b3aff152a56c760202a243789bbc62d2c36c","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:27a61baa-4aff-4acb-ad30-dbbc4c353d57"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"12.0.1","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_2.6.0_1784404813266_0.5187628361817997","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"@ai-rpg-engine/asset-registry","version":"2.7.0","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@2.7.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"1d648bbf6da48c4e8ab408caa0f6057a2f954a21","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-2.7.0.tgz","fileCount":34,"integrity":"sha512-jY6KfvWWHgxq3xI7cWyTV4m2RQ61AELj4VdyUWQ4w5S/uXx4rJENaMlnZurUEbMvsp2mmkICQB88D+8yDSvEUw==","signatures":[{"sig":"MEUCIQD5qBbUHmtihTxG4JZtM4ObhIzL6pj8zNHVeDAT45TGywIgQfDIi1OBA/41EZWD1MythudQ1F/qZ65PekXC0x6KHYI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fasset-registry@2.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70350},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"370a06b625cc25b2736141263b91768ce98ee4a2","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:27a61baa-4aff-4acb-ad30-dbbc4c353d57"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"12.0.1","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_2.7.0_1784694116594_0.8892001728100059","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"@ai-rpg-engine/asset-registry","version":"2.8.0","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@2.8.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"8ca3ff1b7880cb54d272d9dd84cc6e08130a2633","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-2.8.0.tgz","fileCount":34,"integrity":"sha512-5ipolYW96a192n8ICA2BuT5iYaX4JqcA3BIJXyK5I2ftqkh22C8rj/ottnLwACARQebZGpxx5AqNlPQkPurEvw==","signatures":[{"sig":"MEQCIEgf8bRLcFfb62dlTvRZXZJH5joHHOrhnTjeQiXZAxTzAiB2hTfcj7j6ZgzH/1GkF7iF5nT9cfLPt3A/x7f1TVWZBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fasset-registry@2.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70350},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"2e4ad7b63c10584474e73423133b5fdfbebda207","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:27a61baa-4aff-4acb-ad30-dbbc4c353d57"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"12.0.1","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_2.8.0_1784721110503_0.04832716398931591","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"@ai-rpg-engine/asset-registry","version":"2.9.0","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@2.9.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"d7d65e6e2ec3bb629741d370bf27695285bf194b","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-2.9.0.tgz","fileCount":34,"integrity":"sha512-ptaSWmcZZO2VsHKqIlM7335iJCIQR2bgJGsCBSOD5wPy/U2T+ubuEF1pYT1Kr6gJwBjqlWexQiBckSq3FBlaNw==","signatures":[{"sig":"MEUCIQDLHrPg3CJZzkKohqfef6dr3x070G1EQ7tCiAj9f3L9hQIgFeFN8k3bEAZWcnZVYIAjMw2lHeQlVjiq8vScfC5CoaU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fasset-registry@2.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70350},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0a19a1c6e6d05ce2b337e4b6628023cb41aa56b0","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:27a61baa-4aff-4acb-ad30-dbbc4c353d57"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"12.0.1","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_2.9.0_1784745232981_0.032660455695370016","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@ai-rpg-engine/asset-registry","version":"3.0.0","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@3.0.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"cb37a1d01eb6cd0bc1153492d03868e413f2ec16","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-3.0.0.tgz","fileCount":34,"integrity":"sha512-VR9XHZpt8onyKJc+8NeP+RIhilgt4Cy1jb0nejyCX5diCA0SkdlKgBuN9YhUoAe2pQAmRobb5R3Xbv4irElYvQ==","signatures":[{"sig":"MEYCIQDmQH1hdTIrgnZUdtuKRqR8JYF7o70BE7ZAsUVwKHdMhAIhALsnjAQkHCaA5zRmEAOP/csvu6PBPb94mi4Yo67AUm1i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fasset-registry@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70350},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ce5b1b93d4eeb212d38745a398b91ada19397674","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:27a61baa-4aff-4acb-ad30-dbbc4c353d57"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"12.0.1","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_3.0.0_1784786014172_0.24349139112368912","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@ai-rpg-engine/asset-registry","version":"3.1.0","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@3.1.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"3a05c7a3445061a84b917b08f0574625b5e6c9d4","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-3.1.0.tgz","fileCount":34,"integrity":"sha512-Uc+UdxQqUh63yoZJyCgOa/G/wdZ8Wkez0jbICCh/VHOHfcmOYrP53MO73jk6/P2nGl19Sx/3eqg4R19FngvF4g==","signatures":[{"sig":"MEUCIQCsRGAF+dKI/ZPGFuJNzuxdEAr5hAzA0gpnGw9tXxZSvgIgc8qLNFC4Nmy2HZDDEyBddO8SSJKMFHsgFg8nNxLjVcI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fasset-registry@3.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70350},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"47849e54f562ffe9cc14152cf4a6ca358ea73a6b","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:27a61baa-4aff-4acb-ad30-dbbc4c353d57"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"12.0.1","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_3.1.0_1784796503945_0.5257776227311461","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@ai-rpg-engine/asset-registry","version":"3.2.0","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@3.2.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"68e0f351fc527c56069eb9a013f354f3655411c8","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-3.2.0.tgz","fileCount":34,"integrity":"sha512-KG6hwrBScwE/ECWMhMJ6RUcSLpDQaDY+bDOs16eTpDO+kG2N52tVXrW1K8P6uJFfw/lDXms3zIFQgiAdH40IGA==","signatures":[{"sig":"MEYCIQC2byFb+nhfUjJ+grMRONmGfBCQg/fazxoK/0IHN1cpyQIhAKsQwxuyC8zMLRu2tMrucxkdu3RRSoIukJUc5L4eatrm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fasset-registry@3.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70350},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"09667914ed7f13c89cdba59d580467c144cc02b1","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:27a61baa-4aff-4acb-ad30-dbbc4c353d57"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"12.0.1","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_3.2.0_1784822770774_0.666405648235318","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"@ai-rpg-engine/asset-registry","version":"3.2.1","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@3.2.1","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"12a20830b695efb4bc8264b1232b6193b69065e0","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-3.2.1.tgz","fileCount":34,"integrity":"sha512-MYKZNcHtP//3l4wI+A3yUpqEo87hZWBq1yBTT0voS+uaYp19A7LW7H0c7PRMgzZyl5QWZCVQKiAezufdLU/1DA==","signatures":[{"sig":"MEUCIAx3b7GrxW1cAgmQveGthReT5KwaR6NTIDXtv6fKduj0AiEAq5i756vNQqSK7ty4Jg1W751qCtdNa2j0axxKa/L3mqo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fasset-registry@3.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70350},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e6de12a8f6507873fae5950ac5c6048a48c7026a","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:27a61baa-4aff-4acb-ad30-dbbc4c353d57"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"12.0.1","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_3.2.1_1784824598161_0.4197746504065494","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"@ai-rpg-engine/asset-registry","version":"3.3.0","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@3.3.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"fcd3bf8b5fd90ddfcda99359b414251838005224","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-3.3.0.tgz","fileCount":34,"integrity":"sha512-dFHIb/ABOD5GpkMOUCB5SoNoDWqkOw7E70T1ohQUwL2g7ugeirARuSCjnfBbvz83lTfZaACOlpbSezvW75LAkQ==","signatures":[{"sig":"MEUCICS3OOwzKQrTb+fkeKXI35NffqRegG/HsrY3yWgGqiN2AiEApGtqUbBpnoO0BIURwoRdJeneZw6CZYd1/Bze25CiqRM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fasset-registry@3.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70350},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d76bcc55fb32dbd441483fcd882919202a9b274c","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:27a61baa-4aff-4acb-ad30-dbbc4c353d57"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"12.0.1","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_3.3.0_1784835735673_0.7838175190534016","host":"s3://npm-registry-packages-npm-production"}},"3.3.1":{"name":"@ai-rpg-engine/asset-registry","version":"3.3.1","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@3.3.1","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"902a547423a0afd13d2abb08ee91d63d2dbd626f","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-3.3.1.tgz","fileCount":34,"integrity":"sha512-mxJp5PqHSe4lL1dd62edaufZLLXlx/Pl0efmNUigJHUQ+Z/rxlMmgOz5h6C/huAkb723gMzx2FOjq7nVY+XkfA==","signatures":[{"sig":"MEUCIQCf9qf55pGb6hty8LzicmX0CKmnX9aMVCwVA0IkK7oZ7wIgbvr1cl58rFgDfBbwCAywNZKbdlOxNH0TMYINJ72B9Ds=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fasset-registry@3.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70350},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c4633a54fd82db04d571918b3287524e01dadfa4","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:27a61baa-4aff-4acb-ad30-dbbc4c353d57"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"12.0.1","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_3.3.1_1785014239606_0.5325351894133312","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"@ai-rpg-engine/asset-registry","version":"3.5.0","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@3.5.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"c11dbd393b1dca5fff10736bb845b98b776ac7d0","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-3.5.0.tgz","fileCount":34,"integrity":"sha512-vmGDowrVMlQhOl99v830aaFKvg1TFyvw8WILja/R8k3m1xpk3pB04HZ9RY/u2n+w9nkcvTec+yGGv43HdzrZsg==","signatures":[{"sig":"MEQCIGx+XjloZazdEINdOjS5T0MRCDZAWK0wJAEn/OU7eZnHAiBiJw5y6E2qw9Lc7pFsCTVIICP/zNWZbIRAqO0RTr5XhQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fasset-registry@3.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70350},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"177ec3ed079b3cf271d9e459d3062b3cfe11e735","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:27a61baa-4aff-4acb-ad30-dbbc4c353d57"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"12.0.1","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_3.5.0_1785073769890_0.21542230904572124","host":"s3://npm-registry-packages-npm-production"}},"3.6.0":{"name":"@ai-rpg-engine/asset-registry","version":"3.6.0","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@3.6.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"e6a767b69ded5ea3777531f942f32a2204b0aa2e","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-3.6.0.tgz","fileCount":34,"integrity":"sha512-cz33FkEAhmIndYEz1IzXtyQE4XTAoP04lPQu8DoAsWzm8OW0XL+wLk4pOAe/zFzBbcdP2C1zl32gdOlgzAf5OA==","signatures":[{"sig":"MEUCIGouY8hjMnU4HPs8Sz82bZhVkh6bhIPuvXm3J3Fvj6JxAiEAwU0qp3nWvKDAX81cIrH9nqI6Qt089gz5MlBemowYz5k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fasset-registry@3.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70350},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e62645b2a8d67140746351471837b96030246d20","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:27a61baa-4aff-4acb-ad30-dbbc4c353d57"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"12.0.1","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_3.6.0_1785254252299_0.6513712467265396","host":"s3://npm-registry-packages-npm-production"}},"3.7.0":{"name":"@ai-rpg-engine/asset-registry","version":"3.7.0","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@3.7.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"1c4a39205e1a3d8deb43aa02ed6f203fbaeaf877","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-3.7.0.tgz","fileCount":34,"integrity":"sha512-FLYydsLxCXM9IpOM7LM8ldL32kar9sQu0bWS/7S3I0Tqif6jBikFYwK15jk4y6o8ZXMC2ei82o3QwNXZy8bD4g==","signatures":[{"sig":"MEQCIBtE8PrHJYnn3qnuayceFAOVDzS+OQMoFvoHcaIdMpp2AiBPFfIdAlwValErmF5k5nnstWZIRlzRNa18CDZDM6VgoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fasset-registry@3.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70350},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c51c19fd60ef81f2cc0e5c6acfdb21cae8aeb6cd","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:27a61baa-4aff-4acb-ad30-dbbc4c353d57"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"12.0.1","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_3.7.0_1785264687300_0.9825142611359847","host":"s3://npm-registry-packages-npm-production"}},"3.8.0":{"name":"@ai-rpg-engine/asset-registry","version":"3.8.0","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@3.8.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"875040a6ddb23dd6411212e5552091cd9c0d54ed","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-3.8.0.tgz","fileCount":34,"integrity":"sha512-VnC9++OiNoEAG6xzObwARHt4oNR3bOWJ769t9l3CSXsBfBLSMINu5dEIN7FmnxN13oVMYnV97azDAeaZZSg84g==","signatures":[{"sig":"MEQCIBTXTUD6qP1XjdkK77sHjladM9MUJbDcBPhrQpg2sIrtAiBP6k45aSopd+4bl8UO68Fol9spadrMiTWjWcrFUg7glA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fasset-registry@3.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70350},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c00cd16ffcd88ec615eb788f6ce82dec3cd247f7","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:27a61baa-4aff-4acb-ad30-dbbc4c353d57"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"12.0.1","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_3.8.0_1785280290565_0.6776555094871475","host":"s3://npm-registry-packages-npm-production"}},"3.8.1":{"name":"@ai-rpg-engine/asset-registry","version":"3.8.1","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@3.8.1","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"ba3a126d917921f1da85a0e58b165f39e2702594","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-3.8.1.tgz","fileCount":38,"integrity":"sha512-Jpk68HulCjM5g91ClR+dwwI/iiG89p1imtvuphsv83jXZB3Vdm+3paywPyEH3I4+D1ID5Pj3c+/aF2odxhBsEg==","signatures":[{"sig":"MEUCIQCdOYYq8YOkDsx51KZLJfQXhH2yQ9eBS/vrel98gi7LUAIgXPTc7/4P6kCW0AoeLnHtn7vGd4s3rJJKzWJO+QJ9I2w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fasset-registry@3.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":108505},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"faff5af53667073a312674d95dca8207b13a04b4","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:27a61baa-4aff-4acb-ad30-dbbc4c353d57"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"11.19.1","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"24.19.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_3.8.1_1788155720665_0.35152741729021186","host":"s3://npm-registry-packages-npm-production"}},"3.9.0":{"name":"@ai-rpg-engine/asset-registry","version":"3.9.0","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@3.9.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"592e7e0c95b656f6ecfe25f3b063ef6f6ef5548d","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-3.9.0.tgz","fileCount":38,"integrity":"sha512-wjoBLAcV6DMfwJiBDm+NRrg3X1G/k5B4e+m72vhunXrM2wuar5Tszt/Txw+4NsUYpCzeS6RDq9FwB8u0REIKWw==","signatures":[{"sig":"MEUCIHxuOZscSedY54yQnfMiXh/M8JZEw22g6NsUElxpiriUAiEArNr4G9jxHyXA/VvDnRdvoq/1aV25Emjs0P4biy7VmV8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fasset-registry@3.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":108505},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"281a7e5a42951dd2a76b39cb713f13b8768d3098","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:27a61baa-4aff-4acb-ad30-dbbc4c353d57"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"11.19.1","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"24.19.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_3.9.0_1788171376901_0.8291248175183139","host":"s3://npm-registry-packages-npm-production"}},"3.10.0":{"name":"@ai-rpg-engine/asset-registry","version":"3.10.0","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@3.10.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"6dbd286ef8a2cddbb76dd97e4eb2da3500bad3d3","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-3.10.0.tgz","fileCount":38,"integrity":"sha512-CUR0UCNCYdZ5uBvNfdP+5MVPU4uQ9aIKzpqv4fttdD5b/eiMGu61lUxvCGWZ2m/BgxXVYZojn4cIKAmvZcdkVQ==","signatures":[{"sig":"MEUCIH2kpXI0hz2h/XTF5s/eNP3euvkh10RKusbHn1jpkbKGAiEAmsVipd26MO9PiOGmsGIQVA9gwEHW2+elYQzbk+8rXmc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fasset-registry@3.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":108506},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b84e470eccb8320f5fdb46f1ee8d8d9d42ac9b20","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:27a61baa-4aff-4acb-ad30-dbbc4c353d57"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"11.19.1","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"24.19.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_3.10.0_1788204605130_0.14117888102699538","host":"s3://npm-registry-packages-npm-production"}},"3.11.0":{"name":"@ai-rpg-engine/asset-registry","version":"3.11.0","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/asset-registry@3.11.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"fc97e601ccdca189af8c6d13f0f640b5b79b1682","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-3.11.0.tgz","fileCount":38,"integrity":"sha512-ErA+YRIkOvSasUQdTar0wmF+lsEzxSqpQ7F7C2e+iy/bQtDGtN5r0hVjXiw/GPyvDunQPusHpDr/4B7t6q9MUg==","signatures":[{"sig":"MEQCIEyHTPO3ggUbZrdnrlXWBuh+HghfpJcBlHkjBq1bzoiBAiBM2MCcsT4TdOsNDQdS2IpBpUG5mrbHlHkhj0xXG5y6fg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fasset-registry@3.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":108506},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"acbc2d1d3453d7af4bec321c3f6f4fba7f383aed","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:27a61baa-4aff-4acb-ad30-dbbc4c353d57"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"11.19.1","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"_nodeVersion":"24.19.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/asset-registry_3.11.0_1788246440488_0.8620882874999158","host":"s3://npm-registry-packages-npm-production"}},"3.12.0":{"_id":"@ai-rpg-engine/asset-registry@3.12.0","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"e799c7c14876590bece0b8b1dfba7d42017afa04","tarball":"https://registry.npmjs.org/@ai-rpg-engine/asset-registry/-/asset-registry-3.12.0.tgz","fileCount":38,"integrity":"sha512-ktuerDaSzaGZseyRXtPkJ8tkyFmQvQyzqLB/ZMp91bE/41STwKexQLuR4+lhP+5x8Af1wNXJC2Ejz5bE91leXA==","signatures":[{"sig":"MEUCIQDjswf7RIDODzc6N1TTmus3AEKPv75+NMKY3m6sU8SGuwIgKRWVrISzk1U5ApemDB7qU0DUkrYTOJ2d4FtZeMbrH4c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDrdlhMc8KZ6YLvJOqsWJLleGiQ5OBtlEkaArVaevFbWwIgTPu03WTQnQUOnfImnHt8MhbDtriK3DD5dFNMWznREW4="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fasset-registry@3.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":108506},"main":"./dist/index.js","name":"@ai-rpg-engine/asset-registry","type":"module","types":"./dist/index.d.ts","author":{"name":"mcp-tool-shop"},"engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"bf74871b46a02b5fb1bb333cec68d305c5fe7d7c","license":"MIT","scripts":{"test":"vitest run","build":"tsc"},"version":"3.12.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:27a61baa-4aff-4acb-ad30-dbbc4c353d57"}},"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"_npmVersion":"11.19.1","description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","directories":{},"maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"_nodeVersion":"24.20.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/asset-registry_3.12.0_1789973297783_0.500256858372147"}}},"time":{"created":"2026-03-07T15:32:17.827Z","modified":"2026-09-21T06:48:18.198Z","2.0.0":"2026-03-07T15:32:18.057Z","2.0.1":"2026-03-08T10:32:10.615Z","2.0.2":"2026-03-10T05:20:02.671Z","2.0.3":"2026-03-10T05:48:08.257Z","2.0.4":"2026-03-10T06:26:54.840Z","2.0.5":"2026-03-10T06:51:40.989Z","2.0.6":"2026-03-10T16:11:00.023Z","2.0.7":"2026-03-11T14:23:42.830Z","2.4.0":"2026-06-03T00:04:34.329Z","2.5.0":"2026-07-08T07:54:56.855Z","2.6.0":"2026-07-18T20:00:13.418Z","2.7.0":"2026-07-22T04:21:56.767Z","2.8.0":"2026-07-22T11:51:50.648Z","2.9.0":"2026-07-22T18:33:53.136Z","3.0.0":"2026-07-23T05:53:34.315Z","3.1.0":"2026-07-23T08:48:24.072Z","3.2.0":"2026-07-23T16:06:10.922Z","3.2.1":"2026-07-23T16:36:38.302Z","3.3.0":"2026-07-23T19:42:15.825Z","3.3.1":"2026-07-25T21:17:19.743Z","3.5.0":"2026-07-26T13:49:30.049Z","3.6.0":"2026-07-28T15:57:32.465Z","3.7.0":"2026-07-28T18:51:27.453Z","3.8.0":"2026-07-28T23:11:30.707Z","3.8.1":"2026-08-31T05:55:20.803Z","3.9.0":"2026-08-31T10:16:17.034Z","3.10.0":"2026-08-31T19:30:05.269Z","3.11.0":"2026-09-01T07:07:20.729Z","3.12.0":"2026-09-21T06:48:17.867Z"},"bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"author":{"name":"mcp-tool-shop"},"license":"MIT","homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","keywords":["rpg","assets","content-addressed","registry","portraits","game-engine"],"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/asset-registry"},"description":"Content-addressed asset registry for portraits, icons, and media in AI RPG Engine","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"readme":"<p align=\"center\">\n  <a href=\"README.ja.md\">日本語</a> | <a href=\"README.md\">English</a> | <a href=\"README.es.md\">Español</a> | <a href=\"README.fr.md\">Français</a> | <a href=\"README.hi.md\">हिन्दी</a> | <a href=\"README.it.md\">Italiano</a> | <a href=\"README.pt-BR.md\">Português (BR)</a>\n</p>\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/mcp-tool-shop-org/brand/main/logos/ai-rpg-engine/readme.png\" width=\"400\" alt=\"AI RPG Engine\">\n</p>\n\n# @ai-rpg-engine/asset-registry\n\n[![npm](https://img.shields.io/npm/v/@ai-rpg-engine/asset-registry)](https://www.npmjs.com/package/@ai-rpg-engine/asset-registry)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/mcp-tool-shop-org/ai-rpg-engine/blob/main/LICENSE)\n\n用于[AI RPG Engine](https://github.com/mcp-tool-shop-org/ai-rpg-engine)中人物头像、图标和媒体资源的基于内容寻址的资源注册表。\n\n## 安装\n\n```bash\nnpm install @ai-rpg-engine/asset-registry\n```\n\n## 功能\n\n资源通过其SHA-256内容哈希进行存储，这意味着相同的字节始终映射到相同的地址。这使得去重自动，引用可移植，缓存变得简单。 包含两种存储后端：内存（用于测试和临时会话）和文件系统（用于持久的本地存储，带有分片目录）。\n\n## 用法\n\n### 存储和检索资源\n\n```typescript\nimport { MemoryAssetStore } from '@ai-rpg-engine/asset-registry';\n\nconst store = new MemoryAssetStore();\n\n// Store portrait bytes\nconst pngBytes = await readFile('portrait.png');\nconst meta = await store.put(pngBytes, {\n  kind: 'portrait',\n  mimeType: 'image/png',\n  width: 512,\n  height: 512,\n  tags: ['character', 'fantasy', 'knight'],\n  source: 'generated',\n});\n\nconsole.log(meta.hash);  // 'a3f2b8c1...' (SHA-256 hex)\n\n// Retrieve by hash\nconst bytes = await store.get(meta.hash);\nconst info = await store.getMeta(meta.hash);\n```\n\n### 文件系统持久化\n\n```typescript\nimport { FileAssetStore } from '@ai-rpg-engine/asset-registry';\n\nconst store = new FileAssetStore('./assets');\n\n// Directory layout:\n//   assets/\n//     a3/\n//       a3f2b8c1...64chars.bin   — raw bytes\n//       a3f2b8c1...64chars.json  — metadata sidecar\n\nconst meta = await store.put(bytes, { kind: 'portrait', mimeType: 'image/png' });\n```\n\n### 过滤和搜索\n\n```typescript\n// List all portraits\nconst portraits = await store.list({ kind: 'portrait' });\n\n// Filter by tag\nconst fantasy = await store.list({ tag: 'fantasy' });\n\n// Filter by size range\nconst large = await store.list({ minSize: 100_000 });\n\n// Filter by MIME type\nconst pngs = await store.list({ mimeType: 'image/png' });\n```\n\n### 基于内容的寻址\n\n```typescript\nimport { hashBytes, isValidHash } from '@ai-rpg-engine/asset-registry';\n\nconst hash = hashBytes(someBytes);       // SHA-256 hex digest\nconst valid = isValidHash(hash);          // true\nconst invalid = isValidHash('not-a-hash'); // false\n```\n\n## 资源类型\n\n| 类型 | 描述 |\n|------|-------------|\n| portrait | 角色头像（玩家、NPC） |\n| icon | UI图标、物品精灵 |\n| background | 场景背景、区域美术 |\n| audio | 音效、音乐片段 |\n| document | 文本文件、模板 |\n\n## 存储后端\n\n| 后端 | 使用场景 | 持久性 |\n|---------|----------|-------------|\n| `MemoryAssetStore` | 测试、临时会话 | 无（进程内） |\n| `FileAssetStore` | 本地游戏、开发 | 文件系统 |\n\n这两种后端都实现了`AssetStore`接口，因此它们可以互换使用。\n\n## 与角色创建的集成\n\n`CharacterBuild`中的`portraitRef`字段存储资源哈希。 使用注册表解析它：\n\n```typescript\nimport { resolveEntity } from '@ai-rpg-engine/character-creation';\n\nconst entity = resolveEntity(build, catalog, ruleset);\nconst portraitHash = entity.custom?.portraitRef as string;\n\nif (portraitHash) {\n  const bytes = await store.get(portraitHash);\n  // Render the portrait in your UI\n}\n```\n\n## AI RPG Engine的一部分\n\n此包是[AI RPG Engine](https://github.com/mcp-tool-shop-org/ai-rpg-engine)单体仓库的一部分。 它没有外部依赖，可以独立运行，也可以与角色创建和呈现系统集成。\n\n## 许可证\n\nMIT\n","readmeFilename":"README.zh.md"}