{"_id":"@aiorouter/codex-aiorouter-mas","_rev":"5-ace8049f403f062135d71c4f266a74ed","name":"@aiorouter/codex-aiorouter-mas","dist-tags":{"latest":"0.3.3"},"versions":{"0.3.0":{"name":"@aiorouter/codex-aiorouter-mas","version":"0.3.0","keywords":["aiorouter","codex","orchestration","mas","model-routing"],"author":{"name":"AIOCANA Technologies Inc."},"license":"MIT","_id":"@aiorouter/codex-aiorouter-mas@0.3.0","maintainers":[{"name":"tayachu","email":"tayachu@gmail.com"}],"homepage":"https://github.com/AIOCANA/aiorouter-codex-mas#readme","bugs":{"url":"https://github.com/AIOCANA/aiorouter-codex-mas/issues"},"bin":{"aiorouter-codex":"lib/cli.js"},"dist":{"shasum":"66171450e573400567880c8cee8e0d7a9612105a","tarball":"https://registry.npmjs.org/@aiorouter/codex-aiorouter-mas/-/codex-aiorouter-mas-0.3.0.tgz","fileCount":32,"integrity":"sha512-XFjk2s3waZ0Vxg48ftQw9PfgF3qXWUAYp+5Sq9xvIOc0TOmjvkgFVGPkYfV3Fgm1iPTLUSrUaZzRv1H2Sr7eLQ==","signatures":[{"sig":"MEYCIQDoTwUR1XVGMmS3tlhVax6halS9EElSfc7WdqdyCqclvgIhAK3aLUaKx1d1zOswcrLAzjqhBaQi3WiJYBX/FQLBIRxD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":165512},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"195e051fce80aa56d28b9fd20e53419f6f9f3310","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"tayachu","email":"tayachu@gmail.com"},"deprecated":"Windows global bin silently no-ops (no shebang shim); use 0.3.1+","repository":{"url":"git+https://github.com/AIOCANA/aiorouter-codex-mas.git","type":"git"},"_npmVersion":"11.19.0","description":"AIOrouter MAS orchestrator for OpenAI Codex: a local plan -> approve -> execute -> review orchestration layer over the Codex SDK, with the gateway /v1/presets matrix as the ONLY model-matrix truth source. Multi-agent orchestration honors the masEnabled sw","directories":{},"_nodeVersion":"24.5.0","dependencies":{"@openai/codex-sdk":"0.152.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/codex-aiorouter-mas_0.3.0_1788376451240_0.18079221720326544","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@aiorouter/codex-aiorouter-mas","version":"0.3.1","keywords":["aiorouter","codex","orchestration","mas","model-routing"],"author":{"name":"AIOCANA Technologies Inc."},"license":"MIT","_id":"@aiorouter/codex-aiorouter-mas@0.3.1","maintainers":[{"name":"tayachu","email":"tayachu@gmail.com"}],"homepage":"https://github.com/AIOCANA/aiorouter-codex-mas#readme","bugs":{"url":"https://github.com/AIOCANA/aiorouter-codex-mas/issues"},"bin":{"aiorouter-codex":"lib/cli.js"},"dist":{"shasum":"9aa82b74ce5bb06b86e4b46e8fe6823409690cb8","tarball":"https://registry.npmjs.org/@aiorouter/codex-aiorouter-mas/-/codex-aiorouter-mas-0.3.1.tgz","fileCount":32,"integrity":"sha512-J6uLF4M2gnQG2wgn5P/ahv4GoageJOCdMQJOnX+KXt3CT/5VUlrFeQgAFV5gsBdo/hQOaSnMcF/wjzAepyrGnA==","signatures":[{"sig":"MEUCIQDSiHyLh6F/iZI4EWi52cNbGaTbb4bT3GYhg09r7SMp1wIga65MKKf2agb21yEH9bCZVTrXdue8dBJyUxFpRsc6aVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":165986},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"195e051fce80aa56d28b9fd20e53419f6f9f3310","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"tayachu","email":"tayachu@gmail.com"},"repository":{"url":"git+https://github.com/AIOCANA/aiorouter-codex-mas.git","type":"git"},"_npmVersion":"11.19.0","description":"AIOrouter MAS orchestrator for OpenAI Codex: a local plan -> approve -> execute -> review orchestration layer over the Codex SDK, with the gateway /v1/presets matrix as the ONLY model-matrix truth source. Multi-agent orchestration honors the masEnabled sw","directories":{},"_nodeVersion":"24.5.0","dependencies":{"@openai/codex-sdk":"0.152.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/codex-aiorouter-mas_0.3.1_1788376890268_0.8205303816581513","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@aiorouter/codex-aiorouter-mas","version":"0.3.2","keywords":["aiorouter","codex","orchestration","mas","model-routing"],"author":{"name":"AIOCANA Technologies Inc."},"license":"MIT","_id":"@aiorouter/codex-aiorouter-mas@0.3.2","maintainers":[{"name":"tayachu","email":"tayachu@gmail.com"}],"homepage":"https://github.com/AIOCANA/aiorouter-codex-mas#readme","bugs":{"url":"https://github.com/AIOCANA/aiorouter-codex-mas/issues"},"bin":{"aiorouter-codex":"lib/cli.js"},"dist":{"shasum":"f7d935533d2f3bbca80ea9eaa30885371a835fe6","tarball":"https://registry.npmjs.org/@aiorouter/codex-aiorouter-mas/-/codex-aiorouter-mas-0.3.2.tgz","fileCount":34,"integrity":"sha512-04e1emVu79XoWRBG2uIE0bE6SO0QKE5pjuZVnB2+RbfJAEZte29Gx12BFvkKUwYq4rb0k9KIzq/go8Jb6zpR6g==","signatures":[{"sig":"MEUCIQCQi9o7W9Bw0Y1ud0VeXsBouvNcGLFMDwq2mzqzA8c+4QIgDMoF6IZiKkoZwjqZFbVAo78HAWzVtqyCx8chPWEUww0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":192820},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"bfe29d82b516777f620cb17849310b6176971f04","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"tayachu","email":"tayachu@gmail.com"},"repository":{"url":"git+https://github.com/AIOCANA/aiorouter-codex-mas.git","type":"git"},"_npmVersion":"11.19.0","description":"AIOrouter MAS orchestrator for OpenAI Codex: a local plan -> approve -> execute -> review orchestration layer over the Codex SDK, with the gateway /v1/presets matrix as the ONLY model-matrix truth source. Multi-agent orchestration honors the masEnabled sw","directories":{},"_nodeVersion":"24.5.0","dependencies":{"@openai/codex-sdk":"0.152.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/codex-aiorouter-mas_0.3.2_1788388616545_0.33881489535277565","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@aiorouter/codex-aiorouter-mas","version":"0.3.3","description":"AIOrouter MAS orchestrator for OpenAI Codex: a local plan -> approve -> execute -> review orchestration layer over the Codex SDK, with the gateway /v1/presets matrix as the ONLY model-matrix truth source. Every dispatched model call rides the AIOrouter ga","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","types":"lib/index.d.ts","bin":{"aiorouter-codex":"lib/cli.js"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./package.json":"./package.json"},"scripts":{"build":"tsc -p tsconfig.json","test":"vitest run","typecheck":"tsc -p tsconfig.json --noEmit"},"repository":{"type":"git","url":"git+https://github.com/AIOCANA/aiorouter-codex-mas.git"},"author":{"name":"AIOCANA Technologies Inc."},"license":"MIT","keywords":["aiorouter","codex","orchestration","mas","model-routing"],"devDependencies":{"@types/node":"^22.0.0","typescript":"^5.6.0","vitest":"^3.0.0"},"engines":{"node":">=20"},"dependencies":{"@openai/codex-sdk":"0.152.1"},"gitHead":"70c30002d9269a8f12902d2eb40f25466a3fe1eb","_id":"@aiorouter/codex-aiorouter-mas@0.3.3","bugs":{"url":"https://github.com/AIOCANA/aiorouter-codex-mas/issues"},"homepage":"https://github.com/AIOCANA/aiorouter-codex-mas#readme","_nodeVersion":"24.5.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-297Njz2rxUp6qlVzgQhqFLAC2FxUV73Wvc9XuXrqBLdTi72wampeDqSbkI8QiUEZe1mlJW+fzyKMlxVMPkBZhQ==","shasum":"12ec0af7857c25c5c2c4423d1f81412961d387cd","tarball":"https://registry.npmjs.org/@aiorouter/codex-aiorouter-mas/-/codex-aiorouter-mas-0.3.3.tgz","fileCount":34,"unpackedSize":195953,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEiRInGvWbRIR1H0sTbFXafxNT+FfK8bYbEmVh6677RPAiEA1Igmmjfugy1VbRgU6I9BC5qGaEDkvzccwKEXjz+5T3Y="}]},"_npmUser":{"name":"tayachu","email":"tayachu@gmail.com"},"directories":{},"maintainers":[{"name":"tayachu","email":"tayachu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/codex-aiorouter-mas_0.3.3_1788399333189_0.33107987022525576"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-02T19:14:11.062Z","modified":"2026-09-03T01:35:33.579Z","0.3.0":"2026-09-02T19:14:11.394Z","0.3.1":"2026-09-02T19:21:30.408Z","0.3.2":"2026-09-02T22:36:56.695Z","0.3.3":"2026-09-03T01:35:33.347Z"},"bugs":{"url":"https://github.com/AIOCANA/aiorouter-codex-mas/issues"},"author":{"name":"AIOCANA Technologies Inc."},"license":"MIT","homepage":"https://github.com/AIOCANA/aiorouter-codex-mas#readme","keywords":["aiorouter","codex","orchestration","mas","model-routing"],"repository":{"type":"git","url":"git+https://github.com/AIOCANA/aiorouter-codex-mas.git"},"description":"AIOrouter MAS orchestrator for OpenAI Codex: a local plan -> approve -> execute -> review orchestration layer over the Codex SDK, with the gateway /v1/presets matrix as the ONLY model-matrix truth source. Every dispatched model call rides the AIOrouter ga","maintainers":[{"name":"tayachu","email":"tayachu@gmail.com"}],"readme":"# @aiorouter/codex-aiorouter-mas\n\nA local **multi-agent orchestration CLI for OpenAI Codex**, routed through the [AIOrouter](https://aiorouter.ca) gateway. One objective in → plan, human approval, sandboxed execution, honest billing reconciliation out.\n\nBuilt on the Codex SDK: your prompts and code stay between you, this CLI, and the gateway you point at. The model matrix is served **live from the gateway** — this package contains no hardcoded model lineup and never quotes prices.\n\n## What it does\n\n```\naiorouter-codex run \"<objective>\" --risk LOW --preset balanced\n```\n\n1. **Intent guard** — orchestrates only build/implementation objectives; question-shaped inputs are refused by design (pure routing/status/cost questions belong to the gateway surface).\n2. **Plan** — a planner role decomposes the objective; the full plan and the resolved role→model matrix are printed before anything executes.\n3. **Approve** — `G-APPROVE` gate: `[A]pprove [M]odify [Q]uestion [C]ancel`, four keys, interactive terminal only. Non-interactive invocation cannot simulate a press. Approval is recorded to a local plan store as an audit trail.\n4. **Execute** — worker threads run through Codex with role-appropriate sandbox posture (read-only for planning/review, workspace-write for coding). A visible status line shows `MAS · <model>` while agents run.\n5. **Review ladder** — driven by your `--risk` tier and the preset's frozen strategy ladder (LOW may skip review; CRIT escalates to mixture-of-agents). Skips and deferrals are reported honestly — never a silent pass.\n6. **Reconcile** — the closing block reports actual account balance and spend deltas from the gateway's authoritative billing endpoint. **There are no pre-execution price estimates anywhere in this tool — by design.**\n\n## Presets\n\n`cost_saver` · `balanced` · `most_powerful` — each is a role→model matrix versioned server-side. The CLI displays the live version hash and concrete role models on every run, and degrades honestly (no silent fallbacks) when discovery is unavailable.\n\n```\naiorouter-codex presets          # list ids (free, non-billed)\naiorouter-codex cost             # authoritative balance + 30-day spend (free)\n```\n\n## Requirements\n\n- Node.js ≥ 20\n- An AIOrouter API key (`ak-…`), created at [dashboard.aiorouter.ca](https://dashboard.aiorouter.ca)\n- The key registered ONCE with Codex itself: `codex login --with-api-key` — it lands in\n  `~/.codex/auth.json`, which is the seam every dispatched model call authenticates with.\n  (Same key as the AIOrouter Codex plugin / script installer uses; they coexist.)\n- `AIOROUTER_API_KEY` set in the shell running this CLI — it covers this CLI's own\n  gateway reads (`presets` / `cost` / reconciliation). It never replaces the\n  `codex login` step above, and nothing here writes it to disk.\n- Network access to the AIOrouter gateway endpoint\n\n## Quickstart\n\n```bash\nnpm install -g @aiorouter/codex-aiorouter-mas\ncodex login --with-api-key        # paste your key once -> ~/.codex/auth.json\n```\n\n```powershell\n# Windows (PowerShell):\n$env:AIOROUTER_API_KEY = \"ak-…\"\n```\n\n```bash\n# macOS / Linux:\nexport AIOROUTER_API_KEY=\"ak-…\"\n```\n\n```bash\naiorouter-codex cost              # verifies the key reaches billing truth\naiorouter-codex presets           # verifies the live model matrix is reachable\naiorouter-codex run \"Implement a file named NOTES.md containing three lines about your day\" --risk LOW\n```\n\n## What this is not\n\n- **Not a cost-saving device.** A plan→execute→review workflow makes multiple model calls; for a simple task a single direct call is usually cheaper. MAS buys **control** — approval gates, sandbox posture, an audit trail, per-role model selection, and execution visibility — not arbitrage. The published cost figures in our docs state this plainly.\n- **Not autonomous.** Nothing executes before the four-key approval, and the approval records what you approved, when.\n\n## Privacy posture\n\n- API keys are read from the environment at runtime; nothing key-related is written to disk or logs.\n- Visibility events (TTY/JSONL) carry execution facts only — no economic fields are constructible in them.\n- Billing views are fetched for your own account over authenticated endpoints.\n\n## Governance & safety boundaries\n\nFive fixed safety boundaries (human approval, review independence, sandbox posture, honest accounting, intent guard) and six in-world taboos are enforced in code, not policy text. `npm test` covers them; the test suite is deterministic and offline by default.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}