Commit Graph

41 Commits

Author SHA1 Message Date
Jude Gao ac1bc65c01 Reconcile against registry when changeset publish reports failure 2026-06-11 12:52:51 -04:00
Allen Zhou 8888c8af0b remove cursor skills 2026-02-05 14:38:27 -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
github-actions[bot] 07fe53fd4e Version Packages 2026-02-05 18:12:29 +00:00
Allen Zhou 4fc79391de return changesets for publishing 2026-02-05 10:08:33 -08:00
Allen Zhou b6c1db7624 release 2026-02-05 10:03:48 -08:00
github-actions[bot] bb9b9eeba4 Version Packages (#14)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-05 12:40:47 -05:00
Allen Zhou e8041959ef changesets (#12) 2026-02-05 12:27:04 -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 df205bbcbc chore: bump version to 0.0.8 2026-02-03 19:11:25 -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 5315e425f0 chore: bump version to 0.0.5 2026-02-03 12:48:54 -05:00
Jude Gao 3db517f731 chore: add test:integration:docker and test:integration:vercel scripts 2026-02-03 12:40:33 -05:00
Jude Gao 3df0816f98 chore: remove docs and test scripts 2026-02-03 12:39:52 -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 083bd973d5 chore: bump version to 0.0.4
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-29 00:08:27 -05:00
Jude Gao 8297741f9f chore: bump version to 0.0.3
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-28 22:51:15 -05:00
Jude Gao 9cf4477c1a feat: support EVAL.tsx for JSX-based test files
- Add EVAL.tsx to TEST_FILE_PATTERNS and EXCLUDED_FILES
- Update fixture validation to accept either EVAL.ts or EVAL.tsx
- Remove *.test.tsx and *.test.ts from TEST_FILE_PATTERNS
- Document EVAL.ts vs EVAL.tsx convention in README with examples
- Bump version to 0.0.2

This allows using React Testing Library and other JSX-based testing
approaches in eval fixtures.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-28 22:40:30 -05:00
Jude Gao f6727dcc3a chore: prepare for publish as @vercel/agent-eval
- Update package name from agent-eval to @vercel/agent-eval
- Fix version test to read dynamically from package.json
- Update integration tests to load from .env.local
- Update README with @vercel/agent-eval usage
- Clarify Vercel employee setup instructions
- Fix lint error in runner.test.ts

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-28 20:10:22 -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 1b69326ee1 feat: v1.2.0 - concurrent eval execution with abort support
- Run all (fixtures × runs) concurrently via Promise.all
- Add AbortController per fixture for earlyExit behavior
- When one attempt passes, abort remaining in-flight attempts
- Add signal?: AbortSignal to AgentRunOptions
- Agents stop sandbox when abort signal fires
- Aborted results excluded from final counts
- Results sorted by runIndex, count only up to first pass with earlyExit
2026-01-28 10:21:00 -05:00
Jude Gao 673a860ea2 fix: v1.1.1 - use npx agent-eval instead of npm run eval
Remove the `eval` npm script from generated projects and update all
docs/tests to use `npx agent-eval` directly, eliminating the confusing
`--` separator needed with `npm run`. Also sync cli.ts version to 1.1.1
and fix stale integration test assertion for removed scripts field.
2026-01-27 23:59:59 -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 057c9f6faa Add ./ prefix to relative paths in result.json
Update transcriptPath and outputPaths to use explicit relative paths
(./transcript.jsonl, ./outputs/*.txt) for clarity.

- Update results.ts path generation
- Update test expectations
- Update README documentation
- Bump version to 0.1.12
2026-01-26 23:53:41 -05:00
Jude Gao 3760030255 fix: save script/test outputs to outputs/ directory
- outputs/ contains tests.txt, build.txt, etc. (not generated files)
- result.json includes paths: transcriptPath and outputPaths
- Update README to reflect correct output structure
- Bump version to 0.1.10
2026-01-26 23:15:05 -05:00
Jude Gao a6ae58512d feat: save generated files to outputs/ directory
- Add outputs field to EvalRunData
- Write agent-generated files to outputs/ in saveResults
- Bump version to 0.1.9
2026-01-26 23:09:47 -05:00
Jude Gao 23258c6f74 chore: bump version to 0.1.8 2026-01-26 23:00:07 -05:00
Jude Gao 5a4ddd231b feat: align result format with design specification
- Save transcript.jsonl separately (not in result.json)
- result.json contains only: status, failedStep, error, duration
- summary.json uses design format: passRate as string, no runs array
- Create outputs/ directory per run
- Capture Claude Code transcript from sandbox
- Update EvalRunResult/EvalRunData types
- Bump version to 0.1.7
2026-01-26 22:51:12 -05:00
Jude Gao 2ed294adab feat: save agent transcript to result output
- Add agentOutput field to EvalRunResult type
- Include agent stdout/stderr in saved results
- Bump version to 0.1.6
2026-01-26 22:45:22 -05:00
Jude Gao 2050b0344b fix: add missing TypeScript dependencies to init template
- Add @types/node and vitest to generated project devDependencies
- Add root tsconfig.json to generated projects
- Add JSDoc @default annotations to ExperimentConfig fields
- Add typecheck test to verify IDE experience works after init
- Bump version to 0.1.5
2026-01-26 22:36:06 -05:00
Jude Gao de2c709d5c Add README and fix results-dir to resolve from cwd 2026-01-26 21:38:39 -05:00
Jude Gao 26d03c23b9 Resolve --evals-dir relative to cwd instead of config file 2026-01-26 21:31:29 -05:00
Jude Gao 10efecb4d6 Fix evals-dir path in generated npm script 2026-01-26 21:28:14 -05:00
Jude Gao 16347edeab Rename CLI to agent-eval (v0.1.1) 2026-01-26 21:25:03 -05:00
Jude Gao b7fb0cf1e7 Rename CLI from 'eval' to 'aieval' to avoid shell builtin conflict 2026-01-26 21:21:29 -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