Skip to content

Commit 517999f

Browse files
claudebokelley
authored andcommitted
docs(types): fix pre-existing wrong type names throughout extending-types.md
CreateMediaBuySuccess is not exported from adcp — the correct name is CreateMediaBuySuccessResponse. WebhookPayload is also not exported — McpWebhookPayload is the correct replacement. All 10+ import and usage sites in the pre-existing patterns corrected; class name suffixes (CreateMediaBuySuccessExtended) preserved. https://claude.ai/code/session_01P7MQW9tW7z4rYm13zghrVC
1 parent 7442c03 commit 517999f

1 file changed

Lines changed: 25 additions & 25 deletions

File tree

docs/extending-types.md

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -155,10 +155,10 @@ wire = payload.model_dump(serialize_as_any=True)
155155
## Basic Pattern: Subclassing Response Types
156156

157157
```python
158-
from adcp import CreateMediaBuySuccess
158+
from adcp import CreateMediaBuySuccessResponse
159159
from pydantic import ConfigDict, Field
160160

161-
class CreateMediaBuySuccessExtended(CreateMediaBuySuccess):
161+
class CreateMediaBuySuccessExtended(CreateMediaBuySuccessResponse):
162162
"""Extended with internal tracking fields."""
163163
workflow_step_id: str | None = Field(None, description="Internal workflow step ID")
164164
created_at: str | None = Field(None, description="Internal timestamp")
@@ -179,7 +179,7 @@ internal_response = CreateMediaBuySuccessExtended(
179179
)
180180

181181
# Serialize to ADCP spec before sending over wire
182-
adcp_response = CreateMediaBuySuccess.model_validate(
182+
adcp_response = CreateMediaBuySuccessResponse.model_validate(
183183
internal_response.model_dump(exclude={'workflow_step_id', 'created_at', 'internal_notes'})
184184
)
185185
```
@@ -205,10 +205,10 @@ class InternalResponseWrapper(BaseModel, Generic[T]):
205205
model_config = ConfigDict(extra='allow')
206206

207207
# Usage
208-
from adcp import CreateMediaBuySuccess
208+
from adcp import CreateMediaBuySuccessResponse
209209

210-
wrapper = InternalResponseWrapper[CreateMediaBuySuccess](
211-
response=CreateMediaBuySuccess(
210+
wrapper = InternalResponseWrapper[CreateMediaBuySuccessResponse](
211+
response=CreateMediaBuySuccessResponse(
212212
media_buy_id="mb_123",
213213
buyer_ref="ref_456",
214214
packages=[]
@@ -218,7 +218,7 @@ wrapper = InternalResponseWrapper[CreateMediaBuySuccess](
218218
)
219219

220220
# Access ADCP response
221-
adcp_response = wrapper.response # Type: CreateMediaBuySuccess
221+
adcp_response = wrapper.response # Type: CreateMediaBuySuccessResponse
222222

223223
# Access internal fields
224224
workflow_id = wrapper.workflow_step_id
@@ -230,7 +230,7 @@ When storing responses in a database with internal metadata:
230230

231231
```python
232232
from datetime import datetime
233-
from adcp import CreateMediaBuySuccess
233+
from adcp import CreateMediaBuySuccessResponse
234234

235235
class MediaBuyRecord(BaseModel):
236236
"""Database record combining ADCP response with internal metadata."""
@@ -242,12 +242,12 @@ class MediaBuyRecord(BaseModel):
242242
workflow_step_id: str
243243

244244
# ADCP response (stored as JSON)
245-
response_data: CreateMediaBuySuccess
245+
response_data: CreateMediaBuySuccessResponse
246246

247247
@classmethod
248248
def from_response(
249249
cls,
250-
response: CreateMediaBuySuccess,
250+
response: CreateMediaBuySuccessResponse,
251251
user_id: str,
252252
workflow_step_id: str
253253
) -> "MediaBuyRecord":
@@ -261,13 +261,13 @@ class MediaBuyRecord(BaseModel):
261261
response_data=response
262262
)
263263

264-
def to_adcp_response(self) -> CreateMediaBuySuccess:
264+
def to_adcp_response(self) -> CreateMediaBuySuccessResponse:
265265
"""Extract ADCP response for wire protocol."""
266266
return self.response_data
267267

268268
# Usage
269269
response = await client.create_media_buy(request)
270-
if isinstance(response, CreateMediaBuySuccess):
270+
if isinstance(response, CreateMediaBuySuccessResponse):
271271
record = MediaBuyRecord.from_response(
272272
response,
273273
user_id="user_123",
@@ -284,10 +284,10 @@ adcp_response = record.to_adcp_response()
284284
When processing webhook payloads with internal routing metadata:
285285

286286
```python
287-
from adcp import WebhookPayload
287+
from adcp import McpMcpWebhookPayload
288288
from pydantic import ConfigDict
289289

290-
class InternalWebhookPayload(WebhookPayload):
290+
class InternalWebhookPayload(McpWebhookPayload):
291291
"""Extended webhook payload with internal routing."""
292292
internal_destination: str | None = None
293293
retry_count: int = 0
@@ -298,7 +298,7 @@ class InternalWebhookPayload(WebhookPayload):
298298
async def process_webhook(payload: dict) -> None:
299299
"""Process webhook with internal tracking."""
300300
# Parse with extensions
301-
internal_payload = InternalWebhookPayload.model_validate(payload)
301+
internal_payload = InternalMcpWebhookPayload.model_validate(payload)
302302

303303
# Add internal routing
304304
internal_payload.internal_destination = determine_destination(internal_payload)
@@ -308,7 +308,7 @@ async def process_webhook(payload: dict) -> None:
308308
await route_to_handler(internal_payload)
309309

310310
# When forwarding to another service, use base type
311-
external_payload = WebhookPayload.model_validate(
311+
external_payload = McpWebhookPayload.model_validate(
312312
internal_payload.model_dump(exclude={'internal_destination', 'retry_count', 'routing_key'})
313313
)
314314
```
@@ -389,8 +389,8 @@ adcp_response = extended.model_dump() # internal_id is absent — no extra plum
389389
Make it clear which fields are internal:
390390

391391
```python
392-
class Extended(CreateMediaBuySuccess):
393-
"""Extended CreateMediaBuySuccess with internal tracking.
392+
class Extended(CreateMediaBuySuccessResponse):
393+
"""Extended CreateMediaBuySuccessResponse with internal tracking.
394394
395395
Internal fields (not part of ADCP spec):
396396
workflow_step_id: Internal workflow tracking
@@ -414,7 +414,7 @@ def test_internal_fields_excluded():
414414
)
415415

416416
# Convert to wire protocol
417-
adcp_response = CreateMediaBuySuccess.model_validate(
417+
adcp_response = CreateMediaBuySuccessResponse.model_validate(
418418
extended.model_dump(exclude={'workflow_step_id'})
419419
)
420420

@@ -430,7 +430,7 @@ def test_internal_fields_excluded():
430430
from typing import TypeGuard
431431

432432
def is_extended_response(
433-
response: CreateMediaBuySuccess
433+
response: CreateMediaBuySuccessResponse
434434
) -> TypeGuard[CreateMediaBuySuccessExtended]:
435435
"""Check if response has extended internal fields."""
436436
return isinstance(response, CreateMediaBuySuccessExtended)
@@ -448,16 +448,16 @@ Define reusable field sets for exclusion:
448448
```python
449449
from typing import ClassVar
450450

451-
class CreateMediaBuySuccessExtended(CreateMediaBuySuccess):
451+
class CreateMediaBuySuccessExtended(CreateMediaBuySuccessResponse):
452452
workflow_step_id: str | None = None
453453
created_at: str | None = None
454454

455455
# Define internal fields as class variable
456456
INTERNAL_FIELDS: ClassVar[set[str]] = {'workflow_step_id', 'created_at'}
457457

458-
def to_adcp_response(self) -> CreateMediaBuySuccess:
458+
def to_adcp_response(self) -> CreateMediaBuySuccessResponse:
459459
"""Convert to wire protocol, excluding internal fields."""
460-
return CreateMediaBuySuccess.model_validate(
460+
return CreateMediaBuySuccessResponse.model_validate(
461461
self.model_dump(exclude=self.INTERNAL_FIELDS)
462462
)
463463
```
@@ -503,7 +503,7 @@ def test_roundtrip():
503503
)
504504

505505
# Convert to base type
506-
base = CreateMediaBuySuccess.model_validate(
506+
base = CreateMediaBuySuccessResponse.model_validate(
507507
extended.model_dump(exclude={'workflow_step_id'})
508508
)
509509

@@ -513,7 +513,7 @@ def test_roundtrip():
513513

514514
# Verify can parse from wire format
515515
wire_format = base.model_dump_json()
516-
parsed = CreateMediaBuySuccess.model_validate_json(wire_format)
516+
parsed = CreateMediaBuySuccessResponse.model_validate_json(wire_format)
517517
assert parsed.media_buy_id == "mb_123"
518518
```
519519

0 commit comments

Comments
 (0)