Purpose: Quick reference for implemented adapter details
Last Updated: 2026-02-05
| Adapter | Lines | Tests | Coverage | Status |
|---|---|---|---|---|
| ClaudeAdapter | 600 | 80 | 96% | ✅ Complete |
| CursorAdapter | 554 | 78 | 99% | ✅ Complete |
| WindsurfAdapter | 514 | 78 | 99% | ✅ Complete |
Total: 1,858 lines of TypeScript, 236 tests
Format: .claude/config.json (primary), .claude/agents/*.md (subagents)
Capabilities:
Key Mappings:
claude-sonnet-4 ↔ claude-sonnet-4-20250514permissionMode (default/acceptEdits/dontAsk/bypassPermissions)Tests: 80 tests covering toOAC(), fromOAC(), roundtrip, error handling
Format: .cursorrules (single file in project root)
Capabilities:
Key Features:
mergeAgents() method for multi-agent → single-file conversionKey Mappings:
claude-sonnet-4 → claude-3-sonnet (fallback to v3)Tests: 78 tests covering toOAC(), fromOAC(), merging, error handling
Format: .windsurf/config.json, .windsurf/agents/*.json
Capabilities:
.windsurf/agents/)Key Mappings:
claude-sonnet-4 ↔ claude-4-sonnet≤0.4 → low, ≤0.8 → medium, >0.8 → highcritical/high → high, medium/low → low.windsurf/context/Tests: 78 tests covering toOAC(), fromOAC(), creativity mapping, error handling
All mappers are pure functions used by adapters and TranslationEngine:
| Mapper | Lines | Tests | Coverage | Purpose |
|---|---|---|---|---|
| ToolMapper | 308 | 34 | 100% | Tool name mapping (bash↔terminal, etc.) |
| PermissionMapper | 354 | 37 | 98% | Granular↔binary permissions |
| ModelMapper | 413 | 37 | 99% | Model ID mapping with fallbacks |
| ContextMapper | 384 | 51 | 97% | Context path mapping between platforms |
| Service | Lines | Tests | Coverage | Purpose |
|---|---|---|---|---|
| CapabilityMatrix | 559 | 43 | 99% | Feature compatibility analysis |
| TranslationEngine | 453 | 47 | 99% | Orchestrates all mappers |
All 3 adapters support:
toOAC(): Tool format → OpenAgentfromOAC(): OpenAgent → Tool formatAll adapters warn when features are lost:
BaseAdapter| Feature | OAC | Claude | Cursor | Windsurf |
|---|---|---|---|---|
| Multiple Agents | ✅ | ✅ | ❌ | ✅ |
| Granular Permissions | ✅ | ❌ | ❌ | ❌ |
| Ask Permissions | ✅ | ❌ | ❌ | ❌ |
| Hooks | ✅ | ✅ | ❌ | ❌ |
| Skills | ✅ | ✅ | ❌ | ⚠️ |
| External Context | ✅ | ✅ | ❌ | ✅ |
| Context Priority | ✅ | ❌ | ❌ | ❌ |
| Temperature | ✅ | ❌ | ⚠️ | ✅ |
| Model Selection | ✅ | ✅ | ✅ | ✅ |
| Task Delegation | ✅ | ✅ | ❌ | ⚠️ |
Legend: ✅ Full support, ⚠️ Partial support, ❌ Not supported
Implementation: packages/compatibility-layer/src/adapters/
Issue: https://github.com/darrenhinde/OpenAgentsControl/issues/141
Related: