{"_id":"@baizor/gamedev-cli-core","_rev":"9-7d4a7f8d723cb11d759a2190d5a17acd","name":"@baizor/gamedev-cli-core","dist-tags":{"latest":"0.6.0"},"versions":{"0.0.0":{"name":"@baizor/gamedev-cli-core","version":"0.0.0","keywords":["ai-game-dev","gamedev","mcp","cli"],"author":{"name":"Ivan Murzak"},"license":"MIT","_id":"@baizor/gamedev-cli-core@0.0.0","maintainers":[{"name":"baizor","email":"Ivan.D.Murzak@gmail.com"}],"homepage":"https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core#readme","bugs":{"url":"https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core/issues"},"dist":{"shasum":"e07411e7979cf3b9aee860b172b8f4f4e2ea04f3","tarball":"https://registry.npmjs.org/@baizor/gamedev-cli-core/-/gamedev-cli-core-0.0.0.tgz","fileCount":3,"integrity":"sha512-LJO375p5i1QrjKkZBr0E+HeG46W32zvIc7mvKF/qPE+otP1APsa9FaNilO5e6Jtoupk+0ISjRINst9dY2RwSaQ==","signatures":[{"sig":"MEYCIQCQqLidLtSCSAXrx7SekpIj2wPb7rNx2Y3cp3XjVGCJSQIhAIU9dsWrelRt5s76glgQZRz9I1Cp8I5eoj99a/nnb7sh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2554},"main":"index.js","type":"module","gitHead":"3b4f0367fec69a80de43241257fc3489132b234d","_npmUser":{"name":"baizor","email":"Ivan.D.Murzak@gmail.com"},"repository":{"url":"git+https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core.git","type":"git"},"_npmVersion":"11.18.0","description":"Shared CLI core for the AI Game Dev engine CLIs (Unity/Unreal/Godot). Placeholder bootstrap to claim the package name for npm Trusted Publishing (OIDC); real modules land via CI.","directories":{},"_nodeVersion":"22.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gamedev-cli-core_0.0.0_1784391215379_0.045636431069968175","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@baizor/gamedev-cli-core","version":"0.1.0","keywords":["ai-game-dev","gamedev","mcp","cli"],"author":{"name":"Ivan Murzak"},"license":"MIT","_id":"@baizor/gamedev-cli-core@0.1.0","maintainers":[{"name":"baizor","email":"Ivan.D.Murzak@gmail.com"}],"homepage":"https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core#readme","bugs":{"url":"https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core/issues"},"dist":{"shasum":"24dafbac8fbb333d141794022e81dced9b152bdc","tarball":"https://registry.npmjs.org/@baizor/gamedev-cli-core/-/gamedev-cli-core-0.1.0.tgz","fileCount":87,"integrity":"sha512-LFpO0WAXuMs+BtQpLn6mqK8JoiL7udYptrvFhv40aLk/AOz7yhCs2pPXwMdd29XH1siv3rPPc7fv+gNVqCNN1A==","signatures":[{"sig":"MEYCIQCKky6ah5YOXQ4heMhuaWJpWdHwVFv1t/asZrcOwq+mKQIhAJMhqEwbMJMs37jcssjXNQPVcjljwrVrc4KiFtBoSr4G","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baizor%2fgamedev-cli-core@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":387648},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22.14.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5b6574d5ea89850d433627092d6d109bb8ca19c5","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1722b8b0-a0e7-4fac-a0e5-d7980e9d3f7d"}},"repository":{"url":"git+https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core.git","type":"git"},"_npmVersion":"11.18.0","description":"Shared TypeScript CLI core for the AI Game Dev engine CLIs (Unity/Unreal/Godot): project identity/pin, OAuth device login, machine credential store, and setup-mcp/install-plugin logic. Consumed as thin adapters by the three engine CLIs.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.5","typescript":"^5.7.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/gamedev-cli-core_0.1.0_1784414063738_0.2844094648035338","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@baizor/gamedev-cli-core","version":"0.2.0","keywords":["ai-game-dev","gamedev","mcp","cli"],"author":{"name":"Ivan Murzak"},"license":"MIT","_id":"@baizor/gamedev-cli-core@0.2.0","maintainers":[{"name":"baizor","email":"Ivan.D.Murzak@gmail.com"}],"homepage":"https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core#readme","bugs":{"url":"https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core/issues"},"dist":{"shasum":"abd306f6b7cb1aec497279b18732bea03f9674b5","tarball":"https://registry.npmjs.org/@baizor/gamedev-cli-core/-/gamedev-cli-core-0.2.0.tgz","fileCount":91,"integrity":"sha512-GtWHXyX6HJmFUA/xOHDfnusF8IwuX9R00HMkzh2HTFltd4BYjrQIiC3YXcu7KweLF03L7wVzEptS+C1fNrCapg==","signatures":[{"sig":"MEYCIQDFsALnm1JEysvZfBK4TBEz9/wZfhQujpb0CAr5iL16PQIhALpy2/O/+b/1vgnkObTfrKMJOxV0rMHwUdwMfgGwddma","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baizor%2fgamedev-cli-core@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446228},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22.14.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"84b183af3a974468c6e7d54f4c074464bf94d88b","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1722b8b0-a0e7-4fac-a0e5-d7980e9d3f7d"}},"repository":{"url":"git+https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core.git","type":"git"},"_npmVersion":"11.18.0","description":"Shared TypeScript CLI core for the AI Game Dev engine CLIs (Unity/Unreal/Godot): project identity/pin, OAuth device login, machine credential store, and setup-mcp/install-plugin logic. Consumed as thin adapters by the three engine CLIs.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.5","typescript":"^5.7.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/gamedev-cli-core_0.2.0_1784610806934_0.32810328662402655","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@baizor/gamedev-cli-core","version":"0.3.0","keywords":["ai-game-dev","gamedev","mcp","cli"],"author":{"name":"Ivan Murzak"},"license":"MIT","_id":"@baizor/gamedev-cli-core@0.3.0","maintainers":[{"name":"baizor","email":"Ivan.D.Murzak@gmail.com"}],"homepage":"https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core#readme","bugs":{"url":"https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core/issues"},"dist":{"shasum":"49b631da86825fecba88d1c39c6e34d2f6308b74","tarball":"https://registry.npmjs.org/@baizor/gamedev-cli-core/-/gamedev-cli-core-0.3.0.tgz","fileCount":99,"integrity":"sha512-vzxzuc8FTVIwkKRCXujqjl+K6KmtllZdCTGUPRrK+lvukKHIFoge/u54WmjiScmNw99YKrweCs4UkyILxS8a4A==","signatures":[{"sig":"MEUCIHgDAoUc0dhe2NLNAMOyMq22382TdWpNQHJt3r9PfOtXAiEAytmr+U42kRvAO0IASD4sd/WjuHMrwzWewGM6c09aKOU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baizor%2fgamedev-cli-core@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":532780},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22.14.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"07c11c2b5d48938978e199c144942deab5ec383b","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1722b8b0-a0e7-4fac-a0e5-d7980e9d3f7d"}},"repository":{"url":"git+https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core.git","type":"git"},"_npmVersion":"11.18.0","description":"Shared TypeScript CLI core for the AI Game Dev engine CLIs (Unity/Unreal/Godot): project identity/pin, OAuth device login, machine credential store, and setup-mcp/install-plugin logic. Consumed as thin adapters by the three engine CLIs.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.5","typescript":"^5.7.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/gamedev-cli-core_0.3.0_1784962736783_0.07631209859470212","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@baizor/gamedev-cli-core","version":"0.4.0","keywords":["ai-game-dev","gamedev","mcp","cli"],"author":{"name":"Ivan Murzak"},"license":"MIT","_id":"@baizor/gamedev-cli-core@0.4.0","maintainers":[{"name":"baizor","email":"Ivan.D.Murzak@gmail.com"}],"homepage":"https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core#readme","bugs":{"url":"https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core/issues"},"dist":{"shasum":"a2b380a7e31ed07dad443662102823046a5c4cf5","tarball":"https://registry.npmjs.org/@baizor/gamedev-cli-core/-/gamedev-cli-core-0.4.0.tgz","fileCount":111,"integrity":"sha512-vIsgw/hu3gSo1yyRmD/2SLhJvMSp29+Od0gdYe8muCSZmM5GuJra1YVg9j62n1EwMevSuMJWGD32LVVOLnE87A==","signatures":[{"sig":"MEUCIFr3f8oN/goENl2UGXXsR/E6WguetTY1nwu4YJM1NgkqAiEA3lTLYqwwXzj+hKq0FZbVgZRkbA5FBqqe9Tzlozmawu8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baizor%2fgamedev-cli-core@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":753707},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22.14.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4cca390d5d783957e93562e24078f36b94b8ca5d","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1722b8b0-a0e7-4fac-a0e5-d7980e9d3f7d"}},"repository":{"url":"git+https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core.git","type":"git"},"_npmVersion":"11.19.0","description":"Shared TypeScript CLI core for the AI Game Dev engine CLIs (Unity/Unreal/Godot): project identity/pin, OAuth device login, machine credential store, and setup-mcp/install-plugin logic. Consumed as thin adapters by the three engine CLIs.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.5","typescript":"^5.7.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/gamedev-cli-core_0.4.0_1786847995658_0.567015157861436","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@baizor/gamedev-cli-core","version":"0.4.1","keywords":["ai-game-dev","gamedev","mcp","cli"],"author":{"name":"Ivan Murzak"},"license":"MIT","_id":"@baizor/gamedev-cli-core@0.4.1","maintainers":[{"name":"baizor","email":"Ivan.D.Murzak@gmail.com"}],"homepage":"https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core#readme","bugs":{"url":"https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core/issues"},"dist":{"shasum":"6c81fc2fae926a1bce9dc5fcd924069d2e68d487","tarball":"https://registry.npmjs.org/@baizor/gamedev-cli-core/-/gamedev-cli-core-0.4.1.tgz","fileCount":111,"integrity":"sha512-h1JJzUTuVYtc/r/Mm9M4amHbiRTeRnHM9P/OsSvYCPgUdcA9+nkoiChkGqs2pxzwi8ZUHjFd5h4McfnjI5YxoA==","signatures":[{"sig":"MEQCIGUnTV4IvE6E6SqmlIFMwxSSsXqRulW9iYHYeecyYDqZAiBrbLx59yaZBwcMazerDpN+NvW32OF31H3d7ZUPorG1sg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baizor%2fgamedev-cli-core@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":754414},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22.14.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"06498ec61bc25bbde585241edca64c06291bde12","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1722b8b0-a0e7-4fac-a0e5-d7980e9d3f7d"}},"repository":{"url":"git+https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core.git","type":"git"},"_npmVersion":"11.19.0","description":"Shared TypeScript CLI core for the AI Game Dev engine CLIs (Unity/Unreal/Godot): project identity/pin, OAuth device login, machine credential store, and setup-mcp/install-plugin logic. Consumed as thin adapters by the three engine CLIs.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.5","typescript":"^5.7.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/gamedev-cli-core_0.4.1_1787608302359_0.042201723283870285","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@baizor/gamedev-cli-core","version":"0.4.2","keywords":["ai-game-dev","gamedev","mcp","cli"],"author":{"name":"Ivan Murzak"},"license":"MIT","_id":"@baizor/gamedev-cli-core@0.4.2","maintainers":[{"name":"baizor","email":"Ivan.D.Murzak@gmail.com"}],"homepage":"https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core#readme","bugs":{"url":"https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core/issues"},"dist":{"shasum":"890a1f4e1d4f551dc5fb2056c552ea38102def78","tarball":"https://registry.npmjs.org/@baizor/gamedev-cli-core/-/gamedev-cli-core-0.4.2.tgz","fileCount":111,"integrity":"sha512-JSn6biuXNKi0oZMePcHdEiHjOzs0QVpKpWAd+OdR131BYyrz5JPSx/RghLbQPcr31+SoyDFZ5nKw+DdtKAMRvw==","signatures":[{"sig":"MEUCIEHrNgQq8AYtmmJp3psswnEBhZW+MOGlYCu2j/0zoHVhAiEAh7nNmGD2fsiILHz3kknjiQW3xamZEW173rN8+da7rVc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD+6baWiS0qm0T+cea1DNs3lJY8n0kCunPfiMvN7SgkQQIhANOvyiFShXn441lhXjoelyz3y4NOA5hCmt5+7lRZMPYS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baizor%2fgamedev-cli-core@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":781739},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22.14.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e53ff9917861875d0eedb4fb731020907290d1eb","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1722b8b0-a0e7-4fac-a0e5-d7980e9d3f7d"}},"repository":{"url":"git+https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core.git","type":"git"},"_npmVersion":"11.19.1","description":"Shared TypeScript CLI core for the AI Game Dev engine CLIs (Unity/Unreal/Godot): project identity/pin, OAuth device login, machine credential store, and setup-mcp/install-plugin logic. Consumed as thin adapters by the three engine CLIs.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.5","typescript":"^5.7.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/gamedev-cli-core_0.4.2_1789596214513_0.35848149243627914","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@baizor/gamedev-cli-core","version":"0.5.0","keywords":["ai-game-dev","gamedev","mcp","cli"],"author":{"name":"Ivan Murzak"},"license":"MIT","_id":"@baizor/gamedev-cli-core@0.5.0","maintainers":[{"name":"baizor","email":"Ivan.D.Murzak@gmail.com"}],"homepage":"https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core#readme","bugs":{"url":"https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core/issues"},"dist":{"shasum":"7c5bb87505bd4028a52232f5aa9b92714788ada4","tarball":"https://registry.npmjs.org/@baizor/gamedev-cli-core/-/gamedev-cli-core-0.5.0.tgz","fileCount":115,"integrity":"sha512-yp5GqSgL1JszYbXnT3Zz4gXsKurAaNLk+DGDaZDmYI3o/aKOuNyc9jjpryc3W8qW8kEAbu43E3MW+a1/vQ6KIQ==","signatures":[{"sig":"MEUCIDpzDrVlU/2eA8pjjcC7+kJs0bNF5PzttZq0XFpi8xiTAiEAqV1W/+Px4lFr00cANxlZqNBGpdi2V2xVlS7q4HfpRBE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIB/AbjXk/uPYZCWdzH9WiKVn7zYe4TtoiP1nN1kMmM2ZAiEA7sz9PG/rnALSgr0qrFgr5fb9viVCeD0TusllgUN0WdE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baizor%2fgamedev-cli-core@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":848393},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22.14.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"aa8c70b58a22d24368177ba208074afc2f1bd184","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1722b8b0-a0e7-4fac-a0e5-d7980e9d3f7d"}},"repository":{"url":"git+https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core.git","type":"git"},"_npmVersion":"11.20.0","description":"Shared TypeScript CLI core for the AI Game Dev engine CLIs (Unity/Unreal/Godot): project identity/pin, OAuth device login, machine credential store, and setup-mcp/install-plugin logic. Consumed as thin adapters by the three engine CLIs.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.5","typescript":"^5.7.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/gamedev-cli-core_0.5.0_1790187150347_0.4627867377361392","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"_id":"@baizor/gamedev-cli-core@0.6.0","bugs":{"url":"https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core/issues"},"dist":{"shasum":"799091984a486b5906c6d3bd1882119807a17461","tarball":"https://registry.npmjs.org/@baizor/gamedev-cli-core/-/gamedev-cli-core-0.6.0.tgz","fileCount":115,"integrity":"sha512-oH7IRi7CM4zG+TNac7nly0lBKBkNPjQTemudWFDyixdqfWBR0riXazpy/43YOx3qW+zSNKehzqd/UFzUryIfeQ==","signatures":[{"sig":"MEYCIQDV1NTTC0e+u+YBlQswCwGALJGoUkLg1PJdoHrOMC0IGAIhAI5xbgZXwcdD1N8hR+F2CZ+QZbSfD2lxcUjGUfmE5CnT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCwsrxcxr/SCm6Kfpt0sZh+ZAZD6JS9X7RKbHnC8wY6TgIhAParhMV4T0Sy09m/6xqKlLggPGFB5wFWTWTkh5Vca518"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@baizor%2fgamedev-cli-core@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":873523},"main":"dist/index.js","name":"@baizor/gamedev-cli-core","type":"module","types":"dist/index.d.ts","author":{"name":"Ivan Murzak"},"engines":{"node":">=22.14.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7903444cbfc4e846a9e27d60c43b36a0c2d7c4c2","license":"MIT","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"version":"0.6.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1722b8b0-a0e7-4fac-a0e5-d7980e9d3f7d"}},"homepage":"https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core#readme","keywords":["ai-game-dev","gamedev","mcp","cli"],"repository":{"url":"git+https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core.git","type":"git"},"_npmVersion":"11.20.0","description":"Shared TypeScript CLI core for the AI Game Dev engine CLIs (Unity/Unreal/Godot): project identity/pin, OAuth device login, machine credential store, and setup-mcp/install-plugin logic. Consumed as thin adapters by the three engine CLIs.","directories":{},"maintainers":[{"name":"baizor","email":"Ivan.D.Murzak@gmail.com"}],"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.5","typescript":"^5.7.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/gamedev-cli-core_0.6.0_1790216353376_0.24832007502893383"}}},"time":{"created":"2026-07-18T16:13:35.285Z","modified":"2026-09-24T02:19:13.782Z","0.0.0":"2026-07-18T16:13:35.564Z","0.1.0":"2026-07-18T22:34:23.888Z","0.2.0":"2026-07-21T05:13:27.085Z","0.3.0":"2026-07-25T06:58:56.917Z","0.4.0":"2026-08-16T02:39:55.801Z","0.4.1":"2026-08-24T21:51:42.527Z","0.4.2":"2026-09-16T22:03:34.618Z","0.5.0":"2026-09-23T18:12:30.443Z","0.6.0":"2026-09-24T02:19:13.476Z"},"bugs":{"url":"https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core/issues"},"author":{"name":"Ivan Murzak"},"license":"MIT","homepage":"https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core#readme","keywords":["ai-game-dev","gamedev","mcp","cli"],"repository":{"url":"git+https://github.com/IvanMurzak/AI-Game-Dev-CLI-Core.git","type":"git"},"description":"Shared TypeScript CLI core for the AI Game Dev engine CLIs (Unity/Unreal/Godot): project identity/pin, OAuth device login, machine credential store, and setup-mcp/install-plugin logic. Consumed as thin adapters by the three engine CLIs.","maintainers":[{"name":"baizor","email":"Ivan.D.Murzak@gmail.com"}],"readme":"# AI-Game-Dev-CLI-Core\n\nShared TypeScript CLI core for the AI Game Dev engine CLIs (Unity / Unreal / Godot),\npublished to npm as **`@baizor/gamedev-cli-core`** via **npm Trusted Publishing (OIDC, tokenless)**.\n\nThis package is the single source of truth for CLI logic; the three engine CLIs are thin,\nengine-specific adapters over it. The shared modules land here through the `auth-fixes` design\n(tasks b2/b3):\n\n- **Landed (b2 — correctness/security core):**\n  - **project identity / pin** — `derivePin`/`derivePort`/`deriveProjectPathHash` (v1) and the\n    `…V2` variants (separator-normalized, the B5 fix), gated byte-for-byte against the SAME golden\n    vectors as the C# LIB (`test/golden-vectors/`, vendored from `MCP-Plugin-dotnet`).\n  - **machine credential store** — `MachineCredentialStore` at `~/.ai-game-dev/credentials.json`,\n    full `MachineCredentials`, DPAPI on Windows / `0600` on POSIX, atomic (crash-safe) writes.\n  - **OAuth 2.1 device-grant login** — `deviceLogin` (RFC 8628, `/oauth/device_authorization` +\n    `/oauth/token`) with token rotation and a clean `login required` on family-revoke.\n- **Landed (b3 — shared modules + the engine-adapter contract):**\n  - **engine-adapter contract** — `EngineAdapter` (+ `unityAdapter` / `unrealAdapter` / `godotAdapter`),\n    the single typed seam that carries every per-engine difference: `serverName`, project markers,\n    `stdioSupported` + `stdioArgs`, the server install-dir layout, `loginServerTarget`, and the OAuth\n    `clientId`. **No engine specifics live anywhere else in the package.**\n  - **agent-config writers** — `JsonAiAgentConfig` / `TomlAiAgentConfig`, byte-for-byte parity with\n    the C# `com.IvanMurzak.McpPlugin.AgentConfig`, gated by `test/golden-vectors/AgentConfig.GoldenVectors.json`,\n    plus the engine-neutral `agentRegistry`.\n  - **setup-mcp policy** — `setupMcp` (async) / `resolveSetupMcpPlan`: pins the routing URL by\n    default (`/mcp/p/<pin-v2>` http, `project=<pin>` stdio; B4), with a `--no-pin` escape hatch. A\n    Cloud http config carries `Authorization: Bearer agd_pk_…` — a non-expiring **project key**\n    bound to the pin — for every client (Codex via `http_headers`); an explicit `--token` wins,\n    `oauth: true` writes a URL-only config, `regenerateKey: true` mints a fresh key. stdio and\n    local-server configs are unchanged.\n  - **project keys** — `getOrMintProjectKey` / `regenerateProjectKey` / `ProjectKeyStore`: the\n    `~/.ai-game-dev/project-keys.json` cache (DPAPI on Windows / `0600` on POSIX, atomic, unknown\n    entries preserved) and the `POST /api/mcp/project-keys` + `GET …/current` client.\n  - **install-plugin policy** — `resolveInstallTarget`: resolves the project path\n    `positional → --path → cwd` (B1) then marker-probes it, failing with a message listing exactly\n    what was checked. Ancestor walk-up is out of scope (M5).\n  - **enroll** — `runEnroll` / `redeemEnrollmentCode`: writes the v2 pin (the B5 fix replaces the\n    Unity CLI's local `\\`→`/` workaround) and records the **AS-root** `serverTarget`, never a pinned\n    hub URL (b2 review MED-2).\n  - **server-download** — `downloadServer` with a fail-closed `SHA256SUMS` verify-before-execute gate\n    and a dependency-free in-process `parseZip` unzip.\n  - **project-marker, validation, ui/progress** utilities.\n- **Landed (c1/c2 + DCR — desktop browser sign-in):**\n  - **OAuth 2.1 authorization-code login** — `authCodeLogin` (RFC 8252 native app, RFC 7636 PKCE\n    S256, `state` CSRF check, an ephemeral `127.0.0.1` loopback listener, RFC 8707 `resource`),\n    returning the same `MachineCredentials` shape as `deviceLogin`.\n  - **Discovery + dynamic client registration** — `discoverAuthorizationServer` (RFC 8414\n    `/.well-known/oauth-authorization-server`, falling back to the hardcoded paths) and\n    `resolveClientRegistration` / `registerClient` (RFC 7591). `/oauth/authorize` resolves\n    `client_id` by an exact registry lookup whose only writer is `POST /oauth/register` — which mints\n    its OWN id — so a hardcoded client id is always rejected with `invalid_client`. The minted id is\n    persisted per authorization server in `~/.ai-game-dev/oauth-clients.json` (`ClientRegistrationStore`,\n    same atomic owner-only write as the credential store) and reused on every later launch; only the\n    loopback **port** floats, so one registration serves every run. On `invalid_client` the flow\n    re-registers exactly once. **The device grant deliberately keeps its static client id** — the\n    server binds each refresh-token family to the id used at issue time, so moving it would\n    invalidate every existing CLI login.\n\n- **Landed (unified-machine-auth c3 — the shared refresher/provider + login plumbing):**\n  - **`MachineCredentialProvider` — THE single entry point for credential access + refresh.** The\n    three engine CLIs (W2: d2/e2/f2) and the desktop App (W3) obtain access tokens EXCLUSIVELY via\n    `getAccessToken({family})` / `refresh({family})`; nothing else re-implements refresh. It is\n    family-aware over store schema v2 (`agent` / `plugin` / `legacy` planes), runs every refresh\n    under the cross-process `MachineCredentialLock` with a **double-checked re-read** (a peer's\n    rotation is adopted without a network call), presents the **family's stored `clientId`**\n    (component default ONLY for `families.legacy`), **omits `scope`/`resource` on refresh**\n    (P0-3), keeps the previous refresh token when the server does not rotate one, treats\n    `invalid_grant` after a post-failure re-read as family death (one structured telemetry event,\n    other families untouched, never loops), rate-limits to one attempt per family per skew\n    window, and surfaces busy locks / unreadable stores as typed non-sign-out errors.\n  - **RFC 8693 token exchange** — `HttpTokenExchangeClient` (the frozen a5 wire shape:\n    `subject_token` = fresh agent access token, exact URNs, `scope=mcp:plugin`,\n    `audience` only as the exact `urn:agd:hub`), deriving the plugin family from the agent family.\n  - **Login-surface commit plumbing** — `commitAgentLogin` (the F1/F2 two-lock-hold sequence:\n    agent family under hold 1 → exchange → plugin family + v1 mirror under hold 2; a failed\n    exchange leaves the committed agent family and a \"partially authorized, retrying\" state\n    resumable via `derivePluginFamily`), `commitToolsOnlyLogin` (the `--tools-only` / O10\n    plugin-only mint for CI — F10), the D6/F7 **account-switch guard** (`evaluateAccountSwitch` /\n    `runAccountSwitchGuard`; decline revokes the just-minted family and leaves the store\n    untouched; **`runEnroll` routes through the same guard**), `signOutMachineWide` (F6:\n    best-effort RFC 7009 revocation of every family, then the lock-guarded store delete), and\n    `revokeTokenBestEffort` (RFC 7009). Every commit **re-verifies the world under its lock\n    hold** before writing (`commitFamilyUnderHold`): a guard premise that changed during the\n    confirm dialog, a subject switched between the two holds, a store deleted by a concurrent\n    sign-out (never recreated), or a store turned unreadable (never overwritten) each abort with\n    a typed `CommitAbortReason` result — never a throw, never a mixed-account or resurrected\n    store.\n\nA small semver utility slice is also exposed. The package has **zero runtime dependencies**.\n\n## Requirements\n\n- Node.js **>= 22.14.0**\n- npm **>= 11.5.1** (required for OIDC Trusted Publishing; below this the publish silently degrades)\n\n## Develop\n\n```bash\nnpm install       # install dependencies\nnpm run build     # tsc -> dist/ (ESM + .d.ts)\nnpm test          # vitest run\nnpm run typecheck # tsc --noEmit\n```\n\n## Release (npm Trusted Publishing / OIDC)\n\nReleases are cut from the `release.yml` GitHub Actions workflow, which publishes to npm over OIDC\n(no npm token, no `--provenance` flag — provenance is attached automatically). Run it from your\nmachine with the GitHub CLI:\n\n```bash\ngh workflow run release.yml -f version=X.Y.Z\n```\n\nThe workflow enforces the Node >= 22.14.0 / npm >= 11.5.1 floors, sets the package version from the\n`version` input, builds, and publishes.\n\n### Trusted Publishing binding (owner, one-time)\n\nThe npm Trusted Publisher for `@baizor/gamedev-cli-core` is bound to **this exact repo + workflow**\n(`.github/workflows/release.yml`). The publish step lives directly in that workflow file — it is\n**not** factored into a reusable workflow, because reusable-workflow bindings are a known npm TP\nlimitation for `workflow_dispatch`.\n\n## License\n\n[MIT](LICENSE) © Ivan Murzak\n","readmeFilename":"README.md"}