Skip to content

Commit 7521420

Browse files
bokelleyclaude
andcommitted
fix: add union type aliases for response types in generated exports
The types/__init__.py expects CreateMediaBuyResponse, UpdateMediaBuyResponse, and SyncCreativesResponse as imports, but after schema regeneration only the numbered variants (Response1/Response2) exist. This fix adds union type aliases (Response1 | Response2) to the consolidate exports script so these types are available after regeneration. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent aac813e commit 7521420

File tree

1 file changed

+29
-2
lines changed

1 file changed

+29
-2
lines changed

scripts/consolidate_exports.py

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,17 +178,44 @@ def generate_consolidated_exports() -> str:
178178
if "AdvertisingChannels" in all_exports:
179179
aliases["Channels"] = "AdvertisingChannels"
180180

181+
# Add union type aliases for response types with success/error variants
182+
# These schemas use oneOf with two variants, which generates Response1 and Response2
183+
union_aliases = []
184+
response_unions = [
185+
("CreateMediaBuyResponse", "CreateMediaBuyResponse1", "CreateMediaBuyResponse2"),
186+
("UpdateMediaBuyResponse", "UpdateMediaBuyResponse1", "UpdateMediaBuyResponse2"),
187+
("SyncCreativesResponse", "SyncCreativesResponse1", "SyncCreativesResponse2"),
188+
]
189+
for union_name, variant1, variant2 in response_unions:
190+
if variant1 in all_exports and variant2 in all_exports:
191+
union_aliases.append(f"{union_name} = {variant1} | {variant2}")
192+
aliases[union_name] = f"{variant1} | {variant2}" # For __all__ tracking
193+
181194
all_exports_with_aliases = all_exports | set(aliases.keys())
182195

183196
alias_lines = []
184-
if aliases:
197+
198+
# Add union type aliases first (for response types with success/error variants)
199+
if union_aliases:
200+
alias_lines.extend(
201+
[
202+
"",
203+
"# Union type aliases for response types with success/error variants",
204+
"# These schemas use oneOf with two variants, generating Response1 and Response2",
205+
]
206+
)
207+
alias_lines.extend(union_aliases)
208+
209+
# Add backward compatibility aliases for renamed types
210+
simple_aliases = {k: v for k, v in aliases.items() if "|" not in v}
211+
if simple_aliases:
185212
alias_lines.extend(
186213
[
187214
"",
188215
"# Backward compatibility aliases for renamed types",
189216
]
190217
)
191-
for alias, target in aliases.items():
218+
for alias, target in simple_aliases.items():
192219
alias_lines.append(f"{alias} = {target}")
193220

194221
lines.extend(alias_lines)

0 commit comments

Comments
 (0)