fix: Generate missing simulate endpoints#527
Merged
Merged
Conversation
…print The Metalsmith codegen kept verbatim OpenAPI-parsing ports from the nextlove generator (marked TEMPORARY) so its output stayed byte-identical. Now that the output is allowed to change, generate everything from @seamapi/blueprint and delete the OpenAPI workarounds: - Delete codegen/lib/openapi/ and endpoint-rules.ts. The blueprint has no /health routes, and the endpoints that formerly returned a deprecated action attempt are modeled as void responses, so neither list is needed. - Generate resources from blueprint.resources, blueprint.actionAttempts, and blueprint.pagination. SeamEvent and ActionAttempt merge the union of their per-variant properties so every accessor is preserved. - Generate clients from blueprint.routes and blueprint.namespaces, using their isUndocumented flags for filtering and parentPath for wiring child clients, which now also wires deeply nested namespaces (AcsEncoders#simulate). - Fix the parameter sort so an explicit position sorts first, as originally intended. Resulting output changes: AcsEncoders#simulate is now reachable from its parent client, workspaces.update is generated, the unused phone_registration resource is dropped, SeamEvent accessors are alphabetized, and the primary id parameter of get methods moves to the front of the signature. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RRu8RHUZqw3SvrGR7NJCki
razor-x
marked this pull request as ready for review
July 21, 2026 23:23
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
This PR migrates the Ruby SDK code generator from parsing raw OpenAPI schemas to using the
@seamapi/blueprinttypes and data structures. This eliminates temporary workaround code and aligns the generator with the blueprint-driven architecture.Key Changes
get-parameter-and-response-schema.ts,deep-flatten-one-of-and-all-of-schema.ts,flatten-obj-schema.ts,types.ts,map-parent-to-children-resource.ts,get-filtered-routes.ts) that were frozen output-parity workaroundsendpoint-rules.tswhich contained hardcoded lists of ignored paths and deprecated endpointsblueprint.resources, with special handling for merged event variants and action attemptsblueprint.routesandblueprint.namespaces, properly handling parent-child client relationshipsEndpointobjects instead of parsing OpenAPI POST operationsObjSchemato accepting blueprintProperty[]arraysImplementation Details
getClientNamespace()functionisUndocumentedflags instead of hardcoded path listsResponseobjects with proper handling for batch responses and unknown resource typeshttps://claude.ai/code/session_01RRu8RHUZqw3SvrGR7NJCki