fix(config): strip trailing Json suffix from generated schema names#24
Merged
Merged
Conversation
Schemas in the spec carry a `Json` suffix (`WebhookEndpointJson`, `AuditLogExportJson`, `AuditLogsRetentionJson`, `AuditLogSchemaJson`, `AuditLogActionJson`) that leaks straight through into SDK type names — no other resource in the SDK uses this convention. Strip the trailing `Json` from schema names so consumers see `WebhookEndpoint` instead of `WebhookEndpointJson` (and derived enum names like `WebhookEndpointStatus` instead of `WebhookEndpointJsonStatus`). Pattern is anchored to end-of-name so a hypothetical `JsonSchema` schema (or anything with `Json` in the middle) is left alone. All existing `Json`-suffixed schemas are surveyed and confirmed to be pure suffixes. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Schemas in the spec carry a
Jsonsuffix (WebhookEndpointJson,AuditLogExportJson,AuditLogsRetentionJson,AuditLogSchemaJson,AuditLogActionJson) that leaks straight through into SDK type names — no other resource in the SDK uses this convention. The Node SDK's webhook-endpoint surface, for example, ends up withWebhookEndpointJson,WebhookEndpointJsonResponse,WebhookEndpointJsonStatusinstead of the cleanerWebhookEndpoint,WebhookEndpointResponse,WebhookEndpointStatus.Changes
oagen.config.ts::schemaNameTransform— add.replace(/Json$/, '')alongside the existingDto/DTOstrippers.Why end-anchored
Json$only matches whenJsonis at the very end of the schema name. A hypotheticalJsonSchemaschema (or any name withJsonin the middle) is left alone. Surveyed all currentJson-containing schemas: all five are pure suffixes. Derived names likeWebhookEndpointJsonStatusare built from the transformed parent (WebhookEndpoint+Status), so they get the rename for free.Test plan
npm run sdk:check— config loadsWebhookEndpoint,WebhookEndpointResponse,WebhookEndpointStatuswebhook-endpoint.interface.ts,webhook-endpoint.serializer.tswebhooks.tsuse the new names; tests inwebhooks.spec.tstypecheck🤖 Generated with Claude Code