Commit Graph

21 Commits

Author SHA1 Message Date
Jude Gao 4815babe17 Bump minimatch to 10.2.4 to resolve ReDoS CVE (#97)
* Bump minimatch to 10.2.4 to resolve ReDoS CVE

* Fix lockfile: use npm instead of pnpm
2026-03-19 10:49:47 -04:00
Jude Gao 330ec5e8b7 [Classifier] Switch to Haiku 4.5 and parallelize classification (#81)
* [Classifier] Upgrade classification model to Claude Sonnet 4.6

* [Classifier] Parallelize classification with p-limit and add dashboard progress

Run up to 4 classifications concurrently using p-limit instead of a
sequential for-loop. The dashboard now shows "classifying N/M…" so
users can track per-eval progress during the classification phase.

* [Classifier] Switch to Haiku 4.5 for classification

Haiku is faster and cheaper while still capable enough for the
classification task, especially with 4 concurrent classifications.
2026-02-17 17:06:55 -08:00
Jude Gao bc5114cea6 [CLI] Live terminal dashboard for parallel experiment runs (#63)
* [CLI] Live terminal dashboard for parallel experiment runs

* Fix lint errors: remove unused renderDetailLine and verbose
2026-02-10 17:55:04 -05:00
paoloricciuti d3501c8b37 fix: playground parsing 2026-02-07 22:25:06 +01:00
Allen Zhou 93c6fa8d62 use minimatch 2026-02-06 15:55:30 -08:00
Allen Zhou 5764ca9ec4 fix ts config file loading 2026-02-06 13:38:53 -08:00
Allen Zhou 561da6e0c4 playground + skills 2026-02-05 13:52:23 -08:00
Allen Zhou b29ee92a8e init ui 2026-02-05 12:57:39 -08:00
paoloricciuti 558abe5960 chore: changeset for #10 2026-02-05 19:09:45 +01:00
Allen Zhou e8041959ef changesets (#12) 2026-02-05 12:27:04 -05:00
Allen Zhou 2530301c1d [o11y] Support normalized and raw transcripts from agent runs (#9)
* start o11y work

* default to normalized transcripts

* handle lack of agent parser error

* fix codex gateway config

* include transcript raw path
2026-02-05 12:17:32 -05:00
Jude Gao c4551d2c4d fix: Codex CLI wire_api and auth configuration
- Change wire_api from "chat" to "responses" (required by newer Codex CLI)
- Fix direct OpenAI API auth by using codex login --with-api-key
- Fix model name for direct API (remove openai/ prefix)
- Update integration tests to assert agent success (not just completion)
- Fix test isolation with beforeAll hooks for project initialization

Codex via Vercel AI Gateway still has a separate tools.7.type API error
that needs to be fixed on the AI Gateway side.
2026-02-04 20:48:00 -05:00
Jude Gao 02a5a48a7b chore: bump version to 0.0.7 2026-02-03 15:55:30 -05:00
Jude Gao c5105339cc chore: bump version to 0.0.6 2026-02-03 15:17:21 -05:00
Jude Gao c037da20a6 feat: add Docker sandbox as alternative to Vercel Sandbox
Adds Docker as a sandbox backend for running evals locally without
requiring Vercel credentials.

Features:
- Auto-detection: uses Vercel if VERCEL_TOKEN present, else Docker
- Explicit override via SANDBOX_BACKEND=docker|vercel env var
- Non-root execution (uid 1000) for security and Claude Code compatibility
- npm global installs configured for non-root user

New files:
- src/lib/docker-sandbox.ts - Docker sandbox implementation
- src/lib/docker-sandbox.test.ts - Integration tests
- scripts/test-docker-sandbox.ts - Manual test script
- scripts/test-docker-eval-flow.ts - Full eval flow test
- DOCKER.md - Beginner-friendly setup guide

API additions:
- createSandbox() - Factory function with auto-detection
- resolveBackend() - Determines which backend to use
- getSandboxBackendInfo() - Returns backend info for display

New npm scripts:
- test:sandbox - Quick Docker sandbox test
- test:docker - Docker unit tests
- test:docker:integration - Full integration tests with Docker
2026-02-03 12:35:05 -05:00
Jude Gao 19b56cfac7 chore: move to vercel-labs/agent-eval as initial release
- Rename package from @judegao/eval to agent-eval
- Reset version to 0.0.1
- Update all imports, templates, and docs to use new package name
- Point repository and git remote to vercel-labs/agent-eval
- Fix duplicate evals keys in README config example
- Rewrite environment variables docs with summary table
- Add Vercel employees section for vc env pull workflow

Co-Authored-By: Claude (claude-fudge-eap-cc) <noreply@anthropic.com>
2026-01-28 19:38:48 -05:00
Jude Gao 79f1c82f67 feat: v1.1.0 - support direct API keys as alternative to AI Gateway
- Add support for direct ANTHROPIC_API_KEY and OPENAI_API_KEY authentication
- New agent naming: 'vercel-ai-gateway/claude-code' vs 'claude-code' for direct
- Change default model to opus
- Add ESLint configuration
- Add runner tests
- Clean up legacy agent.ts code
- Update README with dual authentication documentation
2026-01-27 23:16:05 -05:00
Jude Gao bd5bb962b2 feat: v1.0.0 - AI Gateway integration and multi-agent support
- Add Codex CLI agent alongside Claude Code
- Route all agents through Vercel AI Gateway (single API key)
- Extract shared agent utilities to reduce duplication
- Simplify model types (accept any string, let CLI validate)
- Remove list command (use --dry instead)
- Update README for framework authors and A/B testing
2026-01-27 18:01:50 -05:00
Jude Gao 18dd5a2207 Rename package to @judegao/eval and apply code review fixes
- Rename package from @vercel/eval-framework to @judegao/eval
- Update all references in init templates and docs
- Fix unused SandboxFile import in agent.ts
- Fix Sandbox interface to include options parameter
- Use EXCLUDED_FILES constant in fixture.ts
- Use dirname() instead of join(path, '..') in init.ts
- Make experimentConfigSchema private in config.ts
- Remove unused existsSync import in results.ts
- Consolidate duplicate imports in cli.ts
- Use TEST_FILE_PATTERNS constant in sandbox.ts
- Fix JSDoc comment ordering in sandbox.ts
2026-01-26 21:15:44 -05:00
Jude Gao 2b876964d2 feat: add CLI foundation and eval fixture discovery
CLI commands:
- `eval init <name>` - placeholder for project scaffolding
- `eval run <config>` - run experiments with dry run support
- `eval list` - list available eval fixtures

Fixture discovery:
- Discover fixtures in evals/ directory
- Validate required files (PROMPT.md, EVAL.ts, package.json)
- Validate package.json has type: module
- Load fixture contents and prompt text
- Get/read fixture files with exclusion patterns

Includes comprehensive tests for all functionality.
2026-01-26 17:37:20 -05:00
Jude Gao 9cc64818fc feat: initial project scaffolding with config types and validation
- Set up package.json with dependencies (@vercel/sandbox, ai, zod, etc.)
- Add TypeScript configuration
- Create core types (ExperimentConfig, EvalFixture, EvalRunResult, etc.)
- Implement config validation with Zod schema
- Add resolveConfig to apply defaults
- Add resolveEvalNames for eval filtering
- Include comprehensive tests for all config functionality
2026-01-26 17:34:48 -05:00