{"_id":"@tribally.games/game-base","_rev":"43-2cf44c4858b375c7f82ae1b2a6a0f175","name":"@tribally.games/game-base","dist-tags":{"latest":"3.2.0"},"versions":{"0.1.2":{"name":"@tribally.games/game-base","version":"0.1.2","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.1.2","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"dist":{"shasum":"5eee1a7815da292b994e47afee743da4e6c12e31","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.1.2.tgz","fileCount":27,"integrity":"sha512-o1YdUeEs0uD017N7Xywdv+WS1zfP5+dGujq1fz9bORUAF9PfD5TtvMHEsCDx3U3OOfCku/boLP9yfFX2NBK6mQ==","signatures":[{"sig":"MEUCIQD9eHkbtbvk2j54gLvZzIh1OXo5Dh6jTCMactTqrUoGHQIgCWSIN6mOjigPara6dkaP+ImxLxg25ShSwQzY0K1qhcc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60873},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"5eee1a7815da292b994e47afee743da4e6c12e31","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-o1YdUeEs0uD017N7Xywdv+WS1zfP5+dGujq1fz9bORUAF9PfD5TtvMHEsCDx3U3OOfCku/boLP9yfFX2NBK6mQ==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@hiddentao/clockwork-engine":"^1.8.1","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.8.0"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.1.2_1760939556538_0.4168984389489532","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@tribally.games/game-base","version":"0.2.1","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.2.1","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"dist":{"shasum":"0b3b693f00c5a3980a0b183b985872f2070ae5ab","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.2.1.tgz","fileCount":29,"integrity":"sha512-7ASYqjTWR5p9L3o08uZZaSAjlJHkFmIJ3Pd8LP3SFKIe0uIWCkLumppIGuGABOPMdbPksQjLkkpBVRJ5fE9hHQ==","signatures":[{"sig":"MEQCIEFLXdmVTA7ipFWK2bi+H1WSmbQb6cveKb0d7luLu6flAiBxOMAL6v0Wb5IRpbRHHD2x4Qvn/4H2loTHOfI1D49BTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65412},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"0b3b693f00c5a3980a0b183b985872f2070ae5ab","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-7ASYqjTWR5p9L3o08uZZaSAjlJHkFmIJ3Pd8LP3SFKIe0uIWCkLumppIGuGABOPMdbPksQjLkkpBVRJ5fE9hHQ==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@hiddentao/clockwork-engine":"^1.8.1","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.8.0"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.2.1_1760942023490_0.3625646781217413","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@tribally.games/game-base","version":"0.2.2","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.2.2","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"dist":{"shasum":"a5d5f2f53a63d17fa69a3aeaa1c2674d1e199b35","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.2.2.tgz","fileCount":27,"integrity":"sha512-57hp3Kc/H8JpYgGoIHhGTTZuBDyZzsB/6yr1cHf8aKEgBNIN9bb7iWf3JC+Qk0QLwIG5wV5coxn3qrfq6hk08A==","signatures":[{"sig":"MEQCICWH9BElyrEvPSrsE2ns/z/d3EIFMyJJTFhYHNZp8qrHAiBZeZeKulPMolQ0tsT8FoEdh0CblPTjRSMLaB5Kx9yCvg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63646},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"a5d5f2f53a63d17fa69a3aeaa1c2674d1e199b35","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-57hp3Kc/H8JpYgGoIHhGTTZuBDyZzsB/6yr1cHf8aKEgBNIN9bb7iWf3JC+Qk0QLwIG5wV5coxn3qrfq6hk08A==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@hiddentao/clockwork-engine":"^1.8.1","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.8.0"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.2.2_1760944536302_0.42848169742024367","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@tribally.games/game-base","version":"0.2.4","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.2.4","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"dist":{"shasum":"68a3b879aaf48b14ec9f0d7fada796518f626d2e","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.2.4.tgz","fileCount":27,"integrity":"sha512-lv2iwF9vsvWZ8MS3WeIIs7RRcbbHw4xicFhdc9++QwPZCQarfp/mLQF8Qeb1JvK4yQ8q6U3EPGt8O+kSbVSXyQ==","signatures":[{"sig":"MEUCIFBMHlmfHYnr73C4HbdLMEKDsv6mBAkTiiPSHEcihWOsAiEAjHsfYFtX1toqxK6TPeug0PBBMs+k6/7+/1GPbpeHhyQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64292},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"68a3b879aaf48b14ec9f0d7fada796518f626d2e","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-lv2iwF9vsvWZ8MS3WeIIs7RRcbbHw4xicFhdc9++QwPZCQarfp/mLQF8Qeb1JvK4yQ8q6U3EPGt8O+kSbVSXyQ==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@hiddentao/clockwork-engine":"^1.8.1","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.8.0"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.2.4_1760951330311_0.4318927608472243","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@tribally.games/game-base","version":"0.2.5","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.2.5","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"dist":{"shasum":"0a5e6397ec9d4490c9c8c5eaf4e89880045a3682","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.2.5.tgz","fileCount":29,"integrity":"sha512-ItAOO3lrg7T/0FJ5MXXScq4IaZJLKXjJ97XD59sRiHqMvqMJ8WyawvmENfFZt19RrhsGMKbuCq1A+mFAVE2lgA==","signatures":[{"sig":"MEYCIQD18s6LRDRtJLr1nu8tjtGkoIPAw790HvvvDLdNTHdO0wIhAN4iYUmECg94Vldij1V2m+hvHjS5byV12AeT/5ttX0Jx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93798},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"0a5e6397ec9d4490c9c8c5eaf4e89880045a3682","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-ItAOO3lrg7T/0FJ5MXXScq4IaZJLKXjJ97XD59sRiHqMvqMJ8WyawvmENfFZt19RrhsGMKbuCq1A+mFAVE2lgA==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@hiddentao/clockwork-engine":"^1.8.1","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.8.0"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.2.5_1761022067287_0.44152763363851655","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@tribally.games/game-base","version":"0.2.6","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.2.6","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"dist":{"shasum":"816871afc4df49e094dfe22e2e0d648d75a847a9","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.2.6.tgz","fileCount":29,"integrity":"sha512-BFcWX2snLgbk8hOqI4xjcIqtra8eOwiSADRVklRRWwm8ERwEBxiTVEjN3D8wDX1iCWOXAO3l4SXn+YEeN4KA/A==","signatures":[{"sig":"MEUCIDrHzV39TFhcWjZkFPbxPDZwF03Llmsc/6JdJGdpoF7OAiEAlASK+l15mkFeQzWu1Jm476d+D/EBB4ucEs0aACwCU7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98252},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"816871afc4df49e094dfe22e2e0d648d75a847a9","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-BFcWX2snLgbk8hOqI4xjcIqtra8eOwiSADRVklRRWwm8ERwEBxiTVEjN3D8wDX1iCWOXAO3l4SXn+YEeN4KA/A==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@hiddentao/clockwork-engine":"^1.8.1","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.8.0"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.2.6_1761123821885_0.9541338218263051","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@tribally.games/game-base","version":"0.2.7","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.2.7","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"dist":{"shasum":"50d18a11cdf381a15f2f4cf6c9167e025fba8636","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.2.7.tgz","fileCount":29,"integrity":"sha512-brlahYBIOitdIBjpbSMV1BOOBUmJVSGoQcvtFPd4PsZnqQ5oZ1OS2J8mLdqQzQkIJLsnam7tZm+oPH/3MNV1Wg==","signatures":[{"sig":"MEUCIBekFcsdVkZ0xYyH+tPqVc0UAsv+uiLama1rUGDap+I0AiEAnp0tIb7CO6houBg55b61wsPAqhCE3DLnAAuBiFc6H+s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98502},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"50d18a11cdf381a15f2f4cf6c9167e025fba8636","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-brlahYBIOitdIBjpbSMV1BOOBUmJVSGoQcvtFPd4PsZnqQ5oZ1OS2J8mLdqQzQkIJLsnam7tZm+oPH/3MNV1Wg==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@hiddentao/clockwork-engine":"^1.9.1","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.8.0"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.2.7_1761128249468_0.6789899092394909","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"@tribally.games/game-base","version":"0.2.8","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.2.8","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"dist":{"shasum":"f3680827e77b7e67a20c5fda5843f97d1b4a9633","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.2.8.tgz","fileCount":29,"integrity":"sha512-mXZO/iTETaHvAIuYj1ZtCyTeasPOhiVuuCraWbFSF43GvFHxgEQKXNDVQoY+H95Y6hbrY2Kwamd3pO2xt/jBxw==","signatures":[{"sig":"MEUCIGB38SoIJZyfgv6P45UsQMezzBauQ0e+2c3kr+0SPMLRAiEAwwJ3l4VzTwC7WqAI8vDCp5ibq0oBzkjbuukUiNpB46U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98691},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"f3680827e77b7e67a20c5fda5843f97d1b4a9633","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-mXZO/iTETaHvAIuYj1ZtCyTeasPOhiVuuCraWbFSF43GvFHxgEQKXNDVQoY+H95Y6hbrY2Kwamd3pO2xt/jBxw==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.1"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.2.8_1761128343905_0.8807049446244419","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"@tribally.games/game-base","version":"0.2.9","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.2.9","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"dist":{"shasum":"167526c6dc465ccdc8330870a236d570f581c318","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.2.9.tgz","fileCount":29,"integrity":"sha512-xDxWSEUR4B7f2PXlc9MVMI6hwt1Hi2S++btXAJTyHYqo4IeKsSbSfsjjBE4I+oYREnAUesQvySowm3u0k3wnow==","signatures":[{"sig":"MEYCIQCJdIibwgT2uuL0gbDHxvBMU1ywzzVRW9Umk4Uy/BCarAIhAKen5uMurwtAmnpRDq7g7y8z2XK3kMNS6i5l4J8hBAnq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98785},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"167526c6dc465ccdc8330870a236d570f581c318","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-xDxWSEUR4B7f2PXlc9MVMI6hwt1Hi2S++btXAJTyHYqo4IeKsSbSfsjjBE4I+oYREnAUesQvySowm3u0k3wnow==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.2"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.2.9_1762244654761_0.4105035835883346","host":"s3://npm-registry-packages-npm-production"}},"0.2.10":{"name":"@tribally.games/game-base","version":"0.2.10","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.2.10","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"261e5135a0c7b39ab64516d5935aa17fb481510d","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.2.10.tgz","fileCount":57,"integrity":"sha512-p3xeka22voKnLd3dKnCbkyGMnukGdspb637B7/Dazq+s/w3c+V+PbYZN7I38WU/1re1cRzwGCc+Wen/YuYg88Q==","signatures":[{"sig":"MEQCIDp3qCYK7vSb887Bd/HwsyEHaBnrls12+/+UICz3VHDvAiBxd6rKEspBSt4ohlxj4bU0xLxGhpEaSFPKsch8JLKUCQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3344423},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"261e5135a0c7b39ab64516d5935aa17fb481510d","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-p3xeka22voKnLd3dKnCbkyGMnukGdspb637B7/Dazq+s/w3c+V+PbYZN7I38WU/1re1cRzwGCc+Wen/YuYg88Q==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","chalk":"^5.3.0","execa":"^9.5.2","commander":"^12.1.0","command-exists":"^1.2.9"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.2.10_1762499865475_0.2594378669472359","host":"s3://npm-registry-packages-npm-production"}},"0.2.11":{"name":"@tribally.games/game-base","version":"0.2.11","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.2.11","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"4e7e59f4f27a0d615ee752469279cb750d68c74b","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.2.11.tgz","fileCount":57,"integrity":"sha512-DdmR8WIJxJmtwpx6QxUiTMyyCOBhXwl9ZBXTqQT/8wai+xLdIOnwKXSKvGIPHHyMkHsT2wUVL0lRqW3hFsKPmA==","signatures":[{"sig":"MEUCIQCREpLU00NVKoA/u6CjEsU9ipyO4XKXYKCDKuPDWhz5XwIgD3bpWaFeScV6nunv5JV/LHKsO4GieKA2XNUoDSJK/wE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3344520},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"4e7e59f4f27a0d615ee752469279cb750d68c74b","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-DdmR8WIJxJmtwpx6QxUiTMyyCOBhXwl9ZBXTqQT/8wai+xLdIOnwKXSKvGIPHHyMkHsT2wUVL0lRqW3hFsKPmA==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","chalk":"^5.3.0","execa":"^9.5.2","commander":"^12.1.0","command-exists":"^1.2.9"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.2.11_1762500413628_0.8730534071111951","host":"s3://npm-registry-packages-npm-production"}},"0.2.12":{"name":"@tribally.games/game-base","version":"0.2.12","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.2.12","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"3d6c049a2f11b48c46d1369ea98ac85bfef3a48b","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.2.12.tgz","fileCount":57,"integrity":"sha512-b5Iy2DeQnCR6MunGOsPBpQ+SzhAwnF/YszVeGQJkiex4iEB/y8elNPzMW3i9kgrB4aOfdKU1iiKksSE006rmew==","signatures":[{"sig":"MEQCIFrPpZAPifjVQex2C9sxFZdzBUclovFSvvhjC+w1m0RPAiBI6CXmR0XffaxjyV2ZZvrQksdyhhwylH7W4prqkqUFFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3344811},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"3d6c049a2f11b48c46d1369ea98ac85bfef3a48b","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-b5Iy2DeQnCR6MunGOsPBpQ+SzhAwnF/YszVeGQJkiex4iEB/y8elNPzMW3i9kgrB4aOfdKU1iiKksSE006rmew==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","chalk":"^5.3.0","execa":"^9.5.2","commander":"^12.1.0","command-exists":"^1.2.9"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.2.12_1762501172453_0.16191492580184863","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@tribally.games/game-base","version":"0.3.0","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.3.0","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"721745a323e487b4b283d90ea759d05507095aeb","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.3.0.tgz","fileCount":57,"integrity":"sha512-IFZ53Mq3yBKOmLnFYjTJ3QC7qV7nE1Y1pOPmlc62UxE9xlkzzwku31XF0ADjvevfet3PxKYaNOe3vWk1+/+p2g==","signatures":[{"sig":"MEUCIAf4MegiNpZU6X+sjwY0xldbZit8EbiKaVunztpqll7ZAiEAqcaOy5NLa1QddDBTznTwm0nPru39QX9lO49LziIgWLE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3344804},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"721745a323e487b4b283d90ea759d05507095aeb","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-IFZ53Mq3yBKOmLnFYjTJ3QC7qV7nE1Y1pOPmlc62UxE9xlkzzwku31XF0ADjvevfet3PxKYaNOe3vWk1+/+p2g==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","chalk":"^5.3.0","execa":"^9.5.2","commander":"^12.1.0","command-exists":"^1.2.9"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.3.0_1762522454814_0.392321364038823","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@tribally.games/game-base","version":"0.4.0","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.4.0","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"14bc634541b57e079785600932e12c8e7e196a88","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.4.0.tgz","fileCount":93,"integrity":"sha512-MMpxTTvTQsYVqO42vdEzZTcj5cQiCXq8YLLp46VPxCq2R1up5cC6z7/3UYbe4Q8CxqMjLTdPpHOXYwCwokiEnA==","signatures":[{"sig":"MEYCIQC7MaMFkkyOXt9hv6ddomLqtUMCKbK86t0FOSWj8WttVQIhAIbwMXLV7JzU76XWtLoT0dTJFU+2PaL+B0sxAypN9ZD1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3454006},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"14bc634541b57e079785600932e12c8e7e196a88","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-MMpxTTvTQsYVqO42vdEzZTcj5cQiCXq8YLLp46VPxCq2R1up5cC6z7/3UYbe4Q8CxqMjLTdPpHOXYwCwokiEnA==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.4.0_1762711465051_0.13654680439102473","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@tribally.games/game-base","version":"0.4.1","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.4.1","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"a6fc468e332658758f55f2a35f892c73f8301129","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.4.1.tgz","fileCount":93,"integrity":"sha512-BN10Bpb3VpNNEXt3KxWEgMQdu7R9cmH91c3kLxZevvFu0umndzlXGK8gWY1MljUAMRNGkiUDagE5j3FpfDWMHg==","signatures":[{"sig":"MEUCIH5ix8ZUbX6PRdb+YzC9pyMeAG6ZWd1HaSZADnj74aYcAiEAmF0wggiH3yLphSqbkbHxRkuNog/KZk+TyL9z2oP5tGM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3473301},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"a6fc468e332658758f55f2a35f892c73f8301129","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-BN10Bpb3VpNNEXt3KxWEgMQdu7R9cmH91c3kLxZevvFu0umndzlXGK8gWY1MljUAMRNGkiUDagE5j3FpfDWMHg==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.4.1_1762744412796_0.7938554162417868","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@tribally.games/game-base","version":"0.5.0","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.5.0","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"5e8391f71de4309077909f56893c86ab2737282c","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.5.0.tgz","fileCount":94,"integrity":"sha512-P859cRGzImySSn0USMA8EPzx+Ay/XwUButZEVZVHm6UBLKryZQnvQ+TFHJCudqNLS8rgdjrEpSl6tSIZDu+mnA==","signatures":[{"sig":"MEUCIQCEr1JvKpvTRRsHrzrhRVnnmAtSaVJl3YuHk843LZMccwIgBwLJr7hEgOBPjIxr8KYesmuFkMnkMjBeSKVrlvsq23A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3485577},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"5e8391f71de4309077909f56893c86ab2737282c","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-P859cRGzImySSn0USMA8EPzx+Ay/XwUButZEVZVHm6UBLKryZQnvQ+TFHJCudqNLS8rgdjrEpSl6tSIZDu+mnA==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.5.0_1762760261220_0.34538962872779067","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@tribally.games/game-base","version":"0.5.1","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.5.1","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"abfae7647e33ed70ece429da4a804c09a1ea58b3","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.5.1.tgz","fileCount":94,"integrity":"sha512-RNAf3hfO9sjZdnhPyvXXpcsIYxEkYus0PUkmHQ/EGrfN64gB1u4g+J7oLL4f/Qrt++cUGxxOJzoh/sr4wcrtww==","signatures":[{"sig":"MEUCIAwKM4VPR46bgMMIsY1vVakaLm44PDPBNFge2bjf9ysxAiEA227vmGNjmmVWmO+vv0yJmXBjmWmF4NJN8fSeF6I3W6I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3485790},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"abfae7647e33ed70ece429da4a804c09a1ea58b3","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-RNAf3hfO9sjZdnhPyvXXpcsIYxEkYus0PUkmHQ/EGrfN64gB1u4g+J7oLL4f/Qrt++cUGxxOJzoh/sr4wcrtww==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.5.1_1762770110551_0.23277710418146036","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@tribally.games/game-base","version":"0.5.2","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.5.2","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"da499a49daaf0845470e7eb2145c08f932999921","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.5.2.tgz","fileCount":94,"integrity":"sha512-5YKW1GeKBZvVSNkro0obaLVB61mrdKSb7fGyvHUHtqaDiwTxeA7wOJW/0MrDqe5D+S/BbAHSL38jujCVUbnxcw==","signatures":[{"sig":"MEYCIQChc8bdDME1VaYFEecVU0ayPHszlOiiCX9g3+1rTFEQ6wIhAPRsqn9pCUSdN68a0tgicOg0R6ZRA+ndMp76Tp+ovDwT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3486217},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"da499a49daaf0845470e7eb2145c08f932999921","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-5YKW1GeKBZvVSNkro0obaLVB61mrdKSb7fGyvHUHtqaDiwTxeA7wOJW/0MrDqe5D+S/BbAHSL38jujCVUbnxcw==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.5"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.5.2_1762829351774_0.3547038595476495","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@tribally.games/game-base","version":"0.5.3","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.5.3","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"e061e868e177f1b2be98da790077e8f143d8d029","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.5.3.tgz","fileCount":94,"integrity":"sha512-GSC746xXdIaoxrYG7NAqukCoKfl9SX1Tm1Ukk5ENsXOTBszm1f6KXHzlqnGy7LWxPoCyVftp0hmvFjTSgOB2Tw==","signatures":[{"sig":"MEUCIQDsXOcnNSHmBKCzZoVXloAuBIGE3CPeFGkGORaeZMU/rAIgXFHSY9JGXChWVS7zO11ydqT+vzLJv8mli5zRUhQ0u9k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3486450},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"e061e868e177f1b2be98da790077e8f143d8d029","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-GSC746xXdIaoxrYG7NAqukCoKfl9SX1Tm1Ukk5ENsXOTBszm1f6KXHzlqnGy7LWxPoCyVftp0hmvFjTSgOB2Tw==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.5"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.5.3_1762833398045_0.6726411999349418","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@tribally.games/game-base","version":"0.5.4","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.5.4","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"5ef7ca89d8bd6af8c49caffeb234d9df760933b9","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.5.4.tgz","fileCount":94,"integrity":"sha512-KRwL1FqjWlUQobxYIEGNql8ZpCtOUHMOnXQpKCbQKyPogti+hkSSp0UG1J6ZRzH9VbEZu7SvCd/YIzYAzpw8bw==","signatures":[{"sig":"MEYCIQC+vZmUiS2lszNvyFlzo74mV4Hyp0slCAzVRTx+F69OjAIhAKlFRntYavXiVkq5ZiRpjD6YSY5OBCx4OX3N7zOFmLsP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3486936},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"5ef7ca89d8bd6af8c49caffeb234d9df760933b9","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-KRwL1FqjWlUQobxYIEGNql8ZpCtOUHMOnXQpKCbQKyPogti+hkSSp0UG1J6ZRzH9VbEZu7SvCd/YIzYAzpw8bw==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.5"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.5.4_1763022735409_0.7528714642378944","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"@tribally.games/game-base","version":"0.5.5","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.5.5","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"6c55cf7aba39cc25985ee22771a56c891a7a83a0","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.5.5.tgz","fileCount":94,"integrity":"sha512-VMXPL62yyW7GeNRxP10066bjUVkI/cSlfr8VvVirC9eNAkQcN5dU0flDbiQyI6ICuvXD8nV2L5amLuRhMgMsdw==","signatures":[{"sig":"MEYCIQC8URD2F4cQBrlAhGvdTmMGBchFmC0A2Js4qqJOsJdBiQIhAIqeG2lwzzriCxPwVxKbGYjGMJWZbkKAkBqXi6L2cZSe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3487263},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"6c55cf7aba39cc25985ee22771a56c891a7a83a0","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-VMXPL62yyW7GeNRxP10066bjUVkI/cSlfr8VvVirC9eNAkQcN5dU0flDbiQyI6ICuvXD8nV2L5amLuRhMgMsdw==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.5"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.5.5_1763023491063_0.16138817371580383","host":"s3://npm-registry-packages-npm-production"}},"0.5.6":{"name":"@tribally.games/game-base","version":"0.5.6","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.5.6","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"09bcf68b49d8b903cabe740993f3a16387413806","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.5.6.tgz","fileCount":94,"integrity":"sha512-pQv0TzMkF29h5Giu0xH7NaTzPtMDhIdEuGhPSMo8H4ti5JZoT2hHxMwYGcVqfWjvy9FVN1KzFjhcYum6GkNH2w==","signatures":[{"sig":"MEQCIARb6LXxGKnCvwbAPhOObOqRuNrgtMmOHcXHFVdD+FzUAiB9XiXmvJ41U4IyfE2MCjEsIP/CW3jai7biZUwPPbPiPA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3489043},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"09bcf68b49d8b903cabe740993f3a16387413806","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-pQv0TzMkF29h5Giu0xH7NaTzPtMDhIdEuGhPSMo8H4ti5JZoT2hHxMwYGcVqfWjvy9FVN1KzFjhcYum6GkNH2w==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.5"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.5.6_1763028347436_0.5277043289700696","host":"s3://npm-registry-packages-npm-production"}},"0.5.7":{"name":"@tribally.games/game-base","version":"0.5.7","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.5.7","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"d14dfce7e38f0cf47c9dc9bcf89edf0cc92a71d5","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.5.7.tgz","fileCount":94,"integrity":"sha512-eWMrwzIb2nc3rcyojT+ljTvB9zWOUZsfPBgBNRzF7gx9tVqjno28TCsuSe0u39wxyhuVMkjTg8xdxBQ/VTiNbg==","signatures":[{"sig":"MEQCIAwUw0gcXINbGJqPGh6162jNej0g2Zo5vAJI5OGD3P6wAiAdoGzzftT0Hdzp9FRIqZQWE26kuQDaR1r1zrUJ01FOiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3507929},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"d14dfce7e38f0cf47c9dc9bcf89edf0cc92a71d5","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-eWMrwzIb2nc3rcyojT+ljTvB9zWOUZsfPBgBNRzF7gx9tVqjno28TCsuSe0u39wxyhuVMkjTg8xdxBQ/VTiNbg==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.5"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.5.7_1763050661175_0.9048064316691988","host":"s3://npm-registry-packages-npm-production"}},"0.5.8":{"name":"@tribally.games/game-base","version":"0.5.8","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.5.8","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"8fe12404d97385d3246a87ad176d804e6766cb74","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.5.8.tgz","fileCount":94,"integrity":"sha512-v5BQQk0HjgMfYYAlIwXZsNgseWrHKLjdxy1ubZ9b5OoTx0HYHv13ToMmkWiOUfYcWcZoJjBPnuXfoysYzadghA==","signatures":[{"sig":"MEQCIHojcnobmI7hk4emZwUWWaq1gkdMmG6mEmGxAk7Rnz+ZAiAGsOFXZO37C34PV7y42b7/Kbu/y2aPFS9G+UmU4dVCYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3508023},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"8fe12404d97385d3246a87ad176d804e6766cb74","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-v5BQQk0HjgMfYYAlIwXZsNgseWrHKLjdxy1ubZ9b5OoTx0HYHv13ToMmkWiOUfYcWcZoJjBPnuXfoysYzadghA==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.5"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.5.8_1763050881852_0.37733174438846295","host":"s3://npm-registry-packages-npm-production"}},"0.5.9":{"name":"@tribally.games/game-base","version":"0.5.9","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.5.9","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"a87f8db0aa35c32015fbeebb8511d5cdb88a0f8f","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.5.9.tgz","fileCount":100,"integrity":"sha512-I4DKzxMNwEWaDymvrNTADkE7RxAaIGF3utJUOxp7dqUogBd/7c+TLdZtW6x4TY9m06GlaGtXzgxzSn+vbbZg5Q==","signatures":[{"sig":"MEQCIAkAVfUCRPy/A/eLtuNtYzy+jMq+0Z1DFDnNhxfhwEGNAiB/Z+i2iGsA8AKsobwJd/19lqsYJv7YbQvUmTJfHFKVDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3522338},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"a87f8db0aa35c32015fbeebb8511d5cdb88a0f8f","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-I4DKzxMNwEWaDymvrNTADkE7RxAaIGF3utJUOxp7dqUogBd/7c+TLdZtW6x4TY9m06GlaGtXzgxzSn+vbbZg5Q==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@rwh/keystrokes":"^1.5.6","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.5"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.5.9_1763103626983_0.22087870180315217","host":"s3://npm-registry-packages-npm-production"}},"0.5.10":{"name":"@tribally.games/game-base","version":"0.5.10","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.5.10","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"3d82b06ac9039d92717dd52db939a3880fd8df21","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.5.10.tgz","fileCount":100,"integrity":"sha512-+TuB8K66EFyX3VgWtNTz3tVHxu1gfw+0uu/1zbPFWbSaLSBvtd9dCCZIDohcYkvdn7ZQg7uiQtufEKCeIM2EJQ==","signatures":[{"sig":"MEUCIHzebkxQu86YmguvvlL32B7gPdi3qe4U7aQT9wIe6iYwAiEAp4NJR8mhEi/V6OQcDFjukuQqQr2QnqdljXaFiu9q5Nc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3521714},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"3d82b06ac9039d92717dd52db939a3880fd8df21","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-+TuB8K66EFyX3VgWtNTz3tVHxu1gfw+0uu/1zbPFWbSaLSBvtd9dCCZIDohcYkvdn7ZQg7uiQtufEKCeIM2EJQ==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@rwh/keystrokes":"^1.5.6","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.5"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.5.10_1763135840959_0.5840066321779094","host":"s3://npm-registry-packages-npm-production"}},"0.5.11":{"name":"@tribally.games/game-base","version":"0.5.11","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.5.11","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"f17509dfd9c1cf90208a08d76a8bbcb62ea10753","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.5.11.tgz","fileCount":100,"integrity":"sha512-RL5OtkYxnmHzZ748YXmLzkvXZo/SLsSnfdmJ6Vj7zT7DivwbKnxH4rHpQYSqtc5lgs76/liDecvISbEnV2cC6Q==","signatures":[{"sig":"MEQCID+6pUon+QCygQP+teW7iODuSx4TY8sERhUwSttHn3a2AiBxmJI3QlEFIGuy+J9/O3er3MrSuRBWrqcdK7DaS89xJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3526329},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"f17509dfd9c1cf90208a08d76a8bbcb62ea10753","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-RL5OtkYxnmHzZ748YXmLzkvXZo/SLsSnfdmJ6Vj7zT7DivwbKnxH4rHpQYSqtc5lgs76/liDecvISbEnV2cC6Q==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@rwh/keystrokes":"^1.5.6","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.5"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.5.11_1763187684068_0.4572774852572401","host":"s3://npm-registry-packages-npm-production"}},"0.5.12":{"name":"@tribally.games/game-base","version":"0.5.12","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.5.12","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"17ff520d22c7f1b8bab10f44c468ecd813353c76","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.5.12.tgz","fileCount":100,"integrity":"sha512-zC5is4NURaHHDV2PGYQZ4QUN+GMSYcjrXLFvXenl5AZnpv9OjNQgNvpJuDzTSkL3usippdToFzzJHcb7bAWldA==","signatures":[{"sig":"MEYCIQCVSS/3D+bolQXm+lT3YhjyIxpK/uQhGU7BnQbI6IfiGAIhAOw8Zrnr1UewY+wqfw562Ki82zEAVJQwC40xBwDhXMYQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23121061},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"17ff520d22c7f1b8bab10f44c468ecd813353c76","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-zC5is4NURaHHDV2PGYQZ4QUN+GMSYcjrXLFvXenl5AZnpv9OjNQgNvpJuDzTSkL3usippdToFzzJHcb7bAWldA==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@rwh/keystrokes":"^1.5.6","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.5"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.5.12_1763190772563_0.038102137005058934","host":"s3://npm-registry-packages-npm-production"}},"0.5.13":{"name":"@tribally.games/game-base","version":"0.5.13","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.5.13","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"25c501dd676e2267a8b0c79ebdcc130c51d80e65","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.5.13.tgz","fileCount":100,"integrity":"sha512-dB37tXTjEPOAvq+iiQxMrxxvrCF8rYtGYgg6XHbvw2STus6/dbnr5ESYD+vKdXhmudmm5RaPVBL4ZlBEl7+Kpg==","signatures":[{"sig":"MEUCIEjwefYuqCAesIr2HJuKQz6vW/k78k17YGCEiJ2PrP6YAiEA5S37js83R+b9Ig9R05h+7CsnG6eCv3qmGvXzgLpagNc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23124809},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"25c501dd676e2267a8b0c79ebdcc130c51d80e65","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-dB37tXTjEPOAvq+iiQxMrxxvrCF8rYtGYgg6XHbvw2STus6/dbnr5ESYD+vKdXhmudmm5RaPVBL4ZlBEl7+Kpg==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@rwh/keystrokes":"^1.5.6","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.5"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.5.13_1763216640919_0.32301934130258236","host":"s3://npm-registry-packages-npm-production"}},"0.5.14":{"name":"@tribally.games/game-base","version":"0.5.14","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.5.14","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"75572db03568420b3bb8611104b666776525161a","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.5.14.tgz","fileCount":100,"integrity":"sha512-jo4QJdgbEY+cVaB6v6wB3bjttTzCHpcUoCz55dyTEuA8wLCxzylYmdhAs8CQuHaq2tETlr8ucBq3YjAEf/HLzw==","signatures":[{"sig":"MEQCIHzupaskhZeNeS7omx0Pm6mr38WupNnWBIEMzrVfJOXoAiAs9pf1IeT1u5LYGtoRissBctMtGcRURKrep4at4HZmVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23163839},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"75572db03568420b3bb8611104b666776525161a","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-jo4QJdgbEY+cVaB6v6wB3bjttTzCHpcUoCz55dyTEuA8wLCxzylYmdhAs8CQuHaq2tETlr8ucBq3YjAEf/HLzw==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@rwh/keystrokes":"^1.5.6","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.5"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.5.14_1763262685589_0.07608822525804682","host":"s3://npm-registry-packages-npm-production"}},"0.5.16":{"name":"@tribally.games/game-base","version":"0.5.16","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.5.16","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"8bdc349efe5d070f8ce98b869626393d66beacb2","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.5.16.tgz","fileCount":112,"integrity":"sha512-UVOUdA/OeJOiKlexF7nkeXajyPJN1DGdd0w95OOUTLOfqnyNwcR9J+UrvQQRu8h/JKdc14pDPCrvrmqDJ3derw==","signatures":[{"sig":"MEYCIQDp9TzIHhYTTCNxW3wX9wt5u332xlXHjDOdYbZtA9VdYAIhAPmGGCnA9hswEsLutwWA8aqnQZ3YT9WcE1sDLERK9P88","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23229411},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"8bdc349efe5d070f8ce98b869626393d66beacb2","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-UVOUdA/OeJOiKlexF7nkeXajyPJN1DGdd0w95OOUTLOfqnyNwcR9J+UrvQQRu8h/JKdc14pDPCrvrmqDJ3derw==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@rwh/keystrokes":"^1.5.6","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.5"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.5.16_1763310325794_0.9509593861481469","host":"s3://npm-registry-packages-npm-production"}},"0.5.17":{"name":"@tribally.games/game-base","version":"0.5.17","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@0.5.17","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"7432aa91aff6d8c8c7b38bb8ab30a807a9d8bcd8","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-0.5.17.tgz","fileCount":113,"integrity":"sha512-5hPnwtccGx+o6Jw8WteMKQMylhsQD0+u0GVT5FCGPdwlq+paYgfN706e1mDe9O+T1EvgL6utdiueQpTvNv0GhQ==","signatures":[{"sig":"MEQCIDz0lvdpyYxni/Yxwy2y5uNrgrQL6FHG5cz+sdZMshrVAiB7K4Ey+OJbjDNBq/pNwbdqguZK65oLPwIMjVqpGkjtVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23241950},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"7432aa91aff6d8c8c7b38bb8ab30a807a9d8bcd8","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-5hPnwtccGx+o6Jw8WteMKQMylhsQD0+u0GVT5FCGPdwlq+paYgfN706e1mDe9O+T1EvgL6utdiueQpTvNv0GhQ==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@rwh/keystrokes":"^1.5.6","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.5"},"_npmOperationalInternal":{"tmp":"tmp/game-base_0.5.17_1763313307915_0.9958466606952325","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@tribally.games/game-base","version":"2.1.0","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@2.1.0","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"79f9585b0cb79f1a16ab5dca52f244d00919dd29","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-2.1.0.tgz","fileCount":128,"integrity":"sha512-FtHwJigqBq6qWgVYyTX1qjAqFRFw9jqFnK5fSfQlNYbfMZAKYqLa6udT8gE3moYteZ6bhTBH0c25413dQLNxZw==","signatures":[{"sig":"MEQCIDoCMb6TiOT070vUUzOjDxXW2dCzdFJVjA9N+uH62pu9AiBXcH7mU8q6Y/5+aU6kawXc/5AdgvRwyJ7nLRn+47m9Kw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23290122},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"79f9585b0cb79f1a16ab5dca52f244d00919dd29","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-FtHwJigqBq6qWgVYyTX1qjAqFRFw9jqFnK5fSfQlNYbfMZAKYqLa6udT8gE3moYteZ6bhTBH0c25413dQLNxZw==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@rwh/keystrokes":"^1.5.6","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","isomorphic-web-audio-api":"^1.0.2","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^1.9.5"},"_npmOperationalInternal":{"tmp":"tmp/game-base_2.1.0_1763342713735_0.17925105875267122","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@tribally.games/game-base","version":"2.1.1","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@2.1.1","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"55df91128aa4be1b49a17205fd7822b371ba28be","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-2.1.1.tgz","fileCount":101,"integrity":"sha512-QONh47rUORjHOzYVxtGcK2J8p36CtKctCHLffOht6Pg9Cv8nE6QZY+FQHvtu8psHVeBnhoIYsSwGLKyXgTyHEA==","signatures":[{"sig":"MEYCIQC+enEJBOgnOQ0Vz0jBiV8Q9gHu42CuhDWMusXYfNXHAQIhALOCQkdPR2NNf7+YhfcpsjLvjq5GfGHd4Oyx3mx7dUFP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19297181},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"55df91128aa4be1b49a17205fd7822b371ba28be","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-QONh47rUORjHOzYVxtGcK2J8p36CtKctCHLffOht6Pg9Cv8nE6QZY+FQHvtu8psHVeBnhoIYsSwGLKyXgTyHEA==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@rwh/keystrokes":"^1.5.6","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","isomorphic-web-audio-api":"^1.0.2","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/game-base_2.1.1_1764221297753_0.16882845881344366","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"@tribally.games/game-base","version":"2.1.2","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@2.1.2","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"4c57eb51789e9483e2b331e717aecda68dfa33d9","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-2.1.2.tgz","fileCount":101,"integrity":"sha512-DhyaUUcu4NF7E7wqB9IoMY3rtELlgyOhWFKdpaWsgWt5xJGhg5xkzEcd/SzWWH6cYp3xtYr5E7gSbdRYezzIng==","signatures":[{"sig":"MEUCIQCfx/wzROydC8xtj7VcjIYVTLbyP7hOXc9FAC5Tpfpd2AIgQ4w0fHsLZFlMmxIxtmjqzFtCb1vBf8kPv7XtJAL31Fg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19297718},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"4c57eb51789e9483e2b331e717aecda68dfa33d9","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-DhyaUUcu4NF7E7wqB9IoMY3rtELlgyOhWFKdpaWsgWt5xJGhg5xkzEcd/SzWWH6cYp3xtYr5E7gSbdRYezzIng==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","mime":"^4.1.0","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@rwh/keystrokes":"^1.5.6","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","isomorphic-web-audio-api":"^1.0.2","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/game-base_2.1.2_1764240551283_0.6070779952549559","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"@tribally.games/game-base","version":"2.1.3","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@2.1.3","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"b349a9d1d68e8a71b30cec9f61de7cdd30bbffb3","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-2.1.3.tgz","fileCount":101,"integrity":"sha512-EzTVVs9Oe6mSmVh4DvAaFCJwifajsRMBI5RPFig6UehGaoAq3gMOyX9p8mNexIMpByzCVynQeAvY687RE+I32A==","signatures":[{"sig":"MEQCIHO7E5r0TeplNbS7n/vHPy4mjGjj7+mucWJ8QPxSkOE3AiAI31Kg5feAvVuDCOuWM/B8hvD4pUWyE0/w0rYmYEdXLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19298336},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"b349a9d1d68e8a71b30cec9f61de7cdd30bbffb3","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-EzTVVs9Oe6mSmVh4DvAaFCJwifajsRMBI5RPFig6UehGaoAq3gMOyX9p8mNexIMpByzCVynQeAvY687RE+I32A==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","mime":"^4.1.0","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@rwh/keystrokes":"^1.5.6","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","isomorphic-web-audio-api":"^1.0.2","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^2.6.0"},"_npmOperationalInternal":{"tmp":"tmp/game-base_2.1.3_1764409532100_0.26892755827866144","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@tribally.games/game-base","version":"2.2.0","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@2.2.0","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"f75d797e72d8790cdf56b6a3b0b8e58316a68064","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-2.2.0.tgz","fileCount":104,"integrity":"sha512-sVSu09LYu4Nha/zBseLSBa6DK0UjBW8TikP9TJR0n010L4jtcel4bf+BaseLEwQzcRl6oD/1UtQtTyU1aJX0tQ==","signatures":[{"sig":"MEUCIQDaLfsqAt8yi5cj8RFervHM0roNGlJWfVfb2qjIZG8czgIgCSzqVFJif2xpk+XIyzYvkHRAP755c3HTtXqZM4PGmoY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19309888},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"f75d797e72d8790cdf56b6a3b0b8e58316a68064","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-sVSu09LYu4Nha/zBseLSBa6DK0UjBW8TikP9TJR0n010L4jtcel4bf+BaseLEwQzcRl6oD/1UtQtTyU1aJX0tQ==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","mime":"^4.1.0","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@rwh/keystrokes":"^1.5.6","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","isomorphic-web-audio-api":"^1.0.2","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/game-base_2.2.0_1764494814781_0.9018418577850837","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@tribally.games/game-base","version":"2.3.0","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@2.3.0","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"5eeb0b81630cee7050314f1af9087b92ccb3389d","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-2.3.0.tgz","fileCount":104,"integrity":"sha512-5ah6EsJQ6jZlknZWjjV9bC8G1TZOIQ99/vnB4Z5xURjc5U8hyEZ2yhTYB12TTutntFUO9YT9EWL6icCJNwV0dg==","signatures":[{"sig":"MEUCIQCQlLIDCqMOrTH5GVlGuXCw8ChChyKuu90CR1rEe0JOqwIgIqIwtQr3PmsCMKypUc54FmWwgso7hA8df6OnVFUye0o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19310619},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"5eeb0b81630cee7050314f1af9087b92ccb3389d","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-5ah6EsJQ6jZlknZWjjV9bC8G1TZOIQ99/vnB4Z5xURjc5U8hyEZ2yhTYB12TTutntFUO9YT9EWL6icCJNwV0dg==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","mime":"^4.1.0","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@rwh/keystrokes":"^1.5.6","@vitejs/plugin-react":"^4.3.4"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","isomorphic-web-audio-api":"^1.0.2","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@hiddentao/clockwork-engine":"^2.7.1"},"_npmOperationalInternal":{"tmp":"tmp/game-base_2.3.0_1764577536728_0.8160428092480598","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"@tribally.games/game-base","version":"2.3.1","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@2.3.1","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"3602a780047e127e23b9e5feb08e45cbc8040ea4","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-2.3.1.tgz","fileCount":104,"integrity":"sha512-LkrE70RAjkAvsulYJgwL8T+znTyvBufpePPhXE/pT6nsPY850aD8tg6mS3ro3w4o5464o3gdUS97tSrb+0sWiQ==","signatures":[{"sig":"MEUCIQCzCORsNDPFRU/ixISQc6SX+icryUPBwVcQhl13Bh75bAIgesxVQ5is0cy2xwNYGNk5xxSN9Xix+DpeNR2pulubIiU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3959777},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"3602a780047e127e23b9e5feb08e45cbc8040ea4","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-LkrE70RAjkAvsulYJgwL8T+znTyvBufpePPhXE/pT6nsPY850aD8tg6mS3ro3w4o5464o3gdUS97tSrb+0sWiQ==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","mime":"^4.1.0","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@rwh/keystrokes":"^1.5.6","@vitejs/plugin-react":"^4.3.4","@clockwork-engine/core":"^2.7.9"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","isomorphic-web-audio-api":"^1.0.2","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@clockwork-engine/platform-memory":"^2.7.9","@clockwork-engine/platform-web-pixi":"^2.7.9"},"_npmOperationalInternal":{"tmp":"tmp/game-base_2.3.1_1765596520056_0.8989997491272723","host":"s3://npm-registry-packages-npm-production"}},"2.3.2":{"name":"@tribally.games/game-base","version":"2.3.2","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@2.3.2","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"44836bbdf1449e5a3ccdeefe618c64d54384c0fd","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-2.3.2.tgz","fileCount":104,"integrity":"sha512-iUS7a409iUalCNYghDU5eFokBJZkCSSxI1Y0n3HZxahzzw4VV/gpajpvanoYESiNL/juo9mHgglwkzzqPNZZVA==","signatures":[{"sig":"MEQCIFxawbQSoaKWgoB6+I0mCYV5UTniwYSnIDhUpFap4r6sAiA7rbicQHggwiE4hIqPXsKSL5Ni8zv++de7qsOTslGJPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3959871},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"44836bbdf1449e5a3ccdeefe618c64d54384c0fd","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-iUS7a409iUalCNYghDU5eFokBJZkCSSxI1Y0n3HZxahzzw4VV/gpajpvanoYESiNL/juo9mHgglwkzzqPNZZVA==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","mime":"^4.1.0","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@rwh/keystrokes":"^1.5.6","@vitejs/plugin-react":"^4.3.4","@clockwork-engine/core":"^2.8.0"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","isomorphic-web-audio-api":"^1.0.2","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@clockwork-engine/platform-memory":"^2.8.0","@clockwork-engine/platform-web-pixi":"^2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/game-base_2.3.2_1765686718806_0.05211687050961378","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@tribally.games/game-base","version":"2.4.0","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@2.4.0","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"7eee088a976ec8991c0604593aafb53e7dcd3c74","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-2.4.0.tgz","fileCount":119,"integrity":"sha512-kdn+YN7wGEf+gMtf7HctsCJWJkJ/prKnPo0WrVXt3FiWQvvf5BLEoigV0mqDqXZ9qgrMjs96/8iD/nsFDWGHUw==","signatures":[{"sig":"MEQCIFlUAnjwDZLGLi18FZ92/GsZczumcFVU2mTmSJ7DzaR8AiA++NlwKbslAlEOswoGvcWLZ2VpdCMQdvjwfTtE93Ju7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4082370},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"7eee088a976ec8991c0604593aafb53e7dcd3c74","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-kdn+YN7wGEf+gMtf7HctsCJWJkJ/prKnPo0WrVXt3FiWQvvf5BLEoigV0mqDqXZ9qgrMjs96/8iD/nsFDWGHUw==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","mime":"^4.1.0","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","commander":"^12.1.0","react-dom":"^19.0.0","brotli-wasm":"^3.0.1","command-exists":"^1.2.9","react-toastify":"^11.0.5","@rwh/keystrokes":"^1.5.6","@vitejs/plugin-react":"^4.3.4","@clockwork-engine/core":"^2.9.0"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","isomorphic-web-audio-api":"^1.0.2","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@clockwork-engine/platform-memory":"^2.9.0","@clockwork-engine/platform-web-pixi":"^2.9.0"},"_npmOperationalInternal":{"tmp":"tmp/game-base_2.4.0_1766082122455_0.7512974601799223","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@tribally.games/game-base","version":"3.0.0","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":"Ramesh Nair <ram@hiddentao.com>","license":"MIT","_id":"@tribally.games/game-base@3.0.0","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"bin":{"game-base":"bin/game-base.js"},"dist":{"shasum":"2b61686afaff0696ea03909316e48a1a688e3538","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-3.0.0.tgz","fileCount":119,"integrity":"sha512-hS9W9+McjZJJr8BbeX8SdlZNWtsyJ5XXZpF6zfy02Zc6z+04xkBOkWKv4Cfxz9mnmUlXeCi4hQJHqW5Sd/SNmg==","signatures":[{"sig":"MEQCIAw0JNusgp2dzXTamfiKNvIBc9Q6i10bWWBLBk+bONueAiA8sE2bKJ2/zn0AQs2hsC0H8Lb2rrqefqlvHztjUaYnFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13388335},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"./dist/esm/index.js","shasum":"2b61686afaff0696ea03909316e48a1a688e3538","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"biome check --write ./src","test":"bun test","build":"bun run scripts/build.ts","check":"biome check ./src","commit":"cz","format":"biome format --write ./src","prepare":"husky","release":"commit-and-tag-version && git push --follow-tags && bun publish","postbuild":"chmod +x bin/game-base.js","typecheck":"tsc --noEmit","test:watch":"bun test --watch","build:watch":"bun run scripts/build.ts --watch","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish","test:coverage":"bun test --coverage --coverage-reporter=lcov","prepublishOnly":"bun run build && bun run test:coverage"},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"_integrity":"sha512-hS9W9+McjZJJr8BbeX8SdlZNWtsyJ5XXZpF6zfy02Zc6z+04xkBOkWKv4Cfxz9mnmUlXeCi4hQJHqW5Sd/SNmg==","repository":{"url":"https://github.com/tribally-games/game-base.git","type":"git"},"_npmVersion":"10.8.3","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","directories":{},"_nodeVersion":"24.3.0","dependencies":{"glob":"^10.3.10","mime":"^4.1.0","vite":"^7.0.4","chalk":"^5.3.0","execa":"^9.5.2","react":"^19.0.0","brotli":"^1.3.3","commander":"^12.1.0","react-dom":"^19.0.0","command-exists":"^1.2.9","react-toastify":"^11.0.5","@rwh/keystrokes":"^1.5.6","@vitejs/plugin-react":"^4.3.4","@clockwork-engine/core":"^2.9.0"},"engineStrict":true,"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","@types/bun":"latest","commitizen":"^4.3.1","typescript":"^5.8.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@types/brotli":"^1.3.4","@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@types/react-dom":"^18.3.1","@types/command-exists":"^1.2.3","commit-and-tag-version":"^12.6.0","isomorphic-web-audio-api":"^1.0.2","cz-conventional-changelog":"^3.3.0","@commitlint/config-conventional":"^19.8.1"},"peerDependencies":{"@clockwork-engine/platform-memory":"^2.9.0","@clockwork-engine/platform-web-pixi":"^2.9.0"},"_npmOperationalInternal":{"tmp":"tmp/game-base_3.0.0_1766085536124_0.6662887296330815","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@tribally.games/game-base","version":"3.2.0","description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","keywords":["arcade","games","objectives","gaming","tribally","web3"],"author":{"name":"Ramesh Nair","email":"ram@hiddentao.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/tribally-games/game-base.git"},"type":"module","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/src/index.d.ts","bin":{"game-base":"bin/game-base.js"},"exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"prepare":"husky","build":"bun run scripts/build.ts","postbuild":"chmod +x bin/game-base.js","build:watch":"bun run scripts/build.ts --watch","test":"bun test","test:coverage":"bun test --coverage --coverage-reporter=lcov","test:watch":"bun test --watch","lint":"biome check --write ./src","format":"biome format --write ./src","check":"biome check ./src","typecheck":"tsc --noEmit","prepublishOnly":"bun run build && bun run test:coverage","commit":"cz","release":"commit-and-tag-version && git push --follow-tags && bun publish","release:minor":"commit-and-tag-version --release-as minor && git push --follow-tags && bun publish","release:major":"commit-and-tag-version --release-as major && git push --follow-tags && bun publish","release:patch":"commit-and-tag-version --release-as patch && git push --follow-tags && bun publish"},"peerDependencies":{"@clockwork-engine/platform-memory":"^2.9.0","@clockwork-engine/platform-web-pixi":"^2.9.0"},"dependencies":{"@clockwork-engine/core":"^2.9.0","@rwh/keystrokes":"^1.5.6","@vitejs/plugin-react":"^4.3.4","lzma1":"^0.2.0","chalk":"^5.3.0","command-exists":"^1.2.9","commander":"^12.1.0","execa":"^9.5.2","glob":"^10.3.10","mime":"^4.1.0","react":"^19.0.0","react-dom":"^19.0.0","react-toastify":"^11.0.5","vite":"^7.0.4"},"devDependencies":{"@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@commitlint/config-conventional":"^19.8.1","@types/bun":"latest","@types/command-exists":"^1.2.3","@types/node":"^22.0.0","@types/react":"^18.3.12","@types/react-dom":"^18.3.1","commit-and-tag-version":"^12.6.0","commitizen":"^4.3.1","cz-conventional-changelog":"^3.3.0","husky":"^9.1.7","isomorphic-web-audio-api":"^1.0.2","typescript":"^5.8.3"},"engines":{"node":">=22.0.0"},"engineStrict":true,"publishConfig":{"access":"public"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"_id":"@tribally.games/game-base@3.2.0","gitHead":"19e8b507b12f6855c12c12cd77c539e7086ce5a5","bugs":{"url":"https://github.com/tribally-games/game-base/issues"},"homepage":"https://github.com/tribally-games/game-base#readme","_nodeVersion":"24.2.0","_npmVersion":"11.3.0","dist":{"integrity":"sha512-JMEy1SvpuJfNMEyEE6DlUEABAl+RYTEZE2J3g0R00PF56yLfeC7a4Dl5ULN0BP4MIRsWS7Pjw5RtPTmXvwlU+Q==","shasum":"9229477ae3798500bcd1bbf71c089cdee6d1f84e","tarball":"https://registry.npmjs.org/@tribally.games/game-base/-/game-base-3.2.0.tgz","fileCount":119,"unpackedSize":4717998,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAnieqoyPPVjAEyW4niLzcDRTL6GCcC+5YvzPTtUjlIRAiB0+hkVw+xbnyXoqC10qt3AEZNCUJqJCzKgxJzqESAvQQ=="}]},"_npmUser":{"name":"hiddentao","email":"ram@hiddentao.com"},"directories":{},"maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/game-base_3.2.0_1766150096187_0.038990231236873285"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-20T05:52:36.452Z","modified":"2025-12-19T13:14:56.618Z","0.1.2":"2025-10-20T05:52:36.726Z","0.2.1":"2025-10-20T06:33:43.661Z","0.2.2":"2025-10-20T07:15:36.492Z","0.2.4":"2025-10-20T09:08:50.517Z","0.2.5":"2025-10-21T04:47:47.462Z","0.2.6":"2025-10-22T09:03:42.097Z","0.2.7":"2025-10-22T10:17:29.668Z","0.2.8":"2025-10-22T10:19:04.091Z","0.2.9":"2025-11-04T08:24:15.026Z","0.2.10":"2025-11-07T07:17:45.779Z","0.2.11":"2025-11-07T07:26:53.913Z","0.2.12":"2025-11-07T07:39:32.739Z","0.3.0":"2025-11-07T13:34:15.091Z","0.4.0":"2025-11-09T18:04:25.276Z","0.4.1":"2025-11-10T03:13:33.111Z","0.5.0":"2025-11-10T07:37:41.489Z","0.5.1":"2025-11-10T10:21:50.773Z","0.5.2":"2025-11-11T02:49:11.982Z","0.5.3":"2025-11-11T03:56:38.303Z","0.5.4":"2025-11-13T08:32:15.650Z","0.5.5":"2025-11-13T08:44:51.239Z","0.5.6":"2025-11-13T10:05:47.639Z","0.5.7":"2025-11-13T16:17:41.377Z","0.5.8":"2025-11-13T16:21:22.077Z","0.5.9":"2025-11-14T07:00:27.237Z","0.5.10":"2025-11-14T15:57:21.179Z","0.5.11":"2025-11-15T06:21:24.301Z","0.5.12":"2025-11-15T07:12:52.868Z","0.5.13":"2025-11-15T14:24:01.191Z","0.5.14":"2025-11-16T03:11:25.873Z","0.5.16":"2025-11-16T16:25:26.075Z","0.5.17":"2025-11-16T17:15:08.166Z","2.1.0":"2025-11-17T01:25:14.037Z","2.1.1":"2025-11-27T05:28:18.155Z","2.1.2":"2025-11-27T10:49:11.579Z","2.1.3":"2025-11-29T09:45:32.383Z","2.2.0":"2025-11-30T09:26:55.067Z","2.3.0":"2025-12-01T08:25:37.027Z","2.3.1":"2025-12-13T03:28:40.282Z","2.3.2":"2025-12-14T04:31:59.059Z","2.4.0":"2025-12-18T18:22:02.641Z","3.0.0":"2025-12-18T19:18:56.440Z","3.2.0":"2025-12-19T13:14:56.406Z"},"author":{"name":"Ramesh Nair","email":"ram@hiddentao.com"},"license":"MIT","keywords":["arcade","games","objectives","gaming","tribally","web3"],"repository":{"type":"git","url":"git+https://github.com/tribally-games/game-base.git"},"description":"Core dependency package for Tribally arcade games - common objectives handling, game snapshot types, and shared utilities","maintainers":[{"name":"hiddentao","email":"ram@hiddentao.com"},{"name":"triballygames","email":"engineering@tribally.games"}],"readme":"# @tribally.games/game-base\n\n[![CI](https://github.com/tribally-games/game-base/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/tribally-games/game-base/actions/workflows/ci.yml)\n[![Coverage Status](https://coveralls.io/repos/github/Tribally-Games/game-base/badge.svg?branch=main)](https://coveralls.io/github/Tribally-Games/game-base?branch=main)\n\nCore dependency package for Tribally arcade games providing:\n- Standard game module exports structure\n- Common objectives handling logic\n- Base game snapshot types\n- Shared constants and utilities\n\n## Installation\n\n```bash\nbun add @tribally.games/game-base @hiddentao/clockwork-engine\n# or\nnpm install @tribally.games/game-base @hiddentao/clockwork-engine\n```\n\n## Features\n\n- **Standardized Game Module Exports**: Factory function to generate required arcade exports\n- **Objectives System**: TypeScript types, validators, formatters, and payout calculation\n- **Base GameSnapshot Types**: Extensible base interface for game state snapshots\n- **Shared Constants**: Common constants for objective tiers and operators\n\n## Creating a Game Module\n\nAll games must export a standardized set of exports that the arcade platform expects. Use the `createGameModule` factory:\n\n```typescript\n// src/index.ts\nimport { createGameModule, OBJECTIVE_TIERS, type ObjectiveDefinition } from '@tribally.games/game-base'\nimport { GameEngine } from './GameEngine'\nimport { GameCanvas } from './GameCanvas'\nimport { GameInputType, GameIntent } from './types/game'\n\n// Define your custom objective operators\nconst CUSTOM_OPERATORS = {\n  APPLE: \"APPLE\",\n  POTION: \"POTION\",\n} as const\n\n// Define objective metadata for custom operators\nconst CUSTOM_OPERATOR_METADATA = {\n  APPLE: {\n    name: \"Apples\",\n    icon: \"🍎\",\n    description: (threshold: number) => `Eat ${threshold} apple${threshold > 1 ? 's' : ''}`,\n  },\n  POTION: {\n    name: \"Potions\",\n    icon: \"🧪\",\n    description: (threshold: number) => `Collect ${threshold} potion${threshold > 1 ? 's' : ''}`,\n  },\n}\n\n// Define all possible objectives for your game\nconst OBJECTIVE_DEFINITIONS: ObjectiveDefinition[] = [\n  { tier: \"EASY\", operator: \"APPLE\", threshold: 1 },\n  { tier: \"EASY\", operator: \"POTION\", threshold: 1 },\n  { tier: \"EASY\", operator: \"SCORE\", threshold: 10 },\n  { tier: \"MEDIUM\", operator: \"APPLE\", threshold: 5 },\n  { tier: \"MEDIUM\", operator: \"POTION\", threshold: 3 },\n  { tier: \"HARD\", operator: \"APPLE\", threshold: 20 },\n]\n\n// Export standard game module structure\nexport const { GameEngine: ExportedGameEngine, GameCanvas: ExportedGameCanvas, GameInputType: ExportedGameInputType, GameIntent: ExportedGameIntent, getVersion } = createGameModule(\n  GameEngine,\n  GameCanvas,\n  GameInputType,\n  GameIntent,\n  {\n    version: \"1.0.0\",\n    customOperators: Object.values(CUSTOM_OPERATORS),\n    objectiveDefinitions: OBJECTIVE_DEFINITIONS,\n    objectiveMetadata: CUSTOM_OPERATOR_METADATA,\n\n    // Validate custom objectives\n    validateCustomObjective: (objective, gameSnapshot) => {\n      switch (objective.operator) {\n        case CUSTOM_OPERATORS.APPLE:\n          return (gameSnapshot.applesEaten || 0) >= objective.threshold\n        case CUSTOM_OPERATORS.POTION:\n          return (gameSnapshot.potionsEaten || 0) >= objective.threshold\n        default:\n          return false\n      }\n    },\n\n    // Extract game-specific stats for display\n    extractGameStats: (gameSnapshot) => ({\n      applesEaten: gameSnapshot.applesEaten || 0,\n      potionsEaten: gameSnapshot.potionsEaten || 0,\n    }),\n\n    // Get progress value for custom operators\n    getProgressValue: (operator, gameSnapshot) => {\n      switch (operator) {\n        case CUSTOM_OPERATORS.APPLE:\n          return gameSnapshot.applesEaten ?? null\n        case CUSTOM_OPERATORS.POTION:\n          return gameSnapshot.potionsEaten ?? null\n        default:\n          return null\n      }\n    },\n\n    // Setup game initialization data (e.g., random map selection)\n    setupInitializationData: () => ({\n      mapName: \"base_map\",\n    }),\n  }\n)\n\n// Re-export for CommonJS compatibility\nexport { ExportedGameEngine as GameEngine, ExportedGameCanvas as GameCanvas, ExportedGameInputType as GameInputType, ExportedGameIntent as GameIntent }\n```\n\n## Audio System\n\ngame-base provides a complete audio system built on the Web Audio API, supporting both asset-based sounds (from files) and procedurally generated sounds.\n\n### AudioManager Interface\n\nThe `AudioManager` interface provides a consistent API for sound playback across all games:\n\n```typescript\ninterface AudioManager {\n  loadSound(soundId: string, data: string | AudioBuffer): Promise<void>\n  playSound(soundId: string, volume?: number, loop?: boolean): void\n  stopSound(soundId: string): void\n  stopAll(): void\n  resumeAudioContext(): Promise<void>\n}\n```\n\n### Implementations\n\n**RealAudioManager** - Full Web Audio API implementation:\n- Efficient playback using `AudioContext` and `AudioBuffer`\n- Per-sound volume control (0.0 - 1.0)\n- Looping sound support with individual stop control\n- Automatic cleanup of finished sounds\n- Sound caching to avoid redundant loading\n- Browser autoplay policy compliance via `resumeAudioContext()`\n\n**DummyAudioManager** - No-op implementation for testing/replays:\n- All methods are empty stubs\n- Useful for replay playback or headless testing\n\n### GameEngine Integration\n\nYour `GameEngine` **must** accept `AudioManager` as the second constructor parameter:\n\n```typescript\nimport { BaseGameEngine, Loader } from '@hiddentao/clockwork-engine'\nimport { AudioManager } from '@tribally.games/game-base'\n\nclass MyGameEngine extends BaseGameEngine {\n  private audioManager: AudioManager\n\n  constructor(loader: Loader, audioManager: AudioManager) {\n    super(loader)\n    this.audioManager = audioManager\n  }\n\n  // Load sounds in setup()\n  async setup(gameConfig: MyGameConfig): Promise<void> {\n    await loadAllSounds(this.audioManager, this.assetLoader)\n    // ... rest of setup\n  }\n\n  // Play sounds during gameplay\n  someMethod() {\n    this.audioManager.playSound('jump', 0.8)  // 80% volume\n    this.audioManager.playSound('music', 1.0, true)  // Loop\n  }\n}\n```\n\n### Loading Sounds\n\nCreate a `soundDefinitions.ts` file to centralize sound loading:\n\n```typescript\nimport { AudioContext } from '@tribally.games/game-base'\nimport type { AssetLoader } from './assets/AssetLoader'\nimport { AssetType, Sound } from './assets/types'\n\n// For procedurally generated sounds\nfunction generateJumpSound(): AudioBuffer {\n  const audioContext = new AudioContext()\n  const sampleRate = audioContext.sampleRate\n  const duration = 0.15\n  const buffer = audioContext.createBuffer(1, sampleRate * duration, sampleRate)\n  const data = buffer.getChannelData(0)\n\n  // Generate sound wave\n  let phase = 0\n  for (let i = 0; i < buffer.length; i++) {\n    const t = i / sampleRate\n    const frequency = 400 * Math.pow(0.5, t / duration)\n    const envelope = Math.exp(-t * 8)\n    data[i] = Math.sin(phase) * envelope * 0.3\n    phase += (2 * Math.PI * frequency) / sampleRate\n  }\n\n  return buffer\n}\n\n// Load all sounds\nexport async function loadAllSounds(\n  audioManager: AudioManager,\n  assetLoader: AssetLoader,\n): Promise<void> {\n  // Load asset-based sounds (filter out procedural ones)\n  const soundLoadPromises = Object.values(Sound)\n    .filter((sound) => sound !== Sound.JUMP)\n    .map((sound) =>\n      assetLoader\n        .loadAsset(AssetType.SOUND, sound)\n        .then((dataUri) => audioManager.loadSound(sound, dataUri))\n    )\n\n  await Promise.all(soundLoadPromises)\n\n  // Load procedural sounds\n  const jumpSound = generateJumpSound()\n  await audioManager.loadSound(Sound.JUMP, jumpSound)\n}\n```\n\n### Asset Loading\n\nYour `AssetLoader` should return data URI strings for sounds:\n\n```typescript\ncase AssetType.SOUND: {\n  loadedAsset = await this.loader.fetchData(assetName)\n  break\n}\n```\n\nThe `RealAudioManager` automatically decodes data URIs using `dataUriToArrayBuffer()` and `AudioContext.decodeAudioData()`.\n\n### Sound Playback\n\n```typescript\n// Play one-shot sound\nthis.audioManager.playSound('coinCollect')\n\n// Play with volume control\nthis.audioManager.playSound('explosion', 0.5)  // 50% volume\n\n// Play looping sound (e.g., music, invincibility)\nthis.audioManager.playSound('backgroundMusic', 1.0, true)\n\n// Stop specific looping sound\nthis.audioManager.stopSound('backgroundMusic')\n\n// Stop all sounds\nthis.audioManager.stopAll()\n\n// Resume audio context (call on first user interaction)\nawait this.audioManager.resumeAudioContext()\n```\n\n### Browser Autoplay Policy\n\nModern browsers require user interaction before playing audio. Call `resumeAudioContext()` on first user input:\n\n```typescript\n// In your game's input handler\nasync handleFirstInput() {\n  await this.audioManager.resumeAudioContext()\n}\n```\n\n### Required Exports\n\n\n\nThe arcade platform expects these exports from every game:\n\n```typescript\nexport interface GameModuleExports {\n  GameEngine: typeof GameEngine  // Your game engine class\n  GameCanvas: typeof GameCanvas  // Your game canvas class\n  GameInputType: Record<string, string>  // Input type enum (e.g., { INTENT: \"intent\" })\n  GameIntent: Record<string, string>     // Game intents (e.g., { UP: \"up\", DOWN: \"down\", ... })\n  getVersion: () => string               // Returns game version\n}\n```\n\n## Usage\n\n### Objectives\n\n```typescript\nimport {\n  Objective,\n  ObjectiveProgress,\n  BaseGameSnapshot,\n  validateCoreObjective,\n  calculateProgress,\n  formatObjectiveDescription,\n  getObjectiveIcon,\n  calculateActualPayouts,\n  OBJECTIVE_TIERS,\n  OBJECTIVE_OPERATORS,\n} from '@tribally.games/game-base'\n\n// Define an objective\nconst objective: Objective = {\n  id: 1,\n  tier: \"EASY\",\n  operator: \"SCORE\",\n  threshold: 100,\n  prizeValue: 10,\n  isComplete: false,\n}\n\n// Validate objective against game snapshot\nconst gameSnapshot: BaseGameSnapshot = {\n  score: 150,\n  survivedSeconds: 30,\n}\n\nconst isComplete = validateCoreObjective(objective, gameSnapshot)\n// true - score of 150 meets threshold of 100\n\n// Calculate progress\nconst progress = calculateProgress(objective, gameSnapshot)\n// { objectiveId: 1, currentValue: 150, threshold: 100, percentage: 100 }\n\n// Format objective description\nconst description = formatObjectiveDescription(objective)\n// \"Reach a score of 100\"\n\n// Get objective icon\nconst icon = getObjectiveIcon(\"SCORE\")\n// \"🎯\"\n```\n\n### Extending BaseGameSnapshot\n\nGames should extend the base snapshot with their own fields:\n\n```typescript\nimport { BaseGameSnapshot } from '@tribally.games/game-base'\n\n// For snakes-on-a-chain game\ninterface SnakeGameSnapshot extends BaseGameSnapshot {\n  applesEaten: number\n  potionsEaten: number\n}\n```\n\n### Payout Calculation\n\n```typescript\nimport { calculateActualPayouts } from '@tribally.games/game-base'\n\nconst payouts = calculateActualPayouts(\n  objectives,\n  completedObjectiveIds,\n  gameSnapshot,\n  potentialJackpotReturn,\n  jackpotTokenCollected,\n  jackpotTier\n)\n\n// Returns:\n// {\n//   actualInstantWinReturn: number,\n//   actualHighSkillReturn: number,\n//   actualJackpotReturn: number,\n// }\n```\n\n### Constants\n\n```typescript\nimport {\n  OBJECTIVE_TIERS,\n  OBJECTIVE_OPERATORS,\n} from '@tribally.games/game-base'\n\n// Objective tiers\nOBJECTIVE_TIERS.EASY    // \"EASY\"\nOBJECTIVE_TIERS.MEDIUM  // \"MEDIUM\"\nOBJECTIVE_TIERS.HARD    // \"HARD\"\n\n// Core objective operators\nOBJECTIVE_OPERATORS.SCORE    // \"SCORE\"\nOBJECTIVE_OPERATORS.SURVIVE  // \"SURVIVE\"\nOBJECTIVE_OPERATORS.COMBO    // \"COMBO\"\nOBJECTIVE_OPERATORS.STREAK   // \"STREAK\"\n```\n\n## TypeScript Support\n\nThis package includes full TypeScript definitions. All exports are fully typed.\n\n## CLI\n\nThis package includes a command-line interface for various tasks.\n\n### Prerequisites\n\nThe CLI requires external tools to be installed:\n\n- **cwebp**: For converting PNG/JPG images to WebP\n- **opusenc**: For converting WAV audio to Opus\n\n#### macOS\n```bash\nbrew install webp opus-tools\n```\n\n#### Ubuntu/Debian\n```bash\nsudo apt-get install webp opus-tools\n```\n\n### compress command\n\nCompress image and audio files using modern formats (WebP and Opus) with customizable quality settings.\n\n```bash\ngame-base compress <pattern> -o <output-dir> [options]\n```\n\n#### Arguments\n\n- `<pattern>`: Glob pattern to match files (e.g., `\"assets/**/*.{png,jpg,wav}\"`)\n\n#### Important: Quote Your Patterns\n\n**Always quote the pattern argument** to prevent shell glob expansion:\n\n```bash\n# ✓ Correct - quotes prevent shell expansion\ngame-base compress \"*.wav\" -o compressed/\n\n# ✗ Wrong - shell expands *.wav before passing to command\ngame-base compress *.wav -o compressed/\n```\n\nWithout quotes, your shell (bash/zsh) expands the glob pattern before passing it to the command. This means the command only receives the first matching filename instead of the pattern, resulting in only one file being processed.\n\n#### Options\n\n- `-o, --output <dir>`: Output directory (required)\n- `--webp-quality <number>`: WebP quality 0-100 (default: 25)\n- `--opus-bitrate <number>`: Opus bitrate in kbps (default: 24)\n\n#### Examples\n\nCompress all PNG, JPG, and WAV files in the assets directory:\n```bash\ngame-base compress \"assets/**/*.{png,jpg,wav}\" -o compressed/\n```\n\nCompress with custom quality settings:\n```bash\ngame-base compress \"assets/*.png\" -o output/ --webp-quality 80\n```\n\nCompress audio with higher bitrate:\n```bash\ngame-base compress \"sounds/*.wav\" -o audio/ --opus-bitrate 96\n```\n\n#### File Type Support\n\n- **Images**: PNG, JPG, JPEG → WebP\n- **Audio**: WAV → Opus\n\n## Development\n\n```bash\n# Install dependencies\nbun install\n\n# Build the package\nbun run build\n\n# Watch mode\nbun run build:watch\n\n# Lint and format\nbun run lint\nbun run format\nbun run check\n\n# Type checking\nbun run typecheck\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md","homepage":"https://github.com/tribally-games/game-base#readme","bugs":{"url":"https://github.com/tribally-games/game-base/issues"}}