{"_id":"model-orchestrator","_rev":"31-a435db3c17ee9c0286afe2064e810de7","name":"model-orchestrator","dist-tags":{"latest":"0.1.34"},"versions":{"0.1.4":{"name":"model-orchestrator","version":"0.1.4","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli"],"license":"MIT","_id":"model-orchestrator@0.1.4","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"ea23e72b6104665c3afbb32e07175e5a9489b4bd","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.4.tgz","fileCount":81,"integrity":"sha512-oGy5zwWq3FN30zdRxZOAHGdO/YIIm6h3xcsTOIcNFG+JSzVTjI+U+KnvbdcFinY1ci9bA68DgUYgy32yR+b/uw==","signatures":[{"sig":"MEQCIBsPus0n4PHAgnv1W6aWZpvSO7HCTit+5Fwe2blGIEnHAiAjZZfy+MbpIiLwmHos76vl6BkJ6YNh+twduY7uz/UGuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":257269},"type":"module","engines":{"node":">=18"},"gitHead":"9b24164780f0c8c8338f7629cd41d61931d8d661","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"aunysillyme","email":"aunysillyme@gmail.com"},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"10.9.8","description":"A model orchestrator you can npm run: route every task to the cheapest AI that does it well, across one agent, many CLIs, or a whole virtual machine. Three levels, one installer that asks what you have access to.","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.4_1788626737920_0.5213627560716199","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"model-orchestrator","version":"0.1.5","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli"],"license":"MIT","_id":"model-orchestrator@0.1.5","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"a36884788e270022d402327ca3dcd7ab81fb1504","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.5.tgz","fileCount":81,"integrity":"sha512-iqfRBjmzcfQudadXNRyFpCS5sIRT7sdKzmUM7at5/vFzC6qNxL3+44DJxqIeDOITr+tqC7mbph+GSV0zhUcO5A==","signatures":[{"sig":"MEQCIBZsSYvMpPfc/6xvDFKgYyK1okBE/DZP89R3uY1v+HDIAiBthkfBIWvqFL1geO9OPLvsskPh3imK02SPJCtitdrZjg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCusvegkNAVtfgJA/JsY4jD4H7qbTeC48V4ysvUZhfRNgIhAN/En88PiUIp5WRT789GGdmmG9LXxp1+xC5odxjJaoDM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":257847},"type":"module","engines":{"node":">=18"},"gitHead":"23d962b8d3a781c0751aa95f6fbc57110a4c3f8e","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"A model orchestrator you can npm run: route every task to the cheapest AI that does it well, across one agent, many CLIs, or a whole virtual machine. Three levels, one installer that asks what you have access to.","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.5_1788629176476_0.03809325713214262","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"model-orchestrator","version":"0.1.6","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli"],"license":"MIT","_id":"model-orchestrator@0.1.6","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"695cd89d05fb4f86a5b8f21fca5cdeea8f0941af","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.6.tgz","fileCount":81,"integrity":"sha512-CCzcyblqg7jI/pXzvWbM3Iol3bsEJh/8rl52upwWV8YdmxctNmDI/nXbDLqGLRJVR+DBWjlQFkudJMeiLhF6Ew==","signatures":[{"sig":"MEQCIF1460nrYrLEPWskq4BCvuKpXMjEOS8STpCRQfZ8SIYcAiA0KcBoGl61ls5mzG9OHK1tu1vprojMbNlth4vRaebzuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDvnJsOjm0hTdQshZPKuypGZOSi9xzgAFK9v09Mbg5E8AiBM2yIt0l2yHdt46eaI+gBId/z2xamcDRiO22L+TRoYOQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":260451},"type":"module","engines":{"node":">=18"},"gitHead":"fc603a3c90ead4b93704205880d369d65adb0bfd","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"A model orchestrator you can npm run: route every task to the cheapest AI that does it well, across one agent, many CLIs, or a whole virtual machine. Three levels, one installer that asks what you have access to.","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.6_1788630900265_0.3309684384981846","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"model-orchestrator","version":"0.1.7","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli"],"license":"MIT","_id":"model-orchestrator@0.1.7","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"45e9594581bc3c5dc7e96d3083c775e50e4b5ab1","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.7.tgz","fileCount":81,"integrity":"sha512-rTuJKNtpMbD3FpbDvy4d+LkrcWw1DGbPZvSae/pBN0uqI0tIGqeTndx10hRGlX8/XChFzvyfQrtfk6Ye4mKdvQ==","signatures":[{"sig":"MEQCIE51+bEKBYDVeAc6DALXWtt03jYjnj+1CZbgVmlhgLHsAiBfU2T1xjTkwELAyj7TCzgeeSLLGp62BHFWQSjU6vTt6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEZ7bKx662d9ZfrJn2VG4wc1FgBWjOsCo4hXcMiss5YtAiAJnmRAwq2e85qKxrjqraTQd3KW0lrDppKoCL827IShXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":263128},"type":"module","engines":{"node":">=18"},"gitHead":"fd74caf710f9d150d661617f351c5a1ebab67d5b","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"A model orchestrator you can npm run: route every task to the cheapest AI that does it well, across one agent, many CLIs, or a whole virtual machine. Three levels, one installer that asks what you have access to.","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.7_1788639795477_0.6583103799091112","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"model-orchestrator","version":"0.1.8","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.8","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"1cdb4862637daf05e766e141cdf5fea28cbd1322","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.8.tgz","fileCount":81,"integrity":"sha512-YT5eWJBEiq0ZRLy+lxkqGJtL61DBS2baZR7qKHoiiWU+Bd/jF805bQFQYC5mEYmkCuURkElPgrSneZsfpbe17A==","signatures":[{"sig":"MEQCIEKYhnVrKyItVqyxNBwy1hRFZaQ34UBakNh5m5Id6ErUAiAjDnLQ3tdCsqLlcCim/4/sRSTMREZ1OBufc1Ay8Z/Vyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCLp82Ab+5FOYUp9jtYSp/QXkr78BB6FFeC1yLrZC1SKQIhAIK6ENM67/yM88F5p7w4QwPgRFQk9DKNa4Byet/s0vIo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":263694},"type":"module","engines":{"node":">=18"},"gitHead":"caafb184fe08d31d9bbd3d8b5680af7d9356ea8c","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"A model orchestrator you can npm run: route every task to the cheapest AI that does it well, across one agent, many CLIs, or a whole virtual machine. Three levels, one installer that asks what you have access to.","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.8_1788742393597_0.1622797117418613","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"model-orchestrator","version":"0.1.9","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.9","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"11ac4c4f0d5e09f535675db2c20ba5dd7c05b2b6","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.9.tgz","fileCount":81,"integrity":"sha512-wEf3l5Wv8pgd9MmuRh0e5/mF3+bNFUPrOINPRuwSDuRuDfeqD4yrdDJeR0csSTjjHusWQ2jwQKylFqJ9oE8/yA==","signatures":[{"sig":"MEUCIAhuhd8QzzOXKZoJq+38rz6qhAqfUD7woDU6UDQw4yiTAiEAgTn7naq5YDRUET/F9vDa7AtYLDwTvJOMFbXMVVje6ok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDe9H39U3IjzA42NxoEJlbxi++RfHkGBwVlj9b+3dCjiAIhAMoUOGDn1So4zuNBGX+5W1Yge/w2LVKjw3HhAX7kLD7T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":267578},"type":"module","engines":{"node":">=18"},"gitHead":"f641a12c1d70b832ab6b3580abcecb823940faf2","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"A model orchestrator you can npm run: route every task to the cheapest AI that does it well, across one agent, many CLIs, or a whole virtual machine. Three levels, one installer that asks what you have access to.","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.9_1788750790034_0.44407528043620315","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"model-orchestrator","version":"0.1.10","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.10","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"0860abaffd89a6baa76b55b66a2a72307218a7cc","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.10.tgz","fileCount":81,"integrity":"sha512-eDIz75y0O+Zs6EQD197CvnD+i89m9H/utUGI9Ieh7Y4/XgIZCe7p7xzla/bqumYrPCI4+sbMQKAHRdpTyh6Vag==","signatures":[{"sig":"MEQCIC0nhT8pOC+eesJF/kGi4Zgd9zL/Lqphni5kIaB76rfKAiAkWDA2XmxkvzG9y6W+Y66ZRzfiCVnjuGvCOkbQfzvIrw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC8KKS7ZPutgSK92GjztSQPWXwluTRh+n343YvCDnk4LAIgBzDQG8isvoEOCtcIOeaTfprv40ttWNPjnSlnR95f6FM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":270335},"type":"module","engines":{"node":">=18"},"gitHead":"cc0143335b6ab209c7e339cfec140b07779a17cb","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"A model orchestrator you can npm run: route every task to the cheapest AI that does it well, across one agent, many CLIs, or a whole virtual machine. Three levels, one installer that asks what you have access to.","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.10_1788764240468_0.3649301004911327","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"model-orchestrator","version":"0.1.11","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.11","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"e6c6d072efc6fce2043aae59ed59c5d151fd8a12","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.11.tgz","fileCount":81,"integrity":"sha512-HIDpy91MWNs0HgVY9gYaDmar+l6q76YtE/EyrPQ6rq0Dq6w8F+W9AJq2mEHVQBZ/E9AS7Qbo/hwspQ/8UfXxBQ==","signatures":[{"sig":"MEQCIBw+tFSCZDuPHI80cs5tnFdTJYtIrGVdZZV7Z1EfssJ4AiBox6wIuyujrl80Kd+K+A91DCsEoHp7Yz06pIGqExTalA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGMNQY7bpdf0im5nG3FvQBag3gzDnr3ganctoOPa6Fd8AiEAgXybk5vSY2+7x4XRwb+zoHSFVK+sz31NyXrquLB8Qm8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":271432},"type":"module","engines":{"node":">=18"},"gitHead":"1a74f929e8bce2f9f21323d858f7f61d4b645b53","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"Routing instructions and a CLI runner for your AI tools. One installer asks what you have access to and generates a matching setup, from one chat app to several agent CLIs or a virtual machine.","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.11_1788765785860_0.07969465786880892","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"model-orchestrator","version":"0.1.12","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.12","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"82aef4a705230c916882a65fdb6ef02fe33331df","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.12.tgz","fileCount":81,"integrity":"sha512-4SpUu2Yo7lfF9yavzSpckH4FE9rIi8wbXD7y6yqrdNgVwSdmIpoBENckDx6JjGY2TuynvmJzhfuZcOOU5PgLtw==","signatures":[{"sig":"MEQCIFQt7Y8OyvjRYoLc08+wfcwQJtOF8nrnd4OtlfeAAFPjAiBdFFckorCTnVe2IDvaMHrtbglRJomVg5sna9jFlMiDrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBYMzlX+nfxB34c0JzJ8JmQ0IvuKzMCKU4BuBB2jUwY1AiEA9xBP4k/jxEhswkVCvemh4QOvoaeDq9+7wfAokN5mlWI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":286511},"type":"module","engines":{"node":">=18"},"gitHead":"9f4f3f723e0a71dfdff6e77be3a62ca16c1371b3","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"Routing instructions and a CLI runner for your AI tools. One installer asks what you have access to and generates a matching setup, from one chat app to several agent CLIs or a virtual machine.","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.12_1788911355513_0.18638038481479158","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"model-orchestrator","version":"0.1.13","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.13","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"0442f77ecff644d5cd063a218c1ad9eaeb03fe55","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.13.tgz","fileCount":81,"integrity":"sha512-Gkh7lRv5TuaI94IopHiQhMgjMSNdEEPqNtNLPTqke7mxRfYzPZikLSHVbCa07KixXu+S14jad0GinfR6ceg+KA==","signatures":[{"sig":"MEUCID84fqohROc94uEZ9hHjPKY3DZxt4dSN/vfkKksdmwQAAiEA9MtxGQndXPyhx+7QXPQP8IGZDx/WCXs5cNzAz7WsiYU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDbcy4g7Rl5cyPiEjvepqDO8/kqjuwmueAfFMzc36MUUgIgSRAtGcy6DUcGu7nql8McboAzJIUw2wi5/sBv/VhUSYg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":290995},"type":"module","engines":{"node":">=18"},"gitHead":"9928d496c86e9e2665d6ad84c4e531e79f431594","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"Routing instructions and a CLI runner for your AI tools. One installer asks what you have access to and generates a matching setup, from one chat app to several agent CLIs or a virtual machine.","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.13_1788915911581_0.8770022435364717","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"model-orchestrator","version":"0.1.14","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp","reasoning-effort","model-routing","code-review","ai-agents"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.14","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"0ceda2bfa6e1129c1027344fdfce92ed620390b7","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.14.tgz","fileCount":83,"integrity":"sha512-ki2BxMTqI9jeDtDxpuLambQSfRb3Wya2QG8XPHTMN3xOpbpefvxj/1CARrwX23W34D8YZ+tXubqccH/lKkV/9A==","signatures":[{"sig":"MEYCIQC+lN+C5CSuaXQQajkoW88jZlWlF8z6dfglz5qSbJEHGwIhANt2JqJ2ihoaek64m3QFEww2rxEv0tbA3dgBmmmhN5fK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDQUgIzXAdSWQ4+h4rQbTZg1wQ9Fs8HA3ptIPZrY7u5+gIhAJFLQOoKue3WAapx39poKm5csKSEbYSm0h60uBX5jyjf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":318940},"type":"module","engines":{"node":">=18"},"gitHead":"036c934fcfaf5860cfd9f692c8f83a609ea4f443","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"Routing instructions and a CLI runner for your AI tools. One installer asks what you have access to and generates a matching setup, from one chat app to several agent CLIs or a virtual machine. Routes by role, complexity and risk; pins and logs the model ","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.14_1788969361443_0.0775275390756347","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"model-orchestrator","version":"0.1.15","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp","reasoning-effort","model-routing","code-review","ai-agents","hooks","claude-code-hooks","delegation","llm-router","ai-router","model-switching","multi-model","token-optimization","token-efficiency","cost-optimization","llm-orchestration","agent-orchestration","ai-orchestration","claude","anthropic","openai","gemini","claude-code-router","agent-routing","prompt-routing","coding-agent","ai-coding"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.15","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"8a3d14acf258b36392db72a8e7d7a67226c70ca5","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.15.tgz","fileCount":92,"integrity":"sha512-bj0Ydo/ilc4LLUV2vVs98aO9gdRYLHhrca1389GdJ+3qgpFb7Soq9KKXbJC5hPy+gqsaHZBhmLwC4Rdp2L7/zQ==","signatures":[{"sig":"MEUCIQDKWmi2oFkQfmI3Evz17xsrRF0VMwfL1erMk0LzwYwEqAIgKh6PoKSNzcNvgkC8M0+AgqjrM0rcDeyUitMNwKDMNEw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEUmiOmWFa9rj+tSRNqjpJMRd/11uuEfw+rpakFb3q7xAiEAqyUxHUKfbFSR6pqEm3qrdKx0otCXQxHrBzIJ5z4T72g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":376533},"type":"module","engines":{"node":">=18"},"gitHead":"01383851fbd260e48930275f08a98afedb4f9a14","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"Model orchestrator for AI coding agents and LLMs: Claude Code, Codex, Gemini, Grok, Qwen, Ollama. Routing rules tell your agent which model, subagent or CLI to use for each task, so small work goes to cheap tiers and fewer tokens go to frontier models. On","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.15_1789098948785_0.4390242501057422","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"model-orchestrator","version":"0.1.16","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp","reasoning-effort","model-routing","code-review","ai-agents","hooks","claude-code-hooks","delegation","llm-router","ai-router","model-switching","multi-model","token-optimization","token-efficiency","cost-optimization","llm-orchestration","agent-orchestration","ai-orchestration","claude","anthropic","openai","gemini","claude-code-router","agent-routing","prompt-routing","coding-agent","ai-coding"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.16","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"ca0ca6158ed89862ec9db185f277084311fa661e","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.16.tgz","fileCount":93,"integrity":"sha512-l5TSpGTyiWdmST9VNIEVmc3DLJVuTvunsINSPayAbsy8WfbeCKGjscfY1Y+cxFM3Y2hFSCbk0FdJzPiqqP7oFQ==","signatures":[{"sig":"MEQCIF6sZYXClgf4Vn8+IM1Y3c0gI36ONTQ+BGAf2l0ihZ2pAiBN3w0rDSR8fVV0PCLAxyO0T43auH7r7ZeoDsUQjdlbzQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFFQgt61ErfnRLFbkRWsjh+VHVAH5Nf3GVHgWQ2BZ7e7AiAynKUcPaXcOWLUar+4BqKohdGqWyRn78QOY0K/9HF/+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":410302},"type":"module","engines":{"node":">=18"},"gitHead":"9cb895c7b557f4d900e2ce1fc072be5e483dec0e","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"Model orchestrator for AI coding agents and LLMs: Claude Code, Codex, Gemini, Grok, Qwen, Ollama. Routing rules tell your agent which model, subagent or CLI to use for each task, so small work goes to cheap tiers and fewer tokens go to frontier models. On","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.16_1789104472118_0.8086553708798396","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"model-orchestrator","version":"0.1.17","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp","reasoning-effort","model-routing","code-review","ai-agents","hooks","claude-code-hooks","delegation","llm-router","ai-router","model-switching","multi-model","token-optimization","token-efficiency","cost-optimization","llm-orchestration","agent-orchestration","ai-orchestration","claude","anthropic","openai","gemini","claude-code-router","agent-routing","prompt-routing","coding-agent","ai-coding"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.17","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"0d668547fa01aaf7a0535122e6ebcceb49fe4ee1","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.17.tgz","fileCount":93,"integrity":"sha512-MHuVvRtaFGRW7tp+krPo4ZwBwCCxfVwMySBniHXPwWrAEvdP+Z7DuO8VX3X+9tr7KiDzofMzEv4XPdD3p7mBLg==","signatures":[{"sig":"MEUCIGo+U4b96a4Ipsi7Q12IhaRjTskNlf3CGqz9PX0NIwqfAiEAzOEPhU6fb+xvY8M1eI5+9Pcq/kYYrtNcogPR2ylHxTs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD72MLte78r6UkDLNCA1e0lD9AMFPsEkmTqHQjUjUO9PAIhANjWRIHUqV6M9dksGBDowHnaptpJanHb6gbkTpZ7w6+T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":412526},"type":"module","engines":{"node":">=18"},"gitHead":"da6f1318ef80bd7b32a14d610fbfaf88e361e580","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"Model orchestrator for AI coding agents and LLMs: Claude Code, Codex, Gemini, Grok, Qwen, Ollama. Routing rules tell your agent which model, subagent or CLI to use for each task, so small work goes to cheap tiers and fewer tokens go to frontier models. On","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.17_1789109466940_0.48569196664008407","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"model-orchestrator","version":"0.1.18","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp","reasoning-effort","model-routing","code-review","ai-agents","hooks","claude-code-hooks","delegation","llm-router","ai-router","model-switching","multi-model","token-optimization","token-efficiency","cost-optimization","llm-orchestration","agent-orchestration","ai-orchestration","claude","anthropic","openai","gemini","claude-code-router","agent-routing","prompt-routing","coding-agent","ai-coding"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.18","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"ff7b7464e17030e77aca97d09cb8d2b50c95e7ac","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.18.tgz","fileCount":93,"integrity":"sha512-7luD3+/StcMwXW6oUFZ6FEByE7L1IvNRtgHv0hHBkLjTLbTZSIyiDSzTVM5dasXdobGv59a8j6PydX1FpldkuQ==","signatures":[{"sig":"MEUCIQDjzBV8fqrK7qj+NIWqej8KxRbJwlrcYV3sNsZNogpA2gIgT8+q45ti/tVkQLEVkZTX0v9yyaiYTE22jtPXHGbIukk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCfz+5cocIftIhwkgoY0Oi5WUBLR/kXbc5Rnuga5XMSlwIhAPYOxm1vh5iYmiyXjtwzmOxRzqduS3PfFsPpMua4ixgj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":440791},"type":"module","engines":{"node":">=18"},"gitHead":"35d86ba20967c73ece9c674860b4c3496a5d9fc3","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"Model orchestrator for AI coding agents and LLMs: Claude Code, Codex, Gemini, Grok, Qwen, Ollama. Routing rules tell your agent which model, subagent or CLI to use for each task, so small work goes to cheap tiers and fewer tokens go to frontier models. On","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.18_1789144791580_0.1782785125632993","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"model-orchestrator","version":"0.1.19","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp","reasoning-effort","model-routing","code-review","ai-agents","hooks","claude-code-hooks","delegation","llm-router","ai-router","model-switching","multi-model","token-optimization","token-efficiency","cost-optimization","llm-orchestration","agent-orchestration","ai-orchestration","claude","anthropic","openai","gemini","claude-code-router","agent-routing","prompt-routing","coding-agent","ai-coding"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.19","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"a6bb827802492f45d4af5020c64a7289816ce301","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.19.tgz","fileCount":93,"integrity":"sha512-EqHmMCMJUZcXuR3p3l27ZEXy48NSfbvWoOoxxEOwv6+dNz48IZHpyRo5dfuAulnuoGW18EreJ7kgKsiRu18wVg==","signatures":[{"sig":"MEYCIQDBDI9SY2OW3H2X70GqHCeZe3UZDl3BrkhDHpXLDb27gwIhAJfaPzPcnCukw9fw1Q9rDK+8u9eKLjK1sFDcMwcdEHVI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC/L0iTLPpJXw/bHkPMqrKMxpT/y19uap+hLitzDcISoQIhANH1QWWGc9q7CvXWqaMc5z9/7mBgu5Y71CLlXsoPhkWZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":443008},"type":"module","engines":{"node":">=18"},"gitHead":"d8f742be12e88da3306249b4bb7aeb2b6990b5d2","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"Model orchestrator for AI coding agents and LLMs: Claude Code, Codex, Gemini, Grok, Qwen, Ollama. Routing rules tell your agent which model, subagent or CLI to use for each task, so small work goes to cheap tiers and fewer tokens go to frontier models. On","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.19_1789208690742_0.7672561723256406","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"model-orchestrator","version":"0.1.20","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp","reasoning-effort","model-routing","code-review","ai-agents","hooks","claude-code-hooks","delegation","llm-router","ai-router","model-switching","multi-model","token-optimization","token-efficiency","cost-optimization","llm-orchestration","agent-orchestration","ai-orchestration","claude","anthropic","openai","gemini","claude-code-router","agent-routing","prompt-routing","coding-agent","ai-coding"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.20","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"cb8aeae4befcfdb89b8fbab0df516487db05a2b5","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.20.tgz","fileCount":95,"integrity":"sha512-esgJ5ak93KeOaB2t4FnJu3n5UXgTv7j+PoQIU6rHlwMum9YozMBuTrvA6R4XowmEru411PV37/FEHZevhySxFQ==","signatures":[{"sig":"MEUCICCnqDZnLkxJi7D+EN8AYwPxjVgms6lyrY+SFO5hYwgbAiEA+Njnypc3+LCB60i/TT18pQcs4hHfaXAGie3EceDDBWo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDXlKtq+Yvr1RKMsAnKvymciQqOVSDZ2/Ubucjb5z+8eQIhAL80oI4oZHyy8hTUSdcTjHOaEhd7W3hS73JcyEZEduwy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":460345},"type":"module","engines":{"node":">=18"},"gitHead":"5bc8c41b3913095911e834e8d7a8df24b70bae6d","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:plugin":"node scripts/gen-plugin.js","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"Model orchestrator for AI coding agents and LLMs: Claude Code, Codex, Gemini, Grok, Qwen, Ollama. Routing rules tell your agent which model, subagent or CLI to use for each task, so small work goes to cheap tiers and fewer tokens go to frontier models. On","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.20_1789245901128_0.029394369322471192","host":"s3://npm-registry-packages-npm-production"}},"0.1.21":{"name":"model-orchestrator","version":"0.1.21","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp","reasoning-effort","model-routing","code-review","ai-agents","hooks","claude-code-hooks","delegation","llm-router","ai-router","model-switching","multi-model","token-optimization","token-efficiency","cost-optimization","llm-orchestration","agent-orchestration","ai-orchestration","claude","anthropic","openai","gemini","claude-code-router","agent-routing","prompt-routing","coding-agent","ai-coding"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.21","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"4ad8f0fd0bfdfe0fe731333f0d2c3f3f86589c0a","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.21.tgz","fileCount":95,"integrity":"sha512-tYlveVAYa+D9l1BWjV8Oi5GKWwZ4de0L7cdpZPCf+Hd86DFhNyuepE4nF/V10TucM/EMsV3dFmvSyoGv+Fvhbw==","signatures":[{"sig":"MEYCIQCPtP0Sdb/98dS9VtTZLMq4s3ITyDbf3s14vRNe0abyCgIhAKu/zlrKlQxT26dgtdyrCW65w38NbQEdglNTBjmUYXX5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGiZrO7cgriwJgSw2+pIptRI97stOUnot9pxKDSRE5s0AiEA8l56pvDcTIXijeqrcsRQPZ2oAMIumMnM16sPyJpa8TA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":477861},"type":"module","engines":{"node":">=18"},"gitHead":"1af4cfcc322749c5753967ab37b40c2e4c7d1e00","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:plugin":"node scripts/gen-plugin.js","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"Model orchestrator for AI coding agents and LLMs: Claude Code, Codex, Gemini, Grok, Qwen, Ollama. Routing rules tell your agent which model, subagent or CLI to use for each task, so small work goes to cheap tiers and fewer tokens go to frontier models. On","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.21_1789250640408_0.0832563633309773","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"model-orchestrator","version":"0.1.22","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp","reasoning-effort","model-routing","code-review","ai-agents","hooks","claude-code-hooks","delegation","llm-router","ai-router","model-switching","multi-model","token-optimization","token-efficiency","cost-optimization","llm-orchestration","agent-orchestration","ai-orchestration","claude","anthropic","openai","gemini","claude-code-router","agent-routing","prompt-routing","coding-agent","ai-coding"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.22","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"afdb2c0d85dd93e140ed3fcb073da86b7fa41df7","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.22.tgz","fileCount":95,"integrity":"sha512-BFUX5AXP596onEjLakk7ds/WXJKWRG7eNz+feJK0o7mbp5UbBuYMf0bEvhlMbaRIxRBZJobEE80fRVn4F1rC6g==","signatures":[{"sig":"MEYCIQDEn44ZaNexaN91CRBcBxqzXbqIA9JRGYOWDReOtO65TgIhAPBDg24D2xjoVfoDyczowpNhUC+Pc9Q/IoKodc9HL6gM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCWBWukMf+9g3urnVXDUbCiJ2wYLa1+LMv+fxB0fEDRmgIgZViFincXkUAcSB3I0bCNgHnWeFaME19H+rjFOaQvh8g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":478547},"type":"module","engines":{"node":">=18"},"gitHead":"11561deead20bdd0ffd8b27e643db8725774311b","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:plugin":"node scripts/gen-plugin.js","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"Model orchestrator for AI coding agents and LLMs: Claude Code, Codex, Gemini, Grok, Qwen, Ollama. Routing rules tell your agent which model, subagent or CLI to use for each task, so small work goes to cheap tiers and fewer tokens go to frontier models. On","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.22_1789251731719_0.09280708611872468","host":"s3://npm-registry-packages-npm-production"}},"0.1.23":{"name":"model-orchestrator","version":"0.1.23","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp","reasoning-effort","model-routing","code-review","ai-agents","hooks","claude-code-hooks","delegation","llm-router","ai-router","model-switching","multi-model","token-optimization","token-efficiency","cost-optimization","llm-orchestration","agent-orchestration","ai-orchestration","claude","anthropic","openai","gemini","claude-code-router","agent-routing","prompt-routing","coding-agent","ai-coding"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.23","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"d4b36e5b0fbc6ef1779dc88c472e23452460cf96","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.23.tgz","fileCount":95,"integrity":"sha512-lVYIFMLZ/qWOPxPCnq5VL+b5O98okl7xjOgF0+rPIkmpu82QgFdVmWhZ0creAlOZ+1L6paTd5uLfVqr4yPspiA==","signatures":[{"sig":"MEUCIFKDS3pQOetgXNO9dWfQKxS7vLgcjf05gTCAJfXAAHXzAiEAypeEsBBLqnp5rpXxc0n/xVAxWptSv6fncVdq+UH0Ayo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDLz9dRgDjYTwmmGZJG4BHcDMyBLihRcE9xY67UStRxtwIgRU6s2tPitQWRjVohlkHVJEI72y2652laqxQ3FFgDMus=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":510266},"type":"module","engines":{"node":">=18"},"gitHead":"3f0085a9a575c8603c78ce05430f2c58406d0aae","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:plugin":"node scripts/gen-plugin.js","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"Model orchestrator for AI coding agents and LLMs: Claude Code, Codex, Gemini, Grok, Qwen, Ollama. Routing rules tell your agent which model, subagent or CLI to use for each task, so small work goes to cheap tiers and fewer tokens go to frontier models. On","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.23_1789445947237_0.7301929558085025","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"model-orchestrator","version":"0.1.24","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp","reasoning-effort","model-routing","code-review","ai-agents","hooks","claude-code-hooks","delegation","llm-router","ai-router","model-switching","multi-model","token-optimization","token-efficiency","cost-optimization","llm-orchestration","agent-orchestration","ai-orchestration","claude","anthropic","openai","gemini","claude-code-router","agent-routing","prompt-routing","coding-agent","ai-coding"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.24","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"3d7e4c87d16d34e24934e2ac4eadbaaec5172135","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.24.tgz","fileCount":104,"integrity":"sha512-a0bDWTNwEoaeWhuSQsIlqFZkG7wuLA8V6VPZyClRMuLLps7dyise1H0FECl50Jpqu797kZPVJHQ00l4Aqf9+EQ==","signatures":[{"sig":"MEUCIQCzHvzOMjeiIfphQ44iEaA0zdBSVImoDNbkuSXW2A2VPgIgI1/L7W1j4TNcgsjUoyI6sd3HIRjQpeqd9s6efpBR5W0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCDEJs6noKpfsaiGifhp4ZVP9vyyWdv+f2rqXgzf9vB1AIhAOew+xDdRNeYCV0E4ukht1KMVuuHgIF2IgpepbgB9hww","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":533100},"type":"module","engines":{"node":">=18"},"gitHead":"f4f3d55a188a97f795bfc66803e339ef25ff0912","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:plugin":"node scripts/gen-plugin.js","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"Model orchestrator for AI coding agents and LLMs: Claude Code, Codex, Gemini, Grok, Qwen, Ollama. Routing rules tell your agent which model, subagent or CLI to use for each task, so small work goes to cheap tiers and fewer tokens go to frontier models. On","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.24_1789775365294_0.7220826281096107","host":"s3://npm-registry-packages-npm-production"}},"0.1.25":{"name":"model-orchestrator","version":"0.1.25","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp","reasoning-effort","model-routing","code-review","ai-agents","hooks","claude-code-hooks","delegation","llm-router","ai-router","model-switching","multi-model","token-optimization","token-efficiency","cost-optimization","llm-orchestration","agent-orchestration","ai-orchestration","claude","anthropic","openai","gemini","claude-code-router","agent-routing","prompt-routing","coding-agent","ai-coding"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.25","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"a010b22ae0e9d518ae619edff96a1db7dc53ee3c","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.25.tgz","fileCount":105,"integrity":"sha512-cEEx3L9jkIuTH/E5zQzWnLrEQLxE4oWsxAlkjBj/zstZWxxArE66qujW1/aG+R155jmbiyYGCDo1L89Ylpxg+A==","signatures":[{"sig":"MEUCIQC0MlGIRuexhGGbIGdrdnFp3SNrDELBDezPF0TZdw4OrgIgGKOmLqWKp+RslwKVi/J6i8qefRCk8+BlPsXFQCBGmeM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFNG4UtLXNpqv7QlT0w2PQrEecQcv42CUdTiy+EdLl/4AiEAkW7CwBBYUfF5S5aAbdov0IKzxk/KUHAhEOAO8cMiGRU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":535325},"type":"module","engines":{"node":">=18"},"gitHead":"6fb7ecea1d01bed95ef18e9abc8b7400f813151c","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:plugin":"node scripts/gen-plugin.js","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"Model orchestrator for AI coding agents and LLMs: Claude Code, Codex, Gemini, Grok, Qwen, Ollama. Routing rules tell your agent which model, subagent or CLI to use for each task, so small work goes to cheap tiers and fewer tokens go to frontier models. On","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.25_1789840683880_0.14736146905786396","host":"s3://npm-registry-packages-npm-production"}},"0.1.26":{"name":"model-orchestrator","version":"0.1.26","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp","reasoning-effort","model-routing","code-review","ai-agents","hooks","claude-code-hooks","delegation","llm-router","ai-router","model-switching","multi-model","token-optimization","token-efficiency","cost-optimization","llm-orchestration","agent-orchestration","ai-orchestration","claude","anthropic","openai","gemini","claude-code-router","agent-routing","prompt-routing","coding-agent","ai-coding"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.26","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"e46ff928b614fb493449ae3999de7354e330bb37","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.26.tgz","fileCount":105,"integrity":"sha512-JXO47PmAM3KPfNjHOMMGdL9rQA1adSzJfgIObqi3MVuaA81mdUsQ5zNsIOMT69fUdUCG1HybljSvsRpB3KVYDA==","signatures":[{"sig":"MEYCIQDnmj3erBdRxX33430fmEFk8IFrlP7zm2KJfprJ8RmIkwIhAJb1Cj7Yt8Ln/TWCqLPxIsnuzTNh6u8BQaqwOeYeZmQ4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDMcDAJEPWcF//ChQotcG02L3tYSDN0grLVuZKsM5G39gIhAOHyPV1nvcSi7WWsyo6KDhyq29Fo4CjxwLgyw4h7kCUM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":542966},"type":"module","engines":{"node":">=18"},"gitHead":"5402bd7e541f5ffad9367423e509fdb64764d856","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:plugin":"node scripts/gen-plugin.js","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"Model orchestrator for AI coding agents and LLMs: Claude Code, Codex, Gemini, Grok, Qwen, Ollama. Routing rules tell your agent which model, subagent or CLI to use for each task, so small work goes to cheap tiers and fewer tokens go to frontier models. On","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.26_1789862365725_0.18727855945042782","host":"s3://npm-registry-packages-npm-production"}},"0.1.27":{"name":"model-orchestrator","version":"0.1.27","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp","reasoning-effort","model-routing","code-review","ai-agents","hooks","claude-code-hooks","delegation","llm-router","ai-router","model-switching","multi-model","token-optimization","token-efficiency","cost-optimization","llm-orchestration","agent-orchestration","ai-orchestration","claude","anthropic","openai","gemini","claude-code-router","agent-routing","prompt-routing","coding-agent","ai-coding"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.27","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"11d9b35a34439892eead0d19210b9e9d6a33e663","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.27.tgz","fileCount":109,"integrity":"sha512-freKHATCZ5z9FPYmcsFN3p5tLnpEeBsakFZm1p3VbdUvLNWU17KMgJmaTZUhTY3rfo62zHgYbnKL+kiZGjKZJQ==","signatures":[{"sig":"MEUCIQC1yDHRTPYf+9EN3JHh0inWNHAOEjCwt2Te5KQtSlDERwIgRCJ6X3mAypXMKq8WeeEECv5b/FETqVqFNCXGb3nM7uU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGqkSbX3eGG/vl5B8/scIArNEWAcl2q01jIz79xaPTBuAiEAn/ez7wSSubJCTdZ1bpWYD7d+mNkBte7GWLvm6Pj7yik=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":546431},"type":"module","engines":{"node":">=18"},"gitHead":"5731956a4b55a67c1541f94d4f0e0522b6e40b07","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:plugin":"node scripts/gen-plugin.js","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"Model orchestrator for AI coding agents and LLMs: Claude Code, Codex, Gemini, Grok, Qwen, Ollama. Routing rules tell your agent which model, subagent or CLI to use for each task, so small work goes to cheap tiers and fewer tokens go to frontier models. On","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.27_1790020659130_0.42145044443535995","host":"s3://npm-registry-packages-npm-production"}},"0.1.28":{"name":"model-orchestrator","version":"0.1.28","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp","reasoning-effort","model-routing","code-review","ai-agents","hooks","claude-code-hooks","delegation","llm-router","ai-router","model-switching","multi-model","token-optimization","token-efficiency","cost-optimization","llm-orchestration","agent-orchestration","ai-orchestration","claude","anthropic","openai","gemini","claude-code-router","agent-routing","prompt-routing","coding-agent","ai-coding"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.28","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"43016543cad7e1c29ac6b59c85f52c9f80e36d6d","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.28.tgz","fileCount":111,"integrity":"sha512-YliqTyxOOIEhLwlXnfGhhyhflXWA523LRl+hes93Q/voSzy/gwISkzFe0H0NqRS1ITfUhJn1Glsg1w5Idpoxjg==","signatures":[{"sig":"MEYCIQC0dxuWv9JPrwHRzQxGTABKBpRuTwowdTGuuQlFOKQeuwIhAKiLNE/M6EztvQefp/ZHe2bZsZe1KUxEwSfMKM8WPF5N","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCqAGTurpHSbrco7TzWiJQ2W/2kQmUW6OqD5V31VcXhPAIhAL1bc3S6LtrLdOpkUb69q/NmN2GT5zcNGSepFUQcMrlZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":613056},"type":"module","engines":{"node":">=18"},"gitHead":"64bfa8092d314f8ae9320c338cab78e6b4af0047","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:plugin":"node scripts/gen-plugin.js","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"Model orchestrator for AI coding agents and LLMs: Claude Code, Codex, Gemini, Grok, Qwen, Ollama. Routing rules tell your agent which model, subagent or CLI to use for each task, so small work goes to cheap tiers and fewer tokens go to frontier models. On","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.28_1790025303211_0.9011322936678636","host":"s3://npm-registry-packages-npm-production"}},"0.1.29":{"name":"model-orchestrator","version":"0.1.29","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp","reasoning-effort","model-routing","code-review","ai-agents","hooks","claude-code-hooks","delegation","llm-router","ai-router","model-switching","multi-model","token-optimization","token-efficiency","cost-optimization","llm-orchestration","agent-orchestration","ai-orchestration","claude","anthropic","openai","gemini","claude-code-router","agent-routing","prompt-routing","coding-agent","ai-coding"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.29","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"f663cd4d650d03fd0728467ad73908c0c13231c2","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.29.tgz","fileCount":111,"integrity":"sha512-I16xA9dr0/CZgoNo5MEP47d6Mz8gV+T12/EmwEO8yrD63VyQ64DamGEfW+nzTf3wT6Z/Hz4fDSLkgtA8wREBwA==","signatures":[{"sig":"MEUCIQCSaE/6gcpCeMXEAUiMXeOdEErOmAhRBqucUQUGhesM3QIgJQC8NgVHHblYWiYxxmsbkXw4jRqvY43iHGKgCBeQc0k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDrCfC06JUd3kzirumOBwfTNv+uUuH/8bW7OnE697n0vgIgORnyDnc+6jyG9g28ocWEB5EsEFJcqjMZ1d91QDMskb8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":613679},"type":"module","engines":{"node":">=18"},"gitHead":"2a453bf120781f82f0dce0ad97ed91791b86ff68","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:plugin":"node scripts/gen-plugin.js","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.0.2","description":"Model orchestrator for AI coding agents and LLMs: Claude Code, Codex, Gemini, Grok, Qwen, Ollama. Routing rules tell your agent which model, subagent or CLI to use for each task, so small work goes to cheap tiers and fewer tokens go to frontier models. On","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.29_1790025554807_0.7438293074975868","host":"s3://npm-registry-packages-npm-production"}},"0.1.30":{"name":"model-orchestrator","version":"0.1.30","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp","reasoning-effort","model-routing","code-review","ai-agents","hooks","claude-code-hooks","delegation","llm-router","ai-router","model-switching","multi-model","token-optimization","token-efficiency","cost-optimization","llm-orchestration","agent-orchestration","ai-orchestration","claude","anthropic","openai","gemini","claude-code-router","agent-routing","prompt-routing","coding-agent","ai-coding"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.30","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"615a0d204221690feeaea610d462dcf3718763e2","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.30.tgz","fileCount":111,"integrity":"sha512-oY/XWVcEy+jY6Dsaa5BTKfxdKhoZP+GCZMPxXVhtwW084XqTP3Bdlf5M09KZ8w5l8ZNpxdwQw+SHQPiKv1eA+g==","signatures":[{"sig":"MEUCIEB8KzwaT9P+oeP67HC7HZ3mtD/4FXJZR9HMB53HKWgfAiEAr3ldiDpCfz8ek8f8jiaor/G8rLC3d6tgBedxgb2zeGk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDNOmRBflWeR+43C1Mo//vdPOdkGDAvWgAPSIK0rY1MCQIgZGDxhbrQNRHv60O6bnDrUySq020Ya2RejyVUx9WatQ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":615044},"type":"module","engines":{"node":">=18"},"gitHead":"9f64223cd7522e4a19911102437da89edaac62ee","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:plugin":"node scripts/gen-plugin.js","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.1.0","description":"Model orchestrator for AI coding agents and LLMs: Claude Code, Codex, Gemini, Grok, Qwen, Ollama. Routing rules tell your agent which model, subagent or CLI to use for each task, so small work goes to cheap tiers and fewer tokens go to frontier models. On","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.30_1790130341637_0.0059917069104411524","host":"s3://npm-registry-packages-npm-production"}},"0.1.31":{"name":"model-orchestrator","version":"0.1.31","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp","reasoning-effort","model-routing","code-review","ai-agents","hooks","claude-code-hooks","delegation","llm-router","ai-router","model-switching","multi-model","token-optimization","token-efficiency","cost-optimization","llm-orchestration","agent-orchestration","ai-orchestration","claude","anthropic","openai","gemini","claude-code-router","agent-routing","prompt-routing","coding-agent","ai-coding"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.31","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"cee964727fc421625830d0c0716e4ef3fc3796a6","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.31.tgz","fileCount":112,"integrity":"sha512-+Vn1JWSTw5qy8fNq2oOou2R+S4qmPuIjaLW9LG7WnfK/1Tf0s2BkUqM5U8mZECAveRHWl+8ue7R/HHzosu/Jfg==","signatures":[{"sig":"MEYCIQC/yUEW6Z/TNP4Y2Qb3+iX84oleHq7DUXhPZMpzmwiQwQIhAJ9jOkOoZw05vNrWyjK6kUc0Ic4GFwOGV6PvfNUGDIsK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCIK3lX7WJML0edXPIvLOvYcnDP1WXq3FIUc3MEzDjcHQIhAKj3iMf5L+pyG+tH4Awg/CfqaBQkpj+wvOY1/V3I0f50","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":633498},"type":"module","engines":{"node":">=18"},"gitHead":"5b58ecb0f7d99094e5546d76c50bd2fce108c017","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:plugin":"node scripts/gen-plugin.js","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.1.0","description":"Model orchestrator for Claude Code, Codex, Antigravity (Google): routing rules so small work goes to cheap tiers and fewer tokens go to frontier models.","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.31_1790186632155_0.6014751353144467","host":"s3://npm-registry-packages-npm-production"}},"0.1.32":{"name":"model-orchestrator","version":"0.1.32","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp","reasoning-effort","model-routing","code-review","ai-agents","hooks","claude-code-hooks","delegation","llm-router","ai-router","model-switching","multi-model","token-optimization","token-efficiency","cost-optimization","llm-orchestration","agent-orchestration","ai-orchestration","claude","anthropic","openai","gemini","claude-code-router","agent-routing","prompt-routing","coding-agent","ai-coding"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.32","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"ab41b43c581c1bbb17db8aa28fbf931167a9d679","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.32.tgz","fileCount":112,"integrity":"sha512-N4x65yu/7/0d/PkFtyekWb7BvROwXJkbH35zYQCqRp3JuD+U1wiAJjZzG6oouygmF8rduzCXKTspFrlCZPF9pA==","signatures":[{"sig":"MEQCICJWLPCz/mOtRG1QtasC2atsQjyN2GYtlSR/lPI/YhXxAiB3i1bCjMYZC+ob8100DCOAeS/MUbMp7Ob1o9Q35FAZOQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQChjEJWoHx7yOoMJZrddvnWLze7uZTltHTx+cA3niH+wwIhAJzM0wqC7KtnsR0P2Ziq1rPVc4yGr2hdJ/IkpO4dsQvX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.32","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":633399},"type":"module","engines":{"node":">=18"},"gitHead":"9a88bb4dcbf4a0298206cfbb370cb65f08bc0839","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:plugin":"node scripts/gen-plugin.js","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.1.0","description":"Model orchestrator for Claude Code, Codex, Antigravity (Google): routing rules so small work goes to cheap tiers and fewer tokens go to frontier models.","directories":{},"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.32_1790192452764_0.16391054393705207","host":"s3://npm-registry-packages-npm-production"}},"0.1.33":{"name":"model-orchestrator","version":"0.1.33","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp","reasoning-effort","model-routing","code-review","ai-agents","hooks","claude-code-hooks","delegation","llm-router","ai-router","model-switching","multi-model","token-optimization","token-efficiency","cost-optimization","llm-orchestration","agent-orchestration","ai-orchestration","claude","anthropic","openai","gemini","claude-code-router","agent-routing","prompt-routing","coding-agent","ai-coding"],"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","_id":"model-orchestrator@0.1.33","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"bin":{"model-orchestrator":"bin/cli.js"},"dist":{"shasum":"c829b5ec25c55ab318e8e8a38f5dab3016666e58","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.33.tgz","fileCount":113,"integrity":"sha512-wOseYGGLkMOn8efeyWzFSNbfGLLyiy0mGaMHjoiX9kAZ2JoGxglcTLJ/TI4va/QxNRLQ20TbuKgUmsq1o4xHfQ==","signatures":[{"sig":"MEYCIQDfbC4QR7U50Fg6OPMwPgqBQ/XNGp+Nv9GK34wCzdggaAIhAI9w5LWssHKaZMtqbttVGFwPT7A8jdOgNskdiZmTNUIN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIE/7DRhAcTzUnaeIZ2lVV/H2zSxAvDo/pGeIoolL6yK2AiEAwJPXwiQ1eAJ3iHxMUSTDs5Jib2JtngY8JpYXbrxebw0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.33","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":650327},"type":"module","engines":{"node":">=18"},"gitHead":"a264aeff7bf5c52ea1114d9a3e76498d7b6c1d9a","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:plugin":"node scripts/gen-plugin.js","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.1.0","description":"Model orchestrator for Claude Code, Codex, Antigravity (Google): routing rules so small work goes to cheap tiers and fewer tokens go to frontier models.","directories":{},"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/model-orchestrator_0.1.33_1790219091001_0.9327718099232876","host":"s3://npm-registry-packages-npm-production"}},"0.1.34":{"_id":"model-orchestrator@0.1.34","bin":{"model-orchestrator":"bin/cli.js"},"bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"dist":{"shasum":"333311df6d279101364ca3c33dc8c41b6a1a0cd4","tarball":"https://registry.npmjs.org/model-orchestrator/-/model-orchestrator-0.1.34.tgz","fileCount":113,"integrity":"sha512-piGB/aVyTB5qAVjKO1Y69RQXDN8nWG91hOAIeUOcigiTwGO+UcoliUeGJUoakt/F/TZpBEsP7PKO/4Vl7SREaA==","signatures":[{"sig":"MEUCIDWUqgkZKAw/fvTRnGaMZd4EQE4KjXgEDfpw+GbvqQz1AiEAmsZLIV1717+whlgQEt86LCMc8e+y/4wBDYCeJJbFqz4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICU4dUPPkwIYcPvu7h4eLH2IBUwr7f+1/QQk6bRx2+U/AiB0FHriTfWY7IxhBcV1E7RvHFSgKTK2HVHPYrfULzeFRQ=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/model-orchestrator@0.1.34","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":650731},"name":"model-orchestrator","type":"module","author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"engines":{"node":">=18"},"gitHead":"dabd5ea16fcbdcce252d0eae476dc49be00e9425","license":"MIT","scripts":{"test":"node --test","start":"node bin/cli.js","dry-run":"node bin/cli.js --yes --level 2 --ais claude-code,codex,grok --dir ./tmp-dry-run --dry","gen:plugin":"node scripts/gen-plugin.js","gen:catalog":"node scripts/gen-catalog.js","prepublishOnly":"npm test"},"version":"0.1.34","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7c69dfeb-1c0e-408f-9602-3e3ceca68b91"}},"homepage":"https://github.com/aunysillyme/model-orchestrator#readme","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp","reasoning-effort","model-routing","code-review","ai-agents","hooks","claude-code-hooks","delegation","llm-router","ai-router","model-switching","multi-model","token-optimization","token-efficiency","cost-optimization","llm-orchestration","agent-orchestration","ai-orchestration","claude","anthropic","openai","gemini","claude-code-router","agent-routing","prompt-routing","coding-agent","ai-coding"],"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"_npmVersion":"12.1.0","description":"Model orchestrator: rules and subagents tell your agent which model does each task, so small work goes to cheap tiers and fewer tokens go to frontier models.","directories":{},"maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/model-orchestrator_0.1.34_1790221252331_0.07649467481834926"}}},"time":{"created":"2026-09-05T16:45:37.724Z","modified":"2026-09-24T03:40:52.769Z","0.1.4":"2026-09-05T16:45:38.076Z","0.1.5":"2026-09-05T17:26:16.574Z","0.1.6":"2026-09-05T17:55:00.358Z","0.1.7":"2026-09-05T20:23:15.605Z","0.1.8":"2026-09-07T00:53:13.684Z","0.1.9":"2026-09-07T03:13:10.127Z","0.1.10":"2026-09-07T06:57:20.565Z","0.1.11":"2026-09-07T07:23:05.954Z","0.1.12":"2026-09-08T23:49:15.646Z","0.1.13":"2026-09-09T01:05:11.720Z","0.1.14":"2026-09-09T15:56:01.692Z","0.1.15":"2026-09-11T03:55:48.931Z","0.1.16":"2026-09-11T05:27:52.200Z","0.1.17":"2026-09-11T06:51:07.044Z","0.1.18":"2026-09-11T16:39:51.673Z","0.1.19":"2026-09-12T10:24:50.818Z","0.1.20":"2026-09-12T20:45:01.241Z","0.1.21":"2026-09-12T22:04:00.494Z","0.1.22":"2026-09-12T22:22:11.796Z","0.1.23":"2026-09-15T04:19:07.346Z","0.1.24":"2026-09-18T23:49:25.376Z","0.1.25":"2026-09-19T17:58:03.975Z","0.1.26":"2026-09-19T23:59:25.808Z","0.1.27":"2026-09-21T19:57:39.271Z","0.1.28":"2026-09-21T21:15:03.313Z","0.1.29":"2026-09-21T21:19:14.892Z","0.1.30":"2026-09-23T02:25:41.740Z","0.1.31":"2026-09-23T18:03:52.415Z","0.1.32":"2026-09-23T19:40:52.868Z","0.1.33":"2026-09-24T03:04:51.158Z","0.1.34":"2026-09-24T03:40:52.420Z"},"bugs":{"url":"https://github.com/aunysillyme/model-orchestrator/issues"},"author":{"url":"https://github.com/aunysillyme","name":"aunysillyme"},"license":"MIT","homepage":"https://github.com/aunysillyme/model-orchestrator#readme","keywords":["ai","orchestrator","model-router","claude-code","codex","antigravity","grok","ollama","litellm","multi-agent","cli","llm","agents","subagents","qwen","mcp","reasoning-effort","model-routing","code-review","ai-agents","hooks","claude-code-hooks","delegation","llm-router","ai-router","model-switching","multi-model","token-optimization","token-efficiency","cost-optimization","llm-orchestration","agent-orchestration","ai-orchestration","claude","anthropic","openai","gemini","claude-code-router","agent-routing","prompt-routing","coding-agent","ai-coding"],"repository":{"url":"git+https://github.com/aunysillyme/model-orchestrator.git","type":"git"},"description":"Model orchestrator: rules and subagents tell your agent which model does each task, so small work goes to cheap tiers and fewer tokens go to frontier models.","maintainers":[{"name":"aunysillyme","email":"aunysillyme@gmail.com"}],"readme":"# model-orchestrator\n\n[![npm](https://img.shields.io/npm/v/model-orchestrator.svg)](https://www.npmjs.com/package/model-orchestrator) [![test](https://github.com/aunysillyme/model-orchestrator/actions/workflows/test.yml/badge.svg)](https://github.com/aunysillyme/model-orchestrator/actions/workflows/test.yml) [![license: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![node >=18](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg)](package.json)\n\n**A model orchestrator for AI coding agents: routing rules, subagents and a lane runner that tell your agent which model handles each task,** so small work goes to cheap tiers and fewer tokens go to frontier models. Answer a few questions and it writes the setup for exactly the AIs you have: Claude Code, Codex, Antigravity (Google), Grok, Qwen, Ollama.\n\n**The problem:** one agent does every task on its biggest model, so renaming a file costs the same as designing a system.\n\n**What you get:** rules your agent follows to keep planning on the frontier model and hand routine work to cheaper tiers and the other AIs you already pay for, plus a log that shows where the work went.\n\n```bash\nnpx model-orchestrator\n```\n\n<img src=\"docs/demo.gif\" alt=\"A terminal running npx model-orchestrator with --dry: it prints the level, the AIs detected, both target folders and all 38 files it would write, then says nothing was written.\" width=\"100%\" />\n\nA few questions, then it writes the setup for the AIs you picked. For Claude Code, Codex and Grok that is 38 files:\n\n| Part | What it does for you |\n|---|---|\n| `ROUTING.md`, `TIERS.md`, `DELEGATION_MATRIX.md` | tell your agent which model or CLI handles each kind of task, and at what effort |\n| `TASK_BUNDLE.md` and `protocols/` | the brief every hand-off carries, plus build, research, audit and record-keeping steps |\n| 8 subagents in `.claude/agents/` | builder, planner, reviewer, researcher, bulk worker, reader and two verifiers, each with its own tools |\n| 3 hooks in `.claude/hooks/` | put the routing table in front of your agent on every prompt and every subagent start, and log where work went |\n| `bin/cli-run.mjs` | calls Codex, Grok and the other CLIs, and counts a run as done only when it returns a result |\n| `mcp/` and `CODECALC.md` | ready-to-paste configs for the companion tools you chose |\n\nPreview it in any folder, nothing is written:\n\n```bash\nnpx model-orchestrator --yes --level 2 --ais claude-code,codex,grok --primary claude-code --dir ./ai-orchestrator --project . --dry\n```\n\nEvery file, folder by folder: [docs/install.md](docs/install.md#what-gets-written-level-3-everything).\n\nThe recording above comes from the published package under `asciinema`, rendered with `agg`: `bash scripts/record-demo.sh`.\n\n- **What it is:** routing rules, subagent definitions and a CLI lane runner (`cli-run`) for the AI tools you already pay for.\n- **Where it sits:** above the request layer. Your agent reads the rules and picks the lane, so the decision stays somewhere you can read, version and edit. Request-level routers and gateways sit underneath it.\n- **Use it when:** you run more than one model or agent and want the expensive tier kept for planning and judgment.\n- **For agents:** [`llms.txt`](llms.txt) summarizes the package and links every doc; [`AGENTS.md`](AGENTS.md) has the headless commands.\n\n## Model orchestrator or a model proxy\n\nAn HTTP proxy or gateway such as LiteLLM, Portkey, OpenRouter or claude-code-router\nswaps the model per request underneath the agent.\nmodel-orchestrator is an installer that writes routing rules, subagents, hooks\nand a lane runner above the request layer for the coding agents and subscription CLIs you already pay for.\nPick a proxy for request-level model routing and a shared API entry point.\nPick model-orchestrator for task delegation across your agents, tiers and CLIs.\nThey compose: your agent follows the installed rules, and a proxy can route its API requests underneath.\n\n## After you install\n\nFor the Claude Code setup above, follow the activation summary from the project folder:\n\n1. **Rules:** copy the block in `ai-orchestrator/CLAUDE.snippet.md` into `CLAUDE.md` (create it if missing).\n2. **Hooks:** merge `ai-orchestrator/settings.hooks.snippet.json` into `.claude/settings.json` (create it if missing).\n3. **Smoke test:** run `node ./ai-orchestrator/bin/cli-run.mjs --doctor` to check the enabled lanes. Add `--run` to send each lane one tiny prompt.\n\nAdd `--apply-snippets` to apply the rules and hooks steps for a Claude Code primary. It is off by default. The installer replaces one marked block in `CLAUDE.md`, preserves the surrounding bytes, and merges hooks while keeping existing settings and avoiding duplicate commands with the same arguments. Existing files changed by the run get timestamped backups beside them (`<name>.bak-YYYYMMDDTHHMMSS`); every backup path is printed. Preview with `--apply-snippets --dry-run`. Invalid settings JSON stops the run before any writes. Other primaries get the snippet name to paste by hand.\n\nRun `claude` from the project folder to load the subagents. Follow the sign-in and companion-tool steps printed for your selection; the same steps are saved in `ai-orchestrator/README.md`.\n\nA real call through the lane runner, captured from a fresh install on 2026-09-23 (Codex CLI 0.154.0). Your agent sends a small read to Codex at low effort, and `cli-run` prints one status line with the route it used:\n\n```text\n$ node ai-orchestrator/bin/cli-run.mjs codex \"In one sentence, what is ai-orchestrator/ROUTING.md for?\" --effort low\ncli-run[codex] ok rc=0 class=ok refused=null 18.9s raw=20418B route=lane default/low :: turn.completed\n```\n\nEach call also appends one line to `~/.ai-orchestrator/cli-run.log.jsonl` with the lane, the model and effort requested and resolved, the verdict, the exit code, the seconds and the deliverable size, so you can see where the work went. A run that produces no deliverable exits non-zero: on the same install, `--expect-file summary.md` for a file the lane never wrote printed `no_deliverable rc=10 class=empty` and a fix line.\n\n## Part of a set\n\nThree open-source tools that work on their own and fit together:\n\n| Repo | What it gives you |\n|---|---|\n| [agent-personalizer](https://github.com/aunysillyme/agent-personalizer) | One interview writes the profile and rules every AI you use reads, kept in sync from one source. |\n| **model-orchestrator** | Routing rules that tell your agent which model handles each task, so frontier models do the hard work and cheaper tiers do the rest. |\n| [website-build-skill](https://github.com/aunysillyme/website-build-skill) | A skill pack that teaches your AI current website-building expertise: research, design, code, accessibility, performance, search and security. |\n\n## The three levels\n\n\n| Level | You have | You get |\n|---|---|---|\n| **1 · Beginner** | one LLM or one agent | tiers, task classification, the two build checkpoints, the protocols (build, propagate, gap analysis, deep research, numbers and logic, memory and record, docs and proof), a task-bundle template, and your agent set up to follow them |\n| **2 · Intermediate** | several AIs with CLIs | everything above, plus `cli-run` (exit 0 means a structurally accepted non-empty response; opt-in `--expect-file` / `--expect-json` for real contracts; `--model` / `--effort` to pin the route and log it), a delegation matrix generated from your selection, research triage across the lanes you have |\n| **3 · Advanced** | a virtual machine | everything above, plus a gateway config rendered from the API keys you hold (asked separately from your CLIs), pinned images, box rules, privacy gates, and a weekly gap-analysis job with \"what watches it\" written down |\n\nLevels explained: [Part 1](docs/part-1-beginner.md) · [Part 2](docs/part-2-intermediate.md) · [Part 3](docs/part-3-advanced.md).\n\n## The AIs it knows about\n\n| Id | What | Level |\n|---|---|---|\n| `claude-code` | Claude Code CLI, the default orchestrator | 1+ |\n| `codex` | Codex CLI on a ChatGPT plan: second coder and second-opinion reviewer (a different model family reading your diff) | 1+ |\n| `agy` | Antigravity CLI on a Google AI plan: research sweeps, concurrent fan-out | 1+ |\n| `grok` | Grok CLI on X Premium: live X and web reads at $0 | 1+ |\n| `hermes` | Hermes Agent: the free tier | 2+ |\n| `qwen` | Qwen Code CLI with a cheap metered model: structured bulk | 2+ |\n| `ollama` | local models: the privacy lane | 2+ |\n| `claude-app`, `chatgpt-app`, `gemini-app` | chat apps: level 1 via a paste block | 1 |\n\n`npx model-orchestrator --list` prints the catalog with install and sign-in notes. Details: [docs/catalog.md](docs/catalog.md).\n\n## Measuring routing\n\nSee where your agent sends the work. On a claude-code install, `route-metrics.mjs` turns every turn, dispatch and subagent start/stop into one JSON line under `~/.ai-orchestrator/route-metrics.jsonl`, including the lane your agent named in its own `<!-- route: <lane> | <why> -->` marker.\n\n```bash\nnode .claude/hooks/route-metrics.mjs --summary                        # since the log began\nnode .claude/hooks/route-metrics.mjs --summary --since 2026-09-01     # since a date\n```\n\nThe report prints turns, **route-marker coverage** (the share of turns that carried a real lane, which answers \"is the agent actually tagging its routing decisions?\"), **work sent off the main session**, lanes by count, dispatches by `subagent_type`, and mean/max duration per agent type. The log holds exactly five things: a timestamp, the event, the session id, the lane name and the agent type. Every turn keeps running whatever the hook does, so the worst case is a quieter report.\n\n## Claude Code plugin\n\nThe hooks and subagents also ship as a plugin, so they install and update through Claude Code itself:\n\n```\n/plugin marketplace add aunysillyme/model-orchestrator\n/plugin install model-orchestrator@model-orchestrator\n```\n\nIt ships the two read-only hooks (`route-gate`, `subagent-context`) and the eight subagents, each with an explicit tool list, and loads them namespaced as `model-orchestrator:builder`. The routing rules come from `npx model-orchestrator`, which is the step that reads your setup and writes rules to match it. `plugin/` is generated from `templates/`, and `test/plugin.test.js` holds the bundle to that shape: committed output matches the generator, hooks stay read-only, every agent keeps its tool list. The third hook, `route-metrics`, writes a log, so it comes only with the npm install. Details: [plugin/README.md](plugin/README.md).\n\n## Companion tools (all optional)\n\nAn orchestrator routes work. Three companion tools cover the rest of what a working agent needs, exact numbers, a memory, and current library docs:\n\n| Tool | What it gives you | Set up |\n|---|---|---|\n| [codecalc](https://github.com/The-40-Thieves/codecalc) | exact arithmetic, code execution in 31 languages and logic checks, running offline | by default |\n| [obsidian-tc](https://github.com/The-40-Thieves/obsidian-tc) | durable memory with hybrid search, backlinks and compare-and-swap writes; local by default | when you pick it |\n| [Context7](https://github.com/upstash/context7) | current, version-specific library docs pulled into the prompt | when you pick it |\n\nSelecting one writes a doc and the config snippets for your agents, so the install stays yours to run. What each needs first, and how Context7 and codecalc pair up (docs say what an API should do, a run proves what it does): [docs/companions.md](docs/companions.md). Every level carries the three rules they serve either way: `protocols/numbers-and-logic.md`, `protocols/memory-and-record.md` and `protocols/docs-then-prove.md`.\n\n## Principles the whole thing rests on\n\n1. **Route by capability tier.** Start at the smallest tier that fits, and let evidence move it up.\n2. **Every gate can come back wrong.** A checkpoint earns its place by being answerable both ways.\n3. **Check for the artifact.** A deliverable is a file, a commit or a line you can point at. `cli-run` checks the response is structurally there; `--expect-file` checks the artifact.\n4. **Numbers are computed.** A tool that calculates beats a model that feels finished.\n5. **A write stays findable.** Search first, keep the index true, one writer.\n6. **A delegate's brief carries this task's scope, whatever it already holds.** A Claude Code subagent loads the project's CLAUDE.md hierarchy at start, so it already has the standing rules; a second CLI or a fresh chat window may hold none of them. Either way, the brief is what carries this task. On claude-code, that changes who executes: see \"Who builds\" in `ROUTING.md`.\n7. **Only one process holds keys.** Names in the environment, values in a secrets manager.\n\n## Common questions\n\n### How do I cut token usage across Claude Code, Codex and Antigravity (Google)?\n\nInstall for the tools you have, then let the generated `ROUTING.md` decide the tier per task: bulk, reading and verification go to the fast tier or a cheaper CLI lane, and the deep tier only plans and judges. On Claude Code, execution goes to the `builder` subagent by default and the main session plans and verifies. Every lane call through `cli-run` logs the model and effort it ran with, so you can check where the tokens went.\n\n### How do I route tasks to cheaper models?\n\nThe rules route by role, complexity and stakes (see [Routing by role, complexity and stakes](docs/how-it-routes.md#routing-by-role-complexity-and-stakes)). Role picks the agent, complexity moves the effort, stakes move the tier. A task a cheap tier finishes correctly stays on the cheap tier, and the frontier tokens go to the work that earns them.\n\n### Where does this sit next to an LLM router or an AI gateway?\n\nOne layer up, and they compose. This routes at the task level, through instructions your agent follows and a runner for agent CLIs. Request-level routers and gateways (RouteLLM, LiteLLM, OpenRouter, claude-code-router) forward the model on every API call, and they sit underneath this happily: pick the lane here, let the gateway carry the call.\n\n### How does an agent install and run it headlessly?\n\nUse the CLI flags. `--yes` with `--level`, `--ais` and `--project` runs headless, `--dry-run` previews the plan, and `--list` prints every supported AI. Your own documents are kept unless you pass `--force`; activation snippets are ready to merge. `MANIFEST.json` and `bin/lanes.json` are rewritten each run. Runtime files upgrade when they match the recorded hash; edited copies are kept and named. See [re-running an install](docs/install.md#what-a-run-does) for `--update-docs` and `--upgrade-runtime`.\n\n\n## Uninstall\n\nRemove unedited files recorded by the installer; edited files stay and are listed.\nRun `npx model-orchestrator --uninstall --dir ./ai-orchestrator --project .` (add `--dry` to preview).\nRemove the pasted rules block and merged hooks entry by hand. [Removal details](docs/install.md#uninstall).\n\n## Read next\n\n| Doc | What is in it |\n|---|---|\n| [docs/install.md](docs/install.md) | every flag, the two folders a run writes to, headless examples, the full file list |\n| [docs/how-it-routes.md](docs/how-it-routes.md) | role, complexity and stakes; the three verifier agents; pinning a lane's model and effort |\n| [docs/guarantees.md](docs/guarantees.md) | what is enforced by code, what is delegated to a vendor flag, and what is only an instruction |\n| [docs/part-1-beginner.md](docs/part-1-beginner.md) · [Part 2](docs/part-2-intermediate.md) · [Part 3](docs/part-3-advanced.md) | the thinking behind each level |\n| [docs/catalog.md](docs/catalog.md) | every supported AI with install and sign-in notes |\n\n<details>\n<summary><strong>Platform support, and every test this suite skips</strong></summary>\n\n\nNode 18 or newer, with zero runtime dependencies. Works on macOS and Linux; the level 3 box templates assume Ubuntu. Windows: CI runs the suite on `windows-latest` (Node 18, 20, 22), including lane execution end to end through `cli-run` against a fake CLI installed the same way npm installs a real one (a `.cmd` shim). `cli-run` never runs a lane through `cmd.exe` when it can avoid it: it resolves the shim to the Node script underneath and spawns Node directly, so a prompt reaching a real lane never passes through a Windows shell. A `.cmd` or `.bat` lane that cannot be resolved that way (an old or hand-edited shim) is refused with exit 13 and a message saying how to fix it, rather than run through `cmd.exe`: a batch file re-reads its arguments after `cmd.exe` has parsed them once, and no escaping fully contains a prompt through both passes. Install, detection, the hooks and `cli-run`'s `taskkill` tree kill are tested on Windows too, including SIGTERM/SIGINT to the wrapper (Windows has no OS-level signals: both terminate it unconditionally, verified there rather than treated the same as POSIX). The Windows skip list covers POSIX behavior, with each skip pinned by `test/prose.test.js`: `statSync().mode`'s executable bit (NTFS has none, so that one assertion is conditional inside a test that otherwise runs everywhere); a lane dying mid-run from a real POSIX signal (a real Windows lane cannot die \"by signal\"); running `weekly-audit.sh`'s watchdog functions for real under Git Bash's job control, both the end-to-end run and the `bounded()` timeout check (the script itself only ever runs on the Ubuntu box it targets); and a `mkfifo` FIFO at the rules path, the one case that proves `route-gate.mjs` cannot HANG on a non-regular file, since Windows has no `mkfifo` to build one (the guard behind it is covered on every OS by a directory at the same path); and an untracked `mkfifo` FIFO in the repository `cli-run --audit` sizes, the case that proves `--effort auto` never opens a non-regular file (the symlink half of that test runs on every OS). `test/prose.test.js` counts every `skip:` in the suite and requires this list to document each one.\n\n**Privacy.** The installer sends no telemetry and makes no network call of its own once it is running. Two things around that are worth being exact about:\n\n- `npx model-orchestrator` is itself a download: npm fetches this package from the registry before any of it runs. `npm install -g model-orchestrator` once, then run `model-orchestrator`, if you would rather that happen exactly one time.\n- For a missing vendor CLI, the installer prints the install command. An interactive run offers to run one pinned `npm install -g` per package with your confirmation; `--yes` and `--no-install` keep installation in your hands. Vendor shell installers (Antigravity, Grok) are only ever printed, alongside the `curl … | less` you would use to read one before running it.\n\n`cli-run` calls the vendor CLI you name.\n\n\n</details>\n\n<details>\n<summary><strong>Vendor version compatibility</strong></summary>\n\n\n**Detection checks whether a binary is present.** Use the compatibility table below to compare vendor versions. `--doctor` reports presence; add `--run` to send every enabled lane a small canary and check its sign-in and output against the runner's success criteria.\n\nThe lane wiring and the output judges were written against these versions, which are the ones this release was exercised on:\n\n<!-- vendor-table:start -->\n\n| Lane | Vendor | Version this release was built against | Where that number is proved |\n|---|---|---|---|\n| `claude` | Anthropic | 2.1.226 | the npm pin the installer writes, `@anthropic-ai/claude-code@2.1.226` |\n| `codex` | OpenAI | 0.153.4 | `test/fixtures/codex-0.153.4.jsonl`, a recorded run |\n| `agy` | Google | 1.1.27 | `test/fixtures/agy-1.1.27.jsonl`, a recorded run |\n| `grok` | xAI | 1.0.5 | `test/fixtures/grok-1.0.5.json`, a recorded run |\n| `hermes` | Nous Research | 0.20.0 | `test/fixtures/hermes-0.20.0.txt`, a recorded run |\n| `qwen` | Alibaba | 0.22.3 | `test/fixtures/qwen-0.22.3-nokey.json`, a recorded run |\n| `ollama` | Ollama | 0.33.3 | the pinned image the level 3 box runs, `ollama/ollama:0.33.3` |\n\nGenerated from `src/catalog.js` by `npm run gen:catalog`; `npm test` fails if this table and the catalog disagree. Fixtures were captured 2026-09-06.\n\n<!-- vendor-table:end -->\n\nFor npm-installed lanes, `builtAgainst` in the catalog supplies both the compatibility table and the install pin. Newer vendor versions may work or may change a flag the generated wiring uses. When a lane starts failing after a vendor upgrade, compare against this table first.\n\n**The live canary runs on your machine, with your credentials.** That is what `node bin/cli-run.mjs --doctor --run` is: it sends every enabled lane one tiny prompt through your own sign-ins and reports `canary ok` or `canary FAILED rc=` per lane. Run it after install, and again after any vendor upgrade.\n\nCI runs the full suite against stub lanes on Ubuntu, macOS and Windows, Node 18/20/22, plus a packaged install into a clean consumer. Run the live check locally to verify your own sign-ins, quota and vendor versions.\n\n\n</details>\n\n## Contributing\n\nContributions are welcome:\n\n- **New AIs:** add an entry to `src/catalog.js`; prompts, tables, configs and docs use the catalog.\n- **Vendor updates:** contribute a lane fixture captured from a newer vendor version and the test that checks it.\n- **Docs:** fix an unclear instruction or add a reproducible example.\n\nRun `npm test` with your change. Keep templates free of logic and credential values. See [CONTRIBUTING.md](CONTRIBUTING.md), [RELEASING.md](RELEASING.md) and [SECURITY.md](SECURITY.md).\n\n## Credits\n\n- [@shawnwows](https://x.com/shawnwows) reviewed the router and made the case for separating role, complexity and stakes instead of compressing them into one scale, for recording the model and effort a lane was actually asked for, and for verifying findings before they trigger repairs. All three shipped in 0.1.14.\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md"}