Skip to content

Conversation

@bokelley
Copy link
Collaborator

@bokelley bokelley commented Feb 1, 2026

Summary

Adds schema-driven adapter configuration with capabilities and connection config classes on adapter classes directly.

Changes:

  • Add capabilities and connection_config_class class attributes to AdServerAdapter
  • Add MockConnectionConfig and MockProductConfig Pydantic schemas to Mock adapter
  • Add simple get_adapter_schemas() helper in src/adapters/__init__.py
  • Add config_json column to AdapterConfig model (database migration)
  • Admin UI templates for adapter configuration

Also includes:

  • Fix hardcoded test dates to use dynamic future dates
  • Standardize pricing model naming to lowercase

Test plan

  • All unit tests pass (1518)
  • Schema validation working via get_adapter_schemas("mock")
  • Capabilities accessible via adapter class attributes

🤖 Generated with Claude Code

bokelley and others added 4 commits February 1, 2026 14:25
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
The schemas/ directory was being ignored by .gitignore (intended for AdCP
schema cache files). Added exception for src/adapters/schemas/ to allow
the adapter schema infrastructure module to be tracked.

Also cleaned up unused imports flagged by ruff.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…ures

Replace hardcoded start_time/end_time dates with dynamic dates that are
always in the future (tomorrow + 30 days). This prevents test failures
when the previously hardcoded date (2026-02-01) rolls into the past.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Remove separate src/adapters/schemas/ registry module. Instead:
- Add capabilities and config classes directly on adapter classes
- Simple get_adapter_schemas() function in src/adapters/__init__.py
- Keeps same API but with simpler implementation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@bokelley bokelley changed the title fix: Resolve adapter schema registry inconsistencies feat: Add schema-driven adapter configuration Feb 2, 2026
Resolves merge conflicts by accepting main's dynamic date approach
using _get_future_date_range() in integration tests.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@bokelley bokelley merged commit e6324b6 into main Feb 3, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants