{"_id":"pi-multi-account","_rev":"45-9ba428c5faa38326d2e5d69520ef0ef5","name":"pi-multi-account","dist-tags":{"latest":"1.24.0"},"versions":{"1.0.0":{"name":"pi-multi-account","version":"1.0.0","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.0.0","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"1ff4df5a92fded47be4760a4b4adab0289a3998c","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.0.0.tgz","fileCount":5,"integrity":"sha512-CKjM7q4sGeEUFiLVFkEcA7A+4y3dS6OoiJOsVhFW+ha7PIeuR4jwOaFuzCujtehXQ7PgzngcqlO/hk1WM5scHg==","signatures":[{"sig":"MEUCIHkWB4DyaDxpOxNsNR3ltvFTJW4NHSXrmgjZvQEEWmh9AiEAmo6rsQ+dlfKHhObzFGc6vOK05y5STmyjEm/LrE7Onkw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55113},"type":"module","engines":{"node":">=22"},"gitHead":"cb000177c00a9216ecb57298f44a30ce010a886f","scripts":{"check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.12.1","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, and Qwen/Alibaba. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-limit error","directories":{},"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.78.0"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.0.0_1781034648960_0.6249599230341376","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"pi-multi-account","version":"1.1.0","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.1.0","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"b39883ee2fa038469f64e1d5f3b84d59adec2329","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.1.0.tgz","fileCount":5,"integrity":"sha512-iCaMaYOCbJ+IHHoAuHE7oveufmKhuI5BcxwSikK5pa4vcM+88zVPRmp/7K2ZS3JViCfJFrqwHFH5Tp7QAMeYmw==","signatures":[{"sig":"MEYCIQCeFcDe2Ffw1djmObpDE66Gwjto39eVGnadrOwHcmJKrQIhAIgCq7nExbyWqSAQe/pI3miq8PB+PIzh1C6FWge4v6MN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65561},"type":"module","engines":{"node":">=22"},"gitHead":"cb000177c00a9216ecb57298f44a30ce010a886f","scripts":{"check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.12.1","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, and Qwen/Alibaba. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-limit error","directories":{},"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.78.0"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.1.0_1781068666795_0.0412165616724951","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"pi-multi-account","version":"1.2.0","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.2.0","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"faa1464d4ff92e5881a4b902795aa7efe4ab0ae6","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.2.0.tgz","fileCount":5,"integrity":"sha512-pmrQ8UzDmNidGEnpSRWj9m+J3l3IHYcg4upuzwzCFc5BmCObzE+BVbJeVgZOb5461ckmISJOJ8UH4fSwkSiBvg==","signatures":[{"sig":"MEUCIEU6eNqdzqU3gLghsb01ZcffX7hHUmGNb/ZtRZE3LAeFAiEA73Cpxzva9khg0HxAaPoZMTeTWkzP/sWY+kalO2DXbDg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":77058},"type":"module","engines":{"node":">=22"},"gitHead":"fdd42450863e18b3d82fa1356e05aa1d5fa1f523","scripts":{"check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.12.1","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, and Qwen/Alibaba. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-limit error","directories":{},"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.78.0"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.2.0_1781069687649_0.6207699484132512","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"pi-multi-account","version":"1.3.0","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.3.0","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"26b62fe6a79767cd3863adc48cadd25f5efa9908","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.3.0.tgz","fileCount":5,"integrity":"sha512-/tCd5kHDoUWI/km8US9b4/ZK4zub6UdMLkTNk0tucjbkF1FlnR6M32XxabsC2nEBpEsnO71vclb1Bljb7vgbeg==","signatures":[{"sig":"MEQCIBm/EIb3TtIXxcUoN6vovw52r3/s1Zbi5eR8htcc/Dt4AiASYDy4X1VYCnudrIe4jU/DxQRE2in6fnqkfgs2xUT40g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":77310},"type":"module","engines":{"node":">=22"},"gitHead":"f5d36d3fa9a8cbb178f32fb9a82f80f1406db269","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.12.1","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, and Qwen/Alibaba. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-limit error","directories":{},"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.78.0"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.3.0_1781116737349_0.11697740979733062","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"pi-multi-account","version":"1.4.0","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.4.0","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"506496cfecb8154b3427767d9581d5975e8d4677","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.4.0.tgz","fileCount":5,"integrity":"sha512-0SKH80KlU1rz8oGlcbGrH4+blUKPBHQceOoYelQAq6lNYzVqvee7zVpIBciuVtrJba8HlQ0ZhL00oUVNoW8QJA==","signatures":[{"sig":"MEYCIQCXHb/3IT0asxjhnrd1cYQhPTGVGdA7KsnrDCDvzugTnQIhAI+ut+NKbyUgDT/Xc7whag9zuF/3zS0z74gTLYDaA/9+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81635},"type":"module","engines":{"node":">=22"},"gitHead":"9c96a0a7be9c634975d8ee3c51f895fae9c9c243","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.12.1","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, and Qwen/Alibaba. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-limit error","directories":{},"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.78.0"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.4.0_1781118433571_0.2239100488377801","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"pi-multi-account","version":"1.7.0","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.7.0","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"f81afd143fb721050e40619177025a502b66c12f","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.7.0.tgz","fileCount":6,"integrity":"sha512-SorSOljD4MBfJlVp202o1IiD+wWcyPgSrk7Qn+ymKjJ7Jrf9rTyf191vXLGEyMifgqMQLCpArACE9ECAghxPFw==","signatures":[{"sig":"MEUCIC0u7sG5DmeXaJcBYuGTbbZ+7G0u9V9ZxB01fkBwsDrYAiEApYPIFdrnhLpGI7fX1ocS9aIwgV2gnQEC54fIJ0mrDss=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":137087},"type":"module","engines":{"node":">=22"},"gitHead":"6c40c99a207238a3e0a79dfeedf7af49b193b563","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.12.1","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, and Qwen/Alibaba. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-limit error","directories":{},"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.78.0"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.7.0_1781369216201_0.8604618576454914","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"pi-multi-account","version":"1.8.0","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.8.0","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"17f663401838bb57476bc3dd9576c1ca2a1a6f14","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.8.0.tgz","fileCount":6,"integrity":"sha512-NxLErKntBSIO1o93Hgge7JTjw/sQgGq8DQmPiST87V3Gqr4/XcVmM/8BPLA+WhybYFPGT1nm5PXqRA2QJ1GxYA==","signatures":[{"sig":"MEYCIQDuj9oG6fbrUdN3obtRyj+XSyM62ETylgyR8MANAWiCdAIhANWBG6fCyYF8YaLMY0vIdauGxdTj2i2P6cFb84Ycg3+L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139755},"type":"module","engines":{"node":">=22"},"gitHead":"13f109e9a0fd895901573938297c9a0f30ce13c0","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"10.9.8","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.78.0"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.8.0_1781965360131_0.8195157662099928","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"pi-multi-account","version":"1.9.0","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.9.0","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"5ecd21d05712bc4816c0931c129f37e27ebbab9e","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.9.0.tgz","fileCount":6,"integrity":"sha512-o+bfrQjpR4xasgfRolfmewMc9rq/c53XAyS2P3JlZqN8q0yUKWUzK8T7uwid22ucb5zLJvtbGUR5IW56+xsI0Q==","signatures":[{"sig":"MEUCIQC6/4ZZiO8G9quabTlKa5eMv575vfigmMR/0HimrXa4CgIgKoGFXw4ks/sbKtPdRHxkTEYmF7xOxZMWYbvSNO7fwCQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151047},"type":"module","engines":{"node":">=22"},"gitHead":"272106a88af54c297213d5cbb4b06ee01b9ea5ef","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"10.9.8","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.78.0"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.9.0_1782052549168_0.6875938976782001","host":"s3://npm-registry-packages-npm-production"}},"1.9.1":{"name":"pi-multi-account","version":"1.9.1","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.9.1","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"f988bd42246cde0728e8db4f4b53afd39ff57b81","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.9.1.tgz","fileCount":6,"integrity":"sha512-lJIq20nNxK/7rsyuGvpqfvkErOMCujt9C8tmRxBXDu/4Xm8fp2+6UaplEQfaGeH65UKVTl/U9yOdceoL+5V/Ug==","signatures":[{"sig":"MEQCIB4jC2VTmdh2RjPaYiAIA5/gP1hz6z3lu9aX7cUsUuAjAiAIQyIOSxftvLdFel1KaBPcqcZdL1qIM58+eZ4+d7sG3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153500},"type":"module","engines":{"node":">=22"},"gitHead":"6faeaf742cf394d19e165824906a6d0593d69016","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"10.9.8","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.78.0"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.9.1_1782054059875_0.19170627587752564","host":"s3://npm-registry-packages-npm-production"}},"1.9.2":{"name":"pi-multi-account","version":"1.9.2","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.9.2","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"82c504b96dc376c6a4bec227c3dfb737000f1c79","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.9.2.tgz","fileCount":6,"integrity":"sha512-9jM00wArkZ3TDbiQhTeZ8eXPBHamZX11jtSvbfeeYAxad0aI3Sc448goQRdNOR2AwXik//nQJxbtUBiWhOxlCg==","signatures":[{"sig":"MEUCIDAWV1oLY4NxASAytFmiW0OOpRP8lPIs9PaTcj4MiWx9AiEAixvx6cPUYDOBlY/KSDhdm6XZR6BLFRo8PUMzP3oD1yU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":155660},"type":"module","engines":{"node":">=22"},"gitHead":"636bdba943af21c594d899fde339125ea21af056","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"10.9.8","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.78.0"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.9.2_1782054435734_0.14504726885987407","host":"s3://npm-registry-packages-npm-production"}},"1.9.3":{"name":"pi-multi-account","version":"1.9.3","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.9.3","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"59d5bc2ccdfad6a04e0aff9c6f913782dffeb78d","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.9.3.tgz","fileCount":6,"integrity":"sha512-DC40fpzH0b5zGly7yOH/dU3nOWRTXt2gBrbQo2RsQyItcRpT0BxCxJyV1qtALCPR/pqNOP6M4o+5FZkKdBwNIA==","signatures":[{"sig":"MEUCIEucqm6REx47SitG+JFAfB8dviRJyQhIa/6P0OWNCuI9AiEArdBDTPrDLCodwhw13Ab+hZlLCg9sqlIljuTW9QQpjJ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157097},"type":"module","engines":{"node":">=22"},"gitHead":"5b3979a81080f60774fe49eb875a6483eb018f31","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"10.9.8","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.78.0"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.9.3_1782054836975_0.6506585886856757","host":"s3://npm-registry-packages-npm-production"}},"1.13.1":{"name":"pi-multi-account","version":"1.13.1","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.13.1","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"bbcdcf5a39edd6f956c5d2e229e2fb0fa6d46066","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.13.1.tgz","fileCount":7,"integrity":"sha512-2iQTnCxp3D4rkRJ4/nU3qZqdJiLa7WrPvaJKow+BlNbP0c1Cuv3Vr+6TDq7zCTtflBzncYSXWlwjFhJ104efZA==","signatures":[{"sig":"MEUCIGNx4gu5K4lun8p5ns0z1PfszS0x/u49ElP5va1NbppsAiEA3H8P/NtQgOTuzX+cHBvsnXFih3laDrP32eYSHT8WdKQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":227814},"type":"module","engines":{"node":">=22"},"gitHead":"6ce2518c301b08f81b883e23016fa75702e9749d","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"10.9.8","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.13.1_1782752905701_0.38730408144096007","host":"s3://npm-registry-packages-npm-production"}},"1.13.2":{"name":"pi-multi-account","version":"1.13.2","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.13.2","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"5dd20d0c1cb38edd756eced75ea7103700440168","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.13.2.tgz","fileCount":7,"integrity":"sha512-HQxB4vp+ZusPPQ71iPOCIapUC6c5XEDME+IHVtChB8hiC+K7OBpHLnvOF+dNFqhEmxpUoe+bXvIMqo/UzXfZHQ==","signatures":[{"sig":"MEUCIQCgIKzxmXErX9Q/kejo9GnmdhEJjKEPWePxyha2juy4lwIgfPx2lRFc1xkmVsJrOs+xbqq1zficy58a6yXrV5FHyI0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231967},"type":"module","engines":{"node":">=22"},"gitHead":"035d41ac1ea32a9000c94a54aaf031696841ea4d","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"10.9.8","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.13.2_1782801267812_0.8359675088296901","host":"s3://npm-registry-packages-npm-production"}},"1.13.3":{"name":"pi-multi-account","version":"1.13.3","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.13.3","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"29207ed554a6a047a0fcb9a7ba0d289fe4639731","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.13.3.tgz","fileCount":7,"integrity":"sha512-vj7LPgeciMCGjHe7gxmCt/VndnjRM1kE0Pt4BI1hYT+FRTcRQ25FisgQhTTu+oWDgl4Hzr4k5TqlAjgdTqGldw==","signatures":[{"sig":"MEUCIDOQS/FT1lxvxi5LD+XFOTn0jAQh6jKkOhsUkwkBVLDLAiEA9SNG70RmzCoXnRNclxDpSIkN9HJxw1oR9kFZA3jk/HM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233773},"type":"module","engines":{"node":">=22"},"gitHead":"71c98c24b5ac1bf0e27ddc7685e948b50686b241","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"10.9.8","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.13.3_1782803196789_0.8611111395429134","host":"s3://npm-registry-packages-npm-production"}},"1.13.4":{"name":"pi-multi-account","version":"1.13.4","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.13.4","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"cceb801e6f06e37bc936e0546abc0937a16edc40","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.13.4.tgz","fileCount":7,"integrity":"sha512-Mzr+jQYDDmMOukeulbqAJFfJqCAhhd4icS5dS7rTyBUPAvJOcBR8HII45ES7sCih4LS2+C2ig2PLxgqwc1NfAg==","signatures":[{"sig":"MEUCICCeTKU/thxxnaW+YepPw9/EZ0qxzDV3ek2zqOvXHWlfAiEAiyw9miGI8dY9cjp8rmvrzws60wUXbTp1DV1D1vOvUAw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":235718},"type":"module","engines":{"node":">=22"},"gitHead":"668e58efa2163f8f7f6f18c3c197842cb7bc16fd","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.12.1","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.13.4_1782882789544_0.5186671384877581","host":"s3://npm-registry-packages-npm-production"}},"1.13.5":{"name":"pi-multi-account","version":"1.13.5","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.13.5","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"8a1f0b6429de0379bdcd7d7159e2f4ade8f79ffa","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.13.5.tgz","fileCount":7,"integrity":"sha512-gO74BKtdASuqyAvATh9EYSppmhMpt2qy4g116gprx/9GAB+gHUgs2lNOiG3qa+1bZl4QMlIMyckyIJVZ171lqA==","signatures":[{"sig":"MEYCIQC4qggN1RGe8ebGaR9gO9S7xz0cPyvupMYKGEa8opasLAIhAOtupW/R/P2OZlGR2CXvcnhqqbWjtkqC5ODm+sSxoIG/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237984},"type":"module","engines":{"node":">=22"},"gitHead":"8b329217869e93e9194797d4dc15d4486489103b","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.12.1","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.13.5_1782887413826_0.15889967408146988","host":"s3://npm-registry-packages-npm-production"}},"1.13.6":{"name":"pi-multi-account","version":"1.13.6","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.13.6","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"f2d68a8c3afe9b8906d65a81ee57a012df8527d0","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.13.6.tgz","fileCount":7,"integrity":"sha512-DuqyEOtMB7CsCRaa9I/l8lqlNDyg3OHB27BUzD14AXBynIY/pbrCp+ZQ5CDjxMo9HeQ6k1LDmAkmOMUtf3WtYQ==","signatures":[{"sig":"MEUCIQCfeFqzWMoPIutUeTYv3i7EJYxT2fSrJANBTzGMn29D+wIgWcE0WbYJkW3I9jgWHFU88I+AqBuksD5Z06iMIeN93ak=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242022},"type":"module","engines":{"node":">=22"},"gitHead":"00db489caddf3e32fe9e1b56cd2653e17c784e91","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"10.9.8","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.13.6_1783188198636_0.6003735286625755","host":"s3://npm-registry-packages-npm-production"}},"1.13.7":{"name":"pi-multi-account","version":"1.13.7","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.13.7","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"9f0131df9060cf20062eb1422d6180690ef4ee2f","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.13.7.tgz","fileCount":7,"integrity":"sha512-rDurH9I7628rTDq5/U87IqP4o+jMnaOC/6D7ONlh43CARKymvtMpBu1CUowkPslAGuoC/B71FiVjo9rASkyCjQ==","signatures":[{"sig":"MEUCIEJ+rfiz++0VHkZ/GmHWAnSwFG1gVmfP0j3NmW2tX++7AiEA5JJo7z3+6G46By50AB0HBWcRYTIianNhEBCjw/9v2cI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":246466},"type":"module","engines":{"node":">=22"},"gitHead":"c62367797c886fa32e684110f08149ab5ba77912","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"10.9.8","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.13.7_1783193614937_0.36017009793765675","host":"s3://npm-registry-packages-npm-production"}},"1.13.8":{"name":"pi-multi-account","version":"1.13.8","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.13.8","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"1ececb40482a248293c4424165befabf270a447c","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.13.8.tgz","fileCount":7,"integrity":"sha512-G0FxvkPDP1yfrLWF7q1hx6icjcFZ4u6f4uZX93BpHdlgw6sAUPAUm6dxl/XC64gKfO+3rLfdKrwJD6wS9mutuQ==","signatures":[{"sig":"MEYCIQDPPSYNuyAiHwpdEbsRY+2UOahWTTIVTeGkc9rrlJ8ROwIhAIPnQAoSOK/PxXQvMURt+iTc/A6/XWWQRx9mupeXmutK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":251051},"type":"module","engines":{"node":">=22"},"gitHead":"e46cc43073fcae5afb855847ec8dd29c7079d5e5","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"10.9.8","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.13.8_1783343357436_0.3400191099190182","host":"s3://npm-registry-packages-npm-production"}},"1.13.9":{"name":"pi-multi-account","version":"1.13.9","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.13.9","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"a6a2d1817310b0bda40af37521b060cdf16ca9e6","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.13.9.tgz","fileCount":7,"integrity":"sha512-+uHCN+W9z40cTsT4dFvDDXx5kUPh3T8TXzz+kYcRiGhIInH3EgZvx8yNX8LfjSZgRV0lRgdueBceBfZJcoT8KQ==","signatures":[{"sig":"MEUCIEdBSW6WO6GQcVQK8bPaFUj9MlviggLKK7hY1Mo/EyOhAiEAnz7XONDAhMJ5qIv13AIcOoLYQH5MTTmdzuCq3QyGqVI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":258698},"type":"module","engines":{"node":">=22"},"gitHead":"6b48cdd21c37ca3bcea608be752f8522dfec92fb","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"10.9.8","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.13.9_1783411937540_0.49360623231582745","host":"s3://npm-registry-packages-npm-production"}},"1.13.10":{"name":"pi-multi-account","version":"1.13.10","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.13.10","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"c797362a992d7ae39ea1bfbca95f55a455902942","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.13.10.tgz","fileCount":7,"integrity":"sha512-8Ri2yUXT3SJjMtYsh3zWJbL/xjzHT5DhfunxVYTAU68JdGBYSQH8+rpBowo9oJHLOQ9OWoWlogKt/Nv+mgvWcQ==","signatures":[{"sig":"MEYCIQCgAtPaoAMnFfXUl8gUliSotbp1CNVeQqLmtQcFKpDK1wIhAJFJDj9+RQdswjNb5BMrfIJcJHWdTlhMYaEnDl6SwdG5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":263111},"type":"module","engines":{"node":">=22"},"gitHead":"2955008dfcde41426fc5ec586493405b14abffe9","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"10.9.8","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.13.10_1783415043138_0.18669052631269256","host":"s3://npm-registry-packages-npm-production"}},"1.13.11":{"name":"pi-multi-account","version":"1.13.11","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.13.11","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"99b1b299427813d91594a30d37f3529992af68e3","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.13.11.tgz","fileCount":7,"integrity":"sha512-i+zgTyOFFIzZZtoIQjwMezjIv/kdk9X3zlQa3uyX8PXFby/mXin7OX9Fc3HQLBDCeB+Ehcirc8yYwAoriCVVkg==","signatures":[{"sig":"MEYCIQD+qpvr6nmZs8mXlW/JgHUrdFpFwjO1pGXZen0U5c5ZHQIhALEPs5cPp2Fqd2l8u8urCFKBA7LqgnLDUyP3THLw1tID","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":269641},"type":"module","engines":{"node":">=22"},"gitHead":"17570712dcb8995e95e22e64a8208ccbe3998136","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"10.9.8","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.13.11_1783418870315_0.6536587640607889","host":"s3://npm-registry-packages-npm-production"}},"1.13.12":{"name":"pi-multi-account","version":"1.13.12","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.13.12","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"f5bff282689309eb6ffa78b2ed9088c49fc8e736","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.13.12.tgz","fileCount":7,"integrity":"sha512-hVex4KOlY7aTsX32XgRVgulL51lpcifBXZcHxSz/8waPi0GtI0iA3UcjT/VgG6keidz7do6g10sxoR86QqCrGA==","signatures":[{"sig":"MEUCIQD13zjrw1/7l+v3pkqfjSTauCnpUKBZaJkoCT4vQ1oSsgIgGw/KP7whKdoolr0h8pL0EUNfeNVJiZegFWSiJUm9Qzg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":271484},"type":"module","engines":{"node":">=22"},"gitHead":"9b8976e99c98a31e6f8dc21fa4feacc11351ae68","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"10.9.8","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.13.12_1783420569045_0.46823359856519","host":"s3://npm-registry-packages-npm-production"}},"1.13.13":{"name":"pi-multi-account","version":"1.13.13","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.13.13","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"268fa9bcf695231fb7721ee3ea74cf730a255a36","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.13.13.tgz","fileCount":7,"integrity":"sha512-+vbyHPCSz2034BY5cajgpz0ONDp6lX9/mCF2GVd6Duf9kfuVllbjwLlz94CHpURUHjFdQzbW9UJHSLJDhqjCZg==","signatures":[{"sig":"MEQCICJIQfgsef697sAk7lf3esuz6UEQB7bWfaukNLLfwLgXAiABa+Kkc7A+V7cK+ge/kIvulFUnMaX4KGQidiXz3A8gOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275167},"type":"module","engines":{"node":">=22"},"gitHead":"fe55624d15860dbd2b51963ebdb586a0f0255e3f","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"10.9.8","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.13.13_1783421839036_0.5217799617033836","host":"s3://npm-registry-packages-npm-production"}},"1.13.14":{"name":"pi-multi-account","version":"1.13.14","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.13.14","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"e7b99142ba9c658caee901411a7682de1082dd16","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.13.14.tgz","fileCount":7,"integrity":"sha512-xbsaWneAx4m1El42lT1FtTSW6GjJDoKkLsFjtkf4zdQvrUVD3HZB3fw1UbzLaMIOuTb+vOqZrFApEVzxGR/pVA==","signatures":[{"sig":"MEQCIFgxs4k2G62180l1yId4SUhMd/imuKadejhheS28T9FxAiATHztszrLgy9Q3rDp70BTLfGZx8mDz/li56d/Vua1+Dw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":276436},"type":"module","engines":{"node":">=22"},"gitHead":"1710e0a7ef338a4046eb7251eebef3e70e96b3c8","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"10.9.8","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.13.14_1783437992131_0.2881368376033482","host":"s3://npm-registry-packages-npm-production"}},"1.14.0":{"name":"pi-multi-account","version":"1.14.0","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.14.0","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"bb9685806854d478dc0514e7b328aa04e5541cde","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.14.0.tgz","fileCount":8,"integrity":"sha512-yaj+dfXjOxoTionViBguEB2JrvMhvVkJRmhShD2ZjWVNccWygPbDVfgBvDf+VGqWdBfo7ulDgl/205v7lSc69g==","signatures":[{"sig":"MEUCIQDg/cQBF3P3mwg/7bL61+BFNYStEWHxu5Nx8yX4h+KVNAIgG54M6/2Elb+EsQMMkpDw5uIqx/kDGUrVwiiJz4msjRI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":320112},"type":"module","engines":{"node":">=22"},"gitHead":"566a405bd14bdbd6cf2f0b764da2b747bb2ba66a","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.17.0","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"26.5.0","dependencies":{"@earendil-works/pi-ai":">=0.78"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.14.0_1785157850490_0.4999919956058292","host":"s3://npm-registry-packages-npm-production"}},"1.14.1":{"name":"pi-multi-account","version":"1.14.1","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.14.1","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"c79db47cf5a83792cfa472e19ea6a8927908e25f","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.14.1.tgz","fileCount":8,"integrity":"sha512-wQ9Or4inwjGEWNpisrxXrC5ljHYdqnwhlGJYlXiFMVQS/fKMIHOx7UDDsp2gn9iaMAmjnZ+mMVaJl8pwpsE/Kg==","signatures":[{"sig":"MEUCIDxAcU2I28A2JaoOeQcup6PO1FaShjvjLbCov7eCcBGHAiEA4WeA/fU4wnDdhgR2KL5uKAkxSDap10mXCyyxTO6gyY4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":327316},"type":"module","engines":{"node":">=22"},"gitHead":"d2c16aaa74d8b23e955aaa730b17744f9e14326c","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.17.0","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"26.5.0","dependencies":{"@earendil-works/pi-ai":">=0.78"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.14.1_1785159402868_0.8399086953912394","host":"s3://npm-registry-packages-npm-production"}},"1.14.2":{"name":"pi-multi-account","version":"1.14.2","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.14.2","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"6632d930e2c0135f0a70d05672c2585e2852f66a","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.14.2.tgz","fileCount":8,"integrity":"sha512-y3LjqyuUxmD+J0kiPhSpV35//+JDlo0o2kg1vWr989NJ9SIBjlDVlJAcAusYymqtInjCmxig8Umh7VQJcrFH9g==","signatures":[{"sig":"MEUCIQCamoaDJkRz5iqeX254aVUZMTMp41PZ3BaoEPClFVEGdgIgeLc+X9Ew6hgt9SvYjgtl88M+7Kq22iK9UPOC2Zd14fU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":333047},"type":"module","engines":{"node":">=22"},"gitHead":"53ba79c89d886e08db106c944891e51771d013c8","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.17.0","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"26.5.0","dependencies":{"@earendil-works/pi-ai":">=0.78"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.14.2_1785409481407_0.3088633652037258","host":"s3://npm-registry-packages-npm-production"}},"1.14.3":{"name":"pi-multi-account","version":"1.14.3","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.14.3","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"ddd6075200b79c36e57dff5fe0fa5dbdb8bca33c","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.14.3.tgz","fileCount":8,"integrity":"sha512-6r5IN604JveKto5akU9+KumjcdJ4w8g7Z6vqXjKEfV0jUIsx1w/KQ1MsKEHq3JfDK/JaZE1BF4+Lo37ReFCP+A==","signatures":[{"sig":"MEUCIQDCsHF/h++jxmQ1aE9gdHnFG5MXJvXpHFPEM4IZ49clfgIgeeFMrvjGVFfty/MbAJ9bHJBB+auThjLCuivEQ0hw0yI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":334651},"type":"module","engines":{"node":">=22"},"gitHead":"adaf81057fb7f187e200e4f0c2385c5276022edc","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"npm pack --dry-run","prepublishOnly":"npm run check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.17.0","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"26.5.0","dependencies":{"@earendil-works/pi-ai":">=0.78"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-coding-agent":"^0.80.2"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.14.3_1785650364602_0.1666787515353665","host":"s3://npm-registry-packages-npm-production"}},"1.14.4":{"name":"pi-multi-account","version":"1.14.4","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.14.4","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"a7f69da2e2532a9787636382ad86283d865d7700","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.14.4.tgz","fileCount":10,"integrity":"sha512-iO0cpkin+H3zSMQKge8JgBj5CpTX5c44/26ddDLw1Rdllese9gOPQE3fJ6wYuk19FpVICy6BGEveAejlEEL3iA==","signatures":[{"sig":"MEUCIQC6/JNLbOM9huM7KPF6IoKXNEbitNRS/J4JlsdsHseV+gIgPRho9xHUpqkPces0SUdjxY51IkxxocJ9mpNqCrlr5VE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-multi-account@1.14.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":337347},"type":"module","engines":{"node":">=22"},"gitHead":"16bc4ad37b98efefb4ccb70914536f265cd15e70","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"node scripts/check-package.mjs","release:check":"npm run check && npm test && npm run pack:check","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:72e91821-1f64-4a82-a56f-bacd2d8721f0"}},"overrides":{"protobufjs":"7.6.5"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.17.0","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@earendil-works/pi-ai":"^0.84.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.15.3","@earendil-works/pi-coding-agent":"^0.84.2"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.14.4_1786807735032_0.6746761580648313","host":"s3://npm-registry-packages-npm-production"}},"1.14.5":{"name":"pi-multi-account","version":"1.14.5","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.14.5","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"3a0991f9af9a1dd272b85a50fe83028caa545ed1","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.14.5.tgz","fileCount":10,"integrity":"sha512-ph0rtKC9wL6impfBmijcT96bxzdUdKU1aCovbyuO5TTOPj8Se0X4y1Iwjt3+PfUQdiJo14XjSfU90kNtEZFcoQ==","signatures":[{"sig":"MEUCIAovH37VDbgKgnoi9khgjgAuXnwu8zr2tJXIoHZlrrwtAiEAprz7XEzMTxYuCihmwJQyCbycgeGNUxZHq0yD6+HCJnA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-multi-account@1.14.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":339100},"type":"module","engines":{"node":">=22"},"gitHead":"223bef88b66568ec2cc130bef184feb8a5cf5a7e","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"node scripts/check-package.mjs","release:check":"npm run check && npm test && npm run pack:check","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:72e91821-1f64-4a82-a56f-bacd2d8721f0"}},"overrides":{"protobufjs":"7.6.5"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.17.0","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@earendil-works/pi-ai":"^0.84.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.20.1","@earendil-works/pi-coding-agent":"^0.84.2"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.14.5_1786808627048_0.3649904777483266","host":"s3://npm-registry-packages-npm-production"}},"1.15.0":{"name":"pi-multi-account","version":"1.15.0","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.15.0","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"d605ac367453a7f4eae1c46a0cfc26b9cfe64bf3","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.15.0.tgz","fileCount":10,"integrity":"sha512-ipywmwDG0Ki5MDaenOQLxGyJw+tS9HbZ2pkWE7scnISGXagrzbTZ2jmJttsCbhnlfGfs2HY+XsFk/JkU6kfEEw==","signatures":[{"sig":"MEUCIQC/ExNr0M0V8gkR9xi2IQ4bxBIleO36oOcymiLrHNcuWgIgd3XbKOjBHNXTLxJdjo2KTLDmERBoWrcNSkuKkmh3/4c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-multi-account@1.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":352753},"type":"module","engines":{"node":">=22"},"gitHead":"c5b430526c29b1b5030f15db8b330100b14ba7ff","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"node scripts/check-package.mjs","release:check":"npm run check && npm test && npm run pack:check","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:72e91821-1f64-4a82-a56f-bacd2d8721f0"}},"overrides":{"protobufjs":"7.6.5"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.17.0","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@earendil-works/pi-ai":"^0.84.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.20.1","@earendil-works/pi-coding-agent":"^0.84.2"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.15.0_1786873847212_0.28176359111604166","host":"s3://npm-registry-packages-npm-production"}},"1.15.1":{"name":"pi-multi-account","version":"1.15.1","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.15.1","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"4f3bb728a465913cb21e843707d0d2e4d271f47d","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.15.1.tgz","fileCount":10,"integrity":"sha512-xW8ZLuthQDZNgan01xo5ab7kcdUoGUgrmJmMFSPqrr5Bz7SH47iItZ4VBvPJ1W+4uNeB0ySwiqnbdSNbMob7RQ==","signatures":[{"sig":"MEUCIB1Zz8PwpzYKWmz+ShS6rx3VeHUVOxFCczaWznjeERxUAiEAzNOgfRpXiVLXzGtlf0+wKJMqwzrZ8UhlCwpb94sooh4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-multi-account@1.15.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":357685},"type":"module","engines":{"node":">=22"},"gitHead":"1e8f965f1bff9a11583cbcaab1fca01af143ec11","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"node scripts/check-package.mjs","release:check":"npm run check && npm test && npm run pack:check","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:72e91821-1f64-4a82-a56f-bacd2d8721f0"}},"overrides":{"protobufjs":"7.6.5"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.17.0","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@earendil-works/pi-ai":"^0.84.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.20.1","@earendil-works/pi-coding-agent":"^0.84.2"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.15.1_1786874606519_0.32198840576754684","host":"s3://npm-registry-packages-npm-production"}},"1.16.0":{"name":"pi-multi-account","version":"1.16.0","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.16.0","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"970e5082af53f92427efc3aef95f20fae4aa47b5","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.16.0.tgz","fileCount":10,"integrity":"sha512-bZ3rog2nKndCeWfMAa35FhYylCedXwSl8XJlndufwtq14GQc7aGqmRpV7Aa1OIKhJvXvYlBbwuABTrkPhRi45A==","signatures":[{"sig":"MEUCIE9MCfQ2H7ofen4lIvdMFxOIpXNuKAzS9flufJTgZ/9UAiEA/dOKIFiHvbEE5U1I7EyimBf+AjkA2PF6HaJyxXodAyk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-multi-account@1.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":364836},"type":"module","engines":{"node":">=22"},"gitHead":"f48c196ed906b99bb08247c54354bd752af21535","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"node scripts/check-package.mjs","release:check":"npm run check && npm test && npm run pack:check","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:72e91821-1f64-4a82-a56f-bacd2d8721f0"}},"overrides":{"protobufjs":"7.6.5"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.17.0","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@earendil-works/pi-ai":"^0.84.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.20.1","@earendil-works/pi-coding-agent":"^0.84.2"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.16.0_1786876877243_0.6174628585149784","host":"s3://npm-registry-packages-npm-production"}},"1.17.0":{"name":"pi-multi-account","version":"1.17.0","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.17.0","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"4a9b6ac6477b6ed04f592f176613c84b38acc7dc","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.17.0.tgz","fileCount":10,"integrity":"sha512-K+QCsUqVrrMX1VACNyjGXtF5gtgpgE7vbxt3a+iogmyLPQIg/c/CXFyBeaMA6Fvcq3eiUprTH5koY9XJCtaQUg==","signatures":[{"sig":"MEUCIQDKKwc3d1tF+HmFaPGc+M0nhmjKtzVNl5oVuXqydkq+fwIgGxHwqg6yMiicE1yrhKZ2Oh0bDhHRRAosruoaGLmOQOI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-multi-account@1.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":367269},"type":"module","engines":{"node":">=22"},"gitHead":"fa1bebd524e8811fde83337d0f0c8eceb838b565","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"node scripts/check-package.mjs","release:check":"npm run check && npm test && npm run pack:check","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:72e91821-1f64-4a82-a56f-bacd2d8721f0"}},"overrides":{"protobufjs":"7.6.5"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.17.0","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, expiry, or quota/rate-lim","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@earendil-works/pi-ai":"^0.84.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.20.1","@earendil-works/pi-coding-agent":"^0.84.2"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.17.0_1786878559993_0.42906367084559904","host":"s3://npm-registry-packages-npm-production"}},"1.20.0":{"name":"pi-multi-account","version":"1.20.0","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth","kimi","kimi-coding","cursor"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.20.0","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"00a0c7b254e33ab4dce3da101c111441f895a299","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.20.0.tgz","fileCount":22,"integrity":"sha512-9dMVmMLQxJNH3Cdh79gn4dLp1hsFhxq6zZBhD0oYxyxzEAzGKzVlRwm72L7U7hKdxv/KKxUDpY2FF0ABhI6i1A==","signatures":[{"sig":"MEUCIC5Ag4lhgNDPZ4bWYJoyYaF2NjraO4L9rKcU/FJcn+rbAiEAjaFPnj9W/9eAVw81MdcIzJzip2TKMCV0yTlkTchWsJE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-multi-account@1.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1093013},"type":"module","engines":{"node":">=22"},"gitHead":"2fc4f9c741b4867f2275353f4fc170651da6a435","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"node scripts/check-package.mjs","release:check":"npm run check && npm test && npm run pack:check","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:72e91821-1f64-4a82-a56f-bacd2d8721f0"}},"overrides":{"protobufjs":"7.6.5"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.17.0","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Kimi For Coding, Cursor, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, ","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@bufbuild/protobuf":"^2.14.0","@earendil-works/pi-ai":"^0.84.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.20.1","@earendil-works/pi-coding-agent":"^0.84.2"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.20.0_1787476774582_0.515410308474376","host":"s3://npm-registry-packages-npm-production"}},"1.21.0":{"name":"pi-multi-account","version":"1.21.0","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth","kimi","kimi-coding","cursor"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.21.0","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"b642f02375cdb53bb0fe41915ef3438fc5e986dd","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.21.0.tgz","fileCount":33,"integrity":"sha512-2ChukQ46SOSuQiiU2g/gvYpQYoxOxLqOBb6TKZije18Dj3mJHhCD5IhxYGi+77KRcXwimyYcgeQt2VuvY804Fw==","signatures":[{"sig":"MEUCIF1FMqgho9dVls4VNmS9jDFuQlxyyIf1Q1Sw6YT/PjmjAiEAnRweSQ3w3BnFPSqCQZw7LwcTQ0xm90urWovBDBIKTfc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-multi-account@1.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1377215},"type":"module","engines":{"node":">=22"},"gitHead":"2c1279c0056cd8ad1c9004de2897b84ca53d5be2","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"node scripts/check-package.mjs && node scripts/check-tracked-privacy.mjs","release:check":"npm run check && npm test && npm run pack:check","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:72e91821-1f64-4a82-a56f-bacd2d8721f0"}},"overrides":{"protobufjs":"7.6.5"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.19.0","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Kimi For Coding, Cursor, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, ","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@bufbuild/protobuf":"^2.14.0","@earendil-works/pi-ai":"^0.84.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.20.1","@earendil-works/pi-coding-agent":"^0.84.4"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.21.0_1788415706002_0.34100672290186584","host":"s3://npm-registry-packages-npm-production"}},"1.21.1":{"name":"pi-multi-account","version":"1.21.1","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth","kimi","kimi-coding","cursor"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.21.1","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"3af104e760f01776cfeb95e0b184fe4de8f1095a","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.21.1.tgz","fileCount":33,"integrity":"sha512-B70KN77tFEbnQNECiBz2ClKSTDDukEDS0LAtsLr12byoXZJqwj4+karmyuOXwBw6pxtvBjD+SvsNAJM4j6fHrg==","signatures":[{"sig":"MEUCIAhZLhGZYCV1KNb7kMuvd16TIKHDoNvyzp0rRnzXkSKYAiEAmsxy4sXCc9xZp9QeEa/wXHYekOUGvwznuhdrKA5/5RM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1391873},"type":"module","engines":{"node":">=22"},"gitHead":"1fdb95b2509afa65e305992a3cd33c06f01914d8","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"node scripts/check-package.mjs && node scripts/check-tracked-privacy.mjs","release:check":"npm run check && npm test && npm run pack:check","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"overrides":{"protobufjs":"7.6.5"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.19.0","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Kimi For Coding, Cursor, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, ","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@bufbuild/protobuf":"^2.14.0","@earendil-works/pi-ai":"^0.84.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.20.1","@earendil-works/pi-coding-agent":"^0.84.4"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.21.1_1788465182350_0.5876517127205381","host":"s3://npm-registry-packages-npm-production"}},"1.21.2":{"name":"pi-multi-account","version":"1.21.2","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth","kimi","kimi-coding","cursor"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.21.2","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"8fed5d88b75e513abcfa059e73efa94aa065116d","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.21.2.tgz","fileCount":33,"integrity":"sha512-90vbzmLupxbiPMEihjaMnd0nZDZvVzlE9RCYyfLIC7DzTv17/pEZi3/8KbyQoaINkuQoq2t5eyrSkUQ4930JHw==","signatures":[{"sig":"MEUCIDFC0DxUpS14F8J31aT2uvsdS/ws7ZN60XNTQ6WeNn55AiEAhCLmxLhrlaHjAuV5dHhIkq/81sfEEzm0tn9XVxMU1H4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-multi-account@1.21.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1394616},"type":"module","engines":{"node":">=22"},"gitHead":"697ce999d708e5ce44b0c943ed9103884aeaedc9","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"node scripts/check-package.mjs && node scripts/check-tracked-privacy.mjs","release:check":"npm run check && npm test && npm run pack:check","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:72e91821-1f64-4a82-a56f-bacd2d8721f0"}},"overrides":{"protobufjs":"7.6.5"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.19.0","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Kimi For Coding, Cursor, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, ","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@bufbuild/protobuf":"^2.14.0","@earendil-works/pi-ai":"^0.84.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.20.1","@earendil-works/pi-coding-agent":"^0.84.4"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.21.2_1788507330837_0.707670772411519","host":"s3://npm-registry-packages-npm-production"}},"1.21.3":{"name":"pi-multi-account","version":"1.21.3","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth","kimi","kimi-coding","cursor"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.21.3","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"bd380e26ebac2429e9c91eeed22d697dc69d6345","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.21.3.tgz","fileCount":37,"integrity":"sha512-wBELGtB8ZkOoMaPK9vGefx0Kjp8g1V6yg6EIorkPefBD2jg6NzJSN7pFfV3K2n3yJcXH5RQeoUF9/3sAcOLJ6w==","signatures":[{"sig":"MEYCIQCNpkr5gAn80A4Zz/KBD1f1JIDTpOPdNCYL+Jb+0V8sAQIhAPvTMHQvng6SE9dbkC+JPX/LAoSHO9/tmDnta1SJ1eIt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1392571},"type":"module","engines":{"node":">=22"},"gitHead":"531fb669bc953dbe81654fa52e0bca541cb6e069","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"node scripts/check-package.mjs && node scripts/check-tracked-privacy.mjs","release:check":"npm run check && npm test && npm run pack:check","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"sars267","email":"sars267@gmail.com"},"overrides":{"protobufjs":"7.6.5"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.19.0","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Kimi For Coding, Cursor, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, ","directories":{},"_nodeVersion":"26.7.0","dependencies":{"proper-lockfile":"4.1.2","@bufbuild/protobuf":"^2.14.0","@earendil-works/pi-ai":"^0.84.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.20.1","@earendil-works/pi-coding-agent":"^0.84.4"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.21.3_1788623277740_0.21480652019160895","host":"s3://npm-registry-packages-npm-production"}},"1.22.0":{"name":"pi-multi-account","version":"1.22.0","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth","kimi","kimi-coding","cursor"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.22.0","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"de86b1b8cce902283092340b9581d412633adcfa","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.22.0.tgz","fileCount":39,"integrity":"sha512-1vg63m3CsHCW+hmJ2rVv3lL4ZwLN9WVUSLUCwbi5ojnEXY3gf3PM5xn7JN+reo3RvXVzRkWGa4udFuJtLUHRYQ==","signatures":[{"sig":"MEUCIQD4X9uf5iq5VjCOd3yHEApMFU85RVNJ0zWaPp13FaRZhwIgUNJ2UD6Jknr4Iagu7sFvV16Z1cQIdqyqfEiDosGCPdo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-multi-account@1.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1470463},"type":"module","engines":{"node":">=22"},"gitHead":"aec21a5f188a917faa6cd5acbb230669fe7839c0","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"node scripts/check-package.mjs && node scripts/check-tracked-privacy.mjs","release:check":"npm run check && npm test && npm run pack:check","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:72e91821-1f64-4a82-a56f-bacd2d8721f0"}},"overrides":{"protobufjs":"7.6.5"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.19.0","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Kimi For Coding, Cursor, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, ","directories":{},"_nodeVersion":"24.20.0","dependencies":{"proper-lockfile":"4.1.2","@bufbuild/protobuf":"^2.14.0","@earendil-works/pi-ai":"^0.85.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.20.1","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"@earendil-works/pi-coding-agent":">=0.85.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.22.0_1789635460717_0.9359256431916696","host":"s3://npm-registry-packages-npm-production"}},"1.23.0":{"name":"pi-multi-account","version":"1.23.0","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth","kimi","kimi-coding","cursor"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.23.0","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"c8a77270bec4af56e432849e122c1396fc12fb98","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.23.0.tgz","fileCount":39,"integrity":"sha512-QsiL16E2RGZ2qseXdN2CdnnyQGfgkxD2vuMMthkgKPRiBl4NfaK6Y33mphfdqanWdK1hEGHshE5TikF87MFxOA==","signatures":[{"sig":"MEUCIEuKkLXGDi0+HpiirES9s13bO4J8sCRM73hgYmmO0DVqAiEA8HpR5nP+EYteY5E3gxBbdGTeskh4giVL+HvH5bbTMfw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCv+XWNBouKRQ5VEcRfENzXUN1jS0g+bFaQyz7GWqkzNwIgedPDQXuQ/Ne5TQvKRY5xfc4JZIhMgkrAXVsXyGQ1tLs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-multi-account@1.23.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1489905},"type":"module","engines":{"node":">=22"},"gitHead":"c4af31e097ab829a24e2c134d62e87934ad26463","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"node scripts/check-package.mjs && node scripts/check-tracked-privacy.mjs","release:check":"npm run check && npm test && npm run pack:check","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:72e91821-1f64-4a82-a56f-bacd2d8721f0"}},"overrides":{"protobufjs":"7.6.5"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.19.0","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Kimi For Coding, Cursor, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, ","directories":{},"_nodeVersion":"24.20.0","dependencies":{"proper-lockfile":"4.1.2","@bufbuild/protobuf":"^2.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.20.1","@earendil-works/pi-ai":"0.85.1","@earendil-works/pi-coding-agent":"0.85.1"},"peerDependencies":{"@earendil-works/pi-ai":">=0.85.1 <0.88.0","@earendil-works/pi-coding-agent":">=0.85.1 <0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.23.0_1790141689116_0.8959588928711228","host":"s3://npm-registry-packages-npm-production"}},"1.23.1":{"name":"pi-multi-account","version":"1.23.1","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth","kimi","kimi-coding","cursor"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.23.1","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"a2a2233ac4792a6003350f59765802491b45c4eb","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.23.1.tgz","fileCount":39,"integrity":"sha512-mToABbINTzyg56DaEzMB8TSn+TKLaK3RR9ZHTeNLLuSPTsSZz54TeQGJhXui37Psj1+AZfwXiOC/HZLEgmdCdw==","signatures":[{"sig":"MEQCIFDNXWEEkPFnNmZGBgbrZDhqAoe6QhgP8Hjqok+xzeJQAiA8/Qfb49qILjIJhL46Ox1aVZqhtliaGFMjZJce94f5gg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCID0u9y3KmIo9ufPKMqeota7mWIN/xCK4/d9R7ClAOQMJAiAAlJDil8sMAAxgi6GlSxJv7qr36xRnNrUFqphiIJ6Z4w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-multi-account@1.23.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1490433},"type":"module","engines":{"node":">=22"},"gitHead":"a2831ff632518961808fdd38a119b94866bb7add","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"node scripts/check-package.mjs && node scripts/check-tracked-privacy.mjs","release:check":"npm run check && npm test && npm run pack:check","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:72e91821-1f64-4a82-a56f-bacd2d8721f0"}},"overrides":{"protobufjs":"7.6.5"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.19.0","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Kimi For Coding, Cursor, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, ","directories":{},"_nodeVersion":"24.20.0","dependencies":{"proper-lockfile":"4.1.2","@bufbuild/protobuf":"^2.14.0","@earendil-works/pi-ai":">=0.85.1 <0.88.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.20.1","@earendil-works/pi-ai":"0.85.1","@earendil-works/pi-coding-agent":"0.85.1"},"peerDependencies":{"@earendil-works/pi-coding-agent":">=0.85.1 <0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.23.1_1790195883393_0.14907989477473893","host":"s3://npm-registry-packages-npm-production"}},"1.23.2":{"name":"pi-multi-account","version":"1.23.2","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth","kimi","kimi-coding","cursor"],"author":{"name":"sars267"},"license":"MIT","_id":"pi-multi-account@1.23.2","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"homepage":"https://github.com/Sarrius/pi-multi-account#readme","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"f3340fc3fe64b5fa38b054573c791f71dde4abbc","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.23.2.tgz","fileCount":39,"integrity":"sha512-TqUYhEkKSlXGYNaAA2ZM2SIyoUE36DlCx5jhiPKo5NczEwtqN1tsRuv74IjzNJj1VC7zLI7B63qkU1KjXO9mZA==","signatures":[{"sig":"MEUCIDEXol6Z7h/Bl+CAkxDJwL5d4HieWNTVAbmvpFiA3rhwAiEAmu3NwVZ2fQDTDsZ/Ru6+IghVabEVDRZ+Cg7o0ArOAi8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC3CwjMprFn5Mum7ezcU7/QoHTUggWfe/iXKTFjU75b6QIgMN0NqJ/OfznDh7fnTkz2Ld8G/ih54uXgWoOtUk87wOg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-multi-account@1.23.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1505257},"type":"module","engines":{"node":">=22"},"gitHead":"6d9dec7d8fbba9a584b8b2284af66389c4378517","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"node scripts/check-package.mjs && node scripts/check-tracked-privacy.mjs","release:check":"npm run check && npm test && npm run pack:check","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:72e91821-1f64-4a82-a56f-bacd2d8721f0"}},"overrides":{"protobufjs":"7.6.5"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.19.0","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Kimi For Coding, Cursor, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, ","directories":{},"_nodeVersion":"24.21.0","dependencies":{"proper-lockfile":"4.1.2","@bufbuild/protobuf":"^2.14.0","@earendil-works/pi-ai":">=0.85.1 <0.88.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.20.1","@earendil-works/pi-ai":"0.85.1","@earendil-works/pi-coding-agent":"0.85.1"},"peerDependencies":{"@earendil-works/pi-coding-agent":">=0.85.1 <0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-multi-account_1.23.2_1790232861951_0.8207263532375586","host":"s3://npm-registry-packages-npm-production"}},"1.24.0":{"pi":{"extensions":["./index.ts"]},"_id":"pi-multi-account@1.24.0","bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"dist":{"shasum":"19e148805a5d01d30ed8fe29c2bf1ddc25febdfd","tarball":"https://registry.npmjs.org/pi-multi-account/-/pi-multi-account-1.24.0.tgz","fileCount":41,"integrity":"sha512-tDYNpK7IvCprOUlyCyl9t3R8DDQ0gkB3A5CT7Mln6vuzxHaMWd+1wfmIlZ2EAI4Iz2Zev7gQvz3E7FXHxQhiXA==","signatures":[{"sig":"MEUCIQCx+Pg6mXn8SV6iexFoLPqpeLpkJmfQcfHHNcBARbzBuAIgF6He0+SkLBytR54tZaxjhqECJPWYRPWajordzXdNEmk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEdTq5/x7RPQCVE4p/fbh8UXeo6WH61WbXKKd6l3lg5kAiEA/tTL4EM6tD0vzL5cY8Rk+i+ZU3fjwL7HE8J8cVPUN1g="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pi-multi-account@1.24.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1521069},"name":"pi-multi-account","type":"module","author":{"name":"sars267"},"engines":{"node":">=22"},"gitHead":"ae7be3eb8b23fa346ab28993dd4526be53a70ffd","license":"MIT","scripts":{"test":"node --test test/*.test.ts","check":"tsc --noEmit","pack:check":"node scripts/check-package.mjs && node scripts/check-tracked-privacy.mjs","release:check":"npm run check && npm test && npm run pack:check","prepublishOnly":"npm run release:check"},"version":"1.24.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"72e91821-1f64-4a82-a56f-bacd2d8721f0"}},"homepage":"https://github.com/Sarrius/pi-multi-account#readme","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth","kimi","kimi-coding","cursor"],"overrides":{"protobufjs":"7.6.5"},"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"_npmVersion":"11.19.0","description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Kimi For Coding, Cursor, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, ","directories":{},"maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"proper-lockfile":"4.1.2","@bufbuild/protobuf":"^2.15.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^22.20.4","@earendil-works/pi-ai":"0.87.1","@earendil-works/pi-coding-agent":"0.87.1"},"peerDependencies":{"@earendil-works/pi-ai":">=0.85.1 <0.88.0 || >=0.99.0 <0.100.0 || >=1.0.0 <2.0.0","@earendil-works/pi-coding-agent":">=0.85.1 <0.88.0 || >=0.99.0 <0.100.0 || >=1.0.0 <2.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-multi-account_1.24.0_1791029045245_0.3784484356123916"}}},"time":{"created":"2026-06-09T19:50:48.786Z","modified":"2026-10-03T12:04:05.749Z","1.0.0":"2026-06-09T19:50:49.127Z","1.1.0":"2026-06-10T05:17:46.950Z","1.2.0":"2026-06-10T05:34:47.788Z","1.3.0":"2026-06-10T18:38:57.545Z","1.4.0":"2026-06-10T19:07:13.731Z","1.7.0":"2026-06-13T16:46:56.345Z","1.8.0":"2026-06-20T14:22:40.289Z","1.9.0":"2026-06-21T14:35:49.327Z","1.9.1":"2026-06-21T15:01:00.013Z","1.9.2":"2026-06-21T15:07:15.933Z","1.9.3":"2026-06-21T15:13:57.112Z","1.13.1":"2026-06-29T17:08:25.864Z","1.13.2":"2026-06-30T06:34:27.997Z","1.13.3":"2026-06-30T07:06:36.942Z","1.13.4":"2026-07-01T05:13:09.692Z","1.13.5":"2026-07-01T06:30:13.966Z","1.13.6":"2026-07-04T18:03:18.778Z","1.13.7":"2026-07-04T19:33:35.114Z","1.13.8":"2026-07-06T13:09:17.581Z","1.13.9":"2026-07-07T08:12:17.686Z","1.13.10":"2026-07-07T09:04:03.311Z","1.13.11":"2026-07-07T10:07:50.465Z","1.13.12":"2026-07-07T10:36:09.170Z","1.13.13":"2026-07-07T10:57:19.234Z","1.13.14":"2026-07-07T15:26:32.289Z","1.14.0":"2026-07-27T13:10:50.623Z","1.14.1":"2026-07-27T13:36:43.011Z","1.14.2":"2026-07-30T11:04:41.554Z","1.14.3":"2026-08-02T05:59:24.750Z","1.14.4":"2026-08-15T15:28:55.179Z","1.14.5":"2026-08-15T15:43:47.561Z","1.15.0":"2026-08-16T09:50:47.363Z","1.15.1":"2026-08-16T10:03:26.676Z","1.16.0":"2026-08-16T10:41:17.408Z","1.17.0":"2026-08-16T11:09:20.137Z","1.20.0":"2026-08-23T09:19:34.726Z","1.21.0":"2026-09-03T06:08:26.146Z","1.21.1":"2026-09-03T19:53:02.552Z","1.21.2":"2026-09-04T07:35:30.989Z","1.21.3":"2026-09-05T15:47:57.890Z","1.22.0":"2026-09-17T08:57:40.865Z","1.23.0":"2026-09-23T05:34:49.202Z","1.23.1":"2026-09-23T20:38:03.529Z","1.23.2":"2026-09-24T06:54:22.101Z","1.24.0":"2026-10-03T12:04:05.379Z"},"bugs":{"url":"https://github.com/Sarrius/pi-multi-account/issues"},"author":{"name":"sars267"},"license":"MIT","homepage":"https://github.com/Sarrius/pi-multi-account#readme","keywords":["pi-package","pi-extension","pi-agent","pi-coding-agent","agent-pi","failover","fallback","rotation","multi-account","rate-limit","quota","anthropic","claude","openai","codex","chatgpt","qwen","alibaba","ollama","glm","glm-5.2","oauth","kimi","kimi-coding","cursor"],"repository":{"url":"git+https://github.com/Sarrius/pi-multi-account.git","type":"git"},"description":"Automatic multi-account failover & rotation for Pi Agent across Anthropic (Claude), OpenAI/ChatGPT Codex, Kimi For Coding, Cursor, Qwen/Alibaba, and Ollama. Auto-discovers authenticated accounts, grows the rotation on login, and drops accounts on logout, ","maintainers":[{"name":"sars267","email":"sars267@gmail.com"}],"readme":"# pi-multi-account\n\nAutomatic multi-account failover & rotation for [Pi Agent](https://pi.dev/), across **Anthropic (Claude)**, **OpenAI / ChatGPT Codex**, **Kimi For Coding**, **Cursor**, **Qwen / Alibaba**, and **Ollama**.\n\nWhen the account you are using hits a quota or rate limit, `pi-multi-account` transparently switches to the next authenticated account/model and (optionally) resumes the interrupted task — so a long agent run does not die just because one account ran out of budget.\n\n## What it does\n\n- **Auto-discovers** every authenticated account from `~/.pi/agent/auth.json` (Anthropic Claude Pro/Max, OpenAI/ChatGPT Codex, Kimi For Coding, Cursor, Qwen/Alibaba, and Ollama) and builds the failover rotation dynamically — no manual config editing.\n- **Grows the rotation on login.** Run `/login`, choose **Use a subscription**, then select a numbered slot such as `anthropic-account-3` or `openai-codex-account-5`. The next discovery sweep adds it to the rotation automatically.\n- **Pins a preferred model per account group.** `/multi-account pin provider/model` persists a routing preference across sibling accounts; `unpin` removes it and `pins` explains its current applicability. It never changes the current model, Pi's registry, cooldowns, startup defaults, or automatic quality-band rules.\n- **Auto-discovers new Codex models per account.** At session start (and on `reload` / `rediscover`) it reads OpenAI's authenticated model catalog, mirrors each account's actually available models onto its Pi alias, and follows OpenAI's server priority. A new flagship can therefore win immediately without an extension release or a hard-coded model id.\n- **Handles auth failures without poisoning healthy OAuth accounts.** A generic final 401 briefly cools down a refreshable account and moves the current task forward. Explicit provider verdicts such as `authentication token has been invalidated` force an early refresh; if the refresh token is dead too, the slot is removed and Pi prints the interactive `/login` recovery steps.\n- **Fails over on quota / rate-limit** (429 / 402 / 403 and friends): the exhausted account goes on cooldown (parsed from the provider's own reset metadata when available) and Pi first tries another account with the same model. If it must leave the family, it preserves the model's quality band — Sol/Opus/other frontier flagships stay frontier; Terra/Sonnet stay balanced; Luna/Haiku stay fast — and keeps the session's thinking level. A fresh provider verdict of `blocked` or 100% is skipped automatically instead of wasting the turn; manual `next` remains an explicit one-attempt override for stale telemetry.\n- **Optional immediate auto-continue**: resumes the interrupted turn after a switch from the last safe point. A continuation that exhausts its newly selected account keeps advancing instead of stopping after the first hop. Temporary 5xx/overload errors and Cursor stalls retry the exact selected provider/account/model, without marking its quota exhausted. After four failed attempts (or an earlier recovery breaker), automatic retries stop with an explicit explanation; temporary errors never authorize a switch. Same-route retries are labelled as retries, not fake switches. A rejected Pi follow-up remains armed instead of losing the task. A failed or cancelled automatic compaction still continues the task instead of leaving the session parked in Working.\n- **Never hides a fresh user message in a private cooldown queue.** If no account is ready, the message remains in Pi's visible transcript and Pi owns its normal delivery/retry path.\n- **Session-bound overnight resume, independently configurable**: if every compatible account is cooling down, the live Pi session keeps the task armed by default even when ordinary post-switch `autoContinue` is off. It polls every account (quota monitoring remains active when the footer is hidden), reacts to fresh provider recovery evidence, and continues on the first genuinely usable route. A new user message, `/multi-account stop`, session exit, or Esc during a running turn cancels the chain.\n- **Deduplicates provably identical accounts** so duplicate Codex workspace memberships and identical credentials do not consume multiple rotation slots or get separate cooldowns. Different users in one Team/Business workspace remain distinct. New provable duplicate logins are rejected before the redundant slot is saved.\n- **Keeps YOUR reasoning level across automatic switches.** Whatever the session runs at — your Pi default, `/thinking`, or a per-agent `--thinking low` — is preserved and restored after every account/model switch, so it never drifts downward when a weaker fallback model clamps it. Manual `/model` selections adopt Pi's per-model thinking default in `auto` mode; an explicit CLI `--thinking` or forced `reasoningLevel` remains authoritative. The extension does not otherwise override your level, and extreme levels such as `xhigh` / Max / Ultra are never forced.\n- **Shows live limits for the active account** in Pi's footer: remaining 5-hour/session and weekly allowance plus reset countdowns for Codex, Anthropic, and Ollama Cloud accounts, SuperGrok / xAI subscription credit usage for `/login xai` OAuth (not Cursor Grok, not `XAI_API_KEY`), and GLM Coding Plan CN 5-hour/weekly credit quota for `zai-coding-cn`. GLM CN uses the raw Coding Plan API key only at `https://open.bigmodel.cn/api/monitor/usage/quota/limit`; global `zai` keys are not sent there. Missing or malformed quota is unknown, never assumed unused.\n\n## Install\n\n```bash\npi install npm:pi-multi-account\n```\n\nRestart Pi or run `/reload` after installation.\n\nRequires Node 22+ and Agent Pi / pi-ai **>=0.85.1, <0.88.0; >=0.99.0, <0.100.0; or >=1.0.0, <2.0.0**.\nCI covers Pi **0.85.1, 0.86.1, 0.87.1, 0.99.2 and 1.0.0**; Pi 0.99+ requires Node >=22.19.0.\nBoth Pi SDK packages are peers supplied by the running host. OAuth, catalogs and transports\nuse public host-bound imports; do not install a private runtime pi-ai copy alongside this extension.\nStandalone SDK callers must supply matching Pi SDK versions. Pi 0.99+ support retains numbered\naccount aliases and existing rotation/continuation semantics; it does not introduce a virtual model.\nPi-owned virtual selections and image/classifier models are not account chat failover targets.\n\nThis release does not arbitrate multiple extensions calling `pi.setModel`. Keep one automatic\nforeground selection owner: independent routing extensions can otherwise overwrite each other's\nchoices. Account failover still owns ordinary selected chat accounts; virtual models remain host-owned.\n\nKimi OAuth spares remain available in `/login`, but are not written to `models.json`: without a\nKimi child OAuth proxy those aliases would be resolvable but unauthenticated. Only real API-key\nKimi slots are published for extension-free children. Existing user entries are not deleted;\na previously generated unused Kimi alias can be removed from `models.json` and will not reappear.\n\n> **Anthropic (Claude Pro/Max) works out of the box.** OAuth login and request\n> shaping for the base `anthropic` provider and every `anthropic-account-*` alias\n> are built in — no separate `pi-anthropic-auth` install is required. If you\n> already have `pi-anthropic-auth`, the two coexist safely (the shaping is\n> idempotent). OpenAI Codex / ChatGPT and Qwen accounts work as well.\n\n### Recommended setting\n\nSet Pi provider-level retries to zero so the SDK does not keep retrying an exhausted account before failover kicks in. Pi's separate agent-level retry loop may remain enabled: the extension cancels its pending wake if that retry succeeds. Repeated temporary failures get bounded recovery on the same route, then an explicit stop—not provider failover. In `~/.pi/agent/settings.json`:\n\n```json\n{ \"retry\": { \"provider\": { \"maxRetries\": 0 } } }\n```\n\n## Usage\n\nAdd accounts by opening the login picker:\n\n```text\n/login\nUse a subscription\nChatGPT Plus/Pro (Codex openai-codex-account-2)\n/multi-account rediscover\n```\n\nPi 0.79.3 does not accept a provider argument after `/login`; select the account\nslot from the interactive provider picker instead.\n\nCheck what's in the rotation at any time:\n\n```text\n/multi-account status\n```\n\nForce-refresh and display detailed limits for the active account:\n\n```text\n/multi-account limits refresh\n```\n\nExample status output:\n\n```text\npi-multi-account: enabled · auto-discover ON\nCurrent: anthropic/claude-opus-4-8\nCurrent limits: Claude | 5h 0% left/2h14m | 7d 92% left/1d18h\nRotation (3): anthropic → openai-codex → openai-codex-account-2\nRegistered login slots: anthropic-account-2, openai-codex-account-2\nCooldowns: none\nInvalidated (need re-login): none\nPending auto-resume: none\n```\n\n### Commands\n\nAll three names are aliases for the same command: `/multi-account`, `/provider-failover`, `/failover`.\n\n| Subcommand | Description |\n|---|---|\n| `status` (default) | Show enabled state, current model, rotation, login slots, cooldowns, invalidations, pending resume. |\n| `limits [refresh]` | Show active-account session/weekly limits; `refresh` bypasses the cache. Aliases: `usage`, `quota`. |\n| `accounts [refresh]` | List every configured slot with provider-reported alias/email, plan, limits, and live routing status. Uses cached metadata unless `refresh` is explicit. |\n| `rediscover` | Force a re-scan of `auth.json`, rebuild the rotation, and refresh Codex model catalogs now. |\n| `add [anthropic\\|codex\\|kimi\\|cursor\\|ollama\\|qwen]` | Print the next free account slot to select from the interactive `/login` picker. Subscription families (Anthropic, Codex, Kimi, Cursor) are logged in through `/login`; API-key families are filled in `auth.json`. |\n| `remove [anthropic\\|codex\\|kimi\\|cursor\\|ollama\\|qwen\\|<provider-id>]` | Remove an account from `auth.json` and rotation. Family name drops the highest numbered alias slot; a full provider id removes that exact slot. Aliases: `rm`, `delete`. |\n| `next` | Manually switch to the next compatible-quality fallback, deliberately overriding recorded cooldowns for one attempt. Use explicit `switch` to select a different tier. |\n| `pin <provider/model>` | Persist a model preference for that provider's account group. A numbered alias applies to its siblings too. Requires an idle live parent; does not select the model. |\n| `unpin <provider-or-family>` | Remove one group's pin without changing its underlying `preferredModels` or catalog order. Idempotent; requires an idle live parent. |\n| `pins [list]` | Read-only sorted list of pins and known catalog/account/cooldown/quality applicability. Never refreshes credentials or probes providers. |\n| `pick` | Open a model picker for the current account only. Uses native model selection and its thinking default; never removes models from the shared registry. Requires an idle interactive session. Built-in `/model` remains unchanged. |\n| `save-default` | Save the current model and effective thinking level together as global startup defaults for new sessions. Preserves other models' thinking preferences. Project overrides, explicit CLI options, and resumed-session settings still take precedence. Automatic rotation never invokes this. |\n| `only-active [on\\|off]` | Legacy picker preference; use `pick` for a current-account-only menu. The complete Pi model registry remains available to all clients. Alias: `focus`. |\n| `stop` | Abort and cancel automatic failover/resume for the current task. |\n| `reset` | Clear all cooldowns, invalidations and any pending auto-resume. |\n| `reload` | Reload config from disk and re-discover accounts. |\n| `enable` / `disable` | Turn failover on/off for the current Pi process. |\n\n### Model pins\n\n```text\n/multi-account pin openai-codex-account-2/gpt-5.4\n/multi-account pins\n/multi-account unpin openai-codex\n```\n\nPins live in `provider-failover.json` under `pinnedModels`, keyed by account group (for example\n`openai-codex`, `anthropic` or a custom provider's base ID). Other sessions adopt edits on\n`reload` or restart. Extension configuration commands share a locked read-latest transaction;\nunrelated settings and other groups' pins survive concurrent extension writes. A failed/cancelled write does not change the runtime preference.\n\nA pin leads the group's underlying preference/catalog order, but **a healthy exact-model\nsibling still wins**. A pin is not evidence that an older model is a newer flagship. Missing\nmodels remain saved but inactive until the catalog supplies them; cooling or unauthenticated\naccounts stay ineligible. A cheaper pin cannot demote frontier work. Select the cheaper model\nexplicitly with `/model`, `pick` or `switch provider/model` to enter that quality band. A\nprovider-only `switch` and automatic compaction cannot use a pin as cheaper-tier consent. Pi-owned\nvirtual/image/classifier models cannot be pinned as account chat fallbacks.\n\n## How rotation membership works\n\n- **Joins the rotation** when an account has a present, non-expired credential in `auth.json` (after `/login`).\n- **Leaves the rotation** when the credential is logged out / removed, its access token is expired with no refresh token, an API key is rejected, or a refreshable OAuth credential produces three distinct final auth failures without a success in between.\n- **Quota / rate-limit** does not invalidate an account — it puts it on a temporary cooldown and the account returns once the cooldown expires.\n- **Duplicate identities** share one rotation position and one cooldown, and status/startup identifies the redundant slot. Codex/ChatGPT is matched by the JWT's stable `chatgpt_account_user_id` workspace-membership claim; tokens without it use the documented `chatgpt_user_id` plus workspace id, with stored `accountId` as the final legacy fallback. Identical API keys or literal identical tokens are also matched. Separate Anthropic OAuth logins cannot be proven identical because Anthropic's stored credential exposes no stable account identifier.\n\nRotation refresh is triggered by changes to `auth.json` (detected on session/turn start) or on demand with `/multi-account rediscover`.\n\nAfter re-authenticating an invalidated slot, restart any older Pi processes that\nwere already running. Pi keeps a still-unexpired access token in each process's\nmemory, so an old process can continue using the invalidated token even after a\nnew `/login` updates `auth.json`.\n\n## Configuration\n\nA default config is created at `~/.pi/agent/provider-failover.json` on first run. Useful keys:\n\n| Key | Default | Description |\n|---|---|---|\n| `enabled` | `true` | Master switch. |\n| `autoContinue` | `true` | Immediately continue after a successful account/model switch or same-route temporary retry. This does not control the all-accounts-limited wait. |\n| `resumeAfterAllAccountsRecover` | `true` | When a real quota/rate limit leaves every compatible account cooling, keep the interrupted task armed in the current live session and resume on the first account that becomes genuinely usable. Independent of `autoContinue`; set `false` to opt out. |\n| `autoDiscover` | `true` | Auto-discover accounts from `auth.json`. |\n| `autoDiscoverModels` | `true` | Fetch OpenAI's authenticated model catalog for every Codex account and register new models on that account's alias automatically. |\n| `includeQwen` | `true` | Include Qwen / Alibaba accounts. |\n| `includeOllama` | `true` | Include Ollama (local) accounts. |\n| `neverFailoverProviders` | `[]` | Provider ids to never automatically fail away from, e.g. `[\"my-provider\"]`. Foreground startup/input preflights, pending retries, and compaction leave these routes to Pi even with stale cooldowns. Manual switches remain allowed. For **unmanaged** providers that run their own retry logic (typically a companion extension owning retries for that provider) — switching accounts underneath it would fight those retries. Managed accounts still cool and rotate normally. |\n| `includeCursor` | `true` | Include Cursor subscription accounts. The Cursor provider is a separate, optional repo — until it is cloned this setting does nothing at all: no cursor login slot is offered and no warning is printed. Run `/multi-account add cursor` to get the install instructions. |\n| `childProxy` | `true` | Serve OAuth rotation slots to processes that do not load this extension (a memory extension consolidating its notes, an external CLI, any `pi -p --no-extensions` call) through a loopback route this process owns. A bare child launched without `--model` inherits Pi's **saved global default**, which since Pi 0.84.3 intentionally may differ from this session's live rotation; an explicitly pinned child uses its requested slot. Without a usable publication either form can fail authentication and fall back to whichever provider Pi finds first. The published route carries a non-secret placeholder; the real credential never leaves the parent. |\n| `providerOrder` | `[\"anthropic\",\"openai-codex\",\"qwen\",\"ollama\"]` | Preferred family order in the rotation. |\n| `cooldownMs` | 6 h | Default cooldown when no reset metadata is provided. |\n| `showUsage` | `true` | Show active Codex/Claude/xAI limits in Pi's footer. |\n| `usageRefreshMs` | 5 min | Per-account usage cache TTL; every authenticated rotation account is refreshed independently, and Anthropic is clamped to at least 10 min to avoid endpoint throttling. |\n| `usageStatusRefreshMs` | 1 min | Re-render the footer and sweep idle sessions for stale usage/model catalogs; network refreshes remain limited by their five-minute (Anthropic: ten-minute) TTLs. |\n| `maxAutoContinuesPerPrompt` | `8` | Cap on auto-resume hops per task. |\n| `continuationPrompt` | (built-in) | Template; supports `{from}`, `{to}`, `{reason}`. |\n| `maxRecheckIntervalMs` | `600000` (10 min) | Ceiling on how long a quota snapshot may bench an account before background refresh/re-evaluation. A fresh explicit provider verdict (`serviceable: false`) is authoritative during that interval and is skipped by automatic routing; manual `next` can still spend one deliberate probe. |\n| `preserveInterruptedContext` | `true` | Rewrite the turn that triggered the failover into a verbatim `[handoff:interrupted-turn]` record so the account taking over still sees the reasoning, output and tool calls of the turn pi-ai would otherwise drop as unreplayable — including which calls never returned. Deterministic (never moves the prompt-cache breakpoint) and hard-capped. Set to `false` for the previous drop-everything behaviour. |\n| `continueAfterCompaction` | `true` | After an **automatic** compaction, carry the task on instead of ending the run and waiting for the user to type \"continue\". This covers both Pi's threshold/overflow path (a follow-up is queued while compaction is still in flight so Pi's own `hasQueuedMessages()` route drains it) and the extension's context-guard summary (a real turn starts only from Pi's completion callback, because that guard compacts from an already-idle boundary). One continuation shares the `maxAutoContinuesPerPrompt` budget with failover and is skipped for a manual `/compact`, when Pi is already retrying, when another message/turn is present, and after the user pressed Esc. The message tells the model that finishing is valid. Set `false` only when another installed extension owns post-compaction continuation. |\n| `providerPriority` | managed families, per-token providers last | Where work goes once **every** account of the current provider is spent. An ordered list of provider groups — a managed family, or the base id of anything else you are logged in to (`openrouter`, `zai`, `minimax`…), which `providerOrder` could never name. Three bounds: same-provider failover always runs first and is untouched (588 of 602 automatic failovers in a real black box stayed inside the family — that step already worked); an account on a real cooldown is never chosen over a free one; and a group nobody ranked sorts after every group somebody did. Inside those bounds it settles the hop that used to be arbitrary — the other 14 of those 602 scattered across five destinations with no policy behind them. It sits below the per-account liveness signals on purpose: evidence about one account beats a preference about its category. Set with `/multi-account priority ...`. |\n| `contextGuard` | `true` | Keep every request inside the model's context window **while the agent is working**. Pi ≥0.84.4 also compacts between tool execution and the next assistant request. This optional guard adds a local window cap (especially for advertised 1M windows). Existing elisions are reapplied before measuring the outgoing request; another batch is added only when it crosses the soft threshold again, rather than invalidating the cached prefix on each tool turn. Above 75 % of the usable window the oldest large tool results are left out of the outgoing request (the transcript is never touched); above 70 % a real summary is requested at the next settled boundary. The size is measured locally rather than taken from the provider, because Cursor and openai-codex both report the size of their own server-side copy of the conversation. Pass an object to override `softPercent`, `targetPercent`, `compactPercent`, `keepVerbatimTokens`, `minElideTokens`, `maxWindowTokens` (default `400000`: a ceiling on advertised windows, since a model claiming 1 000 000 puts Pi's own threshold out of reach entirely). `false` disables it. |\n| `routeCompactionToHealthyAccount` | `true` | When the active account is rate-limited/invalid and Pi needs to compact, generate the summary on a healthy fallback account. If every live attempt fails, cancel — never hand the job to Pi's default on the spent account (that is the infinite \"Compacting context…\" spinner). |\n| `compactionWatchdogMs` | 8 min | Upper bound for one routed compaction attempt. A timed-out attempt is aborted and the next live account is tried. |\n| `resumeIdleTimeoutMs` | 90 s | Max time to wait for the previous turn to go idle before a resume gives up and retries later (never an unbounded loop). |\n| `stuckWatchdogMs` | 180 s | A resumed turn silent for this long (with no tool running) is treated as wedged. |\n| `autoRecoverStuck` | `true` | When a resume wedges, auto-cancel it and retry the same provider/model within the shared recovery budget, instead of only notifying. Set `false` for notify-only. |\n| `debugLog` | `true` | Write a structured \"black box\" decision log to `provider-failover-debug.log` (no credentials — only provider/model ids and truncated reasons). View with `/multi-account log`. |\n| `preferLatestModel` | `true` | Rank the strongest/current model ahead of older siblings within the current quality band during automatic failover. |\n| `reasoningLevel` | `\"auto\"` | `\"auto\"` follows the level the session actually runs at (your Pi default, `/thinking`, per-agent `--thinking`) and only restores it after switches. Set an explicit level (`\"off\"`…`\"xhigh\"`) to **force** it on every turn regardless of the session — `\"xhigh\"` only if you really want the extreme level. |\n| `preferredModels` | `{}` | Optional manual strongest-first override per family; when present it wins over live catalog priority. A model pin leads this order without rewriting it. |\n| `pinnedModels` | `{}` | One explicit model ID per account group, managed by `pin` / `unpin`. Inactive when unavailable/incompatible; never grants account health or a different automatic quality band. |\n\nState (cooldowns, invalidations, recent switches, credential-free Codex model catalogs, and a diagnostic pending marker) is persisted to `~/.pi/agent/provider-failover-state.json`. The actual pending task is session-local: one Pi window never consumes or resumes another window's work. Pending work is discarded when its owning session closes.\n\n### Session model ownership\n\nRequires the supported Agent Pi versions listed above. Pi's session branch and explicit SDK/CLI launch model are authoritative. Shared account telemetry and legacy `lastUserModel` / `lastUserThinkingLevel` state cannot replace another pane's live selection, and shutdown does not publish that selection as a global default. Cold-catalog repair uses this session's model history once at startup. Configure Pi's saved default explicitly for new sessions.\n\n### Host-owned background completions\n\nWhen the host exposes `registerCompletionRouter`, Multi Account registers one credentialless completion router with it. This is capability-detected, not inferred from the Pi version: stock Pi 0.85.1 does not expose this optional API, so the integration remains inactive there. Extensions can request isolated background completions through Pi without importing or calling Multi Account. The router sees operation IDs, model identities, attempt outcomes, and provider response facts only; prompts and credentials remain inside the host.\n\nBackground attempts share the same cooldown and invalidation state as foreground routing. Quota, authentication, model, and transport failures can select a healthy fallback; parser and consumer failures do not affect route health. The route lease is operation-local: it never calls `pi.setModel`, queues a continuation, or changes the user's selected foreground model.\n\n### pi-subagents and delegation-broker compatibility\n\n`pi-subagents` marks native child processes with `PI_SUBAGENT_CHILD=1` and owns their explicit model plus `fallbackModels` chain. Under terminal Pi, a distinct concurrent in-process child also stays passive while a root activation is live. A replacement with the **same nonempty session ID** reacquires that root's failover ownership without closing its child proxy. The root lease is released at final session shutdown, so `/reload` and `/new` do not permanently lose routing ownership. In passive children this extension stays loaded only for provider/account registration, OAuth request shaping, and catalog support. It deliberately does **not** restore the interactive process's remembered model, persist the child's model as a user preference, switch models, queue work, or auto-continue after errors. The original provider error is returned unchanged so the parent runner can advance its verified fallback chain without a second router competing for model identity.\n\n### Multi-session hosts (pi-web and other in-process SDK hosts)\n\nSome hosts run many independent sessions in a single long-lived process — pi-web's session daemon, or in-process SDK hosts such as Enso (one session per chat thread). Terminal Pi's in-process root-activation lease would incorrectly demote every session but the first to passive in those hosts.\n\n- Under pi-web (`PI_WEB_SESSION=1`, set by the daemon itself) every session activates as an independent root automatically.\n- Any other multi-session host opts in by exporting `PI_MULTI_ACCOUNT_INDEPENDENT_ROOTS=1` in the host process. Set this only when each session truly owns its model; sessions that share one model identity must keep the default single-root behavior.\n- Genuine `pi-subagents` children are unaffected either way: they run in a runner process marked `PI_SUBAGENT_CHILD=1`, which always takes precedence and stays passive.\n\nHosts should not set `PI_WEB_SESSION` themselves — other extensions read it to detect pi-web specifically.\n\nIn one process, independent roots share one canonical loopback proxy and its child-facing auth/models publication while any root has the child proxy enabled. Closing one root cannot expose its sibling's real OAuth or remove the route its bare children use; the final live root closes the listener and restores the original auth. A rehydrated session with the same ID replaces the old instance's failover ownership rather than counting as a second root. Another process holding the canonical port remains the publisher; a foreign listener is never allowed to overwrite its shared files.\n\nRoots with `childProxy: false` still participate in the shared lifetime if another root publishes placeholders. Any public numbered alias they registered earlier is moved to loopback **before** the placeholder appears; they keep the canonical listener alive if the publisher exits first, and only the final root restores auth. With no other publishing root, disabling `childProxy` retains the usual direct route. Hosts should still keep one consistent setting across concurrent roots.\n\n[`pi-delegation-broker`](https://github.com/Sarrius/pi-delegation-broker) is an optional companion for splitting work among isolated child agents, with task budgets, reports and verification. Each extension works independently and depends on Agent Pi, not on the other extension. Together, Multi Account manages your interactive account rotation while the broker delegates through Pi's registered providers and models. Neither installs or initializes the other.\n\n## Staying unstuck (resilience)\n\nA failover is only useful if the agent actually keeps working afterward. These guarantees keep a switch from silently freezing the session:\n\n- **Compaction survives account limits — and never leaves the spinner running.** When your context fills up and the active account is rate-limited, the summary is generated on a *healthy* account. If that attempt times out it is aborted (not leaked) and the next live account is tried. If none can finish, compaction is cancelled so \"Compacting context…\" stops; Pi's default is never given a spent account.\n- **Resumes only happen when there is something to resume.** The extension continues a turn only when it actually ended in an error it can pick up from — it never tries to \"continue\" a finished reply (the cause of the cryptic `Cannot continue from message role: assistant` error).\n- **A forward-progress watchdog that acts.** If a resumed turn goes completely silent (no streaming, no tool activity, no provider response) and no tool is running, the extension auto-cancels the wedged turn and retries the same provider/model within the recovery budget — you do not have to press Esc or re-type the prompt. A long, silent build/test command is never mistaken for a wedge.\n- **A circuit breaker as the floor.** If automatic recovery keeps failing, the extension drops to *advisory mode*: confirmed quota limits can still select a fresh account, but temporary errors preserve the selected route and stop the auto-continue that was failing, so a bad state can never spiral into repeated hangs. It re-enables itself on the next success, a new prompt, or `/multi-account reset`.\n- **A black box for diagnosis.** Every decision (switch, error and how it was classified, watchdog action, breaker trip, compaction routing) is appended to `~/.pi/agent/provider-failover-debug.log`. If anything misbehaves, run `/multi-account log` — the exact sequence is there, so a bug can be reproduced and fixed instead of guessed at. The file is bounded in size and redacts token-shaped material; review private project details before sharing it.\n\n## Privacy & security\n\n`pi-multi-account` reads credentials through Pi and its account store. Account removal, OAuth refresh and parent-owned proxy publication can update the credential files under Pi-compatible locks. Proxy publication keeps a private recovery copy before replacing a credential with a loopback placeholder, and restores the real credential before deleting that copy. Credentials are never stored in rotation state. Account/token values are reduced to a short irreversible SHA-256 fingerprint for re-login detection and deduplication. Credentials are sent only to their own provider endpoints: usage/account probes (`chatgpt.com/backend-api/wham/usage`, `api.anthropic.com/api/oauth/usage`, `cli-chat-proxy.grok.com/v1/billing`, `open.bigmodel.cn/api/monitor/usage/quota/limit` (CN Coding Plan keys only), Ollama Cloud's `/api/me` and `/api/usage`, or Ollama's loopback-only `http://127.0.0.1:11434/api/me` fallback), OpenAI's authenticated `chatgpt.com/backend-api/codex/models` catalog, and provider OAuth token endpoints when Pi's authentication implementation refreshes a login (for xAI, `auth.x.ai/oauth2/token`). Cached state contains percentages, reset times, plan/credit metadata, model metadata, provider-reported account email/alias, and the fingerprint, never the token. Config, state, and the debug log are written with `0600` permissions. The debug log records only provider/model ids, decisions, and truncated reasons — token-shaped material is redacted defensively — Review logs for private project details before sharing an issue. Disable it with `\"debugLog\": false` or `/multi-account log off`.\n\n## Compatibility validation\n\n`npm run release:check` runs TypeScript, the full suite, and package/privacy checks. CI also runs\nthe suite on the supported newer Pi versions. Host-binding tests load the real extension wrapper\nthrough Pi with a deliberately incompatible nested pi-ai, inspect native request bodies, and\ncomplete a streamed tool-call/result cycle without real credentials or provider traffic.\nA real `pi --no-extensions` subprocess also exercises a numbered Anthropic OAuth slot and native\n`read` tool roundtrip against a fake upstream. Its non-secret OAuth-shaped placeholder preserves\nnative identity and tool mapping; real credentials remain in the parent. Legacy publications\nmigrate only with an intact parent-side recovery copy. Production refresh persists into the\nprivate sidecar under the auth lock without briefly replacing the child's placeholder. API-key\naliases remain direct native publications; stale loopback metadata accepts only the current key.\nCancellation aborts the proxy's upstream request; ordinary API-key request semantics remain unchanged. These are deterministic regressions,\nnot a claim of live Anthropic or Codex-image acceptance.\n\nThe optional companion Goal integration is selected explicitly; it never assumes a personal path:\n\n```bash\nPI_GOAL_TEST_ENTRY=/path/to/pi-goal/dist/index.ts node --test test/goal-quota-recovery.integration.test.ts\nPI_GOAL_TEST_ENTRY=/path/to/pi-goal/dist/index.ts PI_GOAL_EXHAUST_ALL=1 node --test test/goal-quota-recovery.integration.test.ts\nPI_GOAL_TEST_ENTRY=/path/to/pi-goal/dist/index.ts PI_GOAL_EXHAUST_ALL=1 PI_GOAL_RECOVER_ALL=1 node --test test/goal-quota-recovery.integration.test.ts\n```\n\nThese exercise successful multi-hop continuation, quiet all-account waiting with explicit pause,\nand resumption after quota recovery. The test is explicitly skipped when no companion path is supplied.\n\n## License\n\n[MIT](./LICENSE)\n\n\n### Help make these tools more reliable\n\nUse them on real work? Share a reproducible [issue](https://github.com/Sarrius/pi-multi-account/issues), a small regression test, a documentation improvement, or a focused PR. Include Pi/extension versions and expected versus actual behavior; remove credentials and private task data. Shared fixes cover more providers and workflows than one maintainer can test alone.\n","readmeFilename":"README.md"}