spawn/test/fixtures
A 2ef621cc69
refactor: convert fly/ cloud provider from bash to TypeScript (#1601) (#1602)
Replace fly/lib/common.sh (741 lines of bash) with a TypeScript
implementation using Bun runtime. The fly/ provider was the most
complex bash code in the project — recent fixes (#1597, #1599, #1600)
highlight the pain of debugging HTTP calls, JSON parsing, and multi-step
auth flows in shell.

New TypeScript modules:
- fly/lib/ui.ts — logging, prompts, validation (zero deps)
- fly/lib/fly.ts — API client (fetch), auth chain, org listing, provisioning
- fly/lib/oauth.ts — OpenRouter OAuth via Bun.serve(), key management
- fly/lib/agents.ts — typed agent configs for all 6 agents
- fly/main.ts — orchestrator entry point

Agent .sh files become thin shims (~30 lines) that install bun if needed,
download TS sources for curl|bash execution, and delegate to main.ts.

Test coverage:
- 44 TypeScript unit tests (bun test) for pure logic
- 4 fly failure-mode tests (mock.sh) for error scenarios
- All existing test suites pass (110 run.sh, 76 mock.sh)

Co-authored-by: lab <6723574+louisgv@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-21 10:41:34 -08:00
..
digitalocean refactor: extract mock test env config and API assertions into per-cloud fixture files (#803) 2026-02-13 02:16:11 -08:00
fly refactor: convert fly/ cloud provider from bash to TypeScript (#1601) (#1602) 2026-02-21 10:41:34 -08:00
hetzner feat: upgrade default server sizes, fix Fly.io agent installs, improve E2E tests (#1428) 2026-02-17 22:17:08 -08:00
ovh test: add missing API assertion fixtures and body validation for 8 cloud providers (#1107) 2026-02-14 11:46:49 -05:00
_shared_agent_assertions.sh fix: resolve 18 test/run.sh failures and expand sprite agent coverage (#1498) 2026-02-20 00:06:06 -05:00