Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -151,3 +151,8 @@ uv.lock

# Temporary schema processing directory
.schema_temp/

# Working/status documents (not for commit)
IMPLEMENTATION_PLAN.md
IMPLEMENTATION_SUMMARY.md
TESTING_STATUS.md
227 changes: 0 additions & 227 deletions IMPLEMENTATION_SUMMARY.md

This file was deleted.

8 changes: 4 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ install-dev: ## Install package in development mode with dev dependencies

format: ## Format code with black (excludes generated files)
$(BLACK) src/ tests/ scripts/
@echo "✓ Code formatted successfully (generated.py excluded via pyproject.toml)"
@echo "✓ Code formatted successfully (_generated.py excluded via pyproject.toml)"

lint: ## Run linter (ruff) on source code
$(RUFF) check src/ tests/
Expand Down Expand Up @@ -52,7 +52,7 @@ regenerate-schemas: ## Download latest schemas and regenerate models

validate-generated: ## Validate generated code (syntax and imports)
@echo "Validating generated code..."
@$(PYTHON) -m py_compile src/adcp/types/generated.py
@$(PYTHON) -m py_compile src/adcp/types/_generated.py
@echo "✓ Generated code validation passed"

pre-push: format lint typecheck test validate-generated ## Run all checks before pushing (format, lint, typecheck, test, validate)
Expand Down Expand Up @@ -100,12 +100,12 @@ check-schema-drift: ## Check if schemas are out of sync with upstream
@$(PYTHON) scripts/sync_schemas.py
@$(PYTHON) scripts/fix_schema_refs.py
@$(PYTHON) scripts/generate_types.py
@if git diff --exit-code src/adcp/types/generated.py schemas/cache/; then \
@if git diff --exit-code src/adcp/types/_generated.py schemas/cache/; then \
echo "✓ Schemas are up-to-date"; \
else \
echo "✗ Schemas are out of date!"; \
echo "Run: make regenerate-schemas"; \
git diff src/adcp/types/generated.py; \
git diff src/adcp/types/_generated.py; \
exit 1; \
fi

Expand Down
13 changes: 9 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -470,8 +470,11 @@ All AdCP tools with full type safety:
- `preview_creative()` - Preview creative before building
- `build_creative()` - Generate production-ready creative assets

**Discovery & Accounts:**
- `get_adcp_capabilities()` - Discover agent capabilities and authorized publishers
- `list_accounts()` - List billing accounts

**Audience & Targeting:**
- `list_authorized_properties()` - Get authorized properties
- `get_signals()` - Get audience signals
- `activate_signal()` - Activate audience signals
- `provide_performance_feedback()` - Send performance feedback
Expand Down Expand Up @@ -719,12 +722,14 @@ Discover which publishers have authorized your agent using two approaches:

**1. "Push" Approach** - Ask the agent (recommended, fastest):
```python
from adcp import ADCPClient
from adcp import ADCPClient, GetAdcpCapabilitiesRequest

async with ADCPClient(agent_config) as client:
# Single API call to agent
response = await client.simple.list_authorized_properties()
print(f"Authorized for: {response.publisher_domains}")
result = await client.get_adcp_capabilities(GetAdcpCapabilitiesRequest())
if result.success and result.data.media_buy:
portfolio = result.data.media_buy.portfolio
print(f"Authorized for: {portfolio.publisher_domains}")
```

**2. "Pull" Approach** - Check publisher adagents.json files (when you need property details):
Expand Down
Loading