-
Notifications
You must be signed in to change notification settings - Fork 1
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: adcontextprotocol/adcp-client-python
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v2.6.0
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: adcontextprotocol/adcp-client-python
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v2.7.0
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 4 commits
- 22 files changed
- 3 contributors
Commits on Nov 19, 2025
-
refactor: remove direct generated_poc imports (#65)
* refactor: remove direct generated_poc imports Replace all direct imports from adcp.types.generated_poc with imports from adcp.types._generated. This enforces the public API boundary and prevents downstream users from depending on internal implementation details. Changes: - Update consolidate_exports.py to handle Package name collision by exporting both types with qualified names (_PackageFromPackage, _PackageFromCreateMediaBuyResponse) - Migrate client.py to import TaskStatus from _generated - Migrate aliases.py to import all types from _generated - Migrate stable.py to import Package from _generated using qualified name - Regenerate _generated.py with collision-resolved exports This ensures that: 1. generated_poc directory remains internal (not part of public API) 2. All type consolidation happens in _generated.py 3. Only stable.py and aliases.py provide public type exports 4. Users import from adcp or adcp.types.stable, not internal modules 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: enforce import boundary - only stable.py/aliases.py may use _generated Source code was incorrectly importing from _generated.py, making it just as brittle as importing from generated_poc. This fixes the architecture to properly enforce the public API boundary. Changes: - Add WebhookPayload to stable.py exports - Change client.py, __init__.py, simple.py to import from stable.py - Change preview_cache.py to use semantic aliases (PreviewCreativeFormatRequest) - Document import architecture rules in CLAUDE.md Import architecture (enforced): ``` generated_poc/*.py (internal) ↓ _generated.py (internal consolidation) ↓ stable.py + aliases.py (ONLY files that import from _generated) ↓ All other source code (imports from stable/aliases only) ``` This prevents brittleness from: - Collision-resolution qualifiers (_PackageFromX) - Numbered discriminated union types (Response1, Response2) - Schema evolution changes in generated files 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: sort imports to pass ruff linter Ruff check was failing due to unsorted imports. Fixed by running ruff --fix. Changes: - Sort imports in __init__.py according to isort rules - Sort imports in client.py - Sort imports in aliases.py 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * chore: remove review artifacts from commit history The ARCHITECTURE_REVIEW.md, PR65_EVALUATION.md, and type_collision_demo.py were created by review agents as deliverables but shouldn't be part of the repository. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: resolve PublisherProperties name collision with qualified exports The consolidation script now handles PublisherProperties name collisions between adagents and product modules by exporting both with qualified names: - _PublisherPropertiesFromProduct (used for semantic aliases) - _PublisherPropertiesFromAdagents - _PublisherProperties4FromProduct (by_id discriminator) - _PublisherProperties5FromProduct (by_tag discriminator) Updated aliases.py and tests to use qualified names from _generated.py instead of importing directly from generated_poc modules, enforcing proper import boundaries. All 295 tests pass. Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: adopt shared PublisherPropertySelector schema from upstream After upstream PR #219 merged, the PublisherProperties type is now defined in a shared publisher-property-selector.json schema with all 3 variants (all, by_id, by_tag). Changes: - Synced schemas from upstream (now includes publisher-property-selector.json) - Regenerated types (PublisherPropertySelector1/2/3 from shared schema) - Removed PublisherProperties from collision handling in consolidate_exports.py - Updated aliases.py to use PublisherPropertySelector types - Updated tests to reference shared types instead of module-specific variants Benefits: - Single source of truth for publisher property selection - No more name collisions between adagents and product modules - Simplified type system with cleaner exports - DRY schema definitions maintained upstream All 295 tests pass. Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 346689d - Browse repository at this point
Copy the full SHA 346689dView commit details -
fix: trigger 2.6.1 release for import boundary enforcement (#66)
The refactor in PR #65 enforces the public API boundary by removing direct imports from generated_poc. This is an important fix that prevents users from depending on internal implementation details. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for ee8017a - Browse repository at this point
Copy the full SHA ee8017aView commit details -
feat: export FormatId, PackageRequest, PushNotificationConfig, and Pr…
…iceGuidance from stable API (#68) Add missing types to stable.py public API: - FormatId: Format identifier type (agent_url + id) - PackageRequest: Request structure for creating packages - PushNotificationConfig: Webhook push notification configuration - PriceGuidance: Pricing guidance for auction-based options (floor, percentiles) These types are commonly used in AdCP workflows and should be part of the stable public API to avoid users importing from internal generated modules. Changes: - Add types to adcp.types.stable imports and __all__ - Add types to adcp.__init__.py imports and __all__ - Group PriceGuidance with other pricing types - Add new "Configuration types" section for PushNotificationConfig All types are properly exported from both stable.py and main package. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 654f882 - Browse repository at this point
Copy the full SHA 654f882View commit details -
chore(main): release 2.7.0 (#67)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for d37ce90 - Browse repository at this point
Copy the full SHA d37ce90View commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v2.6.0...v2.7.0