A TypeScript CLI (on Bun) that streams the same set of prompts across models, either through OpenRouter or directly through Anthropic’s Messages API, and writes side-by-side Markdown and JSON reports of time-to-first-token, total latency, tokens, and cost.
- Normalizes both providers’ streaming responses into one result shape.
- Concurrency limits and per-request timeouts.
- Retries with exponential backoff and jitter, only on 429s, 5xx errors, network errors, and timeouts, and only before any text has streamed, so a retry never charges twice.
- Config and stream chunks are validated with zod, and CI runs typecheck, lint, and format checks.